Computing, IT, Networking & Security Bandwidth, Throughput & Latency ITU-T G.711 / G.729 with RFC 3550 RTP

VoIP Bandwidth Calculator

A G.711 call is not 64 kbps on the wire. The codec produces 64 kbps of speech, and then every 20 ms packet carries 40 bytes of IP, UDP and RTP headers plus a layer 2 frame around them, which takes the real figure to 87.2 kbps on Ethernet. This calculator does that arithmetic for any codec, packetisation interval and link type, then multiplies it by your concurrent call count so you can size a SIP trunk, a QoS priority queue or a WAN circuit from numbers rather than guesses.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
CodecThe codec's payload bitrate before any headers. Opus is variable, so its figure is a typical operating point.G.711 or G.722 — 64 kbps
Custom codec bitrateUsed only when the codec above is set to Custom.40 kbps
Packetisation intervalHow much speech each packet carries. Longer intervals cut header overhead and add delay.20 ms — 50 packets/s (default almost everywhere)
IP/UDP/RTP headerCompressed RTP applies only on a configured point-to-point link, not across a routed internet path.IPv4 — 20 + 8 + 12 = 40 B
Layer 2 encapsulationThe frame the packet travels in. Include preamble and interframe gap if you are sizing raw wire time.Ethernet — 14 B header + 4 B FCS
Concurrent callsBusy-hour simultaneous calls, not the number of handsets or users.30
Silence suppression savingLeave at 0 to size on the safe, unsuppressed figure; vendors commonly claim up to about a third on conversational speech.0 %

It returns

  • Bandwidth per call, one direction — Includes codec payload, IP/UDP/RTP and layer 2 headers.
  • Total for all calls, one direction
  • Total in both directions
  • Packets per second per call
  • Total packet rate, both directions
  • Voice payload per packet
  • Share of bandwidth that is header

The formula

B=8(P+H3+H2)1000t
P=rt8

In plain text: bandwidth per call = (voice payload + IP/UDP/RTP header + layer 2 header) × 8 × packets per second

  • BBandwidth for one call in one direction (bit/s)
  • PVoice payload per packet = codec rate × interval ÷ 8 (bytes)
  • H_3IP, UDP and RTP headers — 40 bytes on IPv4, 60 on IPv6, 2 or 4 with cRTP (bytes)
  • H_2Layer 2 header — 18 bytes on Ethernet, 6 on PPP (bytes)
  • tPacketisation interval (ms)

A call consumes this in each direction simultaneously, so a trunk must carry it symmetrically. Signalling (SIP or H.323) adds a small amount that is negligible against the media stream once calls are established.

Updated Category Bandwidth, Throughput & Latency Verified against published test cases Reading time 12 min

Why a 64 kbps codec needs 87 kbps of link

A codec's bitrate describes the compressed speech and nothing else. To cross a network, that speech is chopped into packets, and each packet gets a 12-byte RTP header, an 8-byte UDP header and a 20-byte IPv4 header, then a layer 2 frame around all of it. Those 40 bytes of IP, UDP and RTP are fixed regardless of how much speech the packet carries, and voice packets carry very little speech.

At the default 20 ms interval, G.711 puts 160 bytes of audio in each packet, so the headers are a quarter of what leaves the interface. G.729 puts 20 bytes in, and the headers are close to three quarters of it. This is the central fact of voice network sizing: the overhead is per packet, and voice sends a great many small packets. It is why halving the codec bitrate does not halve the bandwidth, and why a codec comparison that quotes only 64 against 8 kbps is misleading by a factor of three.

The practical consequences are two. First, when you size a SIP trunk or a QoS priority queue you must use the on-the-wire figure, not the codec figure, or the queue will drop calls at exactly the load it was built for. Second, the packet rate matters independently of the bandwidth: 30 calls at 20 ms is 3,000 packets per second in total, and small-packet rates are what exhaust firewalls, SBCs and software routers long before their bandwidth ratings are approached.

The formula, term by term

Bandwidth = (payload + layer 3 headers + layer 2 headers) × 8 × packets per second. Three quantities feed it.

Payload per packet is the codec rate multiplied by the packetisation interval. Keep the units simple: kbps × ms ÷ 8 gives bytes directly, because the thousands cancel. G.711 at 20 ms is 64 × 20 ÷ 8 = 160 bytes; G.729 at 20 ms is 8 × 20 ÷ 8 = 20 bytes. Codecs have a natural frame size — 10 ms for G.711 samples, 10 ms for G.729 — and the packetisation interval bundles a whole number of those frames, which is why 20 and 30 ms are the common settings.

Packets per second is 1000 divided by the interval: 50 pps at 20 ms, 33.33 at 30 ms, 100 at 10 ms. It is the same in both directions for a normal two-party call.

Headers come in two blocks. IP, UDP and RTP together are 40 bytes on IPv4 (20 + 8 + 12) and 60 on IPv6, since the IPv6 header is 40 bytes. Compressed RTP, defined in RFC 2508, exploits the fact that most header fields are identical from packet to packet and reduces the three headers to 2 bytes, or 4 with a UDP checksum — but it is a link-layer optimisation negotiated hop by hop, so it applies to a leased line or a serial WAN link and not to a call crossing the public internet. Layer 2 adds 18 bytes for Ethernet with its frame check sequence, 22 with an 802.1Q tag, 6 for PPP or 4 for Frame Relay. Add another 20 for the Ethernet preamble and interframe gap if you are calculating actual wire occupancy rather than the figure a bandwidth-limited queue will police.

Silence suppression multiplies the result. Voice activity detection stops sending during silence, and since only one party speaks at a time in a real conversation, the saving is substantial. It is modelled here as a flat percentage because that is how vendors quote it, but treat any specific number as a claim to verify: music on hold, conference bridges and automated announcements produce continuous audio and save nothing.

Worked example: sizing a 30-call G.711 SIP trunk

A contact centre needs 30 simultaneous G.711 calls over an Ethernet handoff at the default 20 ms packetisation. Work out the circuit.

  1. Payload per packet. 64 kbps × 20 ms ÷ 8 = 160 bytes of speech.
  2. Packet rate. 1000 ÷ 20 = 50 packets per second in each direction.
  3. Bytes on the wire. 160 payload + 40 (IP 20, UDP 8, RTP 12) + 18 (Ethernet header 14 and FCS 4) = 218 bytes per packet.
  4. Per-call bandwidth. 218 × 8 × 50 = 87,200 bit/s = 87.2 kbps in each direction. This matches the figure Cisco publishes for G.711 over Ethernet.
  5. Header share. 58 of the 218 bytes are header, so 58 ÷ 218 = 26.6% of the bandwidth carries no speech.
  6. Scale to the trunk. 30 × 87.2 = 2,616 kbps = 2.616 Mbps in each direction, and 5.232 Mbps counting both.
  7. Check the packet rate. 30 calls × 50 pps × 2 directions = 3,000 packets per second through the firewall and session border controller.
  8. Reserve the queue. Provision at least 2.616 Mbps of priority bandwidth on the upstream, which is the direction that constrains an asymmetric access circuit.

Compare with G.729 on the same design: payload drops to 20 bytes, wire bytes to 78, and per-call bandwidth to 78 × 8 × 50 = 31.2 kbps, so the trunk needs 0.936 Mbps. The codec bitrate fell by a factor of 8 and the bandwidth by a factor of 87.2 ÷ 31.2 = 2.79, because the 58 bytes of header did not change.

How to use these numbers when designing

Size the priority queue on the one-way figure, and the circuit on both. Voice is symmetric, so each direction carries the full per-call bandwidth simultaneously. A low-latency queue on an interface polices one direction, so it needs the one-way total; the circuit itself must sustain that in each direction at once. On an asymmetric access product the upstream is almost always the binding constraint.

Leave the priority queue below about a third of the link. This is a widely used design convention rather than a derived limit: a strict-priority queue that can absorb the whole link starves everything else during a burst, and the guidance exists to keep data traffic viable. If your voice total approaches that share of the circuit, the answer is a larger circuit or a lower-rate codec, not a larger queue.

Watch the header share. The figure reported above tells you how much of your bandwidth is not speech. Below about a quarter, as with G.711 at 20 ms, the design is efficient and further tuning buys little. Above two thirds — G.729 at 10 ms, for instance — you are paying mostly for headers, and either a longer interval or header compression is worth the trade-off. Neither is free: a longer interval adds its own duration to the mouth-to-ear delay and makes each lost packet remove more speech, while cRTP costs CPU on both ends of a link and does not cross routed paths.

Do not forget the rest of the budget. Packetisation delay is one component of the one-way delay that ITU-T G.114 addresses with its widely cited 150 ms planning target for good quality; propagation, serialisation, jitter buffer and codec processing make up the rest. A 60 ms packetisation interval spends nearly half of a 150 ms budget before the packet has left the building.

Bandwidth per call by codec and layer 2, at 20 ms

Each figure is (payload + 40-byte IP/UDP/RTP + layer 2 header) × 8 × 50 packets per second, in one direction. Payload is the codec rate × 20 ms ÷ 8.
CodecPayload (B)Ethernet, 18 B802.1Q, 22 BPPP, 6 BFrame Relay, 4 B
G.711 / G.722, 64 kbps16087.2 kbps88.8 kbps82.4 kbps81.6 kbps
G.726-32, 32 kbps8055.2 kbps56.8 kbps50.4 kbps49.6 kbps
Opus wideband, 24 kbps6047.2 kbps48.8 kbps42.4 kbps41.6 kbps
G.728 / Opus, 16 kbps4039.2 kbps40.8 kbps34.4 kbps33.6 kbps
G.729 / G.729a, 8 kbps2031.2 kbps32.8 kbps26.4 kbps25.6 kbps

Every column differs from the Ethernet column by exactly the layer 2 header difference × 8 × 50 — for example PPP saves (18 − 6) × 400 = 4,800 bit/s, or 4.8 kbps, on every row.

Mistakes that undersize a voice network

  • Sizing on the codec bitrate. Budgeting 64 kbps for a G.711 call undercounts actual consumption by 36% — the real figure, 87.2 kbps on Ethernet, is 36% above the codec rate — and the error is far worse for low-rate codecs.
  • Counting one direction only. A call sends and receives simultaneously. A symmetric circuit must carry the total in each direction at the same time.
  • Assuming silence suppression savings. Music on hold, conference audio and IVR prompts have no silence to suppress. Size on the unsuppressed figure unless you have measured your own traffic mix.
  • Ignoring the packet rate. Firewalls, session border controllers and virtual routers hit packets-per-second limits long before bandwidth limits when the packets are 218 bytes long.
  • Assuming cRTP works everywhere. Header compression is negotiated per link and does not survive a routed internet path, so it belongs in a WAN design and not in an internet SIP trunk estimate.
  • Forgetting signalling, fax and video. SIP registration and call setup are small but continuous, T.38 fax runs at its own rate, and a single video call can exceed the whole voice trunk.
  • Leaving no burst headroom. Concurrency figures are busy-hour averages. Sizing to exactly the expected peak means every unusual half hour degrades calls that are already established.

Where bandwidth sits among voice quality factors

Bandwidth is necessary and nowhere near sufficient. A voice call needs its packets to arrive with low delay, low jitter and almost no loss, and a link with plenty of capacity can still deliver terrible audio if a large data transfer queues ahead of the voice packets. That is why voice designs pair the capacity calculation on this page with a strict-priority queue, and why the queue's depth matters as much as its rate.

Two ITU-T references frame the quality side. G.114 gives the one-way delay planning guidance that most designs quote as a 150 ms target, and G.107 defines the E-model, which combines delay, loss and codec impairment into a single R-factor. Neither is a bandwidth calculation, but both determine whether the bandwidth you provisioned produces an acceptable call.

On the sizing side, the concurrency figure you feed this calculator is itself the output of a traffic model. Erlang B converts busy-hour call attempts and average duration into the number of simultaneous calls a given blocking probability requires, and that number is the input here. Getting concurrency wrong by 20% costs 20% of the trunk; getting the per-call figure wrong by using the codec bitrate costs far more.

For the surrounding network arithmetic, the MTU, MSS and packet overhead calculator shows what tunnels do to the same headers — a VoIP call inside an IPsec tunnel pays the ESP overhead on every one of its 50 packets per second, which is a large addition when the payload is 20 bytes. The network bandwidth requirement calculator combines voice with the other traffic classes on the same circuit, and the uptime and SLA downtime calculator translates a carrier's availability commitment into the minutes of lost calls it actually permits.

Frequently asked questions

How much bandwidth does a G.711 call use?

87.2 kbps in each direction over Ethernet at the standard 20 ms packetisation. The codec produces 64 kbps of speech, which is 160 bytes per 20 ms packet, and each packet then carries 40 bytes of IP, UDP and RTP plus 18 bytes of Ethernet header and frame check sequence. That gives 218 bytes × 8 × 50 packets per second = 87,200 bit/s. Over PPP the layer 2 header is 6 bytes instead of 18, giving 82.4 kbps.

How much bandwidth do I need for 30 concurrent calls?

2.616 Mbps in each direction for G.711 over Ethernet, or 0.936 Mbps for G.729. Multiply the per-call figure by the number of simultaneous calls, and remember that voice is symmetric, so the circuit needs that capacity upstream and downstream at the same time. On an asymmetric access product, size to the upstream. Add headroom for signalling, and never plan for the priority queue to consume the whole circuit.

Is G.729 really eight times more efficient than G.711?

No — it is about 2.8 times more efficient on the wire. The codec bitrate falls from 64 to 8 kbps, a factor of eight, but the 58 bytes of IP, UDP, RTP and Ethernet headers on every packet do not change. So 87.2 kbps becomes 31.2 kbps, a factor of 2.79. The gap narrows further at short packetisation intervals and widens with header compression, which is exactly the trade-off cRTP was designed for.

Should I use 20 ms or 30 ms packetisation?

20 ms unless bandwidth is genuinely scarce. Moving to 30 ms cuts the packet rate from 50 to 33.3 per second and saves roughly 20% of a G.729 call's bandwidth, but it adds 10 ms to the one-way delay budget and makes each lost packet remove 30 ms of speech instead of 20. On a constrained WAN link the trade is often worth it; on a LAN or a well-provisioned internet circuit it buys nothing you need.

Does silence suppression really save a third of the bandwidth?

It can on conversational speech, and it saves nothing on continuous audio. Voice activity detection stops transmitting when a party is silent, and in a normal two-way conversation each party speaks for well under half the time. But music on hold, conference bridges, IVR prompts and background noise in a call centre all produce continuous audio, and comfort noise generation adds packets back. Size trunks on the unsuppressed figure and treat any saving as margin.

What is cRTP and when can I use it?

Compressed RTP, defined in RFC 2508, replaces the 40-byte IP, UDP and RTP header with 2 bytes, or 4 when the UDP checksum is preserved. It works because almost every field is unchanged between consecutive packets of one stream. The constraint is that it operates hop by hop on a configured link, so it applies to a serial or point-to-point WAN circuit with both ends under your control, and not to a call traversing the public internet or several routed hops.

Do I need to add bandwidth for SIP signalling?

A small allowance is prudent, but signalling is negligible against the media once calls are up. SIP registration, INVITE exchanges and periodic keep-alives are a few kilobytes each and occur at call setup rather than continuously, so on a 30-call trunk they are well under a percent of the media bandwidth. What does deserve separate accounting is anything sharing the trunk that is not voice — T.38 fax, video calls and presence traffic each have their own profile.

Why do my calls break up when the link has spare capacity?

Almost always because of queueing rather than capacity. Voice needs its packets delivered with low jitter, and a single large data transfer can put several packets' worth of delay in front of every voice packet on a link that shows only 40% utilisation on a five-minute average. The fix is a strict-priority queue sized to the voice total from this calculator, not a bigger circuit. Check the packet rate too, since small-packet limits on firewalls and virtual routers produce the same symptom.

References