EVS Codec Transcoding Support

Enhanced Voice Services (EVS) is a super-wideband speech audio codec developed by 3GPP and documented in TS 26.441. EVS supports source-controlled variable bit rate, sampling rates of 8, 16, 32, or 48 kHz, dynamic payload type, and an interoperability mode for AMR-WB. The Oracle Communications Session Border Controller (OCSBC) supports typical transcoding features. EVS can also analyze traffic signaling, allowing it to change to the correct core EVS codec when necessary. These changes can occur at every 20ms frame boundary. The OCSBC also supports transcoding EVS to and from all supported transcodable codecs unless the EVS mode is using super-wideband or fullband EVS bandwidths.

EVS codec feature support includes:

  • transrating
  • transcoding
  • pooled transcoding
  • RTCP generation
  • AMR-WB interoperability and payload-type mapping

Bitrate support per bandwidth includes:

  • Narrowband (NB) — 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4
  • Wideband (WB) — 5.9, 7.2, 8, 9.6, 13.2, 13.2 channel-aware, 16.4, 24.4, 32, 48, 64, 96, 128 (6.6 ~ 23.85 for AMR-WB IO)
  • Super-wideband (SWB) — 9.6, 13.2, 13.2 channel-aware, 16.4, 24.4, 32, 48, 64, 96, 128
  • Fullband (FB) — 16.4, 24.4, 32, 48, 64, 96, 128

EVS data is always octet-aligned in both Primary and AMR-WB interoperability mode.

Enabling the EVS Codec Feature

The OCSBC supports up to the full density for this codec in bins of 25. You enable EVS in groups of 25 with the setup entitlements command.

ORACLE# show entitlements
Provisioned Entitlements:
-------------------------
Session Border Controller Base    : enabled
Session Capacity                  : 16000
  Accounting                      : enabled
  IPv4 - IPv6 Interworking        : enabled
  IWF (SIP-H323)                  : enabled
  Load Balancing                  : enabled
  Policy Server                   : enabled
  Quality of Service              : enabled
  Routing                         : enabled
  SIPREC Session Recording        : enabled
Admin Security                    : enabled
ANSSI R226 Compliance             :
IMS-AKA Endpoints                 : 0
IPSec Trunking Sessions           : 0
MSRP B2BUA Sessions               : 0
SRTP Sessions                     : 0
Transcode Codec EVS               : enabled
Transcode Codec EVS Capacity      : 25
TSCF Tunnels                      : 0

Keyed (Licensed) Entitlements
-----------------------------
LI
Transcode Codec AMR (25 AMR transcoding sessions)
Transcode Codec EVRC (25 EVRC transcoding sessions)
Transcode Codec Opus (25 OPUS transcoding sessions)
Transcode Codec SILK (25 SILK transcoding sessions)
ORACLE#

Interoperation with AMR-WB

EVS' AMR-WB interoperable (IO) mode provides backwards compatibility with endpoints that support AMR-WB, but don't support EVS. Based on user configuration and SDP offers, AMR-WB IO mode allows the OCSBC to deliver media between such endpoints without using trancoding resources.

EVS Supported Options

There are no required SDP Parameters for EVS. Some EVS parameters may have values that the OCSBC's DSP does not support. Supported values must be verified before the OCSBC makes transcoding decisions. if any of these parameter checks fail, the OCSBC marks the codec as non-transcodable

Unless noted otherwise, see 3GPP TS 26.445 and related specifications for complete parameter documentation. Optional SDP parameters include:
  • ptime—The length of time in milliseconds represented by the media in a packet. See RFC 4566 for more details.

    For both EVS Primary mode and EVS AMR-WB IO mode, the supported ptimes are 20, 40, and 60 ms.

  • maxptime—The maximum amount of media that can be encapsulated in each packet, expressed as time in milliseconds. See RFC 4566 for more details.

    For both EVS Primary mode and EVS AMR-WB IO mode, the supported maxptimes are 20, 40, and 60 ms.

  • evs-mode-switch—Specifies whether to support mode switching between Primary and EVS AMR-WB IO modes. The default of 0 specifies the use of primary mode.
  • hf-only—Specifies whether to limit the session to header-full format. The default of 0 allows both compact and header-full format in both directions.
  • dtx—Specifies whether or not to support discontinuous transmission. The default of 1 specifies that DTX is enabled.
  • dtx-recv—Sets a further condition on whether or not to support discontinuous transmission in conjunction with the dtx parameter. The default of 1 enables dtx, dependent on the dtx setting.
  • max-red—Specifies the maximum number of milliseconds allowed between the first transmission of a frame and a redundant transmission. See RFC 4867 for more details.
  • channels—Specifies the number of audio channels, with a default of 1. The OCSBC supports only 1 channel for transcoding.
  • cmr—Specifies whether codec mode request (CMR) is supported for the session. The default of 0 enables all CMR values.

The following parameters apply only to EVS Primary mode:

  • br—Specifies, in kilobits per second, the range of source codec bit-rate for EVS Primary mode in the session for both send and receive directions.

    Source codec bit-rates for the EVS codec

    Source codec bit-rate (kbit/s) Audio bandwidths supported Source Controlled Operation Available

    5.9 (SC-VBR)

    NB, WB

    Yes (Always On)

    7.2

    NB, WB

    Yes

    8.0

    NB, WB

    Yes

    9.6

    NB, WB, SWB

    Yes

    13.2

    NB, WB, SWB

    Yes

    13.2 (channel aware)

    WB, SWB

    Yes

    16.4

    NB, WB, SWB, FB

    Yes

    24.4

    NB, WB, SWB, FB

    Yes

    32

    WB, SWB, FB

    Yes

    48

    WB, SWB, FB

    Yes

    64

    WB, SWB, FB

    Yes

    96

    WB, SWB, FB

    Yes

    128

    WB, SWB, FB

    Yes

    If the given br value conflicts with the given bw value, the OCSBC DSP marks the codec as non-transcodable.

  • br-send—Specifies, in kilobits per second, the range of source codec bit-rate for EVS Primary mode in the session for the send direction.

    If the given br-send value conflicts with the given bw value, the OCSBC DSP marks the codec as non-transcodable.

  • br-recv—Specifies, in kilobits per second, the range of source codec bit-rate for EVS Primary mode in the session for the receive direction.

    The OCSBC's mbcd/xserv independently decode whatever bit rate is received, so it is not necessary for the DSP to include br-recv when checking if the codec is transcodable

  • bw—Specifies the audio bandwidth for EVS Primary mode to be used in the session for the send and the receive directions.

    For transcoding, the OCSBC DSP only supports nb, wb, and nb-wb.

  • bw-send—Specifies the bandwidth to be used in the session for the send direction.

    For transcoding, the OCSBC DSP only supports nb, wb, and nb-wb.

  • bw-recv—Specifies the bandwidth to be used in the session for the receive direction.

    For transcoding, the OCSBC DSP only supports nb, wb, and nb-wb.

  • ch-send—Specifies the number of audio channels for the send direction. The default is 1.
  • ch-recv—Specifies the number of audio channels for the receive direction. The default is 1.
  • ch-aw-recv—Enumerated setting for channel-aware mode. The default of 0 specifies that partial redundancy mode is not used for the receive direction at the start of the session.

The following parameters apply only to EVS AMR-WB IO mode. Optional parameters of AMR-WB not defined below may not be used in the EVS AMR-WB IO mode.

  • mode-set—Restricts the active codec mode set to a subset of all modes when the EVS codec operates in AMR-WB IO.

    Source codec bit-rates for the AMR-WB Interoperable Modes of the EVS codec

    Mode Indicator Source codec bit-rate (kbit/s)

    0

    6.6

    1

    8.85

    2

    12.65

    3

    14.25

    4

    15.85

    5

    18.25

    6

    19.85

    7

    23.05

    8

    23.85

    Note:

    The OCSBC supports only mode-sets 0-7 for both AMR and AMR-WB.
  • mode-change-period—Specifies a number of frame-blocks, N (1 or 2). This is the frame-block period at which codec mode changes are allowed for the sender. See RFC 4867 for more details.
  • mode-change-capability—Specifies if the client is capable of transmitting with a restricted mode change period. See RFC 4867. The default, and only allowed value is 2 in EVS AMR-WB IO.
  • mode-change-neighbor—Permissible values are 0 and 1. If 1, the sender SHOULD only perform mode changes to the neighboring modes in the active codec mode set. See RFC 4867 for more details.

Default EVS Media Profile

By default, the OCSBC uses the following parameters for EVS, referenced in the configuration as EVS.

media-profile
        name                                    EVS
        subname                                 
        media-type                              audio
        payload-type                            
        transport                               RTP/AVP
        clock-rate                              16000
        req-bandwidth                           0
        frames-per-packet                       0
        parameters                              
        average-rate-limit                      6000
        peak-rate-limit                         0
        max-burst-size                          0
        sdp-rate-limit-headroom                 0
        sdp-bandwidth                           disabled
        police-rate                             0
        standard-pkt-rate                       0
        as-bandwidth                            0                    

CLI Commands

CLI command changes made to support EVS include:

  • The show sipd codecs command includes EVS Count.
  • The show sipd transcode command includes EVS.
  • The show xcode codecs command includes EVS-AMR-WB sessions.

SNMP

This section presents SNMP OID detail the OCSBC uses to support EVS.

ap-codec.mib

Object Name/OID Description
apCodecRealmCountEVS

1.3.6.1.4.1.9148.3.7.1.1.1.33

The count of SDP media streams received in the realm that negotiated to the EVS codec.

The EVS realm statistic apCodecRealmCountEVS is available in the apCodecRealmStatsEntry.

ap-smgmt.mib

Object Name/OID Description
apSysXCodeEVSCapacity

1.3.6.1.4.1.9148.3.2.1.1.49

The percentage of licensed EVS transcoding utilization (non pollable).
apSysMgmtXCodeEVSUtilGroup

1.3.6.1.4.1.9148.3.2.4.2.35

Object to monitor licensed EVS transcoding utilization.

New Traps—The new SNMP OID apSysXCodeEVSCapacity is added to transcoding utilization statistics, as reported in the apSysMgmtGroupTrap. When utilization falls below 80%, the system sends the apSysMgmtGroupClearTrap.

Trap Name (and Clear Trap Name) Description
apSysMgmtCPULoadAvgTrap

(apSysMgmtCPULoadAvgClearTrap)

The system generates the trap when the CPU Load Average Alarm exceeds its minor alarm threshold. The system sends the clear trap when the CPU load average recedes to the minor alarm level.

Capability MIB IODs

Object Name/OID MIB file
apSmgmtXCodeEVSUtilCap

1.3.6.1.4.1.9148.2.1.8.59

ap-smgmt.mib
apCodecRealmCodecCap9

1.3.6.1.4.1.9148.2.1.13.11

ap-codec.mib

Alarms

The Licensed EVS Transcoding Capacity Threshold Alarm is a warning triggered when the EVS transcoding utilization exceeds 95% of licensed capacity. This alarm does not affect the system's health score. The system clears this alarm when the EVS transcoding utilization falls below 80% of licensed capacity.

RADIUS

The Acme-FlowType_FS{1,2}_{F,R} AVPs reflect the use of the EVS codec.