Sizing a voice queue: bandwidth per call and what to reserve
Sizing bandwidth for voice queues requires understanding both codec efficiency and protocol overhead. A single VoIP call consumes more than just the audio stream: you must account for RTP, UDP, IP headers, Layer 2 framing, and QoS reservation. This guide walks through the math so you can accurately reserve capacity for contact centers, call queues, and multi-site deployments.
Codec bandwidth: the audio payload
The codec you choose determines the base audio bitrate. Common VoIP codecs and their output rates are:
- →G.711 (mu-law or A-law): 64 kbps, wideband-capable, no compression, lowest latency
- →G.729A: 8 kbps, compressed, lower bandwidth but higher CPU cost
- →G.722 (wideband): 64 kbps, better audio quality than G.711, same bandwidth
- →Opus: 6 to 128 kbps, variable bitrate, excellent quality and compression
For most enterprise voice queues, G.711 remains the default. It offers predictable bandwidth, minimal processing delay, and universal interoperability. G.729A is common in bandwidth-constrained WAN links but requires licensing and adds codec complexity.
Protocol overhead and total bandwidth per call
Audio codec bitrate is only part of the picture. Each VoIP call carries RTP, UDP, and IP headers. The calculation is:
Total bandwidth per call = Codec bitrate + Protocol overhead Protocol overhead breakdown (per direction): - RTP header: 12 bytes fixed - UDP header: 8 bytes - IP header: 20 bytes (IPv4) or 40 bytes (IPv6) - Layer 2 frame: varies by technology (Ethernet, PPP, MPLS) Typical packet size: 20 ms voice samples Packets per second: 1000 ms divided by 20 ms = 50 packets/sec Example: G.711 with Ethernet - Codec: 64 kbps - RTP/UDP/IP headers: (12 + 8 + 20) bytes = 40 bytes - L2 overhead (Ethernet + CRC): 18 bytes - Total header per packet: 58 bytes - Payload per packet: 160 bytes (20 ms at 64 kbps) - Total packet size: 218 bytes - Packets per second: 50 - Overhead bitrate: (58 bytes * 50 * 8) = 23.2 kbps - Total per call: 64 + 23.2 = 87.2 kbps per direction
A bidirectional G.711 call therefore requires approximately 174 kbps of link capacity. With G.729A (8 kbps codec), the overhead remains roughly the same, so total consumption drops to around 31 kbps per call.
QoS reservation strategy for voice queues
Knowing per-call bandwidth is the first step. Next, you must reserve sufficient capacity on the WAN link to handle peak concurrent calls without jitter, packet loss, or dropped connections.
- →Calculate peak concurrent calls: review historical call center data or use vendor projections
- →Multiply by per-call bandwidth: 87 kbps (G.711) or 31 kbps (G.729A)
- →Add 10-15% headroom: for packet retransmission, signaling, and protocol overhead variance
- →Reserve as a dedicated QoS class: use DSCP EF (Expedited Forwarding, 46) or AF41 for voice
- →Monitor actual usage: compare reserved capacity to real call volume and adjust quarterly
Example: A contact center with 50 peak concurrent calls using G.711 requires: (50 calls * 87.2 kbps) + 15% = 5,014 kbps, or roughly 5 Mbps reserved on the WAN link.
Common sizing mistakes
- →Forgetting to account for both directions: a call uses bandwidth inbound AND outbound
- →Ignoring Layer 2 overhead: PPP, MPLS, or Ethernet framing adds 10-25 kbps per call
- →Underestimating peak concurrency: use the 95th percentile of historical call volume, not the average
- →Reserving too little headroom: 5-10% is insufficient; aim for 15-20% to handle bursts and retransmission
- →Mixing codecs without accounting for variance: if some calls use G.711 and others use G.729A, calculate a weighted average