When asked about the top three network problems that cause bad voice quality, network engineers frequently respond with “Loss, Jitter, and Latency.” Today, we’ll take a brief moment to explain jitter, and why it causes such a headache for VoIP networks.
Since few vendors take the time to explain what these terms mean, and many sales people have only memorized them as industry “buzzwords,” we’ll take today’s post to provide a practical explanation for our readers.
While jitter may sound like a great description of the symptoms of that one guy in the office who has downed a few too many triple espressos, the term has a very specific definition for network engineers.
When your voice, or any audio stream, gets sent using VoIP technology, it generally gets recorded and sent across the network in small ‘snippets’ of between 10 and 30 milliseconds (.01 to .03 of a second). In order to reproduce the sound at the other end, these recordings should arrive in order, so that all of the noises can be reproduced faithfully at the far end.
You might think of it a bit like chopping this paragraph into individual words and sending them in separate envelopes. If there was no way to re-assemble the words into the correct order, it would be impossible for an average person receiving them to make any sense of what the writer was attempting to say. For this reason, Real-Time-Protocol numbers these mini-recordings to assist the other end’s efforts to play them back in the correct order. (As an aside, in addition to acting like page-numbers in a book, these number sequences also help us to detect when there are missing bits of audio in the stream of snippets to be re-assembled and played at the far end of a call).
At this point, you may be wondering what causes the packets containing these snippets to arrive out of order. The one word answer is jitter:
In the course of an hour-long VoIP conversation, the delay across the network may swing wildly, from near-instantaneous to over ¼ of a second. The more changes that occur in delay, the more packets arrive out of order.
These rapid swings in network delay can be caused by a number of factors. Just like many morning commuters, the packet may get stuck waiting in a router buffer when a surge of other network traffic is attempting to cross a slower-speed Wide-Area-Network link. Whether there is too much traffic at times or the link is too slow, network bottlenecks are frequent sources of unpredictable delays. Bursts of traffic may also cause random delays for a handful of packets, increasing jitter.
One common mistake network managers make when looking for jitter problems is to not measure delay frequently enough. If you look at network delay once per hour, you will be unlikely to notice changes of delay that occur three times per second – despite hundreds of swings in delay times, the network delay at 2 p.m. may be very close to the network delay at 3 p.m. If delay is not measured frequently enough, jitter will only likely be detected by the network manager when frustrated users complain of random echoing and ‘drop-outs’ of silence that appear in their calls.
Once we identify and correct any temporary network impairments, removed traffic bottlenecks, and architected our network properly (to the best of our budget) we will almost inevitably wind up with some residual (left-over) jitter. How do VoIP devices deal with out-of-order packets? One method is known as the “jitter buffer.” A jitter buffer acts as a “waiting room,” allowing packets to be swapped back into their original order. In figure 2, the receiving VoIP device has a two-packet jitter buffer. The good news? This allows the device to swap two out-of-order packets back in to their original sequence. The bad news? This waiting room enforces a mandatory wait based on the number of chairs — the receiving device must wait until the buffer is filled with two packets before it begins playing any audio. (Many of you have seen a similar effect waiting for web-based videos to load.) A two-packet jitter buffer forces a two-packet long delay on the line. If you are using 10ms packets, this will insert an additional 20ms delay. For 30ms packets, this inserts an additional 60ms delay. As discussed in previous articles, too much delay results in bad voice quality.
What if packets arrive out-of-order but creating a jitter buffer adds too much delay? There is one other common option: In some cases, calls will sound comparatively better if out-of-order packets are merely discarded (or dropped). This technique may cause a one or two packet long ‘dropout’ silence (cellphone users may describe this as “cutting out,” but has the benefit of not adding any additional delay to a call that might be at near maximum delay already.
So, now that you know what Jitter is and what a Jitter Buffer does you can make smarter decisions and size your Jitter Buffer (0-3) to handle out-of-order packets. Do you know how much jitter is on your important network links and how this affects your VoIP system’s voice quality and call reliability? Try a 30-day demonstration of PathSolutions network management solutions to find out!
Now that I’ve stopped shaking, I think I’m off to find a refill with several in-sequence sugar packets!