Objectively measuring call quality has always been tough because it’s, well, highly subjective. The first measurement process that usually comes to mind is the Mean Option Score (MOS) but calculating a true MOS inherently involves, and relies upon human perception and judgement. Not very objective, is it? The good news is that Asterisk, by its very nature, has access to the RTP media streams and the RTCP statistics that go along with them and can calculate reasonable approximations of call quality. Since we’re not involving humans in the calculation, we call our result a Media Experience Score. As usual, we’ve got a Media Experience Score wiki page that has more detailed information.
In a nutshell, the Media Experience Score is calculated from 3 inputs: round trip time, jitter and lost packets. Asterisk has always been calculating those 3 items anyway because they’re required in RTCP Sender and Receiver reports. What we added was the calculation to produce a 0 – 100 score that represents the combination of the 3. Like the MOS, it’s not possible for a VoIP system to produce a perfect score so the best MES that can be expected is around 85.
The MES is calculated automatically without any configuration required and the result is available via the CHANNEL dialplan function, from two new channel variables (RTPAUDIOQOSMES and RTPAUDIOQOSMESBRIDGED), and via the existing RTCPSent and RTCPReceived AMI events. The Asterisk MES Implementation wiki page has the details.