Overview

The Packet Service Profile supports up to four audio encoding/decoding entries, or Codecs, using the 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.


Note

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.

Note

An SBC-POL-RTU license is needed to enable more than four codecs.

Note

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:

  • Ingress PSP: 711, 729A
  • Egress PSP: 711, 729AB
  • Transcode : Conditional
  • Conditions In Addition To No Common Codec : Different Silence Suppression,
  • Ingress This Leg: 711, 729
  • Egress This Leg: 711, 729

Audio Transparency

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:

Refer to SBC SIP Transparency Implementation Guide for transparency implementation details.


IMPORTANT

Ribbon recommends using the Transparency Profile to configure transparency on the SBC Core for new deployments, as well as 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.

Granular Control of HD Codecs in Offers or Answers

Both the SBC ERE and PSX provide control over HD codec prioritization through Packet Service Profile options. ERE functionality is described in this section.

  • Prioritization of an HD codec over a non-HD codec in the offer when the peer supports both HD and NB codecs, even if transcoding is required
  • Prioritization of a HD codec over a non-HD codec in the answer
  • Support of a narrowband (NB) codec list only toward a peer supporting HD and NB codecs, for backward compatibility

The following SBC flags are configurable in the Packet Service Profile to control HD codec prioritization: 

  • HDCodec Preferred
  • Prefer NBPassthru Over HDTranscode
  • Match Offered Codec Group If Nb Only
  • Force Route PSPOrder

Packet Service Profile

Command Syntax

% 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 
	g711T140BaudotAdapt <disable | enable>
    honorRemotePrecedence <disable | enable> 
	mediaPacketCos <0-7> 
	nonRtpStream
		maxNonRtpBandwidth <0-8000>
        nonRtpTlsProfileName <TLS profile name>
	packetToPacketControl
	peerAbsenceAction <none | peerAbsenceTrap | peerAbsenceTrapAndDisconnect> 
	preferredRtpPayloadTypeForDtmfRelay <0-128>
    prohibitedCodecList <codec>
	qosValues 
		applicationDscp <0-63>
        dtlsSctpDscp <0-255>
		msrpDscp <0-255>
        t140Dscp <0-63>
	rtcpOptions rtcp <disable | enable>
	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> 

Command Parameters

The Packet Service Profile parameters are described below:

Packet Service Profile Parameters

Parameter

Length/Range

Description

packetServiceProfile

N/A

Specifies a unique identifier (name) for packet service profile. You can define any name or use Default as the parameter.

aal1PayloadSize

0-999

The ATM Adaption Layer Type 1 (AAL-1) payload size (default = 47).

audioTransparency N/A

Use this object to configure Audio Transparency settings.

  • unknownCodecBitRate – The bit rate, in Kilobytes/second, required for bandwidth computation of unknown audio codecs. (range: 1-1000 KB/sec / default = 124)
  • unknownCodecPacketSize – The packet size, in milliseconds, required for Bandwidth computation of unknown audio codecs. (range: 5-100 ms / default = 10)

NOTE: If the bandwidth is not configured, the unknownCodecPacketSize and unknownCodecBitRate are used for the pass-through call.

codec

codecEntry1-codecEntry12

<codecEntry ID> <codec_name> – Defines the codec entry priorities and codec names. See Codec Parameters table below for details.

Up to 12 codec configurations are supported by the SBC for PSX, and Advanced ERE deployment scenarios (refer to Routing and Policy Management for a description of the different routing configurations).

dataCalls

N/A

Data calls pertaining to restricted or unrestricted digital data.

  • initialPlayoutBufferDelay Used for G.711 only. This is the initial playout delay for calls with a data bearer channel, for example, ISDN 64K data calls. This value is configured separately from the initial playout delay for voice channels (voiceInitialPlayoutBufferDelay) so providers can trade off delay on data calls versus the likelihood of jitter causing delay changes while the playout buffer adapts. Some data bearer calls are very sensitive to delay changes (such as H.320 video conferencing), so a higher initial delay should reduce the chance of jitter bursts causing problems. (range: 5-50 / default = 50).
  • packetSize <10 | 20 | 30 | 40> – The maximum data packet size (Kilobits). 
  • preferredRtpDataPayloadType – The RTP Payload Type included in the RTP header of the data packet.
    (range: 0-127 / default = 56)
dtlsN/A

Use this object to control DTLS-SRTP and DTLS fall-back behavior in this Packet Service Profile.

  • dtlsCryptoSuiteProfile <profile name> – Name of  Crypto Suite Profile to attach to this Packet Service Profile.
  • dtlsFlags
    • allowDtlsFallback <disable | enable> – Enable flag to allow fallback to standard RTP when cryptographic attribute negotiation fails (default = disable).
    • dtlsSctpRelay <disable | enable> –  Enable flag on both legs of the call to relay DTLS/SCTP streams to the endpoint (default = disable).
    • dtlsSrtpRelay <disable | enable>Enable flag on both legs of the call to relay DTLS/SRTP audio and video streams to the endpoint. (default = disable).

    • enableDtlsSrtp <disable | enable> – Enable flag to allow Secure RTP.

NOTE: DTLS-SRTP relay is a licensed feature and requires an SRTP license to be installed on the SBC.

NOTE: When a session contains DTLS-SRTP video stream or DTLS/SCTP application stream and there is no audio stream specified, the SBC allows the session when the ingress and egress Packet Service Profiles (PSP) are configured as audio pass-through. If ICE is part of session establishment in WebRTC (WRTC) scenario, the relay mechanism implemented for DTLS-SRTP and DTLS/SCTP is supported independent of ICE processing.

Refer to Configuring SBC for WRTC for additional WebRTC configuration details.

flags

N/A

See Packet Service Profile Flags table below for flag descriptions.

g711T140BaudotAdapt

N/A

This flag sends the indication in a D+ response to allow text transcoding when G711, G722 and/or OPUS are selected as the codec along with T140 stream.

  • disable (default)
  • enable

This flag only affects the behavior for G.711-G.711 calls for which one leg has T.140 (one m-line with T.140) with a valid port.
As well, the SBC ignores this flag when the PSP HDCodecPreferred flag is enabled.

honorRemotePrecedence

N/A

Flag to set precedence of audio encoding priority order of the local packet service profile over the remote peers audio encoding priority order when creating the priority order of the audio encodings that are common to both. Options are:

  • disable (default) – Applies precedence to local audio encoding priority order, local Secure RTP/RTCP settings and crypto suite priority order.
  • enable – Applies precedence to the remote peer's audio encoding priority order. For ingress call legs, also applies precedence to remote peer's Secure RTP/RTCP settings and crypto suite priority order.

mediaPacketCos

0-7

Specifies Class of Service (COS) value to be set in the IEEE 802.1D User Priority field of media packets transmitted on a call leg that uses this Packet Service Profile. This parameter only has an effect if the network interface supports 802.1Q tagged Ethernet frames. (default = 0 which is interpreted as best effort).

nonRtpStreamN/A

Use this object to configure options that apply to non-RTP media streams.

  • maxNonRtpBandwidth - This attribute is added in the packet service profile to define the maximum allowed bandwidth for Non-RTP stream.
    NOTE: If you do not configure maxNonRtpBandwidth, the SBC assigns a default bandwidth of 32 Kbps for MSRP calls.
  • nonRtpTlsProfileName – Specify the name of a TLS profile to apply to non-RTP streams, including MSRP and Application TLS sessions. The default setting is defaultTlsProfile.

packetToPacketControl

N/AUse this object to define the packet-to-packet control parameters. See Packet to Packet Control Parameters table below for details.

peerAbsenceAction

N/A

  • none – (default) Inactivity detection is disabled.
  • peerAbsenceTrap – Choose this option to generate a trap if RTP inactivity is detected.
  • peerAbsenceTrapAndDisconnect – Choose this option to generate a trap and tear down the call if RTP inactivity is detected.
preferredRtpPayloadTypeForDtmfRelay

0-128

Specifies the preferred RTP payload type in the RTP header of audio packets for this encoding. (default = 128). This parameter is only used for 8 kHz clock rate. DTMF payload type of each subsequent clock rate (16 kHz, 24 kHz, etc.) is incremented by 1.

NOTE: Using the default value of "128" for preferredRtpPayloadTypeForDtmfRelay implies that the preferred DTMF value (from the system configurable) is used for this profile.

NOTE: If interworkDtmfWithoutTranscoding is enabled, ensure preferredRtpPayloadTypeForDtmfRelay is set to a valid value (96-127). If preferredRtpPayloadTypeForDtmfRelay value is invalid (set to "128"), the system may fail to pick up the value configured using "set system dspPad rtpDtmfRelay" command because DSPs are not used for the call.

NOTE: The SBC uses the preferredRtpPayloadTypeForDtmfRelay configuration as the payload type for 8 kHz DTMF when not used by any other codec.

For wideband (16 kHz) DTMF, the SBC uses the next available payload type (to the configured preferredRtpPayloadTypeForDtmfRelay value).

prohibitedCodecList

N/A

Choose the codecs to exclude in the offer/answer on that call leg using comma-delimited format. For a list of codecs, refer to Audio Codecs.

Modified: for 12.1.4



qosValuesN/A

Use this object to configure the Quality of Service (QoS) DSCP value for this Packet Service Profile.

  • applicationDscp - Attribute for configuring qosValues for Application media type.
  • dtlsSctpDscp – Use this attribute to set the DSCP value in the Differentiated Services Field of the IP header for DTLS/SCTP packets that egress the SBC. (range: 0-255 / default = 0)
  • msrpDscp – Use this attribute to set the DSCP value to use for egressing MSRP packets (range: 0-255 / default = 0).
  • t140Dscp – Use this parameter to specify the DSCP value for T.140 packets. Note: If the call type is t140 , then configure the DSCP value as DSCP T140 in the QOSValues parameter. (Range: 0-63 / default = 0).

rtcpOptions

N/A

Use this object to specify Real Time Control Protocol (RTCP) options for the call. RTCP is used to report network traffic congestion data.

Various actions (for example call disconnect) may be taken when congestion threshold settings are exceeded.

See RTCP Options Parameters table below for details.

secureRtpRtcp

N/A

Specifies whether secure RTP Real Time Control Protocol (SRTP) is enabled for the call:

  • cryptoSuiteProfile <profile name> – A unique identifier for the Cryptographic Suite Profile.
  • flags – Possible values are disable/enable. The default value of each flag below is "disable".
    • allowFallback – Enable flag to allow fallback to standard RTP/RTCP when crypto attribute negotiation fails.
    • allowPassthru – Enable flag to allow the SBC to pass-through SRTP media without authenticating, decrypting, or encrypting it internally. The SBC will prioritize SRTP pass-through media over terminated SRTP media. When this flag is disabled, the SBC terminates all SRTP and SRTCP media for authentication, encryption, or decryption.

      NOTE: To use this flag, enableSrtp flag must be enabled.

    • enableSrtp – Enable this flag to enable secure RTP/RTCP.
    • resetEncDecROCOnDecKeyChange – Enable flag to reset Roll Over Counter for both encryption and decryption when decryption key changes.
    • resetROCOnKeyChange – Enable flag to reset the SRTP Roll Over Counter when the session key changes.
    • updateCryptoKeysOnModify – For an SRTP call, if this flag is enabled in Packet Service Profile and call leg mode is changed from sendonly/inactive/recvonly to sendrecv, the SBC generates a new set of crypto attributes.

sendRoutePSPPrecedence

N/A

Use this flag to allow audio encoding order preference in outgoing messages only.

  • disable (default)
  • enable

silenceFactor

N/A

The percentage of call time that silence is expected. This parameter is used to reduce expected call bandwidth. (range: 0-50 / default = 40).

silenceInsertionDescriptor

N/A

Use this object to define the Silence Insertion Descriptor (SID) attributes.

  • g711SidRtpPayloadType – Specifies the G.711 Silence Insertion Descriptor (SID) RTP payloadType. (range: 0-127 / default = 13).
  • heartbeat – By default, this flag is enabled to allow SID packets to be sent within a minimal interval during a silence period (at least one SID packet must be sent within a SID maximum packet time frame).
    • disable
    • enable (default)

t38

N/A

Use this object to specify T.38 data rate attributes using following parameters:

  • dataRateManagementType:
    • type1LocalGenerationOfTcf – Type 1 data rate management requires that the Training Check Frame (TCF) training signal is generated locally by the receiving gateway. Data rate management is performed by the emitting gateway based on training results from both PSTN connections. Type 1 is used for TCP implementations and is optionally used with UDP implementations.
    • type2TransferOfTcf – (default) Type 2 data rate management requires that the TCF is transferred from the sending gateway to the receiving gateway rather than having the receiving gateway generate it locally. Speed selection is done by the gateways in the same way as they would on a regular PSTN connection. Data rate management type 2 requires the use of UDP and is not recommended for use with TCP.
  • ecm – Use this flag to allocate DSP resources, when available, for T.38 Error Correction Mode (ECM) calls.
    • disable – (default) use normal resource allocation.
    • enable
  • lowSpeedNumberOfRedundantPackets – This field specifies the number of redundant IFP messages sent in a UDP packet for T.38 low speed fax transmission, and applies only if the T.38 error correction type is redundancy. (range: 0-2 / default = 1).
  • maxBitRate – Use this object to select the T.38 Maximum Bit Rate which controls and manipulates bits 11, 12, 13, and 14 in the DIS command received by the SBC from either the TDM circuit interface or the T.38 packet interface:
    • 2.4Kbits_s – For modem type ITU-T V.27ter fall-back mode.
    • 4.8Kbits_s – For modem type ITU-T V.27ter.
    • 9.6Kbits_s – For modem types ITU-T V.27ter and V.29.
    • 14.4Kbits_s – (default) For modem types ITU-T V.27ter, V.29, and V.17. This setting is used to constrain the type of modem modulation schemes.
      (See T.38 Max Bit Rate Handling for Non-Direct Handling Calls topic)
  • numberOfRedundantPackets – Use this parameter for high-speed fax relay to specify the number of redundant Internet Facsimile Protocol (IFP) messages sent in a User Datagram Packet (UDP) for fax transmission. (range: 0-2 / default = 1).
  • protocolVersion – Use this parameter to specify the T.38 Fax protocol version to use.
    • 0 (default)
    • 3 

typeOfService

0-255

Use this object to set the six most significant bits of the "Type of Service" byte in the IP header. Default value is 0.

videoCalls

N/A

Use this object to define video call parameters.

  • audioOnlyIfVideoIsPrevented– By default, this flag is enabled to allow call to continue with the audio only portion if the video cannot be established for any reason.
    • disable
    • enable (default)
  • codecListProfile – Name of the Codec List profile used to store precedence and purge lists of video codec MIME sub-types.
  • ieee8021QVLanCos – IEEE-802 1Q VLAN Class of Service. (range: 0-7 / default = 0)
  • ipv4Tos – IPv4 type of service. (range: 0-255 / default = 0)
  • ipv6TrafficClass – IPv6 traffic class. (range: 0-255 / default = 0)
    NOTE: ipv6TrafficClass is not supported with H.323 calls.
  • maxVideoBandwith – The maximum allowable session bandwidth (in Kbps) for a call that includes video streams. This value Includes the bandwidth for all streams in the call (audio, video, BFCP, and so on). If "0" is set as the value, video calls are not allowed; and only audio calls can be set up following the normal allocation process (range: 0-50000 Kbps / default = 10).
  • videoBandwidthReductionFactor – The amount, as a percentage, to reduce the session bandwidth allocation for calls that include video streams. This setting only affects the internal allocation of bandwidth used for the calls (does not affect the signaling). For example: if the reduction factor is "20", the bandwidth allocated for calls is reduced by 20%. In other words, if the normal bandwidth allocation for calls is 1000 Kbps, a 20% reduction equates to a new 800 Kbps bandwidth. (range: 0-100 / default = 0).

voiceInitialPlayoutBufferDelay

1-200

Use this parameter to configure the initial playout buffer delay value (in milliseconds). Select a value just slightly greater than the maximum expected packet jitter across the network.The value must be in increments of 1 ms. (default = 10).

NOTE: Using a value above 50 ms is not recommended during normal operation.

T.38 Max Bit Rate Handling for Non-Direct Media Calls

SBC Core Behavior

For T.38 version=0, the SBC supports four bit rates: 2.4 Kbps, 4.8 Kbps, 9.6 Kbps and 14.4 Kbps.

The SBC normalizes the T.38 bit rate that it receives in the SDP from the peers.

  • If the bit rate received in the SDP is one of these four values, the SBC selects the minimum of route-configured bit rate and peer's bit rate.
  • However, if the bit rate received in the SDP is not one of these four values, the SBC selects one of these four bit rates that is lower than the peer's bit rate.
    Consequently, the SBC uses the minimum value of: route-configured bit rate and peer's bit rate after normalization.
    Examples:
    • If peer is requesting 14.4 Kbps and the route is configured with 14.4 Kbps, the SBC uses 14.4 Kbps.
    • If peer is requesting 14.4 Kbps and the route is configured with 9.6 Kbps, the SBC uses 9.6 Kbps.
    • If peer is requesting 10 Kbps and the route is configured for 14.4 Kbps, the SBC uses 9.6 Kbps.
    • If peer is requesting 7.2 Kbps and the route is configured for 9.6 Kbps, the SBC uses 4. 8 Kbps.
    • If peer is requesting 7.2 Kbps and the route is configured for 2.4 Kbps, the SBC uses 2.4 Kbps.

External PSX Provisioning

Another configuration related to T.38 Max Bit Rate handling for non-Direct Media calls is the PSX "Use Max Bit Rate Only" object, with the following considerations:

  • The PSX PSP flag "Use Max Bit Rate Only" does not impact the logic explained above for bit rate selection based on a peer's value plus the SBC supported/configured values.
  • If "Use Max Bit Rate Only" flag is disabled, the SBC will further adjust/reduce the bit rate (computed above) based on the T38FaxMaxBuffer, T38FaxMaxDatagram and T38FaxUdpEC attributes. Thus, enabling this flag only prevents the SBC from further reducing the bit rate using these attributes.

Codec

Command Syntax

% set profiles media packetServiceProfile <unique_profile_name> codec <codecEntry1-codecEntry12> <codec name>

Command Parameters

Note

SBC-POL-RTU license is needed to enable more than four codecs.

Codec Parameters

ParameterDescription
codecEntry1 <codec name>Codec entry with a priority of "1" 
codecEntry2 <codec name>Codec entry with a priority of "2" 
codecEntry3 <codec name>Codec entry with a priority of "3" 
codecEntry4 <codec name>Codec entry with a priority of "4" 
codecEntry5 <codec name>Codec entry with a priority of "5" 
codecEntry6 <codec name>Codec entry with a priority of "6" 
codecEntry7 <codec name>Codec entry with a priority of "7" 
codecEntry8 <codec name>Codec entry with a priority of "8" 
codecEntry9 <codec name>Codec entry with a priority of "9" 
codecEntry10 <codec name>Codec entry with a priority of "10" 
codecEntry11 <codec name>Codec entry with a priority of "11" 

codecEntry12 <codec name>

Codec entry with a priority of "12".

For each codecEntry ID, choose a <codec name>.

Example default codec names are:

  • G711-DEFAULT (default codec)
  • G711SS-DEFAULT
  • G711_NONE
  • G723-DEFAULT
  • G723A-DEFAULT
  • G726-DEFAULT
  • G729A-DEFAULT
  • G729AB-DEFAULT

Flags

Command Syntax

% set profiles media packetServiceProfile <unique_profile_name> flags 
	HDCodecPreferred <disable | enable>
	MatchOfferedCodecGroupIfNbOnly <disable | enable>
	allowAudioTranscodeForMultiStreamCall <disable | enable>
    allowMidCallSSRCModification <disable | enable>
	digitDetectSendEnabled <disable | enable> 
	disallowDataCalls <disable | enable> 
	dscpPassthrough <disable | enable>
	forceRoutePSPOrder <disable | enable>
    generateAndSignalSSRCAndCname <disable | enable>
	interworkDtmfWithoutTranscoding <disable | enable>
	preferNBPassthruOverHDTranscode <disable | enable>
	reserveBwForPreferredAudioCommonCodec <disable | enable>
	ssrcRandomize <disable | enable>
    ssrcRandomizeForSrtp <disable | enable>
	t140Call <disable | enable>
	useDirectMedia <disable | enable> 	
	validatePeerSupportForDtmfEvents <disable | enable> 

Command Parameters

Packet Service Profile Flags

ParameterDescription
HDCodecPreferred

Enable flag to set HD codecs as preferred codec over non-HD codecs even if transcoding is required. When flag is disabled, continue with existing PSP/IPSP behavior.

  • disabled (default)
  • enabled

When enabled, the following behavior is exhibited:

If...Then...
the ingress Offer contains any valid HD codecsHD codecs are sorted to the top of the list while sending out the Offer.
all NB codecs are present
the SBC reorders the codec entries with NB first, followed by HD codecs.


Codec selection priority from Answer message:

  1. HD-HD pass-through
  2. HD-HD transcoding
  3. NB-NB pass-through
  4. NB-NB transcoding
  5. HD-NB transcoding

NOTE: This flag only applies when the SBC is configured with an external PSX.

NOTE: If forceRoutePSPOrder flag is enabled, this flag does not affect the ordering of outgoing offer.

NOTE: The flag transcoderFreeTransparency overrides this flag. If  transcoderFreeTransparency is enabled, this flag is ignored.

MatchOfferedCodecGroupIfNbOnly

Enable this flag to allow the SBC to send only NB in outgoing offer if only NB is received in the ingress offer. Otherwise, do nothing. While sending the offer, this flag becomes is ignored if either HD-only or (HD+NB) is received in incoming offer.

If this flag is disabled, the SBC uses existing behavior.

  • disable (default)
  • enable

NOTE: The flag transcoderFreeTransparency overrides this flag. If transcoderFreeTransparency is enabled, this flag is ignored.

allowAudioTranscodeForMultiStreamCall

Use this flag to specify whether or not to allow audio transcoding when a session contains other media streams, such as a video stream. Options are:

  • disable (default) –  When this flag is disabled in either the ingress or egress PSP, and the egress INVITE request contains video codecs, the SBC removes transcoding codecs from the INVITE request.  
  • enable  When this flag is enabled in both ingress and egress PSPs, the SBC allows video codecs to be sent in egress INVITE requests and in 200 OK responses sent to the ingress leg.

allowMidCallSSRCModification

Enable this flag so that in call hold/resume scenarios the SBC modifies the SSRC and associated attributes after the call resumes. The SBC sends both the previous and updated SSRC in SDP signaling and includes the new SSRC iin RTP/RTCP streams. Options are:

  • disable (default)
  • enable

Note: You must enable the generateAndSignalSSRCAndCname flag before you can enable this flag.

Note: If you enable the IP Signaling profile common IP attributes flag minimizeRelayingOfMediaChangesFromOtherCallLegAll, you must also enable the relayDataPathModeChangeFromOtherCallLeg flag to have the SSRC modification processing take effect.

digitDetectSendEnabled

Enable this flag to allow digit detection for pass-through calls on digits sent to the network.

  • disable (default)
  • enable

NOTE: Enable this flag to allow interworking without DSP resources for this Packet Service Profile.

INFO: See Digit Detect Send Enabled Settings for KPML table below to understand which PSP leg to enable this flag for the desired KPML functionality.

disallowDataCallsEnable flag to disallow data calls.
  • disable (default)
  • enable
dscpPassthrough

When enabled on both the Ingress and Egress call leg, the DSCP value in the IP header of the media packets is transparently passed through the system. Once media is received from the peer, any value set in the typeOfService field on the Packet Service Profile has no effect when dscpPassthrough is configured on both legs for the associated call.

  • disable (default)
  • enable

forceRoutePSPOrder

Enable this flag to send the outgoing offer in the same order as egress route Packet Service Profile irrespective of HD/NB priorities.

  • disable (default)
  • enable

NOTE: If this flag is enabled, HDCodecPreferred flag does not affect the ordering of outgoing offer.

NOTE: The flag transcoderFreeTransparency overrides this flag. If  transcoderFreeTransparency is enabled, this flag is ignored.

generateAndSignalSSRCAndCname

Enable this flag to generate an SSRC value and associated attributes and include them in SDP signaling and RTP/RTCP streams. Options are:

  • disabled (default)
  • enabled

Note: This flag takes precedence over the Packet Service Profile ssrcRandomize flag.

interworkDtmfWithoutTranscoding

Enable flag to interwork DTMF with out-of-band RFC2833 without the use of transcoding (DSP resources).

  • disable (default)
  • enable

NOTE: If interworkDtmfWithoutTranscoding is enabled, ensure preferredRtpPayloadTypeForDtmfRelay is set to a valid value (96-127). If preferredRtpPayloadTypeForDtmfRelay value is invalid (set to "128"), the system may fail to pick up the value configured using "set system dspPad rtpDtmfRelay" command because DSPs are not used for the call.

mediaLockDownForPassThroughThis flag is deprecated.
policeOnHeaviestAudioCodec

When enabled, the SBC reserves the worst case common codec bandwidth on trunk groups and interfaces, but polices on maximum bandwidth for all codecs from Offer or Answer in a pass-through call.

  • disable (default)
  • enable

NOTE: This configuration applies to all pass-through calls. It works independently from the Audio Transparency feature and reserveBwForPreferredAudioCommonCodec flag.

preferNBPassthruOverHDTranscode

Enable this flag to allow the SBC to choose NB-NB pass-through over HD-HD transcoded call.

When disabled, the SBC prefers HD-HD transcoded call over NB-NB pass-through.

  • disable (default)
  • enable

NOTE: This flag is valid only if HDCodecPreferred flag is enabled, and is applied when selecting a codec from answer.

NOTE: The flag transcoderFreeTransparency overrides this flag. If  transcoderFreeTransparency is enabled, this flag is ignored.

reserveBwForPreferredAudioCommonCodec

By default, the SBC reserves the worst case common audio codec bandwidth for pass-through calls on trunk groups and IP interfaces, and polices the same bandwidth. Use this flag to reserve the bandwidth associated with the preferred common codec and police on the worst case codec. This flag applies to both known and unknown codecs, and can be used independently or in conjunction with Audio Transparency feature.

  • disable (default)
  • enable

NOTE: This flag is active for a call when both the PSPs have this flag enabled. If this flag is disabled in any of the PSPs, the flag is not applied.

 ssrcRandomize

Enable this flag to generate a new synchronization source (SSRC) using a random value along with a new timestamp on a new RTP stream whenever reactivating a resource (due to a change in codec or some other event). SSRC randomization reduces the probability of collision in large groups and simplifies the process of group sampling that relies on a uniform distribution of SSRCs. 

This flag also affects medial behavior following a switchover. 

  • When enabled, the media SSRC value changes following a switchover. 
  • When disabled, the media SSRC value persists following a switchover.

Options:

  • disable (default)
  • enable 
ssrcRandomizeForSrtp

Enable this flag to determine how the SBC handles SSRCs in SRTP media flows. When enabled, the SBC:

  • generates and replaces the SSRC for both pass-through and transcoded SRTP media flows
  • generates a new SSRC value when a mid-call modification occurs (such as hold/resume)
  • replaces the CNAME in the SRTCP SDES block
  • replaces the SSRC in the SRTCP report blocks

 When disabled, the SBC relays the SSRC for pass-through media flows it receives from the peer.

  • disable (default)
  • enable 
t140Call

Enable flag to allow text media calls using T.140 codec.

  • disable (default)
  • enable

NOTE: The SBC does not validate, prioritize, or purge any codec or attributes received for the text media. Any required validation is performed by the endpoints.

Refer to Text Codecs for additional details of text codec support.

Behavior of Audio+Text Call:

Ingrss SDP contains m=text offerFlag Setting on ingress PSPFlag Setting on egress PSPInclude m=text line in egress SDP



Yes



Disabled
DisabledYes, with port 0
EnabledYes, with port 0

Enabled
DisabledYes, with port 0
EnabledYes, with valid Port



No




Disabled
DisabledNo
EnabledNo

Enabled
DisabledNo
EnabledNo

For a text only call:

Ingress SDP contains m=text offerFlag Setting on ingress PSPFlag Setting on egress PSPInclude m=text line in egress SDP



Yes



Disabled

DisabledNo
EnabledNo

Enabled
DisabledNo
EnabledYes, with valid Port



No



Disabled
DisabledNo
EnabledNo

Enabled
DisabledNo
EnabledNo
useDirectMedia

Enable flag to use direct media as needed.

  • disable (default)
  • enable

validatePeerSupportForDtmfEvents

Flag to validate peer support for DTMF events. Enable this flag for all peer devices that support RFC 4733.

  • disable (default) – SBC does not validate the presence of DTMF events in the offer or answer from the peer. If DTMF relay is enabled, SBC transmits DTMF digits received from the other leg to this peer using the named event RTP payload.
  • enable – The SBC validates the presence of DTMF events in the offer or answer from peers that support RFC 4733. If DTMF Relay is enabled and events 0-15 are received (with no other combination or subset of events), the SBC forwards the events in the egress leg to this peer using the named event RTP payload. When the SBC is configured for a pass-through call and it receives DTMF events other than 0-15 from the ingress peer, it does not offer any DTMF events to the egress endpoint.


Digit Detect Send Enabled Settings for KPML


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.

Info

Refer to  KPML DTMF Support section on the page DTMF and RTP Relay for feature details.

Digit Detect Send Enabled Settings for KPML

Ingress PSPEgress PSPKPML Subscription Leg
EnableEnableEgress / Ingress
DisableEnableEgress / Ingress with stream reverse
EnableDisableIngress / Egress with stream reverse
DisableDisableNone

Packet to Packet Control

Command Syntax

% set profiles media packetServiceProfile <unique_profile_name>  packetToPacketControl

	codecsAllowedForTranscoding 
		otherLeg <amr | efr | evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | l16 | opus | t38> 
		thisLeg <amr | efr | evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | l16 | 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>

Command Parameters

Packet to Packet Control Parameters

ParameterDescription
codecsAllowedForTranscoding

 Use this parameter to specify codecs allowed for transcoding, and which leg to apply them to.

    • otherLeg <codec> (see codec list below)
    • thisLeg <codec> (see codec list below)

Codec list:

amr  | efr |  evrc | g711a | g711u | g722 | g726 | g729 | g7221 | g7222 | g7231 | ilbc | l16 | opus | silk | t38


conditionsInAdditionToNoCommonCodec

 The SBCperforms transcoding when any of the specified conditions are met, including no common codec on ingress and egress legs.

  • applyFaxToneTreatment– Apply fax tone treatment.
    • disable (default)
    • enable
  •  different2833PayloadType– Enable this option to allow the SBC to transcode media when RFC2833 payload type received from ingress is different from the preferred DTMF payload type configured in egress PSP.
    • disable (default)
    • enable
  • differentDtmfRelay – Enable this flag to perform transcoding when the ingress and egress call legs use different DTMF relay methods.
    • disable (default)
    • enable
  • differentPacketSize Enable this flag to perform transcoding when the ingress and egress call legs use different packet sizes.
    • disable (default)
    • enable
  • differentSilenceSuppression Enable this flag to perform transcoding when the ingress and egress call legs use different silence suppression methods.
    • disable (default)
    • enable
  • honorAnswerPreference– The SBC triggers a new offer towards the other side when an answer is received for a re-INVITE from this side. The re-INVITE generated on the other side carries all possible codecs in Route Packet Service Profile that causes the most preferred codec of the other side peer to be modified. Enable this Honor Answer Preference (HAP) flag to lock down the most preferred codec towards the peer irrespective of re-INVITE received for mid-call modification from this side. (See the table below describing SBC behavior when this flag is enabled/disabled).
    • disable (default)
    • enable
  • honorOfferPreference Enable this Honor Offer Preference (HOP) flag to honor the codec preference of the peer's offer when the 'Honor Remote Preference' flag on the PSX is enabled.  This option is available only when transcode = conditional. (See honorAnswerPreference vs. honorOfferPreference table below describing SBC behavior when this flag is enabled/disabled).
    • disable (default)
    • enable
transcode
Transcode options:
    • conditional (default)
    • determinedByPspForOtherLeg
    • only
    • transcoderFreeTransparency

NOTE: If using Transcoder Free Transparency option "transcoderFreeTransparency", you must also set lateMediaSupport to ‘passthru’ (refer to SIP Trunk Group - Media - CLI)

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:

  1. Transcode for DTMF differences. For example, when both legs have same codec, but one uses in-band for DTMF and the other RFC 2833.
  2. Transcode for Silence Suppression differences.
  3. Transcode for Packet Size differences.
  4. Transcode for RFC2833/4733 Payload differences. For example, when codecs are the same on both legs, but one side uses 101 as the Payload Type for DTMF and the other uses 102.
  5. Transcode always.

honorAnswerPreference vs. honorOfferPreference

HOP Flag StateHAP Flag StateSBC Behavior
enabledisable
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.
enableenable
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.
disableenable

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).

RTCP Options

Command Syntax

% set profiles media packetServiceProfile <unique_profile_name> rtcpOptions rtcp <disable | enable>
	enableRTCPForHeldCalls <disable | enable>
	generateRtcpForT140IfNotReceivedFromOtherLeg <disable | enable>
	packetLossAction <none | packetLossTrap | packetLossTrapAndDisconnect>
	packetLossThreshold <0, 400-32767>
	rrBandwidth <100-4000>
	rsBandwidth <100-3000>
	rtcpMux <disable | enable>
    rtcpXr <disable | relay | relayOrTerminate>
	terminationForPassThrough <disable | enable>

Command Parameters

RTCP Options Parameters

ParameterLength/RangeDescription 
rtcpN/A

Enable flag to use RTCP for the call.

  • disable (default)
  • enable - SBC generates RTCP packets on the call leg associated with this packetServiceProfile / sipTrunkGroup.

NOTE: The below attributes are only available to configure RTCP once this flag is enabled.

enableRTCPForHeldCallsN/A

If this flag is enabled, the SBC ignores the configured RR/RS values in the Packet Service Profile (PSP) and sends RR/RS = 0 in the offer/answer, plus disables RTCP when the call is active.

When the call is HELD, and a re-INVITE is sent, the SBC uses the configured values in the PSP for RTCP bandwidth and enables RTCP. When the call is RESUMED, the SBC again disables RTCP by sending RR/RS=0 in the re-INVITE.

  • disable (default)
  • enable

generateRtcpForT140IfNotReceivedFromOtherLegN/A

The SBC generates RTCP for T140 media streams if RTCP is not received from peer.

  • disable (default)
  • enable

Note: To enable this parameter, ensure that the t140Call parameter is set to enable,

For more information, refer to Text Over IP (ToIP) and TTY Support.

packetLossActionN/APacket loss action to take when packet threshold is exceeded:
  • none – Take no action.
  • packetLossTrap – Generate trap.
  • packetLossTrapAndDisconnect – Generate trap and disconnect.
packetLossThreshold 0, 400-32767

Enter a value to specify the packet loss threshold value to trigger a packet loss action (default = 0).

This parameter is required if RTCP is enabled. When set to “0”, no packet loss inactivity detection is performed. See Command Examples below for an example configuration.

This setting can be used in conjunction with mediaPeerInactivity (refer to mediaPeerInactivity parameter in Media System - CLI page).

rrBandwidth100-4000<rrBandwidth value> – The RTCP bandwidth allocated to active data senders (default = 250).
rsBandwidth100-3000<rsBandwidth_value> – The RTCP bandwidth allocated for receivers (default = 250). 
rtcpMuxN/A

Enable this flag for the ingress or egress Packet Service Profile for the SBC to use RTCP-Mux on the respective call leg.

When the SBC Core triggers the RTP interception on an RTCP-Mux call (for example, lawful intercept), the SBC forks the RTP and RTCP streams to a single port towards the mediation server. If the intercept is performed in an RTCP-Mux session, the stream sent towards the mediation server is also multiplexed with RTP and RTCP sent over the same port.

  • disable (default)
  • enable

Refer to SDP Support for additional RTCP Mux details.

NOTE: This flag is only applicable for SIP Trunk Groups.

rtcpXrN/A

Specifies control of RTCP-XR block processing and statistics collection.

  • disable (default) – Retains existing default behavior (no statistics collection).
  • relay – Allows end-to-end XR block relay (only) and statistics collection if end-to-end peer negotiation for RTCP-XR (a=rtcp-xr:voip-metrics) relay is successful; otherwise XR block is dropped.
  • relayOrTerminate – Allows end-to-end XR block relay or per-leg termination if end-to-end negotiation for RTCP-XR relay is not successful (only one leg supports RTCP-XR). This setting guarantees XR block termination and statistics collection on any call leg where XR blocks are received.

terminationForPassThrough

N/A

Use this flag to specify RTCP termination behavior for pass-through calls.

  • disable (default) – RTCP is relayed between the end points for pass-through calls when RTCP is enabled on both call legs. 
  • enable – Enable flag (as well as rtcp flag) on one leg to terminate RTCP sessions on each leg for pass-through calls. If RTCP and RTCP termination is enabled on one leg of a pass-through call, RTCP is terminated and originated for that leg. When RTCP termination is enabled on one leg of a pass-through call and RTCP is enabled on the other leg, RTCP is also terminated on the other leg, regardless of the other leg's setting for terminationForPassThrough.


Note

The SBC calculates the packet loss rate as (number of packets lost/number of packets expected) x 100.

For every incoming call leg:

  • The SBC periodically (approximately after every 512 expected packets) calculates the packet loss rate.
  • The SBC also periodically (approximately after every 10 seconds) checks if the packet loss rate of the call is above the configured value for the parameter Packet Loss Threshold.
  • If the SBC detects that the loss rate has exceeded the threshold, it reports the difference to higher layer of services within the software stack.

Command Examples

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;

To avoid possible interoperability issue in deployments with Kandy Link WebRTC gateways, the Packet Service profile assigned to the trunk group facing the Kandy network should enable the flags that generate and modify SSRC values. Refer to Generate or Replace SSRC Values for Calls Toward a Kandy Link WebRTC Gateway.

For example, use the following commands to configure the flags, in the DEFAULT Packet Service profile, that enable generating SSRC values and allow modification of SSRC values in call hold/resume scenarios. You must enable the generateAndSignalSSRCAndCname flag first.

% set profiles media packetServiceProfile DEFAULT flags generateAndSignalSSRCAndCname enabled
% set profiles media packetServiceProfile DEFAULT flags allowMidCallSSRCModification enabled
% commit

 

To configure the SBC to generate RTCP for T140 media streams if it does not receive RTCP from peer:

% set profiles media packetServiceProfile INGRESS rtcpOptions rtcp enable generateRtcpForT140IfNotReceivedFromOtherLeg enable
% commit

% set profiles media packetServiceProfile INGRESS flags t140Call enable
% commit

% set profiles media packetServiceProfile INGRESS qosValues t140Dscp 63
% commit
Note
  • The parameter qosValues is visible only when the flag t140Call is set to enable.
  • To configure this feature, ensure that the t140Call parameter is set to enable, by using the following syntax:
    % set profiles media packetServiceProfile <profile_name> flags t140Call enable