In this section:
The Packet Service Profile supports up to four audio encoding entries, or Codecs, using ERE. The SBC Core will negotiate a Codec from the list of Codecs allowed in the Packet Service Profile. One example of a negotiation scenario occurs when a call comes into the SBC from an H.323 peer. The SBC preferred coding may be G.711, while the H.323 gateway at the far end may prefer G.729A coding because that gateway has limited bandwidth to access the IP network.
In order to properly handle a call compression negotiation such as that described above, it is necessary to examine the codec list on both the local and remote gateway to find one or more codecs that are common to both. The precedence of the resultant codecs is controlled by the local precedence setting, or the precedence of the remote peer. This provisioning directive is provided by the honorRemotePrecedence
parameter.
Refer to Packet Service Profile Provisioning Examples for provisioning examples.
The PSX supports configuring up to 12 codecs in the Packet Service Profile and Preferred Packet Service Profile. The SBC supports receiving all 12 codecs from the PSX in the PSP and Preferred PSP. This applies to interworking with an external PSX (Advanced ERE deployment scenario). See Routing and Policy Management for deployment scenario details. Additionally, the SBC supports up to 12 codecs over Gateway links to SBCs and/or GSXs. An SBC-POL-RTU license is needed to enable more than four codecs.
Avoid using both the Silence Suppression (SS) and non-SS variant of the same CODEC in one Packet Service Profile (PSP) because doing so can lead to extra offer-anwer handshakes and trigger a race condition while the SBC attempts to identify a common codec instead of simply transcoding the call.
Example using G.729A on the ingress trunk group, and using G.729AB on the egress trunk group to avoid this situation:
The SBC Core supports audio transparency in relaying unknown attributes and a subset of known attributes, such as rtpmap
, fmtp
, and T38
fax
. The SBC also manages bandwidth for audio streams in pass-through calls. Audio transparency is controlled by the following PSP and Trunk Group parameters/flags.
Packet Service Profile:
Enable transcoderFreeTransparency
for the session (enable on either of the PSPs)
Configure audioTransparency
settings
Enable/disable reserveBwForPreferredAudioCommonCodec
SIP Trunk Group:
Enable sdpAttributesSelectiveRelay
on both ingress and egress Trunk Groups that receive the relayed SDP
Refer to SBC SIP Transparency Implementation Guide for transparency implementation details.
The Transparency Profile is the recommended method of configuring transparency on the SBC Core for new deployments as well as when applying additional transparency configurations to existing deployments. Do not use IP Signaling Profile flags in these scenarios because the flags will be retired in upcoming releases.
Refer to the SBC SIP Transparency Implementation Guide for additional information.
Both the SBC ERE and PSX support the following HD codec prioritization granular controls using Packet Service Profile. ERE functionality is described in this section. The following SBC flags are configurable in the Packet Service Profile configuration to support this feature.
% set profiles media packetServiceProfile <unique_profile_name> aal1PayloadSize <0-999> audioTransparency <unknownCodecBitRate | unknownCodecPacketSize> codec <codecEntry1-codecEntry12> <codec> dataCalls initialPlayoutBufferDelay <5-50> packetSize <10 | 20 | 30 | 40> preferredRtpDataPayloadType <0-127> dtls dtlsCryptoSuiteProfile <profile name> dtlsFlags allowDtlsFallback <disable | enable> dtlsSctpRelay <disable | enable> dtlsSrtpRelay <disable | enable> enableDtlsSrtp <disable | enable> flags honorRemotePrecedence <disable | enable> mediaPacketCos <0-7> packetToPacketControl peerAbsenceAction <none | peerAbsenceTrap | peerAbsenceTrapAndDisconnect> preferredRtpPayloadTypeForDtmfRelay <0-128> qosValues dtlsSctpDscp <0-255> msrpDscp <0-255> rtcpOptions secureRtpRtcp cryptoSuiteProfile <profile_name> flags allowFallback <disable | enable> allowPassthru <disable | enable> enableSrtp <disable | enable> resetEncDecROCOnDecKeyChange <disable | enable> resetROCOnKeyChange <disable | enable> updateCryptoKeysOnModify <disable | enable> sendRoutePSPPrecedence <disable | enable> silenceFactor <0-50> silenceInsertionDescriptor g711SidRtpPayloadType <0-127> heartbeat <disable | enable> t38 dataRateManagementType <type1LocalGenerationOfTcf | type2TransferOfTcf> ecm ecmPreferred <disable | enable> lowSpeedNumberOfRedundantPackets <0 | 1 | 2> maxBitRate <2.4Kbits_s | 4.8Kbits_s | 9.6Kbits_s | 14.4Kbits_s> numberOfRedundantPackets <0 | 1 | 2> protocolVersion <0 | 3> typeOfService <0-255> videoCalls audioOnlyIfVideoIsPrevented <disable | enable> codecListProfile <name> ieee8021QVLanCos <0-7> ipv4Tos <0-255> ipv6TrafficClass <0-255> maxVideoBandwith <0-50000 kbps> videoBandwidthReductionFactor <0-100> voiceInitialPlayoutBufferDelay <1-200 ms>
The Packet Service Profile parameters are described below:
% set profiles media packetServiceProfile <unique_profile_name> codec <codecEntry1-codecEntry12> <codec name>
SBC-POL-RTU license is needed to enable more than four codecs.
% set profiles media packetServiceProfile <unique_profile_name> flags HDCodecPreferred <disable | enable> MatchOfferedCodecGroupIfNbOnly <disable | enable> digitDetectSendEnabled <disable | enable> disallowDataCalls <disable | enable> dscpPassthrough <disable | enable> forceRoutePSPOrder <disable | enable> interworkDtmfWithoutTranscoding <disable | enable> preferNBPassthruOverHDTranscode <disable | enable> reserveBwForPreferredAudioCommonCodec <disable | enable> ssrcRandomize <disable | enable> t140Call <disable | enable> useDirectMedia <disable | enable> validatePeerSupportForDtmfEvents <disable | enable>
Use the following table for guidance in setting the Digit Detect Send Enabled flag on each PSP leg to achieve the desired Key Press Markup Language (KPML) functionality. Refer to KPML DTMF Support section on the page DTMF and RTP Relay for feature details.
% set profiles media packetServiceProfile <unique_profile_name> packetToPacketControl codecsAllowedForTranscoding otherLeg <amr | efr | evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | opus | t38> thisLeg <amr | efr | evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | opus | t38> conditionsInAdditionToNoCommonCodec applyFaxToneTreatment <disable | enable> different2833PayloadType <disable | enable> differentDtmfRelay <disable | enable> differentPacketSize <disable | enable> differentSilenceSuppression <disable | enable> honorAnswerPreference <disable | enable> honorOfferPreference <disable | enable> transcode <conditional | determinedByPspForOtherLeg | only | transcoderFreeTransparency>
Parameter | Description |
---|---|
codecsAllowedForTranscoding | Use this parameter to specify codecs allowed for transcoding, and which leg to apply them to.
Codec list: amr | efr | evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | opus | t38
|
conditionsInAdditionToNoCommonCodec | The SBCperforms transcoding when any of the specified conditions are met, including no common codec on ingress and egress legs.
|
transcode | Transcode options:
NOTE: If using Transcoder Free Transparency option " NOTE: Transcoder Free Transparency takes precedence over Packet Service Profile flags when enabled on either the ingress trunk group or egress trunk group PSP leg allowing the SBC to bypass transcoding and codec policies that result in removing/deleting codecs. |
NOTE: The SBC, when configured with the appropriate codecs, transcodes for differences in the codecs. Use ‘transcode conditional
’ option to allow the SBC to transcode for certain conditions in addition to differences in codecs. For example, if the codecs are the same on both legs and this option is selected, by applying additional settings for the particular call scenarios, the SBC will trigger transcoding for those scenarios, such as:
HOP Flag State | HAP Flag State | SBC Behavior |
---|---|---|
enable | disable | The SBC selects a codec order of precedence in the offered SDP, irrespective of whether it is a pass-through or transcoded codec (if transcoding is defined for that codec). The SBC as part of media lock-down may send a re-INVITE to egress peer. Note that the preference on the answer side is given to a pass-through codec. |
enable | enable | The SBC gives preference to HAP over HOP in case of conflict. The Honor Remote Preference (HRP) flag on the answer leg decides the preference order. Based on that preference list, the SBC selects a codec with highest preference from answer SDP that can be used even if it requires transcoding. Note that this may cause the selection of a codec on the other side leg not to be honored. This happens in case of a pass-through call. |
disable | enable | The SBC gives preference to answer codec order that is created based on HRP flag. The most preferred codec is chosen as received in the answer SDP, irrespective of whether it is a pass-through or a transcoded codec (if transcoding is defined for that codec). |
% set profiles media packetServiceProfile <unique_profile_name> rtcpOptions rtcp <disable | enable> enableRTCPForHeldCalls <disable | enable> packetLossAction <none | packetLossTrap | packetLossTrapAndDisconnect> packetLossThreshold <0, 400-32767> rrBandwidth <100-4000> rsBandwidth <100-3000> rtcpMux <disable | enable> terminationForPassThrough <disable | enable>
The SBC calculates the packet loss rate as (number of packets lost
/number of packets expected
) x 100
.
For every incoming call leg:
Packet Loss Threshold
.To configure RTCP options:
% set profiles media packetServiceProfile PSP-1 rtcpOptions rtcp enable % set profiles media packetServiceProfile PSP-1 rtcpOptions packetLossAction packetLossTrap % set profiles media packetServiceProfile PSP-1 rtcpOptions packetLossThreshold 10000 % commit % show profiles media packetServiceProfile PSP-1 rtcpOptions { rtcp enable; packetLossThreshold 10000; packetLossAction packetLossTrap; }
To configure PSP to transcoderFreeTransparency
on both legs:
% set profiles media packetServiceProfile PSP_INT packetToPacketControl transcode transcoderFreeTransparency % set profiles media packetServiceProfile PSP_EXT packetToPacketControl transcode transcoderFreeTransparency
To configure audioTransparecy feature on both legs:
% set profiles media packetServiceProfile PSP_INT audioTransparency unknownCodecBitRate 124 % set profiles media packetServiceProfile PSP_EXT audioTransparency unknownCodecBitRate 124 % set profiles media packetServiceProfile PSP_INT audioTransparency unknownCodecPacketSize 10 % set profiles media packetServiceProfile PSP_EXT audioTransparency unknownCodecPacketSize 10 % set profiles media packetServiceProfile PSP_INT flags reserveBwForPreferredAudioCommonCodec enable % set profiles media packetServiceProfile PSP_EXT flags reserveBwForPreferredAudioCommonCodec enable
To allow secure RTP plus relaying of SRTP audio and video streams and SCTP packet streams, and then to set the DSCP value in the Differentiated Services Field of the IP header for DTLS/SCTP packets that egress the SBC.
% set profiles media packetServiceProfile DEFAULT dtls dtlsFlags enableDtlsSrtp enable dtlsSrtpRelay enable dtlsSctpRelay enable % set profiles media packetServiceProfile DEFAULT qosValues dtlsSctpDscp 100 % commit % exit > show table profiles media packetServiceProfile DEFAULT dtls dtlsFlags { allowDtlsFallback enable; enableDtlsSrtp enable; dtlsSrtpRelay enable; dtlsSctpRelay enable; } > show table profiles media packetServiceProfile DEFAULT qosValues msrpDscp 100; dtlsSctpDscp 100;