Fix VoIP Jitter and Call Quality: A Step-by-Step Guide

Run a Speed Test

Choppy audio, robotic-sounding voices, one-way audio, people cutting out mid-sentence — these are almost never caused by slow internet. They're caused by jitter, packet loss, and bufferbloat, which speed tests don't even measure by default. Here's what's actually happening to your VoIP calls and exactly how to fix it.

The Short Version

  • Jitter is variation in packet arrival time — the #1 cause of choppy VoIP audio
  • Keep jitter under 30 ms and packet loss under 1% for clean calls
  • Bufferbloat is the usual culprit when calls get bad only during uploads or downloads
  • SQM or QoS on your router usually fixes it in an afternoon
  • Ethernet beats Wi-Fi for VoIP every single time, full stop

What VoIP Actually Sends

A VoIP call is a stream of small UDP packets — typically 50 packets per second each way, about 20 ms of audio apiece. Each packet is around 100-200 bytes. The total bandwidth is tiny: 60-100 kbps for basic codecs, 200 kbps for high-definition.

Because the packets are small and frequent, VoIP is extremely sensitive to timing. A 40 ms delay is barely noticeable. A 40 ms inconsistency between packets is an ugly stutter.

The Three Things That Break Calls

1. Jitter

Jitter is how much packet arrival time varies. If packets are supposed to arrive every 20 ms but some take 25 ms and others 15 ms, the jitter is about 5 ms — fine. If jitter is 40 ms, the playback buffer can't keep up and audio starts dropping.

  • Under 20 ms: clean
  • 20-40 ms: occasional glitches
  • 40-80 ms: frequently bad
  • 80+ ms: unusable

2. Packet Loss

When packets don't arrive at all, VoIP codecs fill in the missing audio with silence or interpolation. A little is fine — modern codecs hide 1% loss. More than that and you hear gaps, clicks, or chopped words.

3. Bufferbloat

Bufferbloat is what happens when your router's buffer fills up during a big upload or download. Packets — including your VoIP packets — sit in the queue waiting their turn. Your ping rockets from 20 ms to 500 ms. Calls become unusable whenever someone else starts a download.

This is why your calls sound perfect at 10 AM and break down at 2 PM when backups run.

Measure Your Actual Problem

  1. Run a bufferbloat test at waveform.com/tools/bufferbloat. It measures ping under load in both directions. An A or B grade is fine. D or F is why your calls break.
  2. Ping a server during a call. ping -t 8.8.8.8 on Windows or ping 8.8.8.8 on macOS. Watch the "time=" values. Consistent = good. Varying wildly = jitter problem.
  3. Check packet loss over 5-10 minutes. ping -n 600 8.8.8.8 on Windows. At the end, look at the loss percentage. Over 1% is a problem.
  4. Use your VoIP platform's diagnostic. Zoom, Teams, and RingCentral all log jitter, packet loss, and latency during calls — check your call quality reports.

Fix 1: Switch to Ethernet

If you're on Wi-Fi, this alone fixes most jitter problems. Wi-Fi introduces 2-10 ms of variable latency even under ideal conditions, and much more in a crowded apartment or with an older router. A $15 USB-C to Ethernet adapter is the best WFH upgrade money can buy.

Fix 2: Enable SQM (Smart Queue Management)

SQM kills bufferbloat. It's the modern replacement for old-school QoS. On routers that support it, turning SQM on turns a D-grade bufferbloat test into an A instantly.

  • OpenWrt: install sqm-scripts, set your actual upload and download speeds to 90-95% of your plan, use cake as the queuing discipline.
  • pfSense / OPNsense: traffic shaper, FQ_CoDel scheduler.
  • Firewalla: enable Smart Queue and AdBlock Routing.
  • Ubiquiti UniFi: enable Smart Queues in the Internet settings, set rates to 90% of ISP plan.
  • Eero Pro 6E+: has built-in queue management, no tuning needed.
  • Asus with Merlin firmware: FreshJR QoS or Adaptive QoS with Web Surfing / Voice prioritization.

Rule of thumb: set the SQM upload/download to about 90% of the speed your ISP delivers (not the plan speed). This trades a small amount of peak throughput for massive latency improvements under load.

Fix 3: Classic QoS

If your router only supports QoS, not SQM, give highest priority to:

  • UDP ports 3478-3481 (STUN/TURN — used by Zoom, Teams, Meet, Webex)
  • UDP ports 5060-5061 (SIP signaling)
  • UDP ports 10000-20000 (RTP media for many SIP platforms)
  • DSCP EF (46) traffic — most VoIP clients tag voice packets this way

Fix 4: Isolate Upload Hogs

Even with SQM, a 100 Mbps upload from someone else in the house will muddy calls. Use your router's client-level bandwidth limits to cap:

  • Cloud backup services to 1-2 Mbps during work hours
  • Cloud camera uploads to under 1 Mbps
  • Game console background updates — or pause them during work

Fix 5: Check the Line Itself

If you've done all of the above and jitter is still high, the problem is upstream. On cable modems, log into the modem's status page (usually 192.168.100.1) and check:

  • Downstream SNR should be above 33 dB
  • Downstream power between -7 and +7 dBmV
  • Upstream power between 35 and 50 dBmV
  • Any T3 / T4 timeouts in the log indicate line issues

Bad signal levels are an ISP problem, not yours. Call them with the numbers.

Headset and Codec Tips

  • Use a USB or wired 3.5 mm headset. Bluetooth adds 40-150 ms of one-way latency and reduces audio quality due to HFP codec limits.
  • In Zoom, Teams, and Meet, enable high-fidelity audio only when upload allows it (adds ~80 kbps).
  • Disable noise suppression on your headset if the platform is also doing it — the two fighting each other distorts voice.

When to Just Switch ISPs

If bufferbloat is an A grade and jitter is still bad, and line levels are fine, it's probably your ISP's oversubscribed neighborhood segment. Call and ask them to check the node; if nothing changes, a different technology (cable to fiber, cable to 5G) usually solves it.

Related Guides

More From This Section

Foundational Concepts