If you’ve ever had choppy voice or video calls with colleagues that suddenly drop out in the middle of a session, internet jitter is likely to blame. Jitter on calls can ruin online interactions for users, so it’s an important issue for developers to understand so they can avoid it when building applications.
So what is network jitter? And more importantly, how can you reduce it? This developer’s guide to jitter will answer those questions and take a look at user issues so that you can get a full understanding of the problem before moving into the solution.
What is Jitter?
To understand jitter, we first need to know what’s happening behind the scenes. Specifically, data packets.
Everything sent over the Internet–whether a text file or a video–is transmitted through packets. Data is first disassembled, sent over the Internet as a packet, then reassembled at its destination.
For the most part, the order in which packets arrive doesn’t matter as much for things like email or a webpage. As long as all packets make it, it’s fine for the most part.
But it’s entirely different for real-time applications that provide voice and video calls. Problems arise when these data packets arrive at the destination out of order. This can happen when packets are lost or delayed en route due to congestion. It can lead to your voice becoming garbled or distorted.
In a nutshell, this is jitter.
Now, many people confuse jitter with latency. While both are crucial for a smooth streaming experience, they’re actually different. So what does jitter mean in relation to latency?
Latency is the time it takes for a data packet to be sent across the network, measured in milliseconds. The lower the latency, the faster the response time and the stronger the connection. For real-time applications like online games and voice calls, the experience is smooth and consistent. Latency, however, can never be zero, so the goal is to keep it as low as possible.
On the other hand, jitter is any inconsistency with the network latency. A low jitter score means the connection maintains a good latency level throughout the session, introducing minimal disruptions.
So, what is jitter on a speed test? It measures how much the latency deviates over a set time. A jitter of 2ms, for example, means the latency is changing by that amount on average.
As you can imagine, high latency is undesirable, but high jitter is just as bad. It can be frustrating to have a clear voice one minute and distortions the next.
Jitter comes in many flavors with varying effects on your call quality. It can be a constant jitter, which means the level of delay is consistent throughout the call. Or it can be transient (a sudden burst), or the delay builds up gradually. However, one of the more common effects is short-term delay variation, which happens on a set number of packets. Often, this is caused by network congestion.
But, how do you know you’re suffering from high jitter? Short of monitoring through a jitter test, the tell-tale sign to look out for is any choppiness in the call. Jumbled or distorted voices, static, and flickering videos are also symptoms. At worst, jitter can cause you to drop out of a call entirely.
Some symptoms of latency can also be mistaken for jitter, but the differences are distinct enough. For example, if you’re experiencing “echoes,” “double talk,” or a delay from when a person speaks until you hear it, that’s probably latency.
In a nutshell: any voice delay is latency. If it’s affecting the quality of the voice (distortions, garbled audio), then it’s most likely jitter.
What Causes Jitter?
As discussed above, jitter is caused by data packets getting lost or arriving in the wrong order. But while we know the details, what factors cause these indicators to happen?
The truth is, high jitter has many culprits. And it’s common that these culprits are all present and work together to create excessive jitter.
The number one reason is network congestion. Network congestion often happens when too many devices simultaneously send data packets through a network. Aside from latency issues, it can also cause jitter. Furthermore, even minimal congestion can introduce disruptions in real-time applications like VoIP.
Congestion is an issue that can come up when making VoIP calls at home. Often, you’re not the only one using the Internet. Someone might be engaged in another video call, or playing an online game.
In these cases, the solution to congestion is to prioritize packets or get a higher-end router. In fact, outdated hardware is a big cause of poor network performance or jitter. If that’s not possible, try scheduling online activities that minimize conflicts. For example, you can download big files outside of working hours.
If congestion isn’t to blame, the next culprit is using a wireless connection. You’ll know this is the case when you’re the only one experiencing jitter issues and the other person on the call isn’t. Unfortunately, wireless is prone to interference, translating to packet losses and jitter.
Lastly, jitter can be an issue with your VoIP provider. If you’ve ruled out everything and the problem persists, this is probably the reason. Fortunately (or unfortunately, depending on how invested you are in your VoIP software), changing providers is the best way to solve this dilemma.
That’s why it’s vital to do your homework and pick a reputable VoIP provider known for performance and quality. The best ones can even compensate for less-than-ideal network conditions so that you can enjoy quality calls more often.
How Much Jitter is Normal?
Like latency, it’s virtually impossible to eliminate jitter entirely. Your goal should be to reduce it as much as possible. But how much of it is acceptable?
First, it depends on the application that you’re using. If you’re just browsing the web, sending an email, or chatting with someone, jitter is a non-issue. These are asynchronous forms of communication and, as such, don’t rely on the rapid delivery of packets.
But if it’s something in real time like a voice or video chat, it’s much more important. And it’s not just jitter you want to worry about; you also want to keep latency and packet loss to a minimum.
Generally, it’s best to keep jitter to less than 30 milliseconds. Anything above this threshold, and you’ll notice the audio quality drop.
Of course, these are just guidelines. What’s acceptable will depend on how much audio quality degradation you’re willing to tolerate.
If it’s just an internal team meeting, as long as you can understand what everyone is saying, then some jitter is fine. However, attempting to fix it might cause you to spend time unnecessarily.
Of course, if you’re hosting a webinar or presenting a sales pitch to a client, then you want your audio quality to be the best it can be. So keeping jitter way below 30 milliseconds is advisable to give yourself a little wiggle room.
How to Fix Jitter
Figuring out how to reduce jitter in networking starts with identifying it first. You can’t fix what you can’t measure, after all. You can do this with a jitter test.
Testing for Jitter
There are multiple ways to test for jitter, each with varying degrees of effectiveness. What you use will depend on what tools you have available, but it’s wise to use more than one.
The easiest approach is to use an online speed test, such as the TestMy.net Latency Test and Cloudflare Internet Speed Test. Both these tools will display your jitter score, apart from important metrics like bandwidth and latency.
However, one drawback of these online tools is that they only give a general overview of your jitter score, which can be misleading. For voice calls, it’s more important to measure the jitter and latency for a specific VoIP server.
You can do this through the ping command via your computer’s terminal app. In Windows, for instance, you can type in the following in the Command Prompt:
ping –n 30 [IP address]
This will send 30 data packets to the target IP address (which, in this case, should be your VoIP server). You’ll then see each packet being sent together with metrics. However, what you should look at is the maximum deviation (mdev). This tells you the jitter value in milliseconds.
These two tools are the fundamental ways you can test for jitter, as they’re free and available to everyone. However, if you’re hosting a large webinar or are part of a large company, you’ll probably have access to advanced monitoring tools such as Cisco DNA and Logic Monitor.
The advantage of these tools is that they measure jitter in real-time and can alert you when it becomes excessive. This gives you an early warning, so you can try to fix it before it becomes a huge problem.
One important thing to note here is that jitter isn’t just a one-way problem. For example, if the other person on the line has a faulty router or a congested network, then you’ll still experience the effects of jitter even if your connection is fine. Thus, you should also measure the jitter score of all participants in the call.
Ways to Fix and Avoid Jitter
Once you know that jitter is a problem, you can implement some or all of these steps to minimize it.
We advise trying one solution at a time, then checking your jitter after each. This can save you time, plus you’ll know the exact culprit of your jitter issues to avoid it in the future.
What Users Can Do to Fix Jitter
Switch to a Wired Connection
A quick fix is to switch to a wired connection if you’re not already on one. Wireless networks are much more susceptible to environmental interference, so it’s wise to switch to wired if you’re having issues with jitter. Be sure to use the highest quality Ethernet cables you can find.
Test Device Frequency
If you need to remain on a Wi-Fi connection, consider switching between 5 GHz and 2.4 GHz, depending on your situation. 5 GHz offers a faster connection but has a shorter range, so it’s great if you’re sitting next to your router. But if you’re farther away, try going with a 2.4 GHz. It would be best if you also tried to divide your gadgets evenly among 5 GHz and 2.4 GHz to minimize congestion.
Invest in a Powerful Router
Another solution for a jittery voice or video stream is to use a powerful router. There is no one size fits all solution when regarding routers and jitter. However, most high-end routers are more capable of efficiently handling jitter. Be sure to do your research on routers and invest in a robust router that can handle the network traffic and provide a more consistent wireless signal.
Disable Inspection-Based Firewalls
Remember that jitter happens when there’s congestion and delay in the network, and firewalls cause bottlenecks. Try to disable inspection-based firewalls to minimize the workload of your router to reduce further congestion. Finally, try disabling certain firewall access rules like SIP ALG and Double NAT to improve VoIP performance.
One router feature you might want to explore further is Quality of Service (QoS). This function allows you to prioritize voice packets over other applications to get to their destination faster. You can do this by configuring your DSCP class 46 packets to high priority.
What Developers Can Do to Fix Jitter
Install a Jitter Buffer
If jitter is a constant problem, consider setting up a jitter buffer in your VoIP system. It works by storing data packets for a set time to be reassembled properly before sending them to the receiver. The length can be anywhere from 30 to 200 milliseconds, enough to solve most jitter problems but not long enough to become noticeable. You’ll most likely go for a dynamic (software-based) buffer unless your VoIP hardware already has a static buffer installed.
By utilizing Agora, developers can quickly reduce audio and video jitter in any application. Technologies like Agora’s Voice Chat SDK and Video Chat SDK can provide a clearer and more seamless audio and video experience for users, something that is a critical component of any successful app. Our core products allow developers to deliver video, voice and live interactive streaming platforms via a fast, reliable real-time network.
The Bottom Line
The choppiness and delays caused by jitter can distract from the high-quality application you’ve worked so hard to develop. The Agora platform is designed specifically to help developers quickly build high-quality voice and video experiences that prevent users from feeling the negative impacts of issues like jitter and packet loss. How? The Agora platform provides a global, ultra-low latency network that results in a calling and streaming experience that’s free from disruptions.