Audio Bitrate — VoIP Audio Metric
Actual audio codec bitrate in bps — tracks Opus dynamic adaptation under network pressure, revealing when VoIP quality is silently reduced to maintain the call.
Audio Bitrate
| Property | Value |
|---|---|
| Key | audio_bitrate_bps |
| Unit | bps |
| Type | Gauge |
| Direction | Send and Receive |
What It Measures
Audio Bitrate measures the actual codec bitrate being used by the audio encoder, reported in bits per second. For fixed-rate codecs like G.711 (PCMU/PCMA), this value is constant at approximately 64,000 bps. For variable-rate codecs like Opus, this value changes dynamically as the codec adapts to network conditions.
This is not the IP bandwidth consumed by the RTP stream (which includes headers and packetization overhead) — it is the raw encoder output rate. A 32 kbps Opus stream produces roughly 55–60 kbps of actual IP traffic at 20ms packetization.
Why It Matters
For Opus-encoded calls, audio bitrate is a real-time readout of how hard the codec is working to maintain quality under network pressure. Opus operates across a wide range — from 6 kbps (narrow voice, maximum compression) to 510 kbps (maximum quality). In practice, most SIP deployments configure Opus with a target between 16 kbps and 64 kbps, with the codec adjusting within that range based on loss feedback and bandwidth estimates.
When network conditions deteriorate, the Opus codec reduces its bitrate to stay within available bandwidth. This is adaptive behavior — the call stays alive at lower quality rather than dropping. But here is the problem: a bitrate reduction means reduced audio fidelity, and most VoIP monitoring tools never surface this. The call is "up" but quality has silently degraded.
Tracking audio bitrate alongside Packet Loss Rate and MOS Score gives you the full picture:
- High loss → codec reduces bitrate → bitrate drops → quality drops → MOS drops.
- All three metrics confirm the same event from different angles.
For load testing, audio bitrate trending downward as concurrent call count increases is a leading indicator of network saturation — the codec is adapting before the loss metrics become severe.
Thresholds
These thresholds apply to Opus-encoded streams. Fixed-rate codecs (G.711, G.722) will hold steady at their nominal bitrate.
| Level | Opus Bitrate | Meaning |
|---|---|---|
| Good | Above 24,000 bps | Full quality, no adaptation pressure |
| Warning | 12,000 – 24,000 bps | Quality reduction, investigate network conditions |
| Critical | Below 12,000 bps | Severe adaptation, speech intelligibility impacted |
How to Fix It
- Correlate with loss and jitter. Bitrate drops without corresponding loss increases suggest the codec is reacting to RTCP feedback about congestion before visible packet drops occur — you have an early warning.
- Set a minimum bitrate. Configure Opus with a minimum bitrate floor appropriate for your use case (e.g., 16 kbps for voice, 32 kbps for conference audio). This prevents quality from dropping below an acceptable floor while still allowing the call to continue.
- Apply QoS markings. DSCP EF markings protect RTP traffic from the congestion that triggers bitrate adaptation. Solve the network problem rather than letting the codec compensate for it.
- Compare send vs. receive. A send bitrate that is lower than configured means the local encoder is adapting. A receive bitrate lower than expected means the remote sender is under network pressure.
- Check RTCP bandwidth feedback. Opus bitrate adaptation relies on RTCP-based bandwidth estimation. Verify that RTCP is flowing correctly — see RTCP Report Interval.
Related Metrics
- Packet Loss Rate — Primary trigger for Opus bitrate adaptation
- MOS Score — Quality outcome of bitrate changes
- Opus Packet Loss % — Codec-level view of loss that drives adaptation
- RTCP Report Interval — RTCP carries the bandwidth feedback Opus uses to adapt