I have a need to calculate MOS Scores for my VoIP traffic. We are using Cisco CallManager. I know the codec, jitter, latency, and packet loss on each call. Is there any way to take this information and calculate a MOS Score?
I have no idea but your question piqued my interest, so I looked up MOS:
(Mean Opinion Score) The quality of a digitized voice line. It is a subjective measurement that is derived entirely by people listening to the calls and scoring the results from 1 to 5, with a 5 meaning that speech quality is perfect. The MOS is an average of the numbers for a particular codec. Because MOS testing requires carefully prepared and controlled test conditions, the best way to get an MOS test done is to have it outsourced.
as BobS also found MOS you cannot calculate MOS values. You could try to locate a table that has some MOS values in with the matching numbers for jitter,loss and delay. I have build an aaplication like this some time ago and cam pretty close to actually predicting a sort of guestimated MOS value.
Since than PESQ has been introduced. Read about it at:
PESQ can be used to measure voice quality by using programs rather than test panels.
This is the trouble with MOS. You cannot state any MOS values untill that specific network with all it's users, applications and so on is in place. Only after this it is possible to bring in a test team and start making calls.
Of course if you ask any vendor they will happily claim a MOS better or around 4 should be possible.
You can calculate a MOS score based on codec, jitter, latency and packet loss, but you need to know the "bursty-ness" of the jitter and packet loss.
For example, if you use G.711 with PLC, and have a 3% loss rate, the distribution of errors makes a big difference. One packet lost exactly every 33 packets will not noticeably affect the quality of the call. But if all the errors are grouped together you will notice a significant voice quality degradation (e.g. you may have part of the call with no loss, and part of the call has a 20% packet loss rate.)
Jitter may or may not count, what matters is how it affects the jitter buffer. A small amount of jitter may not affect the buffer at all, a little more jitter may just cause the jitter buffer to adapt by growing larger (increasing the end-to-end delay) while a larger amount of jitter may cause the jitter buffer to be flushed (resulting in a noticeable impairment).
has more detailed information. Even more detailed information can be found at
Even then, network traffic will change over time, bursts of network activity will occur (people watching CNN on the web or downloading big files like "Mars Rover" pictures), routing protocols like BGP will change the path your call takes in the network (sometimes during a call), etc. And if you use a VoIP service provider, or go over the Internet, you have to consider all the delays, jitter, loss, and other impairments that will cause.
So you can measure the MOS and say what it was, and monitor the network so you can take action when the MOS drops too low. And you can predict that the MOS should be about xx with a "normally operating" network.