VitalPBX Call Quality Monitor - Real Time

I have created a live call quality monitor, I tried to ensure it is light on system resources and only updates some items (call stats) every minute. So far it has worked amazingly and I have identified problems on particular extensions and particular trunks. So very handy.
The system I am testing on is low call volume but so far it seems to have had almost no noticeable impact on CPU. This may affect high volume call servers which might work if run for a short time. It also saves a log of call quality results which can be saved and put into AI to analyse which essentially gives you a stunning report of who and what are problems, its insane!
It would be amazing if VitalPBX had something like this on the dashboard that could be toggled on. I know you can use other methods but this is just so quick and easy. I am still refining this, if anyone is interested in trying, let me know.

Where do we try it out?

Ill send you the code to try in a few hours, just need to do a few changes and if you can let me know how it goes.

Very nice. Great idea. Thanks

Sent PM to you guys - If I get some feedback and it works - Ill drop the link here for everyone.

After some testing, using a bash script has major limitations when this is used on a server that is busy. Currently recoded this in python (which wasn’t actually that easy) but it does rapid updates and seems to handle quite a load. The tricky parts have been tracking inbound and outbound trunks that relate to extensions as there are bridging IDs and caller IDs that all need cross checking. However this gives massive insight into calling issues and tracking problems.

Okay so after many iterations and eventually moving to python for this, the first beta version is ready. I don’t believe this would do any damage to any server but please ensure you have a backup. If anyone finds it useful please feedback and I am sure there are some bugs but either way, it does work as long as you are using PJSIP.

I love this idea! Well done! I am considering testing this for our in-house VitalPBX, then all being well, I may add it to my production use multi-tenant hosted VitalPBX solution with nearly 100 tenants. I have been wondering if something like this existed and was unable to find anything that output something as simple as this. I wonder if it would be possible to hook into it with a monitoring solution that supports SNMP so that a local agent can interrogate it, then the monitoring agent attached to the RMM report/alert you via however it would push alerts out. Currently am using a self-hosted CheckMK installation that is connected via Tailscale monitoring the health of my VitalPBX instance which works exceptionally well, however I have no way to record/report on call quality incidents as yet and this looks to be very promising. I have looked at GitHub - sipcapture/homer: HOMER - 100% Open-Source SIP, VoIP, RTC Packet Capture & Monitoring before but have never been able to get it to work well.

Basically if there is a need for expanding on this and people need it to monitor in/out trunks and extensions performance status 24/7 - and then send pushover alerts at a failure point, I can make it something easy and universal for everyone. So the script will then push telemetry to web server and that is where you will be able to set the failure points and push details. So it will then log and monitor server health and call health (almost zero load on voip server to do this) via a website basically which I am happy to provide for free. Then I can make it look more fancy on the webserver side. Is this along the lines of what you want or do you specifically need SNMP.