CallMeter Docs

Opus Bandwidth

Understand Opus codec bandwidth measurement — how CallMeter tracks the frequency bandwidth of Opus audio streams, thresholds, and what bandwidth changes reveal about audio richness.

Opus Bandwidth reports the frequency range that the Opus codec is currently encoding, measured in kHz. Opus dynamically selects from five bandwidth modes depending on the audio content, network conditions, and encoder configuration. Higher bandwidth means richer, more natural-sounding audio.

Think of it like the difference between a phone call and an FM radio broadcast. A narrowband call (4 kHz) sounds like a traditional telephone. A fullband stream (20 kHz) sounds like the person is in the room with you.

Opus only

This metric applies exclusively to Opus-encoded audio streams. Other codecs like G.711 or G.722 have fixed bandwidth and do not report this value.

How It Works

Opus supports five bandwidth modes:

ModeFrequencykHz ValueSound Quality
Narrowband0 - 4 kHz4Traditional telephone quality
Mediumband0 - 6 kHz6Improved clarity over narrowband
Wideband0 - 8 kHz8HD Voice quality
Super-wideband0 - 12 kHz12Near-broadcast quality
Fullband0 - 20 kHz20Full audio spectrum, studio quality

The Opus encoder dynamically selects the bandwidth based on available bitrate, audio content, and configuration constraints. CallMeter reports the current bandwidth selection each second, allowing you to track how the codec adapts over the duration of a call.

Why It Matters

Opus bandwidth directly determines perceived audio richness. Higher bandwidth captures more of the speaker's voice characteristics, environmental sounds, and tonal nuances. For enterprise communications, wideband or better audio is the standard expectation.

Bandwidth drops during a call are significant — they indicate the encoder is under pressure (usually from reduced available bitrate) and is sacrificing audio richness to maintain the connection.

Thresholds

LevelBandwidthInterpretation
Good12 kHz or higherSuper-wideband or fullband, excellent audio richness
Warning8 kHzWideband; acceptable but reduced compared to modern expectations
CriticalBelow 6 kHzNarrowband territory, noticeable quality reduction

Common Causes of Low Opus Bandwidth

CauseExplanation
Low bitrate allocationEncoder given insufficient bitrate to sustain high bandwidth
Network congestionBitrate reduced by congestion control, forcing bandwidth down
Encoder configurationMaximum bandwidth explicitly limited in codec settings
SDP negotiation constraintsRemote endpoint requesting narrower bandwidth in the offer/answer
Transcoding through SBCSession Border Controller re-encoding at lower quality settings

How to Fix It

  1. Check bitrate allocation — Opus needs approximately 16 kbps for wideband, 24 kbps for super-wideband, and 32+ kbps for fullband. Ensure the encoder has enough bitrate.
  2. Monitor bitrate over time — If bandwidth drops mid-call, check whether Send Bitrate drops at the same time, indicating congestion-driven adaptation.
  3. Review codec negotiation — Check SDP parameters for maxplaybackrate or bandwidth constraints that may limit the encoder.
  4. Test without intermediaries — If an SBC or transcoder sits in the path, test directly between endpoints to determine whether the intermediary is downgrading the audio.
  5. Verify Opus configuration — Ensure the encoder's bandwidth setting is not artificially restricted to narrowband or mediumband.
  • Audio Signal Level — Higher bandwidth captures more speech detail at any volume level
  • Opus Packet Loss % — Loss can trigger bandwidth reduction as the encoder adapts
  • MOS Score — Overall quality score influenced by codec bandwidth
  • Send Bitrate — Available bitrate directly constrains Opus bandwidth selection

RFC Reference

Opus bandwidth modes are defined in RFC 6716 (Definition of the Opus Audio Codec), Section 2. The five bandwidth levels correspond to internal modes of the SILK and CELT layers within the codec. Recommended configurations for VoIP usage are detailed in RFC 7587 (RTP Payload Format for the Opus Speech and Audio Codec).

On this page