Guide
Sizing a link for voice calls with codec and header overhead
Voice over IP does not use the number printed next to the codec’s name. A G.711 call is called 64 kbit/s, but on an Ethernet link it needs about 87 kbit/s each way. The reason is that audio travels in small packets, each wrapped in several headers. This page does the sum for a codec, a packet interval and a number of simultaneous calls.
How a call’s bandwidth is built
The codec produces audio at a fixed rate. The sender collects the audio of one interval, usually 20 ms, into a packet. For G.711 that is 64,000 bits per second × 0.02 s ÷ 8 = 160 bytes. RTP adds 12 bytes, UDP 8 and IPv4 20, which makes 200 bytes at the IP layer. Ethernet adds 18 bytes of header and checksum, bringing the frame to 218 bytes. At 20 ms there are 50 packets a second, so a call needs 218 × 8 × 50 = 87,200 bit/s one way. Shorter intervals lower delay but raise the share of overhead; longer ones do the opposite.
Choices on the page
Pick the codec, the packet interval, the number of simultaneous calls, the link layer (Ethernet with 18 bytes, Ethernet with an 802.1Q tag with 22, Ethernet including preamble and gap with 38, PPP with about 6, or none) and the IP version. For Opus you also choose the bitrate. The signalling allowance adds a percentage for SIP and RTCP traffic; it defaults to 5. Preset buttons load 10 G.711 calls, 30 G.729 calls and Opus at 24 kbit/s.
Reading the result
The result shows the voice payload per packet, the packet size including headers, packets per second, the bandwidth per call in one direction and the total for the number of calls. A table underneath compares every codec at 20 ms with the same link settings, which shows quickly how much a compressed codec saves. Because the headers do not shrink with the codec, G.729 at 8 kbit/s still needs 31.2 kbit/s, almost four times its nominal rate.
A worked example
With the defaults, G.711 at 20 ms on Ethernet over IPv4, a call uses a 160-byte payload in a 218-byte packet at 50 packets per second, which is 87.2 kbit/s one way. For 10 calls the total is 916 kbit/s: 872 kbit/s plus the 5 % signalling allowance. In the same table G.726 at 32 kbit/s needs 55.2 kbit/s, G.729 needs 31.2 kbit/s and GSM full rate needs 36.4 kbit/s per call.
Limits
The page does not model silence suppression, which can cut the average load, or RTP header compression on slow links. It also does not add encryption overhead such as SRTP authentication tags or a VPN, so add that in the extra headroom you plan. Quality depends on delay, jitter and loss as much as on bandwidth; measure those with the Network Jitter Test on the real path.
Choosing the packet interval
The interval trades delay against overhead. At 10 ms a G.711 call sends 100 packets a second of 138 bytes each, which is 110.4 kbit/s one way. At 20 ms it is 87.2 kbit/s, and at 30 ms, with 240 bytes of audio in a 298-byte packet, it falls to about 79.5 kbit/s. Longer intervals save bandwidth but add delay and make each lost packet more audible, so 20 ms is the usual compromise. Change the interval in the page to see how the numbers move for your codec.
Related tools
- Network Jitter Test measures delay variation that harms voice quality.
- Network Goodput Calculator shows overhead for bulk data.
- Packets per Second Calculator turns packet sizes into line-rate counts.
- SLA Uptime Calculator converts availability targets into allowed downtime.
Checked against the current version of the VoIP Bandwidth Calculator on .

