Transcoding Resources

The computing resources used to transcode media come in one of three forms. When deploying an SBC image, only one of these transcoding resource types may be used per system.

The forms of transcoding resources are:
  • Hardware-based transcoding for physical SBC platforms
  • Software-based transcoding for vSBC platforms (Genuine Intel CPUs only)
  • Artesyn PCIe card-based transcoding for vSBC platforms.

See the Transcoding Support section in the Release Notes for a list of the codecs supported by each of the 3 resource types, and any limitations.

Hardware-based Transcoding Resources

Acme Packet hardware is provisioned with DSP resources that enable transcoding on the Oracle® Enterprise Session Border Controller. Transcoding capacity depends on the codecs in-use and the number of transcoding modules installed in the system. Capacity scales linearly with each additional transcoding module installed. The number of DSP modules that can be installed is platform-dependent.

  • Acme Packet 6300 and 6350: maximum of 48 DSP modules per system; 1 or 2 (24 DSP) TCUs may be installed in each system
  • Acme Packet 4600: maximum of 12 DSP modules
  • Acme Packet 3950/4900: maximum of 8 DSP modules
  • Acme Packet 3900: maximum of 5 DSP modules
  • Acme Packet 1100: maximum of 1 DSP module

Transcodable Codecs

Refer to the Release Notes' Transcoding Support topic for a list of the transcodable codecs in this release and which platforms they are supported on. The codec names listed in the table in the Release Notes reflect the default media profiles for their given names.

When creating an override media profile for a codec, the system ignores case sensitivity. Also, GSM = GSM-FR.

Transcodable Codec Details

The following table lists the supported codecs, bit rates, RTP payload type, default ptime, and supported ptimes. See the Release Notes for which transcoding platforms support specific codecs.

vSBCs support a subset of the codecs in the table below. Refer to your version's Release Notes to see which codecs are transcodable on vSBCs. In addition, the maximum supported ptime for the vSBC is 60 msec. The ptimes in the table below that are greater than 60 msec, for example for the G723, G729, AMR, AMR-WB, OPUS and SILK codecs, apply only to the ESBC when deployed over physical platforms.

Codec Supported Bit Rate (kbps) RTP Payload Type Default Ptime (ms) Supported Ptime (ms)
G.711 PCMU 64 0 20 10, 20, 30, 40, 50, 60
G.711 PCMA 64 8 20 10, 20, 30, 40, 50, 60
G.722 48, 56, 64 9 20 10, 20, 30, 40

For Acme Packet 1100, 3900 and virtual platforms, supported Ptimes include 20 and 40 only

G.723.1 5.3, 6.3 4 30 30, 60, 90
G.726 16, 24, 32, 40 2, 96-127 20 10, 20, 30, 40, 50
iLBC 13.33 96-127 30 20, 30, 40, 60
15.2 96-127 20 20, 30, 40, 60
G.729/A/B 8 18 20 10, 20, 30, 40, 50, 60, 70, 80, 90
AMR 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.2, 12.2 96-127 20 20, 40, 60, 80, 100
AMR-WB (G.722.2) 6.6, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05, 23.85 96-127 20 20, 40, 60, 80, 100
GSM FR 13 3 20 20
T.38 4.8, 9.6, 14.4 N/A   10, 20, 30
Opus 48 104 20 10, 20, 40, 60, 80, 100
EVRC 0.8, 4.0, 8.55 96-127 20 20, 40, 60
EVRC0 0.8, 4.0, 8.55 96-127 20 20
EVRC1 4.0, 8.55 96-127 20 20
EVRCB 0.8, 2.0, 4.0, 8.55 96-127 20 20
EVRCB0 0.8, 2.0, 4.0, 8.55 96-127 20 20
EVRCB1 4.0, 8.55 96-127 20 20
SILK 6.0 to 40 96-127 20 20, 40, 60, 80, 100
EVS Primary mode 5.9 to 128 96 - 127 20 20, 40 and 60
EVS AMR-WB IO mode 6.6 to 23.85 96 - 127 20 20, 40, and 60

Note:

If you set the value for the transcoding capacity as 0, then SBC considers the transcoding capacity as unlimited. But if you set the value greater than zero, Oracle® Enterprise Session Border Controller considers the transcoding capacity as maximum license capacity. This is applicable for all supporting transcoding codecs.

See the EVS Supported Options section for EVS information.

See theSILK Codec Transcoding Support section for SILK information.

T.38 FAX Support

The Oracle® Enterprise Session Border Controller (ESBC) supports T.38 FAX relay (Version 0) conversion to T.30 over G.711 and supports FAX modulation schemes up to 14400 kbps V.17. The ESBC does not support V.34 modulation, at this time.

Software-based transcoding

The Oracle® Enterprise Session Border Controller supports media transcoding on virtual platforms. Refer to the Transcoding Support section of the Release Notes for the list of codecs which may be transcoded with software-based transcoding resources.

Transcoding is the process of converting voice audio streams from one encoding format (codec) to another. In addition to conversion between codecs, the ESBC can also reframe compressed audio streams from one packet size to another (e.g. 10ms G.729 reframed to 30ms G.729) according to packetization times specified in session establishment. The ESBC may then convert between any supported codecs and frame size combination to another supported codec and frame size combination.

Software-based transcoding is configured identically to hardware-based transcoding, and is invoked when codec policies are configured but no transcoding hardware is recognized in the system. Software-based transcoding on virtual platforms is only supported on Intel CPU infrastructure.

Software-based transcoding alarms and traps

SNMP Traps

The apSysMgmtGroupTrap trap is sent with the MIB OID apSysXCodeG729Capacity to alert you of high G.729 Royalty codec usage. This MIB object is defined in ap-smgmt.mib. It is sent when utilization rises above 95% of licensed capacity. It is cleared when utilization falls below 80% of licensed capacity. The MIB object appears as:
apSysXCodeG729Capacity OBJECT-TYPE
        SYNTAX          SysMgmtPercentage
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION	
                "The percentage of licensed G729 transcoding utilization"
        ::= { apSysMgmtMIBGeneralObjects 35 }

Alarms

The G729 transcoding utilization alarm is triggered when utilization rises above 95% of licensed capacity. It is cleared when utilization falls below 80% of licensed capacity. The alarm appears as follows on the ACLI:
ID      Task      Severity      First Occurred          Last Occurred
131159  527739792       6       2011-10-11 10:11:49     2011-10-11 10:11:49
Count   Description
1       G729 Transcoding capacity at  97 (over threshold of 95)

Debugging log files

The log.media log file records host based transcoding events based upon logging level.

Adaptive Jitter Buffers for Transcoding Flows on vSBCs

The processing of transcoded flows on the ESBC uses an adaptive jitter buffer. This feature allows the transcoding function to adapt to changes in network conditions and packet jitter. But if necessary, the jitter buffer feature (on virtual SBC platforms only) can also be adjusted to better align to specific network conditions.

The feature establishes two operation modes for sessions that include transcoding, Low-Jitter and High-Jitter. All sessions start in Low-Jitter mode, and can transition to High-Jitter mode and back again based on network conditions. Each mode has a minimum and maximum buffer depth (measures in milliseconds) that drives jitter buffer operation.

During voice calls, the system transitions between low-jitter mode and high-jitter mode when it detects:

  • A short burst of very high-jitter packets (low-to-high level transition)
  • A longer trend of high-jitter packets (low-to-high level transition)
  • A very-long trend of low-jitter packets (high-to-low level transition)

The system avoids cases wherein packet loss occurs without any jitter, or cases wherein certain codecs use silence suppression and may not transmit packets over extended intervals.

Jitter Buffer Override Options

If necessary, you can override the Low-Jitter and High-Jitter minimum and maximum buffer depths. A larger/deeper jitter buffer can handle more jitter, but increases end-to-end latency of the call audio, which can result in noticeable conversational difficulty. Oracle recommends changing default jitter levels in conjunction with Oracle support.

The ESBC provides options configurations for changing default jitter buffer levels, which reside in the media-manager. Adaptive Jitter Buffer override settings include:

  • xcode-jitter-buffer-low-min—Default: 60 — Range: 60 to 120ms
  • xcode-jitter-buffer-low-max—Default: 120ms
  • xcode-jitter-buffer-high-min—Default: 60ms
  • xcode-jitter-buffer-high-max—Default: 180ms
  • xcode-jitter-buffer-adaptive—Default: enable. Enables or/disables the adaptive feature. If disabled, there is no adaptation of the jitter buffer, regardless of the values of the low/high/min/max settings.

These four settings set the min/max for both the low-level and high-level operation. An example of the syntax for these options is presented below.

ORACLE(media-manager)# options +xcode-jitter-buffer-low-min 75
ORACLE(media-manager)# options +xcode-jitter-buffer-high-min 100

If you type the option without the plus sign, you overwrite any previously configured options. To append new options to an element's options list, prepend the new option with a plus sign as shown in the example.

Note:

These options replace the older xcode-jitter-buffer-min and xcode-jitter-buffer-max options. Depending on your system's version, the ESBC supports either the new or older options.

Note:

Oracle recommends you remove any xcode-jitter-buffer-min and xcode-jitter-buffer-max options settings prior to upgrading from a version that does not support this feature to a version that does.

Reporting on Adaptive Jitter

The vSBC includes reporting fields for the counts and transitions associated with this feature at the bottom of the show xcode session-byid command. They are available for each transcoding session.

ORACLE show xcode session-byid
Channel 1:
HSP device = 0
Egress Interface = 0
FLOWID = 11
FLOWID-RTCP = 11
Src IP:Port = 192.168.0.193:10004
Dst IP:Port = 192.168.0.21:6000
Src RTCP IP:Port = 192.168.0.193:10005
Dst RTCP IP:Port = 192.168.0.21:6001
…

Adaptive Stats:
JitterState 2
JitterCurrent (ms) 8.5
JitterMaximum (ms) 10.4
JitterAverage (ms) 6.74
TotalHighMaxPkts 51
TotalHighMinPkts 425
TotalLowPkts 3
TotalHighLowDetects 0
TotalLowHighMaxDetects 0
TotalLowHighMinDetects 1
TotalHighLowResets 0
TotalLowHighResets 0

The "Adaptive Stats" are the applicable statistics, showing the current, maximum, and average calculated jitter for the specified transcoded voice session. The "Detects" counts track how many threshold transitions have occurred. Jitter buffer operation does not change until a jitter buffer reset occurs, which the system tracks as "Resets".

PCIe Transcoding Accelerator Cards

PCIe transcoding accelerator cards enable high-density media processing using the same DSP hardware as physical Acme Packet platform hardware-based transcoding. A PCIe transcoding accelerator card in conjunction with a vSBC provides functional parity with engineered SBC platforms.

  • PCIe transcoding accelerator cards work seamlessly with vSBCs, once initialized and recognized by the hypervisor. In this way there are no unique configuration or maintenance tasks to be aware of.
  • Provisioning any transcoding cores for software-based transcoding is incompatible with a PCIe card.
  • If the PCIe transcoding accelerator card fails after the SBC starts, an alarm is raised and the system is rebooted.
  • When vSBCs are configured in a redundant pair, both systems must have the same population of PCIe cards and installed DSPs.

Refer to the Release Notes document for all system prerequisites and limitation. Check My Oracle Support for the latest application notes on how to initialize PCIe cards on supported hypervisors.