What you should know about Voice-over-IP

Image credits http://fontawesome.io/

Image credits http://fontawesome.io/

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 NameVoice Payload Size (Bytes)Voice Payload Speech (ms)Packets per Second (pps)Codec Bit Rate (Kbps)
G.711160 Bytes20 ms5064 Kbps
G.72920 Bytes20 ms508 Kbps
G.723.1-6324 Bytes30 ms33.321.9 Kbps
G.723.1-5320 Bytes30 ms33.320.8 Kbps
G.72680 Bytes20 ms5055.2 Kbps
G.72860 Bytes30 ms33.331.5 Kbps
G.722160 Bytes20 ms5038.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.

ScoreQualityDescription of Quality Impairment
5ExcellentImperceptible
4GoodJust perceptible, but not annoying
3FairPerceptible and slightly annoying
2PoorAnnoying but not objectionable
1BadVery 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).

NetBeez VoIP test dashboard

Example of a VoIP monitoring test on the NetBeez dashboard.

 

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.

IPv4 header

The IPv4 header (image source https://en.wikipedia.org/wiki/IPv4)

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.