Monday, July 07, 2008 ≡ Mario Stocco
Quite often when I am discussing Voice over IP technologies with a new client, I do my best to help them understand the real-time demands that need to be meet by their ethernet network and the internet at large. These IP networks were originally designed so that packets could arrive "out of order" and be reassembled "in order" by the client. The protocol most commonly used to transmit these packets is called TCP/IP. Yet, TCP/IP is rarely used for VoIP packets because this protocol was not designed for real-time communications.
Instead, VoIP often uses the User Datagram Protocol (UDP) protocol. UDP is one of the core protocols of the Internet protocol suite and by and large, offers lower overhead then its TCP counterpart; making it a good choice for transmitting digitized voice. The lower overhead of UDP is achieved if part by not implementing "reliability"; making it sensitive to network conditions. Therefore, VoIP can sound poor when it encounters any of following conditions:
Jitter is the result of variance in latency between subsequent packets. For example, if you ping a node across an IP network and get results such as 97 ms, 91 ms, 95 ms, the network is essentially jitter-free or, to be exact, it has jitter of 6 ms (variance between 97 ms and 91 ms). But if your ping replies looked resembled: 55 ms, 70 ms, 195 ms, then your network has jitter of 120 ms. Jitter that exceeds 100 ms degrades the quality of a VoIP call. The Asterisk Open Source PBX can be configured to gracefully handle jitter under 100 ms.
Packet loss occurs most commonly when a point in the network is congested. This happens quite often when low end routing equipment is present in the network. Under such conditions, a router's interface becomes overwhelmed and packets are often simply discarded. TCP/IP acknowledges every packet and automatically retransmits any lost packets, UDP's best effort approach will not. Packet loss will create a stutter, or in bad cases, complete gaps of silence in your telephone call.
Latency is the time it takes for a data packet to make a trip from the sending to the receiving location. When the average one way latency of a VoIP connection is above 200ms, call quality begins to suffer. When you are on a high latency call, the other party hears your voice later than what you would expect in a normal conversation. High latency may have you talking over their response to your part of the conversation because of the delay in the network. Good VoIP connections have a one way latency that is less than 100ms.
Latency in the network also plays a part with echo. For echo to be noticeable it has to be both loud and delayed. In the normal telco world, echo is loud, but not delayed therefore you don't notice it. With Voice over IP, the loudness of the echo is the same as a call over a traditional TDM network. The difference is that because of the inherent latency introduced by VoIP, echo is much more noticeable. Building out a low-latency IP network goes a long way to solving issues like echo.
Considering a move to a Voice over IP system? My experience can be of help to you.
Feel free to use this form to say "hello".
About this blog
With nearly a decade of in-the-trenches computer telephony experience, Mario Stocco writes this weblog to articulate his thoughts on topics like VoIP, Open Source and life in general.
Latest Blog Entries
The Less Than Friendly-scanner, SipviciousPrevious Blog Entries
AastraLink Pro 160 - Quick Setup GuideRSS Subscription
Communicate
Add advantia.voip to your Skype buddy list
Linkedin Profile:
linkedin.com/in/voipexpert
...or click here and use this form to say hello!
Social Web