- About VoIP
- What is VoIP and what it can do for you
- Introduction to VoIP (video)
- Why should you switch to VoIP services?
- Analog Telephony
- Digital Telephony
- What is SIP?
- How to start with VoIP telephony
- Web based VoIP
- How to choose a right VoIP provider?
- Wi-Fi network and VoIP
- VoIP Codecs
- Free sip account
- Confidential calls
- VPN: UDP or TCP?
- Mobile VoIP
- VoIP on your mobile
- Asterisk IP-PBX
- Who we are?
- How to start
- Free SIP account
- Configs
Typical VoIP Problems: not right codec, packet loss, jitter, out‐of‐order packets
By Nik On June 9, 2011 · In Asterisk, Mobile VoIP, Prioritization and traffic shaping, QoS - Quality of Service, SIP protocol, VoIP calls quality
Due to human perception, VoIP is much more sensitive to certain network conditions that are considered well within spec for most applications.
Network issues such as packet loss, jitter, and packet sequence errors are inherent to IP networks, and are well corrected and tolerated by data transfer protocols. Voice transmissions are real‐time by the nature; hence the different approach to handling the network issues. Packet loss, jitter and out‐of‐order packets are tied closely to each other. Taking care of a single network issue can often reduce all three problems and significantly improve the quality of voice calls.
In this post I just want to discuss known network issues that affect the perceptual quality of VoIP calls.
Packet loss
Packet loss occurs in every kind of network. All network protocols are designed to cope with the loss ofpackets in one way or another. TCP protocol, for example, guarantees packet delivery by sending re‐deliveryrequests for the lost packets. RTP employed by the VoIP protocol does not provide delivery guarantee, and VoIP must implement the handling of lost packets.While a data transfer protocol can simply request re‐delivery of a lost packet, VoIP has no time to wait forthe packet to arrive. In order to maintain call quality, lost packets are substituted with interpolated data.
A technique called Packet Loss Concealment (PLC) is used in VoIP communications to mask the effect ofdropped packets. There are several techniques that may be used by different implementations. Zero substitution is the simplest PLC technique that requires the least computational resources. Thesesimple algorithms generally provide the lowest quality sound when a significant number of packets are discarded. Waveform substitution is used in older protocols, and works by substituting the lost frames with artificially generated, substitute sound. The simplest form of substitution simply repeats the last received packet. Unfortunately, waveform substitution often results in unnatural, “robotic” sound when a long burst of packets is lost.The more advanced algorithms interpolate the gaps, producing the best sound quality at the cost of usingextra computational resources. The best implementation can tolerate up to 20% of packets lost without significant degradation of voice quality. While some PLC techniques work better than others, no masking technique can compensate for a significant loss of packets. When bursts of packets are lost due to network congestion, noticeable degradation of callquality occurs.In VoIP, packets can be discarded for a number of reasons, including network congestion, line errors, andlate arrival. We need to select right Packet Loss Concealment technique that best matches the characteristics of a particular environment, as well as to implement measures to reduce packet loss on the network. I am going to write another post that will describe PLC techniques in more details later, as this article will be too long to read if I will write everything here.
Jitter
Jitter is a specific VoIP Quality of Service issue that may affect the quality of the conversation if it goes out of control. Unlike network delay, jitter does not occur because of the packet delay, but because of a variation of packetdelays. As VoIP endpoints try to compensate for jitter by increasing the size of the packet buffer, jittercauses delays in the conversation. If the variation becomes too high and exceeds 150ms, callers notice thedelay and often revert to a walkie‐talkie style of conversation.
There are several steps to be taken to reduce jitter both on the network level and in the VoIP end points such as VoIP software, IP phones or dedicated VoIP ATA’s (adaptors) or FXS/FXO gateways. By definition, reducing the delays on the network helps keep the buffer under 150ms even if a significant variation is present. While the reduceddelay does not necessarily remove the variation, it still effectively reduces the degree to which the effect is pronounced and brings it to the point where it’s unnoticeable by the callers. Prioritizing VoIP traffic andimplementing bandwidth shaping also helps reduce the variation of packet delay.At the endpoint, it is essential to optimize jitter buffering. While greater buffers reduce and remove the jitter, anything over 150ms noticeably affects the perceived quality of the conversation. Adaptive algorithms to control buffer size depending on the current network conditions are often quite effective. Fiddling with packet size (payload) or using a different codec often helps control jitter.
While jitter is caused by network delays more often than by endpoints, certain resource struggling systems that are executed in concurrent environments, such as VoIP soft phones, may introduce significant and unpredictable variations in packet delays. While developing VoIP endpoints or examining call quality problems within existing VoIP infrastructure, it is very important to isolate the cause of jitter.
Sequence Errors
Data packets travel independently of one another, and are subject to various delays depending on the exact route they take. Out‐of‐sequence packets are not considered a problem for data transfers, as data transfer protocols can re‐order packets and reconstruct data without corruption. Due to the time‐sensitive nature of voice communications, VoIP systems are required to handle out‐of‐sequence packets in quite a differentmanner.
Some VoIP systems discard packets received out of order, while other systems discard out‐of‐order packetsif they exceed the size of the internal buffer, which in turn causes jitter. Sequence errors cause significant degradation of call quality. Sequence errors may occur because of the way packets are routed. Packets may travel different pathsthrough different IP networks, causing different delivery times. As a result, lower‐numbered packets may arrive at the endpoint later than higher numbered ones. The packets are usually received in the buffer, allowing the endpoint to rearrange out‐of‐order frames and reconstruct the original signal. However, thesize of internal buffer is limited to control jitter, and significant variance in the orderly delivery of packetsmay cause the endpoints to discard frames, resulting in both jitter and dropped packet issues. Routing VoIP calls through consistent routes to avoid spreading packets from the same call over different paths allows for significant reduction in sequencing errors.
Codec Quality
A codec is software that converts audio signals into digital frames and vice versa. Codecs are characterized with different sampling rates and resolutions. Different codecs employ different compression methods and algorithms, using different bandwidth and computational requirements. Choosing the best codec for particular network conditions may considerably increase the quality of voice calls. If the network has low effective bandwidth, choosing otherwise great lossless G.711 codec would be a big mistake, as the quality of the calls would suffer because of bandwidth limitations and lost packets rathert han codec quality. If there is less than 80 Kbit/s of available bandwidth, picking a low‐bitrate, high‐compression G.729 or G.723 codec’s is much more appropriate. Note that while a local area network (LAN) may provide high bandwidth, external calls may be subject to bandwidth bottleneck in the upstream. ADSL and cable network providers often limiting upstream bandwidth, which results in upstream congestion if multiple VoIP calls are carried concurrently. In this case, low‐bandwidth codecs may provide better results. G.711 (PCM), a high‐bandwidth codec, provides the best audio quality yet consumes the most bandwidth (about 80 Kbit/s with overhead). G.729a (CS‐ACELP), G.723.1 (MP‐MLQ) and G.726 (ADPCM) offer varying conversation quality, sorted by decreasing relative quality. The codec choice will not take place automatically. You have to specify and prioritize codecs available to the particular VoIP system. Taking care of the wrong choice of codec may significantly improve conversation quality.
Related topics/white papers:
- Multiplexing RTP data and control packets on a single port [whitepaper]
- RTP – Transport protocol for real time applications like voice and video [whitepater]
One Response to Typical VoIP Problems: not right codec, packet loss, jitter, out‐of‐order packets
Leave a Reply Cancel reply
You must be logged in to post a comment.
Recent articles
- Plain explain: IP-phone
- Plain explain: What is SIP termination and what is SIP origination?
- US fixed VoIP market to see steady growth
- Save money with VoIP and unified communications
- IP telephony can help level the playing field for small businesses
- The loss of a landline means big change in communications
- Ubuntu (Linux) on your phone? Yes! And now officially!
- QoS For FaceTime, bandwidth requirements and Firewall config
- Merry Christmas and Happy New Year!
- How to Configure Axvoice Equipment?
- Cloud VoIP vs. on-premise VoIP: Choosing the right one for your business
- 26 terabits per second data transmission achieved
- A fully functional VoIP Client (SIP) finally released (free download)
- Fundamentals of SIP from Cisco :-)
- WebRTC from Google: making real-time communication free to implement
- What is VoIP termination
- Introduction to Voice over IP (VoIP)
- Linux: how to check OS version installed
- Hey!
- How to configure Internet tel. and SIP settings on Nokia phone (E52)
- TCP vs UDP – you must know this
- Google voice / Google talk and Asterisk configuration
- VoIP or IP Telephony?
- Asterisk 10.0.0-rc1 Now Available!
- SIP based VoIP behind NAT
- VoIP Quick start guide
- History: Kellogg Field Phone (World War I)
- Running VoIP via VPN (SSL) – voice quality
- Skype App directory
- G.711: u-law or a-law?
- Wi-Fi access point/router optimization for VoIP and other real time apps
- Agri-Cube grows mass quantities of vegetables in a one-car parking spot
- Quick Comparison of freeware IP-PBX platforms: Asterisk vs Open SER
- Microsoft enabling the ability to eavesdrop on VoIP conversations
- Nimbuzz growing even without Skype
- Skype protocol hack
- Call DSN number
- How to make your VoIP calls private and confidential
- Think on solutions: VoIP phone system
- Asterisk and Google Voice
- VoIP Codec: Payload size
- Nokia SIP settings
- The QoS Dilemma
- VoIP calls over satellite links
- VoIP for Facebook!
- VoIP client behind a VPN with DD-WRT
- Digital Telephony
- Analog Telephony
- Mobile VoIP – the future of mobile communications
- Sip on Android
VoIP SIP IP telephony tags
android Asterisk bandwidth bandwidth requirements best effort cellular codec delay encryption options facebook free calls g273 g726 g729 google gsm high latency How it works ilbc IPsec issues jitter listen to voip mobile Nimbuzz nokia order packet payload. g711 privacy protocol analyzer pstn QoS - Quality of Service QoS protocols real-time applications record voip calls satellite link sipdroid SIP protocol Skype speex TLS voice quality voip voip becomes socialQuick navigation
- Android (6)
- Apple (1)
- Asterisk (22)
- Cloud VoIP (1)
- FaceTime (1)
- Google Voice (6)
- History (2)
- IT news (2)
- Mobile VoIP (16)
- Symbian (1)
- Non VoIP news (2)
- Open source (10)
- Prioritization and traffic shaping (9)
- QoS – Quality of Service (11)
- SIP protocol (32)
- Cisco (2)
- SIP termination (2)
- SMS to email (1)
- Softphone VoIP (1)
- Ubuntu (1)
- Uncategorized (1)
- VoIP calls quality (24)
- VoIP industry news (4)
- VoIP over SSL VPN (1)
- VoIP over VPN (8)
- VoIP service (2)
- VoIP via VPN (1)
More to read on VoIP
- About
- About Mark Spencer
- Asterisk SIP Media NAT
- Browser-based VoIP: web page code to call over IP (to your VoIP account)
- Choosing the right provider
- Cisco ATA186 notes
- Free sip account
- Grandstream Budgetone configuration manual
- How to start with VoIP telephony
- Multiplexing RTP Data and Control Packets on a Single Port
- On-line payments
- VoIP Codecs
- VPN: UDP or TCP?
- What is VoIP and what it can do for you
- Why should you switch to VoIP services?
Blogroll
- Asterisk™: The Definitive Guide (new window) “Asterisk has been emblematic of the way that open source software has changed business—and changed the world”
- Blog Jon FreeSWITCH VOIP SIP Asterisk Linux Open Source
- Business.com Business.com is one of the Web’s largest directories for business products and services
- Ubuntu how-to www.ubuntuka.com Miscellaneous Ubuntu Tips, Tricks and Hints
Our Twitter – latest
- Introduction to Voice over IP (VoIP) - One important step into adopting VoIP is... voip-sip.org/introduction-t… 5 months ago
- How to configure Internet tel. and SIP... voip-sip.org/how-to-configu… 5 months ago
- Hey! - To all people who has an experience with Asterisk and Linux - quote of the day: "I have not failed.... voip-sip.org/hey/ 5 months ago
- What is VoIP termination - Many people keep asking me - what is VoIP Termination?... voip-sip.org/what-is-voip-t… 5 months ago
- How to configure Internet tel. and SIP... voip-sip.org/how-to-configu… 5 months ago





[...] Problems like not proper codec, packet loss, jitter, not in order packets has been discussed in this [...]