Tools / Engineering & scale / Vol III

VoIP Bandwidth Calculator

Pick a codec and packetization. Get the bandwidth a single call uses on the wire — payload + RTP + UDP + IP + Ethernet, with optional VLAN tagging and header compression — and the capacity that translates to in concurrent calls on a pipe of any size.

Everything runs in your browser. The values you type are never sent to any server.

Inputs

ms

IP version
Layer-2 overhead
Header compression

Per call

kbps peak bandwidth

Per-packet breakdown

Codec payload
RTP header
UDP header
IP header
L2 overhead
Total per packet

Rates

Packets / second
Total per second

Capacity

Concurrent calls that fit in a pipe of the given size — at the codec, ptime, and overhead chosen above. Numbers assume every call is at peak; with VAD enabled, a deployment can typically oversubscribe by ~40%.

concurrent calls

What changes the answer

Peak vs. average

The big number is the peak bandwidth a single call uses when both endpoints are actively transmitting. Enable VAD / DTX and you get the average — roughly 40 % of peak, since one side of a conversation is typically silent at any moment (each side ≈ 60 % active). Size pipes for peak (so calls don't clip during simultaneous talk-over), but you can oversubscribe concurrent-call capacity by ~40 % at the design margin if VAD is universally enabled.

IPv4 vs IPv6 — 20 B per packet

An IPv6 header is 20 bytes larger than an IPv4 header. For a G.711 call at 20 ms ptime (50 pps), that's 50 × 20 × 8 = 8 kbps more bandwidth per call, just for the IP layer. The cost grows with packet rate — a 10 ms ptime doubles it.

Header compression (cRTP, ROHC)

cRTP and ROHC squash the 40-byte RTP + UDP + IP stack down to a few bytes per packet. Worthwhile on point-to-point links with stable peers (PPP, HDLC, leased lines, microwave). Not applicable on Ethernet LANs or across SBC hops — each cRTP/ROHC link is its own endpoint pair. For a G.711 call over PPP, cRTP gets you from ~85 kbps down to ~67 kbps.

VLAN tagging — 4 bytes per packet

An 802.1Q tag adds 4 bytes to the L2 header. Small but cumulative: 4 B × 50 pps × 8 = 1.6 kbps per call. On a voice VLAN sized for hundreds of phones, that's tens of Mbps of headroom you need to plan in.

Voice VLAN sizing

Multiply the per-call peak number by your worst-case concurrent-call count. For an office with N phones, that's N × peak × off-hook factor — typically 0.2–0.4 of total handsets during peak hour. Then add headroom for re-INVITE / hold / transfer signaling spikes (~10 %) and Wireshark / SBC observation overhead.

Frame-based codecs and ptime rounding

iLBC, AMR-WB, EVS, and similar codecs produce fixed-size frames at fixed intervals — 20 or 30 ms typically. Pick a ptime smaller than the codec's frame and the answer is the same as the frame size; pick a ptime that isn't a multiple and this calculator rounds up to the nearest frame boundary. Bandwidth-aware deployments use longer ptimes (40, 60 ms) to amortize header overhead — at the cost of higher mouth-to-ear delay.

Codec comparison

All codecs at the IP / L2 / header-compression settings chosen above. Each codec uses the ptime you selected when it's valid for that codec, otherwise its own default. The codec you have selected is highlighted.

Codec Ptime Payload Per packet PPS Peak kbps Calls / 1 Mbps