DO NOT convert a codec entry from one type to another (e.g., AMR to G711). Each codec type includes many configuration options, which are not automatically reset when swapping between codecs. This can result in unexpected processing on the SBC and potential call failures. Thus, the best practice is to start with a new codec entry when a new codec is required.
In this section:
Audio codecs are associated with a Packet Service Profile. Some codecs are used in pass-through or direct media mode only (that is, special DSP treatments and transcoding are not applicable to the calls using these audio codecs).
All audio codecs used by video calls are also used only in pass-through or direct media mode. Audio codec relay is supported in SIP-SIP, H.323-H.323 as well as SIP-H.323 interworking calls.
For a list of supported audio codecs, see
page.Command Syntax
The syntax is categorized into different groups according to applicable codecs.
Group 1 Syntax
% set profiles media codecEntry <name> codec <codec type> activeCodecSet <AMR-value-kbps> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> fecRedundancy <0 | 1 | 2> initialCodecMode <disable | enable> modeChangeNeighbor <disable | enable> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128> silentSuppression <disable | enable>
Group 2 Syntax
% set profiles media codecEntry <name> codec <codec type> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> initialCodecMode <disable | enable> modeChangeNeighbor <disable | enable> modeSet <AMR-modeSet#> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128> silentSuppression <disable | enable>
Group 3 Syntax
% set profiles media codecEntry <name> codec <codec type> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128>
Group 4 Syntax
% set profiles media codecEntry <name> codec <codec type> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128> silenceSuppression <disable | enable>
Group 5 Syntax
% set profiles media codecEntry <name> codec g711 dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> honorToneDetection <disable | enable> toneTreatment <treatment_type> law <ALaw | ULaw | deriveFromOtherLeg> modem failureHandling <continue | disconnect> honorToneDetection <disable | enable> toneTreatment <treatment_type> packetSize <packetSize>
The above syntax applies to following codec:
- g711
Group 6 Syntax
% set profiles media codecEntry <name> codec g711ss dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> law <ALaw | ULaw | deriveFromOtherLeg> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> sendSid <disable | enable>
The above syntax applies to following codec:
- g711ss
Group 7 Syntax
% set profiles media codecEntry <name> codec <codec type> codingRate <codingRate> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128>
Group 8 Syntax
% set profiles media codecEntry <name> codec g728ss dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> preferredRtpPayloadType <0-128>
The above syntax applies to following codec:
- g728ss
Group 9 Syntax
% set profiles media codecEntry <name> codec opus dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> maxAverageBitRate (6000-510000 bits/sec) modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128> useCbr (0 | 1) useDtx (0 | 1) useFec (0 | 1)
The above syntax applies to following codec:
- opus
Group 10 Syntax
% set profiles media codecEntry <name> codec evs dtmf relay <relay_type> removeDigits <disable | enable> maxBitRate <5.9 | 7.2 | 8 | 9.6 | 13.2 | 16.4 | 24.4 | 32 | 48 | 64 | 96 | 128> minBitRate <5.9 | 7.2 | 8 | 9.6 | 13.2 | 16.4 | 24.4 | 32 | 48 | 64 | 96 | 128> packetSize <20 | 40 | 60 | 80 | 100> preferredRtpPayloadType <0-127>
The above syntax applies to the following codec:
- EVS
Group 11 Syntax
% set profiles media codecEntry <name> codec <silk8|silk12|silk16|silk24> dtmf relay <relay_type> removeDigits <disable | enable> fax failureHandling <continue | disconnect> toneTreatment <treatment_type> maxAverageBitRate <silk8:6000-20000|silk12:7000-25000|silk16:8000-36000|silk24:12000-40000> modem failureHandling <continue | disconnect> toneTreatment <treatment_type> packetSize <packetSize> preferredRtpPayloadType <0-128> silenceSuppression <disable | enable> useSilkDTX <0 | 1>
The above syntax applies to following codec:
- Silk
Group 12 Syntax
% set profiles media codecEntry <name> codec clearmode dtmf relay <relay_type> removeDigits <disable | enable> packetSize <packetSize> preferredRtpPayloadType <0-128>
The above syntax applies to following codec:
- clearmode
Command Parameters
The Codec Parameters are as shown below:
Parameter | Length/Range | Description |
---|---|---|
| N/A | Specifies the name of an entity consisting of a codec type along with the set of parameters to use with it. Select a default codec name or enter a custom name. Defaults are:
|
| N/A | Select a supported codec. (see for the codec list) |
activeCodecSet | N/A | The active code set is applicable to certain AMR narrow-band codecs. Multiple rates may be selected using comma (,). Valid values are:
|
| N/A | The audio coding rate. (see for details) |
| N/A | Use this parameter to describe how to handle DTMF digits in the media stream.
|
| N/A | The treatment taken when the fax tone is detected.
For G.711 calls, Notify Peer, Disconnect, Fax Relay, and Fax Relay or Fallback to G.711 require allocation of a compression resource. |
| 0-2 | Sets the level for Forward-Error-Correction (FEC) Redundancy [AMR only]. The default value of "0" means FEC redundancy is disabled. |
| N/A | Use this flag to determine the initial codec mode of an AMR/AMR-WB transcoded call once the call is established.
|
| N/A | Use this parameter to specify the G.711 law to use.
Do not use |
maxAverageBitRate | 6000-510000 | Maximum average bit rate in bits/second. Applies to the following codecs:
|
| 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, or 128 | Specifies the maximum bit rate for the EVS codec. Default is 128 Kbps. This value must be greater than or equal to minBitRate . |
| 5.9, 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, or 128 | Specifies the minimum bit rate for the EVS codec. Default is 5.9 Kbps. This value must be less than or equal to maxBitRate . |
maxInterleaveDepth | 0-7 | Use this parameter to specify the maximum interleave depth value to apply to an endpoint (default = 0). This parameter only applies to EVRC and EVRCB calls.
|
modeChangeNeighbor | N/A | Enable to force mode change to neighboring modes in active codec set as per RFC4867 (applies to AMR and AMRWB).
|
| N/A | Specifies the treatment taken when the modem tone is detected, which can be:
|
modeSet | N/A | The AMR mode set is applicable to certain AMR wide-band codecs. The possible values are:
|
| N/A | The packet size in milliseconds (ms). Options are based on the type of codec chosen. (See for details.) Possible completions:
|
| 0-128 | Specifies the preferred Real Time Protocol (RTP) payload type to be included in the RTP header of the data packet. Enter a value in the range 0-128. Default is 128. |
| N/A | Enable or disable for sending SIDs. |
silenceSuppression | N/A | Enable/disable Silence Suppression mode.
|
useCbr | 0, 1 | Use this flag to specify either Constant Bit Rate (CBR) or Variable Bit Rate (VBR) for OPUS codec (default = 0).
Configuring an Opus profile using a very low
maxAverageBitRate with useCbr set to "1 " may result in degraded voice quality. |
| 0, 1 | Set flag to "1" to use Discontinuous Transmission (DTX) For the OPUS codec (default = 0).
|
| 0, 1 | Set flag to "1" to use Forward Error Correction (FEC) for the OPUS codec (default = 0).
|
| 0, 1 | Set flag to "1" to use discontinuous transmission (DTX) for the Silk codec (default = 0). |
Command Examples
% show profiles media codecEntry G711-DEFAULT { codec g711; packetSize 10; preferredRtpPayloadType 128; fax { failureHandling continue; toneTreatment none; } modem { failureHandling continue; toneTreatment none; } law deriveFromOtherLeg; dtmf { relay none; removeDigits enable; } }
Perform the following commands to set up configuration for a transcoded call between G.711 ulaw and G.729.
% set profiles media codecEntry codec_in codec g711 law ULaw % set profiles media codecEntry codec_in packetSize 20 % commit % set profiles media packetServiceProfile profile_in % set profiles media packetServiceProfile profile_in codec codecEntry1 codec_in % set profiles media packetServiceProfile profile_in packetToPacketControl codecsAllowedForTranscoding thisLeg g711u % set profiles media packetServiceProfile profile_in packetToPacketControl codecsAllowedForTranscoding otherLeg g729 % commit % set profiles media codecEntry codec_out codec g729a % set profiles media codecEntry codec_out packetSize 20 % commit % set profiles media packetServiceProfile profile_out_1 % set profiles media packetServiceProfile profile_outcodec codecEntry1 codec_out % set profiles media packetServiceProfile profile_outpacketToPacketControl codecsAllowedForTranscoding thisLeg g729 % set profiles media packetServiceProfile profile_outpacketToPacketControl codecsAllowedForTranscoding otherLeg g711u
Perform the following commands to set up configuration to allow the SBC to treat clearmode
as any other pass-thru codec:
% set profiles media codecEntry <CLEARMODE> codec clearmode % set profiles media packetServiceProfile <DEFAULT> codec codecEntry<1 to 12> <CLEARMODE>
Assign the ingress profile to the ingress trunk group and the egress profile on the egress IP peer:
% set addressContext a1 zone INTERNAL sipTrunkGroup EAST_INT policy media packetServiceProfile profile_in % set addressContext a1 zone EXTERNAL ipPeer EAST_ext_peer policy packetServiceProfile profile_out % commit
Get statistics of ongoing calls by executing the following commands. The GCID (Global Call Identifier) for calls are listed.
% show table global callSummaryStatus
Provide GCID for the following command; output shows media type (pass-through or transcode):
% show table global callDetailStatus <GCID>
Output of the following command gives codec details:
% show table global callMediaStatus <GCID>
Output of the following command gives PxPad utilization:
% show table global callResourceDetailStatus <GCID>
Configure Opus codec:
% set profiles media codecEntry Opus_entry codec opus maxAverageBitRate 10000 useCbr 1 useDtx 1 useFec 0 % commit % show profiles media codecEntry Opus_entry codec opus; maxAverageBitRate 10000; useCbr 1; useFec 0; useDtx 1;
How to set the honorToneDetection
flag
in the fax
parameter.
% set profiles media codecEntry G711 codec g711 fax honorToneDetection enable commit
How to set the honorToneDetection
flag
in the modem
parameter.
% set profiles media codecEntry G711 codec g711 modem honorToneDetection enable commit
How to view the honorToneDetection
flag
in the fax
and modem
parameters.
% show profiles media codecEntry G711 codec g711; packetSize 10; fax { failureHandling continue; toneTreatment none; honorToneDetection enable; } modem { failureHandling continue; toneTreatment none; honorToneDetection enable; } law deriveFromOtherLeg; dtmf { relay none; removeDigits enable; } [ok][2018-06-13 10:49:36]