Implementing Transcoding

Transcoding is the process of translating a media stream encoded using one codec into a media stream encoded using another codec. For example, translating a media stream encoded as Pulse Code Modulation u-law (PCMU) into one encoded as ITU-T G.726-32.

The primary reason for transcoding configurations is to configure the capabilities of external media transcoding devices when these devices cannot be discovered automatically. In-band auto discovery of transcoder capabilities is currently not supported. Therefore, this step must be done when configuring all connections to all current remote transcoding devices.


Note Transcoding configurations can be skipped altogether if the described reason does not apply.


Media gateways are allowed to connect whether or not configuration has been supplied for them. To help avoid configuration errors, the signaling border element (SBE) logs a warning if an incoming connection is received from a media gateway that is not a data border element (DBE) and does not have transcoding configured.


Note The Transcoding feature is supported in the unified model for Cisco IOS XE Release 2.5 and later.


Cisco Unified Border Element (SP Edition) was formerly known as Integrated Session Border Controller and may be commonly referred to in this document as the session border controller (SBC).

For a complete description of the commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at:

http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html .

For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.

Feature History for Implementing SBC Transcoding

 

Release
Modification

Cisco IOS XE Release 2.5

This feature was introduced on the Cisco ASR 1000 Series Aggregation Services Routers.

Cisco IOS XE Release 3.3S

The Voice Transcoding Per Adjacency Statistics feature was added to the Cisco ASR 1000 Series Aggregation Services Routers.

Cisco IOS XE Release 3.11S

The Blended Transcoding feature was added to the Cisco ASR 1000 Series Aggregation Services Routers.

 

Contents

This chapter contains the following sections:

Prerequisites for Implementing Transcoding

The following prerequisites are required to implement SBC transcoding:

  • Before implementing these features, Cisco Unified Border Element (SP Edition) must already be configured.
  • All SBE and DBE configurations required to make simple calls must already be configured. Transcoding configurations follow these configurations.

Restrictions for Implementing Transcoding

The following are restrictions of the Implementing Transcoding feature:

  • The H.323 fast-start calls will be dropped to slow-start procedure if transcoding is required. This can be achieved by the callee side rejecting the fast-start request.
  • No transcoding support for H.323 to SIP interworked calls.
  • No transcoding support for H.323 to H.323 interworked calls.
  • The only codecs supported for H.323 transcoding are G.711 (PCMU and PCMA) and G.729 (with and without annex B).
  • When audio transcoding is in operation, the SBC does not support sending and receiving RFC 2833 in-band packets to and from the SBC and interworking RFC 2833 packets with out-of-band SIP INFO or SIP NOTIFY Relay messages on the other call leg.

The following are DTMF interworking restrictions when transcoding is used:

  • Signaling and media DTMF interworking is not supported when transcoding is performed on the call
  • When audio transcoding is in operation, the SBC does not support sending and receiving RFC 2833 in-band packets to and from the SBC and interworking RFC 2833 packets with out-of-band SIP INFO or SIP NOTIFY Relay messages on the other call leg.

Restrictions for Media Gateway-Assisted DMTF Interworking

Following are the restrictions of the Media Gateway-Assisted DMTF interworking feature:

  • The SBC supports the use of transcoders, such as a Cisco MGX 8880, only in SIP-SIP calls. DTMF interworking with transcoders are not supported for H.323 calls.
  • The SBC cannot interwork DTMF with transcoders that cannot pass through DTMF.
  • When a Cisco MGX 8880 is not used as transcoders, only SIP-SIP calls are supported.

Information About Transcoding

Transcoding is the process of translating a media stream encoded using one codec into a media stream encoded using another codec. For example, translating a media stream encoded as PCMU into one encoded as G.726-32.

Transcoding is supported using external digital signal processor (DSP) hardware. A Cisco MGX 8880 Media Gateway can be used to provide the transcoding function for one or more SBCs.

The SBC supports two types of transcoding:

Transcoding After Rejection

The SBC automatically brings the transcoding device into use for any call requiring transcoding between these codecs, as long as the Call Admission Control (CAC) policy configuration does not preclude the transcoder service from being supplied for the call. When a call that requires transcoding is set up, the SBE goes through the following steps:

  • Receives an initial signaling request from the calling endpoint. This triggers the SBC to perform initial call setup on the incoming and outgoing local media termination points. The SBC then forwards the set up request towards the callee.
  • Receives a response from the called endpoint that indicates that none of the codecs in the initial request are acceptable. These responses include:

– 415—Unsupported media type (SIP)

– 488—Not acceptable here (SIP)

– Failure to identify common codec during Terminal Capability Exchange procedure of H.245 protocol.

This triggers the SBC to bring a transcoder into the call that is inserted in the media path between the incoming and outgoing local media terminations. A new request is sent to the called endpoint, indicating the new codec type generated by the transcoder.

  • SBE may then have to iterate through the list of codecs the transcoder supports until it finds one that is acceptable to the called endpoint. When this is done, the call is connected and media transmission begins.

Figure 40-1 shows where the transcoder sits in the network, and the path taken by the media in a transcoded call.

Figure 40-1 Transcoding Configuration

 


Note Although Figure 40-1 shows two DBEs, transcoding is possible with a single DBE. With a single DBE, the media flows through the DBE twice, once on its way from the sending endpoint to the transcoder and a second time as it flows from the transcoder to the receiving endpoint.


For the Session Border Controller (SBC) to program the transcoder, it must be registered. The transcoding device acts as an H.248 media gateway, so it needs to be configured with the IP address and port of the SBE or SBC to connect to. The SBE or SBC acts as an H.248 Media Gateway Controller. See the documentation for your transcoder device for notes on how to do this. The documentation for the Cisco MGX 8880 Media Gateway can be found at:

http://www.cisco.com/en/US/docs/switches/wan/mgx/software/mgx_r5.0/data/configuration/guide/scg.html

In addition, the SBE must have the following specific configuration:

  • An H.248 control address and port must be configured (using the sbe control address ipv4 and sbe control address h248 port commands). By default, this is on port 2944, and it is the address and port to which the transcoder must connect.
  • An explicit media gateway needs to be configured (using the sbe media-gateway ipv4 command). The explicit media gateway must have its list of supported codecs defined so that the SBC knows which codecs the transcoder can translate between, and it must be identified as a transcoder (using the sbe media-gateway ipv4 codecs and sbe media-gateway ipv4 transcoder commands).
  • The show sbc sbe media-gateway-associations command can be used to check that the transcoder has correctly registered with the SBE. If this has happened, the transcoder should appear in the list of known media gateways with an active association.

For configuration step information, see the “Configuring Transcoding After Rejection” section.

Troubleshooting Tip for Media-Timeout Transcoded Call Using a VXSM card

A Cisco MGX 8880 equipped with one or more Cisco Voice Switch Service Module (VXSM) card sets can operate as a media gateway. In a network where the SBC uses the Cisco MGX 8880 as a transcoding device to act as an H.248 media gateway, some additional configuration is required on the VXSM card for media-timeout to work properly in a transcoded call.

The following additional steps need to be configured on the VXSM card in the Cisco MGX 8880 Media Gateway:


Step 1 Enable the RTCP control with the following command.

InteropMGX.4.VXSM.a > cnfdspparam -control 1

 

Step 2 Set the RTCP timer control to startRtpOrRtcpPktRcvd with the following command:

InteropMGX.4.VXSM.a > cnfdspparam -rtcptm 3

 

Step 3 Verify that the settings are correct using the following command to show a list of DSP parameters:

InteropMGX.4.VXSM.a > dspdspparam
 
======================================================
List DSP Parameters
======================================================
SID Payload Type : decimal
RTCP Control : true <=== RTCP control enabled
RTCP Interval(milliseconds) : 5000
RTCP Interval Multiplier : 5
VAD Adaptive : false
G.711 PLC : none
DTMF Power Level (0.1 dBm) : -120
DTMF Power Twist (0.1 dB) : 0
RTCP Timer Control : startRtpOrRtcpPktRcvd <=Timer Control properly set
VQM Control : disable
RTCPXR Control : enable
RTCPXR Report Frequency : 1
VQM Default Minimum Gap : 16
RTCPXR external R factor : 127
SES Threshold (ms) : 50
Voice IPIP mode : normal
 


 

For more information on the VXSM card, see the “VXSM as a Transcoding Gateway” chapter in the Cisco Voice Switch Service Module (VXSM) Configuration Guide Release 5.5 at: http://www.cisco.com/en/US/docs/switches/wan/mgx/software/mgx_r5.5/voice/vxsm/configuration/guide/config5.html

Codec Filtering

The SBC allows you to restrict which codecs a particular call, caller and callee are allowed to use by whitelisting certain codecs. Initially all recognized codecs are on the whitelist. If a codec is requested which is absent from the call, caller, or callee codec whitelist, then the call still proceeds, but the forbidden codecs are removed from the offer and media gate configuration.

By supporting caller and callee codec lists, the SBC is able to make more intelligent transcoding decisions. If the codec support of either the calling or the called endpoint is known, then setting the caller and/or callee lists in a CAC policy is appropriate. However it may be that other considerations, such as the source adjacency, will affect the codec decision, in which case the per-call codec list can still be used.

For example, if the caller and callee codec lists are set to 'A and B', then all calls would use codec A. However, if a call had come across a transit network X (as indicated by the source adjacency) that only supported codec B, then the user could have an extra policy matching on source adjacency X, setting the per-call codec list to B. Calls crossing network X would then be forced to use codec B.

You can also limit the minimum packetization period of each codec, by configuring a value for the lowest acceptable minimum packetization period for each permitted codec. If a session is requested with a packetization period below this limit, the call still proceeds, but SBC increases the packetization period to the configured minimum value.

For configuration step information, see the “Configuring Codec Filtering Transcoding” section.

Configuring Transcoding After Rejection

In this configuration area, the user supplies a configuration for a list of remote media gateways that may need to be managed by the SBE. This is not required when transcoding is not needed.

The primary reason for transcoding configurations is to configure the capabilities of external media transcoding devices when these devices cannot be discovered automatically. In-band auto-discovery of transcoder capabilities is currently not supported. Therefore, this step must be done when configuring all connections to all current remote transcoding devices.


Note Transcoding configurations can be skipped if the described reason does not apply.


By default, media gateways are allowed to connect whether or not configuration has been supplied for them. To help avoid configuration errors, the SBE logs a warning if an incoming connection is received from a media gateway that is not a DBE and does not have transcoding configured.

The basic steps for implementing transcoding are as follows:

1. Configure the IP address, port, and transport protocol for H.248 media gateway controller on SBC. This step may not be required if the Media Gateway Controller has already been configured.

2. Configure the media gateway IP address.

3. Configure the codecs to be transcoded (for example, between ITU-T G.711 ulaw and ITU-T G.729A).

4. Specify the media gateway as a transcoder.

5. Activate SBE.

This task implements transcoding for SBC.

Once configured, the SBC automatically brings the transcoding device into use for any call requiring transcoding between the codecs as long as the call admission control (CAC) policy configuration does not preclude the transcoder service from being supplied for the call using the transcode-deny command (See the Configuring Call Admission Control Policy Sets, CAC Tables, and Global CAC Policy Sets section in the “Implementing Cisco Unified Border Element (SP Edition) Policies” module).


Note In an H.323 adjacency configuration, you must use the h245-tunnel disable command for H.323 FastStart transcoded calls.


SUMMARY STEPS

1. configure terminal

2. sbc service-name

3. sbe

4. control address h248 index index-number

5. port port-number

6. ipv4 ipv4_IP_address

7. transport [ transport-type ]

8. exit

9. media-gateway ipv4 IPv4-IP-address

10. codecs codec-list

11. transcoder

12. exit

13. activate

14. end

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables global configuration mode.

Step 2

sbc service-name

 

Router(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3

sbe

 

Router(config-sbc)# sbe

Enters the mode of an SBE entity within a SBC service.

Step 4

control address h248 index index-number

 

Router(config-sbc-sbe)# control address h248 index 0

Configures an SBE to use a given IPv4 H.248 control address

Step 5

port port-number

 

Router(config-sbc-sbe-ctrl-h248)# port 2000

Configures an SBE to use a given IPv4 H.248 port for H.248 communications.

Step 6

ipv4 ipv4-IP-address

 

Router(config-sbc-sbe-ctrl-h248)# ipv4 1.1.1.1

Configures an SBE to use a given IPv4 H.248 control address.

Step 7

transport [ transport-type ]

 

Router(config-sbc-sbe-ctrl-h248)# transport udp

Configures transport type for H.248 communications.

Step 8

exit

 

Router(config-sbc-sbe-ctrl-h248)# exit

Exits the current configuration mode.

Step 9

media-gateway ipv4 IPv4-IP-address

 

Router(config-sbc-sbe)# media-gateway ipv4 10.0.0.1

Configures a media gateway.

Step 10

codecs codec-list

 

Router(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729A/8000

Configures the codecs supported by the media gateway. Enters into media gateway codecs configuration mode.

Step 11

transcoder

 

Router(config-sbc-sbe-mg-codecs)# transcoder

Configures the media gateway with transcoder support.

Step 12

exit

 

Router(config-sbc-sbe-mg-codecs)# exit

Exits media gateway codecs configuration mode to the sbe command mode level.

Step 13

activate

 

Router(config-sbc-sbe-mg)# activate

Initiates the SBC service after all SBE address configuration has been successfully committed.

Step 14

end

 

Router(config-sbc)# end

Ends the configuration session.

Configuring Codec Filtering Transcoding

Configure codec filtering transcoding as shown below.

SUMMARY STEPS

1. configure terminal

2. sbc service-name

3. sbe

4. media-gateway ipv4 IPv4_IP_address

5. codecs codec-list

6. transcoder

7. exit

8. cac-policy-set

9. first-cac-table

10. cac-table

11. table-type policy-set

12. entry entry-num

13. caller-codec-list list-name

14. exit

15. exit

16. exit

17. codec-list list-name

18. codec codec-name

19. exit

20. end

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables global configuration mode.

Step 2

sbc service-name

 

Router(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3

sbe

 

Router(config-sbc)# sbe

Enters the mode of an SBE entity within a SBC service.

Step 4

media-gateway ipv4 IPv4-IP-address

 

Router(config-sbc-sbe)# media-gateway ipv4 10.0.0.1

Configures a media gateway.

Step 5

codecs codec-list

 

Router(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729A/8000

Configures the codecs supported by the media gateway.

Step 6

transcoder

 

Router(config-sbc-sbe-mg-codecs)# transcoder

Configures the media gateway with transcoder support.

Step 7

exit

 

Router(config-sbc-sbe-mg-codecs)# exit

Exits the media gateway configuration mode.

Step 8

cac-policy-set

 

Router(config-sbc-sbe)# cac-policy-set 1

Enters the CAC policy submode.

Step 9

first-cac-table

 

Router(config-sbc-sbe-cacpolicy)# first-cac-table 1

Creates or configures the first admission control table.

Step 10

cac-table

 

Router(config-sbc-sbe-cacpolicy)# cac-table 1

Creates or configures an admission control table.

Step 11

table-type policy-set

 

Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set

Configures the Policy Set table type of Call Admission Control (CAC) table.

Step 12

entry

 

Router(config-sbc-sbe-cacpolicy-cactable)# entry 1

Creates or modifies an entry in a table.

Step 13

caller-codec-list list-name

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-codec-list my_codecs

Lists the codecs which the caller leg of a call is allowed to use.

Step 14

exit

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# exit

Exits the CAC table entry configuration mode.

Step 15

exit

 

Router(config-sbc-sbe-cacpolicy-cactable)# exit

Exits the CAC table configuration mode.

Step 16

exit

 

Router(config-sbc-sbe-cacpolicy)# exit

Exits the CAC policy configuration mode.

Step 17

codec-list list-name

 

Router(config-sbc-sbe)# codec-list my_codecs

Creates a codec list and enters the Codec list configuration mode

Step 18

codec codec-name

 

Router(config-sbc-sbe-codec-list)# codec PCMU

Adds a codec to a codec list.

Step 19

exit

 

Router(config-sbc-sbe-codec-list)# exit

Exits the Codec list configuration mode.

Step 20

end

 

Router(config-sbc-sbe)# end

Ends the configuration session.

Configuration Examples for Implementing Transcoding

The example below is a configuration of transcoding after rejection.

Router(config)# sbc mySbc
Router(config-sbc)# sbe
Router(config-sbc-sbe)# control address h248 index 1
Router(config-sbc-sbe-ctrl-h248)# port 2000
Router(config-sbc-sbe-ctrl-h248)# ipv4 88.88.133.2
Router(config-sbc-sbe-ctrl-h248)# transport udp
Router(config-sbc-sbe-ctrl-h248)# exit
Router(config-sbc-sbe)# media-gateway ipv4 10.0.0.1
Router(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729A/8000
Router(config-sbc-sbe-mg-codecs)# transcoder
Router(config-sbc-sbe-mg-codecs)# exit
Router(config-sbc-sbe-mg)# activate
Router(config-sbc)# end
 

 

Below is an example of codec filtering transcoding.

Router(config)# ip route 10.0.20.33 255.255.255.255 10.130.10.33
Router(config)# ip route 0.0.0.0 0.0.0.0 10.74.50.114
Router(config)# ip route 0.0.0.0 0.0.0.0 10.130.10.1
 
Router(config)# snmp-server community cisco group Network-Monitor
Router(config)# snmp-server community public group Network-Monitor
Router(config)# snmp-server community private group Network-Monitor
 
Router# configure terminal
Router(config)# sbc sbc-11
Router(config-sbc)# sbe
Router(config-sbc-sbe)# media-gateway ipv4 10.100.181.2
Router(config-sbc-sbe-mg)# codecs m=audio 20000 RTP/AVP 0 8 18,a=rtpmap:0 PCMU/8000,a=rtpmap:8 PCMA/8000,a=rtpmap:18 G729/8000
Router(config-sbc-sbe-mg)# transcoder
 
Router(config-sbc-sbe)# control address h248 index 1
Router(config-sbc-sbe-ctrl-h248)# ipv4 10.130.10.4
Router(config-sbc-sbe-ctrl-h248)# transport udp
 
Router(config-sbc-sbe)# adjacency sip SIPP81
Router(config-sbe-adj-sip)# nat force-off
Router(config-sbc-sbe-adj-sip)# preferred-transport udp
Router(config-sbc-sbe-adj-sip)# redirect-mode pass-through
Router(config-sbe-adj-sip)# authentication nonce timeout 300
Router(config-sbe-adj-sip)# signaling-address ipv4 10.130.10.4
Router(config-sbc-sbe-adj-sip)# signaling-port 5060
Router(config-sbc-sbe-adj-sip)# remote-address ipv4 10.0.244.81 255.255.255.255
Router(config-sbc-sbe-adj-sip)# signaling-peer 10.0.244.81
Router(config-sbc-sbe-adj-sip)# signaling-peer-port 5060
Router(config-sbc-sbe-adj-sip)# dbe-location-id 0
Router(config-sbc-sbe-adj-sip)# reg-min-expiry 3000
Router(config-sbc-sbe-adj-sip)# attach
Router(config-sbc-sbe)# adjacency sip SIPP91
Router(config-sbc-sbe-adj-sip)# nat force-off
Router(config-sbc-sbe-adj-sip)# preferred-transport udp
Router(config-sbc-sbe-adj-sip)# redirect-mode pass-through
Router(config-sbc-sbe-adj-sip)# authentication nonce timeout 300
Router(config-sbc-sbe-adj-sip)# signaling-address ipv4 10.130.10.4
Router(config-sbc-sbe-adj-sip)# signaling-port 5060
Router(config-sbc-sbe-adj-sip)# remote-address ipv4 10.0.244.91 255.255.255.255
Router(config-sbc-sbe-adj-sip)# signaling-peer 10.0.244.91
Router(config-sbc-sbe-adj-sip)# signaling-peer-port 5060
Router(config-sbc-sbe-adj-sip)# dbe-location-id 0
Router(config-sbc-sbe-adj-sip)# reg-min-expiry 3000
Router(config-sbc-sbe-adj-sip)# attach
 
Router(config-sbc-sbe)# sip inherit profile preset-core
 
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# first-cac-table table
Router(config-sbc-sbe-cacpolicy)# first-cac-scope call
Router(config-sbc-sbe-cacpolicy)# averaging-period 60
Router(config-sbc-sbe)# cac-table table
Router(config-sbc-sbe-cacpolicy-cactable)# match-type adjacency
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable-entry)# match-value SIPP81
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-bandwidth 64009 Gbps
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-updates 4294967295
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-channels 4294967295
Router(config-sbc-sbe-cacpolicy-cactable-entry)# early-media-type full-duplex
Router(config-sbc-sbe-cacpolicy-cactable-entry)# early-media-timeout 0
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-codec-list allow711u
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-privacy never
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-privacy never
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-hold-setting standard
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-hold-setting standard
Router(config-sbc-sbe-cacpolicy-cactable)# entry 2
Router(config-sbc-sbe-cacpolicy-cactable-entry)# match-value SIPP91
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-bandwidth 64009 Gbps
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-updates 4294967295
Router(config-sbc-sbe-cacpolicy-cactable-entry)# max-channels 4294967295
Router(config-sbc-sbe-cacpolicy-cactable-entry)# early-media-type full-duplex
Router(config-sbc-sbe-cacpolicy-cactable-entry)# early-media-timeout 0
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-codec-list allowg729
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-privacy never
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-privacy never
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-hold-setting standard
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-hold-setting standard
Router(config-sbc-sbe-cacpolicy-cactable-entry)# complete
 
Router (config-sbc-sbe)# active-cac-policy-set 1
 
Router (config-sbc-sbe)# retry-limit 3
 
Router (config-sbc-sbe)# call-policy-set 1
Router(config-sbc-sbe-rtgpolicy)# first-call-routing-table table
Router(config-sbc-sbe-rtgpolicy-rtgtable)# entry 1
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency SIPP91
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address 318X
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# prefix
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# complete
 
Router (config-sbc-sbe)# active-call-policy-set 1
 
Router(config-sbc-sbe)# sip max-connections 2
Router(config-sbc-sbe)# sip timer
Router(config-sbc-sbe-sip-tmr)# tcp-idle-timeout 120000
Router(config-sbc-sbe-sip-tmr)# tls-idle-timeout 3600000
Router(config-sbc-sbe-sip-tmr)# udp-response-linger-period 32000
Router(config-sbc-sbe-sip-tmr)# udp-first-retransmit-interval 500
Router(config-sbc-sbe-sip-tmr)# udp-max-retransmit-interval 4000
Router(config-sbc-sbe-sip-tmr)# invite-timeout 180
 
Router (config-sbc-sbe)# codec-list allow711u
Router(config-sbc-sbe-codec-list)# codec PCMU
 
Router (config-sbc-sbe)# codec-list allowg729
Router(config-sbc-sbe-codec-list)# codec G729
 
Router(config-sbc-sbe)# h323
Router(config-sbc-sbe-h323)# ras timeout arq 5000
Router(config-sbc-sbe-h323)# ras retry arq 2
Router(config-sbc-sbe-h323)# ras timeout brq 3000
Router(config-sbc-sbe-h323)# ras retry brq 2
Router(config-sbc-sbe-h323)# ras timeout drq 3000
Router(config-sbc-sbe-h323)# ras retry drq 2
Router(config-sbc-sbe-h323)# ras timeout grq 5000
Router(config-sbc-sbe-h323)# ras retry grq 2
Router(config-sbc-sbe-h323)# ras timeout rrq 3000
Router(config-sbc-sbe-h323)# ras retry rrq 2
Router(config-sbc-sbe-h323)# ras rrq ttl 60
Router(config-sbc-sbe-h323)# ras timeout urq 3000
Router(config-sbc-sbe-h323)# ras retry urq 1
Router(config-sbc-sbe-h323)# h225 timeout proceeding 10000
Router(config-sbc-sbe-h323)# h225 timeout establishment 180000
Router(config-sbc-sbe-h323)# h225 timeout setup 4000
Router(config-sbc-sbe-h323)# ras rrq keepalive 45000
 
Router(config-sbc-sbe)# h323
Router(config-sbc-sbe-adj-h323)# adjacency timeout 30000
 
Router(config-sbc-sbe)# blacklist
Router(config-sbc-sbe-blacklist)# global
 
Router(config-sbc-sbe)# blacklist
Router(config-sbc-sbe-blacklist)# address-default
 
Router(config-sbc-sbe)# redirect-limit 2
Router(config-sbc-sbe)# deact-mode normal
Router (config-sbc-sbe)# activate
 
Router(config-sbc)# dbe
Router(config-sbc-dbe)# location-id 0
Router(config-sbc-dbe)# media-timeout 360
Router(config-sbc-dbe)# deact-mode normal
Router (config-sbc-dbe)# activate

Verification

Use the following show sbc sbe media-gateway-associations command to display a list of known media gateways with an active association and to verify the operation:

The following example shows the SBC and media communications.

Router# show sbc slt-n2 sbe media-gateway-associations
 
SBC Service "slt-n2"
Media gateway 192.169.125.1:2944
Gateway Protocol = megaco
Transport Protocol = UDP
Local Address = 22.46.0.11:2944
 
Sent Received Failed Retried
Requests 117 2 1 7
Replies 2 116 - 0

Voice Transcoding Per Adjacency Statistics

The Voice Transcoding Per Adjacency Statistics feature provides the transcoding statistics to the user for voice calls at both global and adjacency levels. The feature analyzes the consumption of the cards, such as the DSP cards, that provide the transcoding functions.

The transcoding statistics include the following information:

  • The number of active transcoding media stream for each codec pair over several summary periods at global and adjacency scopes. The statistic also provides a high water mark for the corresponding codec pair.
  • The number of active transcoding calls both per-adjacency and globally are listed. The statistics can be listed both at global and adjacency scopes for the list of codec pairs.
  • The statistics display the codec names for the following codecs, if the transcoding call uses any other codecs, the codec name is displayed as Other :

– G711A

– G711U

– G729

– GSM

– T38

– CLEAR

Configuring the Voice Transcoding Per Adjacency Statistics

This task shows how to configure the Voice Transcoding Per Adjacency Statistics feature, list the transcoding statistics as per the scope and summary period, and also reset the transcoding statistics.

SUMMARY STEPS

1. configure terminal

2. sbc sbc-name

3. sbe

4. transcoding-stats enable

5. end

6. show sbc sbc-name sbe transcoding-stats { global | adjacency adjacency-name } { current15mins | current5mins | currentday | currenthour | current-indefinite | previous15mins | previous5mins | previousday | previoushour }

7. clear sbc sbc-name sbe transcoding-stats [ global | adjacency adjacency-name ] [ all | current-indefinite ]

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables global configuration mode.

Step 2

sbc sbc-name

 

Router(config)# sbc mySBC

Enters the SBC service mode. Use the sbc-name argument to define the name of the service.

Step 3

sbe

 

Router(config-sbc)# sbe

Enters the SBE entity mode within a SBC service.

Step 4

transcoding-stats enable

 

Router(config-sbc-sbe)# no transcoding-stats enable

Enables or disables the transcoding related statistics for the SBC.

The following warning is issued and the user needs to confirm y (Yes) or n (No) to enable or disable the transcoding statistics:

Note This will re-activate the SBC, and existing calls will be impacted[confirm]

By default, the transcoding related statistics for the SBC is enabled.

Step 5

end

 

Router(config-sbc-sbe)# end

Exits the SBE entity mode and enters the Privileged Exec mode.

Step 6

show sbc sbc-name sbe transcoding-stats { global | adjacency adjacency-name } { current15mins | current5mins | currentday | currenthour | current-indefinite | previous15mins | previous5mins | previousday | previoushour }

 

Router# show sbc mySBC sbe transcoding-stats adjacency SIPP current5mins

Lists the voice transcoding statistics for the required scope and summary period.

  • adjacency —Lists the transcoding statistics for the specified adjacency.
  • global —Lists the globally scoped statistics for the entire SBC.
  • current15mins —Lists the statistics for the current 15 minute interval.
  • current5mins —Lists the statistics for the current 5 min. interval.
  • currentday —Lists the statistics for the current day from midnight.
  • currenthour —Lists the statistics for the current hour.
  • currentindefinite —Lists the statistics for the period since the last explicit reset.
  • previous15mins —Lists the statistics for the previous 15 minute interval.
  • previous5mins —Lists the statistics for the previous 5 min. interval.
  • previousday —Lists the statistics for the previous day.
  • previoushour —Lists the statistics for the previous hour.

Step 7

clear sbc sbc-name sbe transcoding-stats [ global | adjacency adjacency-name ] [ all | current-indefinite ]

 

Router# clear sbc mySBC sbe adjacency SIPP all

Clears the transcoding statistics for all or current-indefinite summary period.

  • adjacency —Clears statistics for the adjacency.
  • global —Clears the global transcoding statistics.
  • all —Clears statistics for all summary periods.
  • currentindefinite —Clear statistics for only the current-indefinite period.

The following example shows the output of the show sbc sbe transcoding-stats adjacency current15mins command:

Router# show sbc mySBC sbe transcoding-stats adjacency SIPP current15mins
 
Codec1 Codec2 Transcoded Stream HWM of TranscodedStream Last Reset
G711A G711U 4 10 2010/09/10 19:27:15
 

Media Gateway-Assisted DTMF Interworking

The SBC enables inband DTMF interworking using media gateway switches such as the MGX 8880. A Cisco MGX 8880 is used with DTMF interworking in the following scenarios:

  • As a transcoder—DTMF interworking between media plane and signaling is supported.
  • As an inband DTMF extractor or injector.

The SBC supports two types of media plane DTMF:

  • RFC2833 (telephone-event)
  • Inband DTMF—DTMF inband audio stream, such as G.711. To support inband DTMF, MGX performs the following tasks:

– Monitors the audio stream.

– Extracts the DTMF signal.

– Reports or injects the DTMF signal into the voice band, and vice versa.

DTMF Interworking with MGX as Transcoder

When the SBC uses an external transcoder, such as MGX, DTMF interworking is supported for the following:

  • Between media and signaling in a call.
  • For both, negotiated transcoding and transcoding provisioned through the use of codec lists.
  • Between supported media formats, such as RFC2833, and supported SIP signaling formats, such as INFO or NOTIFY.

Inband DTMF Support—Interworking Without a Transcoder

The SBC supports a call or adjacency policy to indicate when an inband DTMF tone is monitored. Monitoring an inband DTMF tone can either be forced, or an optional task in the absence of any other DTMF support.

The SBC enables interworking between any two of the three supported DTMF formats, which include:

  • Inband
  • RFC 2833 telephone events
  • Signaling.

In the event of a failover, active calls using any DTMF interworking option are protected, and the interworking capability is retained on restoration.

The SBC provides a per-adjacency option to enforce an inband DTMF-compatible codec negotiation if no other methods are available for receiving or sending DTMF.

Configuring Inband DTMF Interworking

To configure inband DTMF interworking, perform the following steps.


Note The caller and callee commands have been used in this procedure. In some scenarios, the branch command can be used as an alternative to the caller and callee command pair. The branch command has been introduced in Release 3.5.0. See the “Configuring Directed Nonlimiting CAC Policies” section for information about this command.


SUMMARY STEPS

1. configure terminal

2. sbc service-name

3. sbe

4. cac-policy-set policy-set-id

5. first-cac-scope scope-name

6. first-cac-table table-name

7. cac-table table-name

8. table-type {policy-set | limit {list of limit tables}}

9. entry entry-id

10. cac-scope {list of scope options }

11. callee inband-dtmf-mode {always | inherit | maybe | never}

12. caller inband-dtmf-mode {always | inherit | maybe | never}

13. complete

14. active-call-policy-set policy-set-id

15. end

16. show sbc service-name sbe cac-policy-set id table name entry entry

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables global configuration mode.

Step 2

sbc service-name

 

Router(config)# sbc mysbc

Enters the submode of an SBC service.

Step 3

sbe

 

Router(config-sbc)# sbe

Configures the submode of the SBE entity within an SBC service.

Step 4

cac-policy-set policy-set-id

 

Router(config-sbc-sbe)# cac-policy-set 1

Enters the submode of the CAC policy.

Step 5

first-cac-scope scope-name

 

Router(config-sbc-sbe-cacpolicy)# first-cac-scope global

Configures the scope at which to begin defining limits when performing the admission control stage of policy.

Note The first-cac-scope definition is relevant only if the table type configured by the first-cac-table command is a Limit table. In that case, the scope of the first-cac-table is determined by first-cac-scope. If the first-cac-table is a Policy Set table, the first-cac-scope is ignored, and defaults to Global.

The scope-name argument configures the scope at which limits should be defined initially. Possible scope-name values are:

  • adj-group
  • call
  • category
  • dst-account
  • dst-adj-group
  • dst-adjacency
  • dst-number
  • global
  • src-account
  • src-adj-group
  • src-adjacency
  • src-number

Features can be enabled or disabled per adjacency group through CAC configuration the same way this is done per individual adjacency.

Step 6

first-cac-table table-name

 

Router(config-sbc-sbe-cacpolicy)# first-cac-table first_policy_table

Configures the name of the first policy table to be processed when performing the admission control stage of the policy.

Step 7

cac-table table-name

 

Router(config-sbc-sbe-cacpolicy)# cac-table first_policy_table

Enters the mode for configuration of an admission control table (creating one, if necessary) within the context of an SBE policy set.

Step 8

table-type {policy-set | limit {list of limit tables}}

 

Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set

Configures the table type of a CAC table within the context of an SBE policy set.

The list of limit tables argument controls the syntax of the match-value fields of the entries in the table. Possible list of limit tables values are:

  • account —Compare with name of the account.
  • adj-group —Compare with name of the adjacency group.
  • adjacency —Compare with name of the adjacency.
  • all —No comparison type. All events match this type.
  • call-priority —Compare with call priority.
  • category —Compare with number analysis-assigned category.
  • dst-account —Compare with name of the destination account.
  • dst-adj-group —Compare with name of the destination adjacency group.
  • dst-adjacency —Compare with name of the destination adjacency.
  • dst-prefix —Compare with beginning of the dialed digit string.
  • event-type —Compare with CAC policy event types.
  • src-account —Compare with name of the source account.
  • src-adj-group —Compare with name of the source adjacency group.
  • src-adjacency —Compare with name of the source adjacency.
  • src-prefix —Compare with beginning of the calling number string.

Note For Limit tables, the event, message, call matches only a single entry.

Features can be enabled or disabled per adjacency group through CAC configuration the same way this is done per individual adjacencies. The adj-group table type matches with either the source or the destination adjacency group.

When the policy-set keyword is specified, use the cac-scope command to configure the scope within each entry at which limits are applied in a CAC Policy Set table.

Note For Policy Set tables, the event, call or message, is applied to all entries in this table.

Step 9

entry entry-id

 

Router(config-sbc-sbe-cacpolicy-cactable)# entry 1

Enters the mode to create or modify an entry in an admission control table.

Step 10

cac-scope { list of scope options }

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# cac-scope call

Configures the scope within each entry at which limits are applied in a Policy Set table.

Only per-call scope can be configured when using the codec-restrict-to-list command.

list of scope options— Specifies one of the following strings used to match events:

  • account —Events that are from the same account.
  • adjacency —Events that are from the same adjacency.
  • adj-group —Events that are from members of the same adjacency group.
  • call —Scope limits are per single call.
  • category —Events that have the same category.
  • dst-account —Events that are sent to the same account.
  • dst-adj-group —Events that are sent to the same adjacency group.
  • dst-adjacency —Events that are sent to the same adjacency.
  • dst-number —Events that have same destination.
  • global —Scope limits are global.
  • src-account —Events that are from the same account.
  • src-adj-group —Events that are from the same adjacency group.
  • src-adjacency —Events that are from the same adjacency.
  • src-number —Events that have the same source number.
  • sub-category —The limits specified in this scope apply to all the events sent to or received from members of the same subscriber category.
  • sub-category-pfx —The limits specified in this scope apply to all events sent to or received from members of the same subscriber category prefix.
  • subscriber —The limits specified in this scope apply to all the events sent to or received from individual subscribers

A device that is registered with a Registrar server.

Step 11

callee inband-dtmf-mode {always | inherit | maybe | never}

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee inband-dtmf-mode always

To configure a DTMF inband mode for the callee side, use the callee inband-dtmf-mod e command in the CAC table configuration mode.To deconfigure the DTMF inband mode for the callee side, use the no form of this command.

The callee inband-dtmf-mod e specifies one of the following strings:

  • always —The inband DTMF tones are always in use by an endpoint.
  • inherit —The inband DTMF mode for an endpoint is not affected by the CAC entry.
  • maybe —The inband DTMF tones are used by an endpoint unless signaling indicates that an alternative format for a DTMF is in use.
  • never —An endpoint never uses inband DTMF.

Step 12

caller inband-dtmf-mode {always | inherit | maybe | never}

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller inband-dtmf-mode never

To configure the DTMF inband mode for the caller side, use the caller inband-dtmf-mode command in the CAC table configuration mode.To deconfigure the DTMF inband mode for the caller side, use the no form of this command.

The caller inband-dtmf-mod e specifies one of the following strings:

  • always —The inband DTMF tones are always in use by an endpoint.
  • inherit —The inband DTMF mode for an endpoint is not affected by the CAC entry.
  • maybe —The inband DTMF tones are used by an endpoint unless signaling indicates that an alternative format for a DTMF is in use.
  • never —An endpoint never uses inband DTMF.

Step 13

complete

 

Router(config-sbc-sbe-cacpolicy)# complete

Completes the CAC-policy.

Step 14

active-call-policy-set policy-set-id

 

Router(config-sbc-sbe-cacpolicy)# cac-policy-set global 1

Sets the active routing policy set within an SBE entity.

Step 15

end

 

Router(config-sbc-sbe-cacpolicy)# end

Exits the cac-policy-set configuration mode and enters the Privileged EXEC mode.

Step 16

show sbc service-name sbe cac-policy-set id table name entry entry

 

Router# show sbc mysbc sbe cac-policy-set 1 table standard_policy_list entry 1

Displays detailed information, including DTMF interworking, pertaining to a specific entry in a CAC policy table.

Configuring Codecs to Support Inband DTMF

To configure the codecs to support inband DTMF, perform the following tasks:

SUMMARY STEPS

1. configure terminal

2. sbc service-name

3. sbe

4. codec system system-name id

5. options {none | transrate | transcode | inband-dtmf}

6. end

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables the global configuration mode.

Step 2

sbc service-name

 

Router(config)# sbc mysbc

Enters the submode of an SBC service.

Step 3

sbe

 

Router(config-sbc)# sbe

Configures the submode of the SBE entity within an SBC service.

Step 4

codec system system id

 

Router(config-sbc-sbe)# codec system GSM id 3

Specifies the name of the system, analog-to-digital codec (enCOder/DECoder), and enters the Codec definition mode.

Step 5

options {none | transrate | transcode | inband-dtmf}

 

Router(config-sbc-sbe-codec-def)# options inband-dtmf

Configures the codec that will support voice inband DTMF. The values for the options are:

  • none
  • transrate
  • transcode
  • inband-dtmf

Step 6

end

 

Router(config-sbc-sbe-cacpolicy)# end

Exits the cac-policy-set configuration mode and enters the Privileged EXEC mode.

Blended Transcoding

The Blended Transcoding feature enables the SBC to establish sessions without transcoding.

Do not enable the Blended Transcoding feature in the following situations:

  • When using H.323 or SIP-H.323 interworking calls
  • When the calls are under transcoding video streams
  • When the calls are in fax transcoding

The Blended Transcoding feature does not work with the following features:

  • Media Bypass
  • H.323 Calls and SIP-H.323 Interworking
  • Late-Early Interworking
  • Downstream Forking with Codec Change
  • Local Call Transfer
  • IMS (Gq and Rx)

Before you enable the Blended Transcoding feature, make sure that the DSP farm codec is already configured. For more information about the DSP farm codec configuration, see the Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model at:

http://www.cisco.com/en/US/partner/docs/routers/asr1000/configuration/guide/sbcu/sbc_spadsp.html#wp1157164

Enabling Blended Transcoding

To enable the Blended Transcoding feature, perform the following steps:

SUMMARY STEPS

1. configure terminal

2. sbc sbc-name

3. sbe

4. codec list list-name

5. codec codec-name

6. cac-policy-set cac-policy-name

7. first-cac-table table-name

8. cac-table cac-table-name

9. table-type limit adjacency

10. entry entry-id

11. match-value string-value

12. blended-transcode

13. blended-codec-list codec-list-name

14. action cac-complete

15. complete

16. cac-policy-set global policy-set-id

DETAILED STEPS

 

 
Command or Action
Purpose

Step 1

configure terminal

 

Router# configure terminal

Enables the global configuration mode.

Step 2

sbc sbc-name

 

Router(config)# sbc mysbc

Enables the SBC service.

Step 3

sbe

 

Router(config-sbc)# sbe

Enters the mode of the SBE entity within an SBC service.

Step 4

codec list list-name

 

Router(config-sbc-sbe)# codec list my_codecs

Creates a codec list.

Step 5

codec codec-name

 

Router(config-sbc-sbe-codec-list)# codec PCMU

Adds a codec to the codec list.

Step 6

cac-policy-set policy-set-id

 

Router(config-sbc-sbe)# cac-policy-set 1

Creates a new call admission control (CAC) policy set.

Step 7

first-cac-table table-name

 

Router(config-sbc-sbe-cacpolicy)# first-cac-table BlendedTranscodeTable

Specifies the admission control table that should be processed first.

Step 8

cac-table cac-table-name

 

Router(config-sbc-sbe-cacpolicy)# cac-table BlendedTranscodeTable

Creates an admission control table.

Step 9

table-type limit adjacency

 

Router(config-sbc-sbe-cacpolicy-cactable)# table-type limit adjacency

Configures a CAC table type that determines the priority of the call to be used as a criterion in the CAC policy.

Step 10

entry entry-id

 

Router(config-sbc-sbe-cacpolicy-cactable)# entry 1

Creates an entry in the CAC table.

Step 11

match-value string-value

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# match-value SIP3

Specifies the adjacency that is to be enabled with the Blended Transcoding feature.

Step 12

blended-transcode

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# blended-transcode

Enables the Blended Transcoding feature.

Step 13

blended-codec-list codec-list name

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# blended-codec-list my_codecs

Configures a blended codec list.

Step 14

action cac-complete

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete

Configures the action to be performed after the CAC entry in an admission control table; indicates that this CAC policy is complete.

Step 15

complete

 

Router(config-sbc-sbe-cacpolicy-cactable-entry)# complete

Ends the configuration of the CAC table, and goes back to the SBC SBE configuration mode.

Step 16

cac-policy-set global policy-set-id

 

Router (config-sbc-sbe)# cac-policy-set global 1

Activates the global CAC policy set within the SBE entity.

Configuration Example for Blended Transcoding

The following example shows how to enable the Blended Transcoding feature:

codec list codec-a
codec PCMU
codec G729
cac-policy-set 1
first-cac-table BlendedTranscodingTable
cac-table BlendedTranscodingTable
table-type limit adjacency
entry 1
match-value SIP3
blended-transcode
blended-codec-list codec-a
action cac-complete
complete
cac-policy-set global 1