Voice-over-IP (VoIP) is some of the most important and critical traffic that an enterprise network routes, for two main reasons:
1. VoIP carries phone calls
2. VoIP is sensitive to network performance
For this reason, one of the major challenges for today’s network engineers is assuring a high-performance, always-on VoIP service. In a previous blog post, Panos wrote about the impact of packet loss, jitter, and latency on VoIP.
Here, I would like to write about the codecs generally used by VoIP systems, why Mean Opinion Score (MOS) is an important parameter to measure and monitor, and why Quality of Service (QoS) is so crucial in an enterprise network.
VoIP codecs
Every time our voice is transmitted on a digital network, it’s processed by an encoder-decoder process that utilizes a specific codec. A codec is, in the end, a method to digitally represent analog signals, our voices, with 1s and 0s.
In VoIP there are different codecs, each one with different quality and bandwidth requirements. For proper network capacity planning, the network engineer must define along with the telecom group what codec(s) will be used. G.711 and G.729 are widely used codecs.
In this sample table, you can review some of the most commonly used codecs along with their bandwidth requirements.
Codec Name | Voice Payload Size (Bytes) | Voice Payload Speech (ms) | Packets per Second (pps) | Codec Bit Rate (Kbps) |
G.711 | 160 Bytes | 20 ms | 50 | 64 Kbps |
G.729 | 20 Bytes | 20 ms | 50 | 8 Kbps |
G.723.1-63 | 24 Bytes | 30 ms | 33.3 | 21.9 Kbps |
G.723.1-53 | 20 Bytes | 30 ms | 33.3 | 20.8 Kbps |
G.726 | 80 Bytes | 20 ms | 50 | 55.2 Kbps |
G.728 | 60 Bytes | 30 ms | 33.3 | 31.5 Kbps |
G.722 | 160 Bytes | 20 ms | 50 | 38.4 Kbps |
If you need a more detailed list, check out this per call bandwidth consumption information from Cisco.
Mean Opinion Score
MOS is a subjective measurement of voice quality. In its original implementation, described in the ITU-T recommendation P.800, a group of listeners would judge the quality of speech by simply listening, in a quiet room, to a voice call. They would then express their opinion with a score from 1 (poor quality) to 5 (excellent quality).
The following table reports MOS ratings for scores from 1 to 5 as listed in the Cisco IOS IP SLA guide.
Score | Quality | Description of Quality Impairment |
5 | Excellent | Imperceptible |
4 | Good | Just perceptible, but not annoying |
3 | Fair | Perceptible and slightly annoying |
2 | Poor | Annoying but not objectionable |
1 | Bad | Very annoying and objectionable |
In IP networks, the ITU-T G.107 standard provides specifics for the implementation of the E-model algorithm used to calculate the MOS. If you look at this implementation, you’ll see that is not simple. For this reason, the paper “Monitoring VoIP Call Quality Using Improved Simplified E-model” presents a simpler yet still accurate way to calculate MOS. This method is described in Panos’ aforementioned blog post and implemented by NetBeez to monitor VoIP call quality (see the screenshot below).
Quality of Service: Classification, marking, and queuing
To assure good call quality, the network engineer should configure QoS on the network equipment to prioritize VoIP traffic and limit packet loss, jitter, and delay.
First of all, we need to classify voice traffic based on port or other TCP/IP parameters via an access list. Once the classification criteria has been defined on the network equipment, marking can be applied to the matching traffic. There are different methods for marking packets; here we’ll mention to most common and recent one based on Differentiated Services Code Point (DSCP). In this method, the six most significant bits of the Type of Service (ToS) byte are used to mark a packet.
Most voice equipment already applies a specific DSCP value of 46 to voice traffic, that corresponds to the Expedited Forwarding class. If you want to see the full list of DSCP values, check out the DSCP Wikipedia article.
Once that we have classified and marked voice traffic, we have to prioritize it via a QoS queuing method. The most common QoS mechanism adopted is Low Latency Queuing (LLQ). In LLQ, the voice traffic gets prioritized and assigned to an exclusive queue so that concurrent traffic won’t impact voice calls.
If you want to learn more about LLQ and configuration on Cisco devices, check out this guide.
Assuring excellent VoIP calls
Ultimately, it’s all about monitoring. You won’t know whether your network is assuring excellent call quality until you measure MOS from all network locations. To do this, run periodic measurements by generating synthetic voice calls. There are many tools commercially available that do this; you just have to pick one. If you’d like to test this feature in NetBeez, feel free to schedule a demo with one of our engineers.