John Todd wrote:
Aisling - To address your points in order:
- It would be possible to intercept the data (RTCP) QoS packets in a
media proxy. Of course, if you want to check QoS on all your calls, then all media must pass through this media proxy. If you come up with some interesting way to perform this in any open-source manner, I'm sure the community at large would be very interested in hearing about it. I believe some Session Border Controllers have this functionality (perhaps those vendors can chime in via private mail to you if they have such functionality.)
Just to add a note on what we do at our company regarding QoS Monitoring.
99% of our users are given Sipura units with the "STATS in BYE" enabled which gives a nice little group of statistics in a header called "P-RTP-STAT". We then process those with the following code snippet in ser.cfg:
if (search("^P-RTP-STAT")){ xlog("L_ALERT", "STATS,%fu,%tu,%is,%ua,%{P-RTP-Stat}\n"); };
Once that is done a Perl script gathers all the data from the Syslog and dumps it nicely formated into a MySQL table. Our CRM software can read that table from the Subscribers Info screen. When a customer calls in, the Tech person can quickly click on a link to view the call quality of every single call this customer has made. It is quite handy and helps us pinpoint sources of call quality problems.