Codec selection and bandwidth planning
Verified 2026-09-24 · 51 sources · tier 1–2
Codec selection and packetization parameters directly dictate the per-call payload and network overhead on voice transport 1. Voice platforms across industry profiles apply different combinations of standardized codecs, packet headers, and bandwidth allocations 104528.
Standard Codecs and RTP Profiles
Under the RTP/AVP profile defined in RFC 3551, G.711 mu-law (PCMU) has static payload type 0, and G.711 A-law (PCMA) has static payload type 8, both using an 8000 Hz clock rate and 1 channel 10. The profile defines PCMU and PCMA as carrying 8 bits per sample after logarithmic scaling 9. ITU-T G.711, titled "Pulse code modulation (PCM) of voice frequencies", dates from 11/1988; Appendix I (09/1999) defines a packet loss concealment algorithm, and Appendix II (02/2000) specifies a comfort noise payload 15. RFC 3551 states that the default audio packetization interval SHOULD be 20 ms or 1 frame, whichever is longer 8. Comfort noise (CN) carries static RTP payload type 13 with an 8000 Hz clock rate in the RTP/AVP profile 7.
ITU-T G.722 is titled "7 kHz audio-coding within 64 kbit/s", with an in-force edition of 09/2012 and Amendment 1 of 10/2014 16. G.722 has static RTP payload type 9 in the RTP/AVP profile 11. While G.722 audio samples at 16,000 Hz, its RTP clock rate is 8,000 Hz because RFC 1890 assigned that value in error, and it is preserved for backward compatibility 12.
ITU-T G.729 is titled "Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)", with an in-force edition of 06/2012 17. G.729 carries static RTP payload type 18, operates at 8 kbit/s, and uses 10-octet frames for each 10 ms interval 14. A G.729 RTP packet may carry 0 or more G.729 frames followed by 0 or 1 G.729 Annex B silence-compression frame 13.
RFC 6716 defines the Opus audio codec, supporting bitrates from 6 kbit/s to 510 kbit/s 19. Opus encodes frame sizes of 2.5, 5, 10, 20, 40, or 60 ms and can bundle frames into packets reaching up to 120 ms 20. Opus includes 5 audio bandwidths corresponding to effective sample rates: narrowband (8 kHz), medium-band (12 kHz), wideband (16 kHz), super-wideband (24 kHz), and fullband (48 kHz) 18. It provides 3 operational modes: SILK-only for low-bitrate speech, Hybrid (SILK plus CELT) for medium-bitrate speech, and CELT-only for music and low-delay operations 27. The reference source code in Appendix A serves as the primary normative section of RFC 6716, and only the decoder portion is normative 21.
Under RFC 7874, WebRTC endpoints must implement both Opus (per RFC 7587) and G.711 PCMA/PCMU, and Opus decoders must support all Opus modes 36. RFC 7874 recommends offering Opus before PCMA/PCMU if an endpoint is capable of processing audio above 8 kHz 37. WebRTC endpoints must also support RFC 3389 comfort noise for G.711 and other codecs lacking integrated CN, while using RFC 3389 CN with Opus is NOT RECOMMENDED 35.
Bandwidth Calculation and Protocol Overhead
Cisco computes total packet size by summing the Layer 2 header, the IP/UDP/RTP header, and the voice payload 1. Packets per second (PPS) is calculated by dividing the codec bit rate by the voice payload size, and per-call bandwidth equals total packet size multiplied by PPS 1. In Cisco's calculation model, IP/UDP/RTP headers contribute 40 bytes (20 IP + 8 UDP + 12 RTP), standard Ethernet Layer 2 adds 18 bytes including FCS, and compressed RTP (cRTP) reduces the header to 2 or 4 bytes 5. Cisco notes that voice activity detection (VAD) can reduce bandwidth by up to 35 percent when averaged across more than 24 calls over time 6.
| Codec | Packetization / Payload | Ethernet Bandwidth |
|---|---|---|
| G.711 (64 kbps) | 20 ms (160 bytes, 50 PPS) 2 | 87.2 kbps per direction 2 |
| G.722 (64 kbps) | 20 ms (50 PPS) 3 | 87.2 kbps 3 |
| G.729 (8 kbps) | 20 ms (20 bytes, 50 PPS) 4 | 31.2 kbps per direction 4 |
Cloud Calling and Platform Implementations
Cisco Webex Calling positions Opus as its optimised codec for most client call flows, using G.711 as its universal codec 44. Analog telephone adapters (ATAs) and DECT phones on Webex Calling do not support Opus 40. Webex Calling uses G.711 for PSTN calls because most PSTN providers do not support Opus 46. Webex Calling mandates that every INVITE include G.711 so calls stay compatible across call flows, and it does not support calls that offer only G.729 4243. In terms of bandwidth planning, Cisco states that each codec uses 70-80 kbps per audio stream on Webex Calling, recommending an allocation of 100 kbps per audio stream and 200 kbps for an internal enterprise call involving 2 audio streams 3845. For QoS, Cisco's Webex Calling port reference marks Webex App audio with DSCP Expedited Forwarding (46), video with AF41 (34) and SIP signalling with CS0 (0) 41.
Webex Contact Center supports only G.711 u-law and G.711 A-law on its voice media path 48. Media entering Webex Contact Center using other codecs (including G.729, iLBC or Opus) must be transcoded before reaching Webex Contact Center media edge locations 49. WebRTC connections to Webex Contact Center require a minimum network bandwidth of 100 kbps per call 50.
Microsoft Teams defines audio bandwidth for both 1-to-1 calls and meetings as 10/10 kbps minimum, 58/58 kbps recommended, and 76/76 kbps for best performance (up/down per endpoint) 28. Teams prioritises audio quality over video quality when available bandwidth is insufficient 29. The Teams bandwidth figures apply per endpoint, meaning a single user joined on both a computer and a mobile device counts as 2 endpoints 30. Administrators can evaluate network requirements for Teams and cloud voice across physical locations via the Network Planner in the Teams admin center 33. For Direct Routing SBC interfaces, Teams supports SILK, G.711, G.722, G.729, and non-bypass AMR-WB 31. Microsoft recommends allocating at least 2 media ports per concurrent call on a Direct Routing SBC 32.
Zoom Phone uses Opus between Zoom endpoints, with Zoom putting its consumption at about 60-100 kbps per call as Opus adapts to available bandwidth 51.
See also
See also Webex Contact Center voice channel and PSTN options. See also QoS marking and queuing for voice. See also SD-WAN considerations for voice. See also Firewall ports and IP ranges for cloud calling. See also DNS SRV and service discovery for SIP. See also Network readiness assessment for cloud calling. See also Webex Edge Connect private cloud connectivity.
Applicability
Applies to: Cisco IOS voice, IETF RTP, Cisco Webex Calling, Microsoft Teams, ITU-T G.711, ITU-T G.722, ITU-T G.729, IETF Opus, IETF WebRTC, Cisco Webex Contact Center, Microsoft Teams Phone Direct Routing, and Zoom Phone. Deployments: on-premises, multi-tenant, and any. Sources checked 2026-09-24.
What remains uncertain
Specific payload sizes, packetization intervals, and per-call bandwidth consumption figures for Zoom Phone beyond the 60-100 kbps adaptive range are not covered by the sources below. Specific header compression behaviors on WAN links for Webex Calling and Microsoft Teams are not covered by the sources below.
See also
Constrained by
- Webex Contact Center voice channel and PSTN options — Inbound edge as recorded in the corpus: webex-cc-voice-channels is constrained-by this topic. Webex Contact Center accepts only G.711 u-law/A-law and requires any other codec to be transcoded before its media edge; so per-call bandwidth on that leg is the G.711 figure (see claims bandwidth-codec-planning-wxcc-g711-only and bandwidth-codec-planning-wxcc-fixed-bw-inference).
Referenced by
- Webex Contact Center voice channel and PSTN options — G.711 only with no transcoding fixes the bandwidth per call
- HD voice and wideband audio end to endstub — Queued 2026-10-14; Codec selection and bandwidth planning is the nearest existing coverage
Sources
- 1Cisco computes total packet size as Layer 2 header plus IP/UDP/RTP header plus voice payload, and packets per second as codec bit rate divided by voice payload size. Per-call bandwidth is total packet size times PPS.Modify Bandwidth Consumption Calculation for Voice Calls · Section 'Bandwidth Calculation Formulas' · Checked 2026-09-24
- 2Cisco lists G.711 (64 kbps) at 20 ms packetization (160-byte payload, 50 packets per second) as 87.2 kbps per call direction on Ethernet.Modify Bandwidth Consumption Calculation for Voice Calls · Table under 'Voice Codec Bandwidth Calculations', row G.711 (64 Kbps), column Bandwidth Ethernet · Checked 2026-09-24
- 3Cisco lists G.722 at 64 kbps (G.722_64k) with the same 20 ms packetization, 50 packets per second and 87.2 kbps Ethernet bandwidth as G.711.Modify Bandwidth Consumption Calculation for Voice Calls · Table under 'Voice Codec Bandwidth Calculations', row G.722_64k (64 Kbps) · Checked 2026-09-24
- 4Cisco lists G.729 (8 kbps) at 20 ms packetization (20-byte payload, 50 packets per second) as 31.2 kbps per call direction on Ethernet.Modify Bandwidth Consumption Calculation for Voice Calls · Table under 'Voice Codec Bandwidth Calculations', row G.729 (8 Kbps), column Bandwidth Ethernet · Checked 2026-09-24
- 5Cisco's voice bandwidth calculation uses 40 bytes of IP/UDP/RTP header (20 IP + 8 UDP + 12 RTP), 18 bytes of Ethernet Layer 2 header including FCS, and 2 or 4 bytes when compressed RTP (cRTP) is used.Modify Bandwidth Consumption Calculation for Voice Calls · Section 'Bandwidth Calculation Formulas' and notes under 'Voice Codec Bandwidth Calculations' · Checked 2026-09-24
- 6Cisco says voice activity detection (VAD) can save up to 35 percent of bandwidth, averaged over time across more than 24 calls.Modify Bandwidth Consumption Calculation for Voice Calls · Section on Voice Activity Detection · Checked 2026-09-24
- 7Comfort noise (CN) has static RTP payload type 13 with an 8000 Hz clock rate in the RTP/AVP profile.RTP Profile for Audio and Video Conferences with Minimal Control · Section 6, Table 4, row CN · Checked 2026-09-24
- 8RFC 3551 says the default audio packetization interval SHOULD be 20 ms or one frame, whichever is longer.RTP Profile for Audio and Video Conferences with Minimal Control · Section 4.2 (Guidelines for Sample-Based Audio Encodings) · Checked 2026-09-24
- 9The RTP/AVP profile describes PCMU and PCMA as carrying eight bits per sample after logarithmic scaling.RTP Profile for Audio and Video Conferences with Minimal Control · Section 4.5.14 (PCMA and PCMU) · Checked 2026-09-24
- 10In the RTP/AVP profile, G.711 mu-law (PCMU) has static payload type 0 and G.711 A-law (PCMA) has static payload type 8, both with an 8000 Hz clock rate and one channel.RTP Profile for Audio and Video Conferences with Minimal Control · Section 6, Table 4 (payload types for audio encodings), rows PCMU and PCMA · Checked 2026-09-24
- 11G.722 has static RTP payload type 9 in the RTP/AVP profile.RTP Profile for Audio and Video Conferences with Minimal Control · Section 6, Table 4, row G722 · Checked 2026-09-24
- 12G.722 audio is sampled at 16,000 Hz, but its RTP clock rate is 8,000 Hz. RFC 1890 assigned that value in error, and it is kept for backward compatibility.RTP Profile for Audio and Video Conferences with Minimal Control · Section 4.5.2 (G722) · Checked 2026-09-24
- 13A G.729 RTP packet may carry zero or more G.729 frames followed by zero or one G.729 Annex B (silence compression) frame.RTP Profile for Audio and Video Conferences with Minimal Control · Section 4.5.6 (G729) · Checked 2026-09-24
- 14G.729 has static RTP payload type 18. It runs at 8 kbit/s, and each 10 ms frame is 10 octets.RTP Profile for Audio and Video Conferences with Minimal Control · Section 4.5.6 (G729) and Section 6 Table 4 row G729 · Checked 2026-09-24
- 15ITU-T G.711 'Pulse code modulation (PCM) of voice frequencies' dates from 11/1988. Appendix I (09/1999) adds a packet loss concealment algorithm, and Appendix II (02/2000) defines a comfort noise payload.G.711: Pulse code modulation (PCM) of voice frequencies · Recommendation index page, entries G.711 (11/88), Appendix I (09/99), Appendix II (02/00) · Checked 2026-09-24
- 16ITU-T G.722 is titled '7 kHz audio-coding within 64 kbit/s', and its in-force edition is 09/2012, with Amendment 1 of 10/2014.G.722: 7 kHz audio-coding within 64 kbit/s · Recommendation index page, in-force entries G.722 (09/12) and G.722 (2012) Amd. 1 (10/14) · Checked 2026-09-24
- 17ITU-T G.729 is titled 'Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)', and its in-force edition is 06/2012.G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP) · Recommendation index page, in-force entry G.729 (06/12) · Checked 2026-09-24
- 18Opus defines five audio bandwidths: narrowband (8 kHz), medium-band (12 kHz), wideband (16 kHz), super-wideband (24 kHz) and fullband (48 kHz). The figures are effective sample rates.RFC 6716: Definition of the Opus Audio Codec · Section 2 (Opus Codec Overview), audio bandwidth table · Checked 2026-09-24
- 19Opus supports bitrates from 6 kbit/s to 510 kbit/s.RFC 6716: Definition of the Opus Audio Codec · Section 2.1.1 (Bitrate) · Checked 2026-09-24
- 20Opus encodes frames of 2.5, 5, 10, 20, 40 or 60 ms and can combine frames into packets of up to 120 ms.RFC 6716: Definition of the Opus Audio Codec · Section 2.1.4 (Frame Duration) · Checked 2026-09-24
- 21The primary normative part of RFC 6716 is the reference source code in Appendix A, and only its decoder portion is normative.RFC 6716: Definition of the Opus Audio Codec · Section 1 (Introduction) · Checked 2026-09-24
- 22If no ptime is signalled for Opus, the default packetization is 20 ms.RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec · Section 6.1, ptime parameter · Checked 2026-09-24
- 23RFC 7587 recommends Opus bitrates, at 20 ms frames, of 8-12 kbit/s for narrowband speech, 16-20 kbit/s for wideband speech and 28-40 kbit/s for fullband speech.RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec · Section 3.1.1 (Recommended Bitrate), bitrate table · Checked 2026-09-24
- 24The Opus RTP timestamp always runs on a 48000 Hz clock, whatever the Opus mode or the audio's actual sampling rate.RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec · Section 4.1 (RTP Header Usage) · Checked 2026-09-24
- 25The Opus media type defines receiver-side SDP parameters that affect bandwidth: maxaveragebitrate (maximum average receive bitrate in bit/s), maxplaybackrate, usedtx (default 0), cbr (default 0, meaning variable bitrate) and useinbandfec.RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec · Section 6.1 (Media Type Registration, optional parameters) · Checked 2026-09-24
- 26In SDP, Opus is signalled with the encoding name 'opus/48000/2' (48000 clock rate, 2 channels), even for mono streams.RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec · Section 7 (SDP Considerations) · Checked 2026-09-24
- 27Opus runs in three modes: SILK-only for low-bitrate speech, Hybrid (SILK plus CELT) for medium-bitrate speech, and CELT-only for music and low-delay use.RFC 6716: Definition of the Opus Audio Codec · Section 3.1 (The TOC Byte), configuration/mode description · Checked 2026-09-24
- 28Microsoft gives Teams audio bandwidth, for both one-to-one calls and meetings, as 10/10 kbps minimum, 58/58 kbps recommended and 76/76 kbps for best performance (up/down per endpoint).Prepare your organization's network for Microsoft Teams · Section 'Bandwidth requirements', Audio rows of the modality table · Checked 2026-09-24
- 29When bandwidth is insufficient, Teams prioritises audio quality over video quality.Prepare your organization's network for Microsoft Teams · Section 'Bandwidth requirements', first paragraph · Checked 2026-09-24
- 30The Teams minimum, recommended and best-performance bandwidth figures are per endpoint, so a user joined on both a computer and a mobile device counts as two endpoints.Prepare your organization's network for Microsoft Teams · Section 'Bandwidth requirements', paragraph after the table · Checked 2026-09-24
- 31Microsoft lists SILK, G.711, G.722, G.729 and AMR-WB (non-bypass only) as the codecs Direct Routing supports between Microsoft Teams and the SBC.Plan Direct Routing · Section 'Supported codecs' · Checked 2026-09-24
- 32Microsoft recommends allocating at least two media ports per concurrent call on a Direct Routing SBC.Plan Direct Routing · Section 'Media ports', tip · Checked 2026-09-24
- 33Microsoft points Teams administrators to the Network Planner in the Teams admin center, which calculates network requirements for Teams and cloud voice across physical locations.Prepare your organization's network for Microsoft Teams · Section 'Network optimization', table row 'Network planner' · Checked 2026-09-24
- 34Vendor planning figures are not directly comparable, because each source defines its unit differently: Webex Calling gives 100 kbps per audio stream, Zoom Phone 60-100 kbps per call, Teams 58-76 kbps up/down per endpoint, and Webex Contact Center WebRTC at least 100 kbps per call. None of these pages states the header overhead it includes.inferredPrepare your organization's network for Microsoft Teams · Section 'Bandwidth requirements', read against cisco-help-gm3pa0-wxc-audio-specs Bandwidth section, zoom-library-bandwidth-meetings-phone 'Zoom Phone' section and cisco-help-nhy3codb-wxcc-voice-channel 'Agents Connection' · Checked 2026-09-24
- 35WebRTC endpoints must support RFC 3389 comfort noise for G.711 and for other codecs without built-in CN. Using RFC 3389 CN with Opus is NOT RECOMMENDED.RFC 7874: WebRTC Audio Codec and Processing Requirements · Section 3 (Codec Requirements), comfort noise paragraph · Checked 2026-09-24
- 36WebRTC endpoints must implement Opus (per RFC 7587) and G.711 PCMA/PCMU, and Opus decoders must support all Opus modes.RFC 7874: WebRTC Audio Codec and Processing Requirements · Section 3 (Codec Requirements) · Checked 2026-09-24
- 37RFC 7874 recommends that endpoints able to process audio above 8 kHz offer Opus before PCMA/PCMU.RFC 7874: WebRTC Audio Codec and Processing Requirements · Section 3 (Codec Requirements) · Checked 2026-09-24
- 38Cisco's Webex Calling audio specification says each codec uses 70-80 kbps per audio stream.Audio specifications for Webex Calling · Bandwidth section · Checked 2026-09-24
- 39Webex Calling's 70-80 kbps per-stream figure probably reflects G.711 at 20 ms counted at the IP layer without Layer 2 overhead, which is 80 kbps by Cisco's header sizes. Planning at 100 kbps then leaves headroom for Layer 2, SRTP and tunnel overhead.inferredAudio specifications for Webex Calling · Bandwidth section, read against cisco-techdoc-7934-voice-bandwidth header sizes · Checked 2026-09-24
- 40On Webex Calling, analog telephone adapters (ATAs) and DECT phones do not support Opus.Audio specifications for Webex Calling · Opus section, unsupported devices note · Checked 2026-09-24
- 41Cisco's Webex Calling port reference marks Webex App audio with DSCP Expedited Forwarding (46), video with AF41 (34) and SIP signalling with CS0 (0).Port Reference Information for Webex Calling · QoS / Type of Service section · Checked 2026-09-24
- 42Webex Calling requires every INVITE to include G.711 so calls stay compatible across call flows.Audio specifications for Webex Calling · Codec requirements section · Checked 2026-09-24
- 43Webex Calling does not support calls that offer only G.729.Audio specifications for Webex Calling · Opening overview · Checked 2026-09-24
- 44Webex Calling uses Opus as its optimised codec for most client call flows, and G.711 is its universal codec.Audio specifications for Webex Calling · Opening overview and Opus section · Checked 2026-09-24
- 45For Webex Calling, Cisco recommends allowing 100 kbps per audio stream, and 200 kbps for an internal enterprise call, which needs two audio streams.Audio specifications for Webex Calling · Bandwidth section · Checked 2026-09-24
- 46Webex Calling uses G.711 for PSTN calls, because most PSTN providers do not support Opus.Audio specifications for Webex Calling · PSTN section · Checked 2026-09-24
- 47Because Webex Contact Center accepts only G.711 and does no transcoding itself, the per-call bandwidth on the leg into its media edge should be the G.711 figure: about 87.2 kbps per direction on Ethernet at 20 ms by Cisco's generic calculation. Codec choice cannot reduce it on that leg.inferredSet up voice channels for Webex Contact Center · Section 'PSTN Media and Signaling Requirements for Webex Contact Center', combined with cisco-techdoc-7934-voice-bandwidth G.711 table row · Checked 2026-09-24
- 48Webex Contact Center supports only G.711 u-law and G.711 A-law on its voice media path.Set up voice channels for Webex Contact Center · Section 'PSTN Media and Signaling Requirements for Webex Contact Center', supported codecs · Checked 2026-09-24
- 49Webex Contact Center requires any codec other than G.711 (such as G.729, iLBC or Opus) to be transcoded before it reaches Webex Contact Center media edge locations.Set up voice channels for Webex Contact Center · Section 'PSTN Media and Signaling Requirements for Webex Contact Center' · Checked 2026-09-24
- 50Webex Contact Center states that WebRTC needs a minimum of 100 kbps of network bandwidth per call.Set up voice channels for Webex Contact Center · Section 'Agents Connection' · Checked 2026-09-24
- 51Zoom Phone uses Opus between Zoom endpoints, and Zoom puts its consumption at about 60-100 kbps per call as Opus adapts to available bandwidth.Calculating Bandwidth Usage for Zoom Meetings and Phone · Section 'Zoom Phone', heading 'Zoom Phone calls use 60-100kbps of bandwidth' · Checked 2026-09-24
Documents
G.711: Pulse code modulation (PCM) of voice frequencies
G.722: 7 kHz audio-coding within 64 kbit/s
G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)
RFC 6716: Definition of the Opus Audio Codec
RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec
RFC 7874: WebRTC Audio Codec and Processing Requirements
RTP Profile for Audio and Video Conferences with Minimal Control
Audio specifications for Webex Calling
Calculating Bandwidth Usage for Zoom Meetings and Phone
Modify Bandwidth Consumption Calculation for Voice Calls
Plan Direct Routing
Port Reference Information for Webex Calling
Prepare your organization's network for Microsoft Teams
Set up voice channels for Webex Contact Center
Cite this page
APA
WarmTransfer. (2026, September 24). Codec selection and bandwidth planning. WarmTransfer. https://warmtransfer.net/knowledge/bandwidth-codec-planning
BibTeX
@misc{warmtransfer-bandwidth-codec-planning,
title = {Codec selection and bandwidth planning},
author = {{WarmTransfer}},
year = {2026},
url = {https://warmtransfer.net/knowledge/bandwidth-codec-planning},
note = {Verified 2026-09-24}
}