Audio Codec Support
This section summarize audio codec support with and without (pass-through) transcoding selectable on the SBC Core.
Audio codec relay is supported in SIP-SIP, SIP-H.323 and H.323-H.323 interworking calls.
Audio Codecs Supported (Transcoding and Pass-Through)
The SBC Core supports the following narrowband (NB) and wideband (WB) audio codecs for transcoding and pass-through:
Audio Codecs Supported (Transcoding and Pass-Through)
(PSX) Codec Selections | NB / WB | Coding Rates (Kbps) | Packetization Periods (ms) |
---|
AMR-Bandwidth Efficient | NB | Variable - mix of 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.20, 12.20 | 20, 40, 60, 80 |
AMR-Octet Aligned | NB | Same for all AMR | 20, 40, 60, 80 |
AMR / AMR-WB with T.140 Note: Considered a separate codec when collecting statistics. | NB / WB | Same for all AMR / AMR-WB | NB: 20, 40, 60, 80 WB: 20, 40, 60, 80, 100 |
EFR | NB | | 20, 40, 60 |
EVRC | NB | Variable (8.55, 4.0, 0.8) | 20, 40, 60 |
EVRC0 | NB | Variable (171, 80, or 16 bit samples per 20 ms) | 20 |
EVRCB0 | NB | 4.8, 5.8, 6.2, 6.6, 7.0, 7.5, 8.5, 9.3 | 20 |
EVRCB | NB | 4.8, 5.8, 6.2, 6.6, 7.0, 7.5, 8.5, 9.3 | 20, 40, 60 |
EVS (only for NB and WB) | NB (5.9 - 24.4 Kbps) WB (5.9 - Kbps) Note: higher rates are supported only for pass-through calls.
Note: EVS is supported on hardware platforms 5110, 5210, 5400 and 7000. It is not supported on hardware platforms 5100 and 5200 | Transcoded NB : 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4 kbps WB : 5.9, 7.2, 8, 9.6, 13.2, 13.2 channel-aware 16.4, 24.4 kbps and 6.6 to 23.85 kbps (AMRWB-IO) Pass-thru NB - 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4 kbps WB - 5.9, 7.2, 8, 9.6, 13.2, 13.2 channel-aware, 16.4, 24.4, 32, 48, 64, 96, 128 kbps and 6.6 to 23.85 kbps (AMRWB-IO) | 20, 40, 60, 80, 100 |
G.711 | NB | 64 | 10, 20, 30, 40, 50, 60 |
G.711 with Silence Suppression | NB | 64 | 10, 20, 30, 40, 50, 60 |
G.722 | WB | 48, 56, 64 | 10, 20, 30, 40 |
G.722.1 | WB | 16, 24, 32 | 20, 40, 60, 80 |
G.722.2 (AMRWB-Bandwidth Efficient) | WB | 6.6, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05, or 23.85 | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-Octet Aligned) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.723.1 | NB | 5.3, 6.3 | 30, 60, 90, 120, 150 |
G.723.1A | NB | 5.3, 6.3 | 30, 60, 90, 120, 150 |
G.726 | NB | 32 | 10, 20, 30, 40 |
G.726 with Silence Suppression | NB | 32 | 10, 20, 30, 40 |
G.729A (compatible with G.729) | NB | 8 | 10, 20, 30, 40, 50, 60 |
G.729A+B | NB | 8 | 10, 20, 30, 40, 50, 60 |
iLBC, iLBC-SS | NB | 15.2 | 20, 40, 60 |
NB | 13.3 | 30, 60 |
Opus | NB and WB | - 6 to 20 (transcoded)
- 6 to 510 (pass-through)
| 10, 20, 30, 40, 50, 60 |
T.38 (version 0) | N/A | up to 14.4 |
|
T.38 (version 3) | N/A | up to 33.6 |
|
SILK | NB (8 Kbps) WB (16 Kbps) | 8, 12, 16, 24 | 20, 40, 60, 80, 100
|
NOTE:When collecting statistics, the following are considered separate codecs:
(PSX) Codec Selections | NB/WB | Coding Rates (Kbps) | Packetization Periods (ms) |
---|
AMR with T.140 (DSP-PAD) | NB | Same for all AMR | 20, 40, 60, 80 |
AMR-WB with T.140 (DSP PAD) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
Audio Codecs Supported (Pass-Through Only)
The SBC Core supports the following narrowband (NB) and wideband (WB) audio codecs for pass-through:
Audio Codecs Supported (Pass-Through Only)
(PSX) Codec Selections | NB / WB | Coding Rates (Kbps) | Packetization Periods (ms) |
---|
AMR-CRC | NB | Same for all AMR | 20, 40, 60 |
AMR-CRC Robust Sorting | NB | Same for all AMR | 20, 40, 60 |
AMR-CRC-Interleaving-Robust Sorting | NB | Same for all AMR | 20, 40, 60 |
AMR-Interleaving | NB | Same for all AMR | 20, 40, 60 |
AMR-Interleaving-Robust Sorting | NB | Same for all AMR | 20, 40, 60 |
AMR-Robust Sorting | NB | Same for all AMR | 20, 40, 60 |
Broadvoice | NB (16 Kbps) WB (32 Kbps) | 16, 32 | 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 |
Broadvoice with FEC | WB | 32 | 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 |
Dolby DVC-2/8000 | NB | 82 | 20 |
EVRC1 | NB | Variable (171, 80, or 16 bit samples per 20 ms) | 20, 40, 60 |
EVRC1 FR | NB | 8.55 | 20, 40, 60 |
EVRCB1 | NB | Variable (171, 80, 40, or 16 bit samples per 20 ms) | 20, 40, 60 |
EVRCB1 FR | NB | 8.55 | 20, 40, 60 |
EVS | SWB (9.6 - 128 Kbps) FB (16.4 - 128 Kbps) | 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, 128 | 20, 40, 60, 80, 100 |
G722 with Silence Suppression | WB | 48, 56, 64 | 10, 20, 30, 40 |
G.722.1-SS | WB | 16, 24, 32 | 20, 40, 60, 80 |
G.722.2 (AMRWB-CRC) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-CRC-Interleaving) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-CRC-Robust Sorting) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB- CRC-Interleaving-Robust_Sorting) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-Interleaving) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-Interleaving-Robust Sorting) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.722.2 (AMRWB-Robust Sorting) | WB | Same for all AMR-WB | 20, 40, 60, 80, 100 |
G.728 | NB | 16 | 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150 |
G.728 with Silence Suppression | NB | 16 | 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150 |
GSM (full rate) | NB | 13.2 | 20, 40, 60 |
iSAC HD codec (pass-through and direct media) | WB | 10 to 32 | 30, 60 |
L16 | NB | 128 | 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 |
MS-RTA | NB (8 Kbps) WB (16 Kbps) | 8, 16 | 20, 40, 60 |
SILK | MB (12 Kbps) SWB (24 Kbps) | 8, 12, 16, 24 | 20, 40, 60, 80, 100 |
Speex | NB (8 Kbps) WB (16 Kbps) SWB (24 Kbps) | 8, 16, 32 | 20, 40, 60 |
Speex with FEC | NB (8 Kbps) WB (16 Kbps) | 8, 16 | 20, 40, 60 |
The SBC selects codecs on a call-by-call basis, and negotiates codec use with destination gateway during initial call setup. The SBC also renegotiates the media during a call. The SBC defines configuration parameters such as audio codec, packet size, and TOS to apply to individual call legs.
For direct media connections, bandwidth and policing requirements do not apply. Audio streams must have different IP port numbers, but may have the same or different remote IP addresses. Audio streams for each call leg can be allocated on the same or different IP interface.
EVS Pass-through Support
The SBC supports use of the Enhanced Voice Services (EVS) codec in pass-through mode. Pass-through of the EVS codec from one call leg to another can occur when EVS is configured in both the ingress and egress PSPs, based on the outcome of SDP offer-answer procedures.
In pass-through mode, all EVS codec parameters in Primary mode as well as AMRWB-IO mode are relayed to the egress peer.
The SBC drops any unknown parameters received in the a=fmtp: line in the SDP offer or answer, as well as any known EVS codec parameters that have values other than the range defined in the TS 26.114 standard.
To enable support of EVS, you can configure codec entries that specify EVS as the codec type. The codec entry configuration allows the SBC to restrict certain parameters, like bit-rate, according to the operator's requirements. The configurable options for an EVS-based codec entry include:
- Packet size 20-100ms supported - default 20 ms
- Dynamic Preferred RTP Payload Type 0-127 supported - default 96
- Min Bit Rate - Supported rates are: 5.9, 7.2,8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, and 128, but must be less than or equal to Max Bit Rate - default 5.9
- Max Bit Rate - Supported rates are: 5.9, 7.2,8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, and 128, but must be greater than or equal to Min Bit Rate - default 128
The configured minimum and maximum for bit rate defines the range the SBC uses in its offer/answers during SDP negotiation.
- DTMF Relay - Supported values are: None (default), Out Of Band, Rfc2833, Either Oob Or Rfc2833, Both Oob And2833.
- DTMF Remove Digits - Supported values are Disable and Enable (default).
The configured Codec Entries are then incorporated in Packet Service Profiles (PSP) and assigned to enable EVS support.
Opus Codec Support
The SBC 5110, SBC 5210, SBC 5400, SBC 7000, and SBC SWe platforms support the Opus audio codec in accordance with RFC 6716 and draft-ietf-payload-rtp-opus-01 (refer to Supported Standards page). There are no licensing requirements for this codec.
Opus is an audio codec consisting of a combination of SILK (LPC) and CELT (Constrained-Energy Lapped Transform) codecs. At any time the LP layer, the MDCT (CELT) layer or both may be active. Opus is used for the following applications:
- VoIP and video conferencing
- Music/video streaming and storage
- Remote music jamming
- Wireless speakers/headphones/microphone
- Audio books
- Virtualization/sound servers
Supported Opus Features
The SBC platforms include the following Opus functionality:
- Input sampling rates of 8k Hz (NB) and 16k Hz (WB) are supported on the IDP interface (encoder input and decoder output)
- Opus-to-Opus pass-through calls
- Encoding output bandwidths of 8, 12, 16, 24 and 48 kHz
- 6 kbps to 510 kbps bit rates
- Opus transcoded calls
- Supports b of 8 and 16 kHz
- Max bit rate of 20 kbps
- Mono mode for both calls
- Stereo mode for Opus-to-Opus pass-through.
- Inband FEC mode
- DTX mode
- Single channel mode is supported
- Fax/Modem tone (FMTD) detection is not supported in Opus leg
- DTMF (Inband DTMF detection is not guaranteed)
On SBC SWe, Opus DTX is fully supported on both transmitter and receiver sides; however, packets are generated approximately every 200 milliseconds during DTX period.
UXPAD Operational Modes
As with other currently-supported compression codecs, the SBC supports Opus in UXPAD only. The following UXPAD operational modes are supported by the SBC:
Opus transcoding options can be configured using the following parameters:
Parameter | Behavior |
---|
Maxaveragebitrate | min (offer/answer of peer, route PSP, 20kbit/s) |
Useinbandfec | Inband FEC is used, if useinbandfec is set in the route PSP and if the peer requests it |
usedtx | DTX is used, if usedtx is set in the route PSP and if the peer requests it |
usecbr | Constant bit rate if either peer requests cbr=1 OR route is configured for cbr=1 |
For more information, refer to Codec Entry - CLI.
Codecs Supported with GPU Transcoding
ranscoding solution supports the following codecs:
- AMR-NB
- AMR-WB
- EVRC
- EVRCB
- G729
- G722
In addition, G.711 is supported for GPU instances, but only when G.711 is being transcoded to a non-G.711 codec. The coding rates and packetization times applicable for the supported codecs in the GPU use case are the same as those shown in the previous tables for the same codecs.