Unified Border Element Transcoding Configuration Example

The Cisco Unified Border Element (CUBE) supports transcoding for calls that pass through and that require different codecs on the two call legs. Transcoding between various codecs is supported, and CUBE inserts a transcoder based on configuration as well as a mismatch between the codecs negotiated on the two call legs of the calls.

Transcoding requires DSPs to terminate the RTP stream and to decode and encode the voice payload with the appropriate codec. The DSPs used by CUBE for transcoding may be either co-resident on the same router as CUBE or may be located on a separate router platform.

Ensure that you meet these requirements before you attempt this configuration:

The information in this document is based on:

  • Cisco Unified Border Element that runs on a Cisco 3745 router and uses Cisco IOS release 12.3.11T or later

  • Transcoding DSP resources on a Cisco AS5400XM access server with an AS5X-FC feature card populated with AS5X-PVDM2-64 DSP cards

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Refer to Cisco Technical Tips Conventions for more information on document conventions.

In this section, you are presented with the information to configure the features described in this document.

Note: Use the Command Lookup Tool (registered customers only) to obtain more information on the commands used in this section.

This figure shows an example of CUBE with external DSPs for transcoding:

cube_transcode.gif

The DSP resources can also be internal to (or co-resident of) the same router platform that hosts CUBE. If this is the case, the control of the DSP resources is local to the router, and the SCCP control flow in the figure is not present.

The DSP resources that CUBE uses for transcoding must be configured regardless of whether or not the DSPs are co-resident with CUBE. The only difference in the configurations is the IP addressing between CUBE and the DSP resources. For a co-resident configuration, the IP address is the same for both.

This section describes how to configure external DSP transcoding. A Cisco 3745 router is used as a CUBE, and an AS5400XM is used for hosting the DSP resources for transcoding.

The configuration applies to this call flow:

  1. The call starts from the OGW towards CUBE via H.323 with G.711.

  2. CUBE forwards the call via H.323 to the OGW (which is configured for G.729).

  3. For the call setup to the TGW to be successful, a codec conversion is required from G.711 to G.729. If transcoding resources are not configured or available, the call setup fails.

A CUBE router is configured to control the DSP resources for transcoding. This configuration uses the telephony-service command, which is similar to the transcoding configuration for Cisco Unified Communication Manager Express. The DSP resources register with the controlling entity (which in this example is CUBE, but could also be CUCME or CUCM).

3745 CUBE
vdouut3#show running-config | begin telephony  ! telephony-service sdspfarm units 1 -- Specifies the maximum number of DSP farms that can be registered to CUBE. A maximum of 5 DSP resource units (farms) can be configured. sdspfarm transcode sessions 128 -- Specifies the maximum transcoding sessions supported across all DSP farms registered with CUBE. sdspfarm tag 1 vdouut1 -- Specifies the device name of the DSP farm. For uniqueness the device name can be the MAC address of the DSP source interface. In this example the hostname of the DSP farm router is used. ip source-address 1.2.61.73 port 2000 – The IP address and port-no: (TCP) of the interface through which SCCP messages are transmitted/received from CUBE.

A router is configured to host DSP resources for transcoding used by a controlling entity, which in this example is CUBE on a different router. The DSP resources are registered with the controlling entity to make them available to call flows.

DSP Farm
vdouut1#show running-config | begin voice-card  voice-card 1 dsp services dspfarm –- This makes the DSPs available for “DSP farming” which includes transcoding services. vdouut1#show running-config | begin sccp sccp local GigabitEthernet0/0 -- Defines the source interface of the DSP farm through which SCCP messages are exchanged with controlling CUBE. sccp ccm 1.2.61.73 identifier 1 -- Specifies the IP address of the CUBE system that the DSP farm registers to. This should match the CUBE IP address on the “ip source-address” configuration on CUBE. sccp sccp ccm group 1 -- Group configuration for linking “sccp ccm global” configurations as well as the dspfarm profile(s) bind interface GigabitEthernet0/0 associate ccm 1 priority 1 -- Associate the sccp identifier “ccm” with the “sccp ccm group”. associate profile 1 register vdouut1 -- Associate the dspfarm profile with the DSP farm device name. In this example the hostname of the DSP farm hosted router is used (vdouut1). The same name must be used on CUBE where “sdspfarm tag 1” is configured. ! dspfarm profile 1 transcode -- Configure the dspfarm profile to define the codecs supported, the maximum sessions, and enable SCCP. codec g711ulaw codec g711alaw codec g729ar8 codec g729abr8 codec g729r8 codec g729br8 maximum sessions 128 associate application SCCP

This section provides a full configuration example for a setup where the same router (an AS5400XM) is configured both to host CUBE and the DSP resources for transcoding. Salient parts of the configuration aredisplayed in bold text.

The differences between this configuration setup and DSP Farm Configuration for Hosting External Transcoding DSP Resources are as follows:

  • The actual DSP resources (“voice-card x” > “dsp services dspfarm”) and the controlling entity (“telephony-service”) appear on the same router.

  • The IP address of the DSP resources (“sccp ccm 9.13.29.30 identifier 1”) and the IP address of the controlling entity (“telephony-service” > “ip source-address 9.13.29.30 port”) are the same.

5400XM
5400XM#show run  Building configuration... Current configuration : 3149 bytes ! version 12.4 service config service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname 5400XM ! boot-start-marker no boot startup-test boot-end-marker ! logging buffered 100000000 debugging no logging console enable secret 5 $1$g301$4BVklIIq97tihABYS6Guy/ enable password xxx ! resource-pool disable no aaa new-model ! resource policy ! voice-card 1 dsp services dspfarm  ! voice-card 5 ! ip cef ! voice service voip allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip  h323 modem passthrough none codec g729r8 pre-ietf ! controller T1 5/0 framing sf linecode ami ! controller T1 5/1 framing sf linecode ami ! controller T1 5/2 framing sf linecode ami ! controller T1 5/3 framing sf linecode ami ! controller T1 5/4 framing sf linecode ami ! controller T1 5/5 framing sf linecode ami ! controller T1 5/6 framing sf linecode ami ! controller T1 5/7 framing sf linecode ami ! interface GigabitEthernet0/0 ip address 9.13.29.30 255.255.255.0 duplex auto speed auto negotiation auto no cdp enable ! interface GigabitEthernet0/1 no ip address shutdown duplex auto speed auto negotiation auto no cdp enable ! interface Serial0/0 no ip address shutdown clock rate 2000000 no fair-queue ! interface Serial5/0 no ip address shutdown ! interface Serial0/1 no ip address shutdown clock rate 2000000 no cdp enable ! ip route 0.0.0.0 0.0.0.0 9.13.29.1 ! no ip http server ! dialer-list 1 protocol ip permit ! sccp local GigabitEthernet0/0 sccp ccm 9.13.29.30 identifier 1 version 4.0 -- Use its own IP address sccp ! sccp ccm group 1 associate ccm 1 priority 1 associate profile 1 register XCODE123456 keepalive retries 1 keepalive timeout 10 switchover method immediate switchback method immediate ! dspfarm profile 1 transcode codec g711ulaw codec g711alaw codec g729ar8 codec g729abr8 codec gsmfr codec g729r8 codec g729br8 maximum sessions 10 associate application SCCP  ! dial-peer voice 1 voip destination-pattern 630222100. session protocol sipv2 session target ipv4:9.13.29.22 dtmf-relay rtp-nte digit-drop codec g711ulaw ! dial-peer voice 2 voip session protocol sipv2 incoming called-number 630222100. codec g729br8 bytes 10 ! dial-peer voice 3 voip destination-pattern 2000 session protocol sipv2 session target ipv4:9.13.29.22 dtmf-relay rtp-nte digit-drop ! dial-peer voice 4 voip session protocol sipv2 incoming called-number 2000 codec g711ulaw ! gatekeeper shutdown ! telephony-service max-ephones 1 max-dn 1 ip source-address 9.13.29.30 port 2000 --> Use its own IP address sdspfarm units 1 sdspfarm transcode sessions 10 sdspfarm tag 1 XCODE123456  ss7 mtp2-variant Bellcore 0 ss7 mtp2-variant Bellcore 1 ss7 mtp2-variant Bellcore 2 ss7 mtp2-variant Bellcore 3 ! line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 password cisco login ! scheduler allocate 10000 400 no process cpu extended no process cpu autoprofile hog end

The output in this section pertains to the configuration setup for external transcoding.

The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the OIT to view an analysis of show command output.

The device name with which the DSP farm is registered with CUBE and the IP address of the DSP farm host router are displayed in bold text.

vdouut3#show sdspfarm units  Load for five secs: 0%/0%; one minute: 0%; five minutes: 3% Time source is NTP, 23:46:40.649 PST Tue Nov 21 2006 mtp-1 Device:vdouut1  TCP socket:[1] REGISTERED  actual_stream:256 max_stream 256 IP:1.2.61.71  27519 MTP YOKO keepalive 45 Supported codec: G711Ulaw G711Alaw G729 G729a G729b G729ab max-mtps:1, max-streams:256, alloc-streams:256, act-streams:0

This output shows the CUBE configuration setup.

vdouut3#show telephony-service  ip source-address 1.2.61.73 port 2000 max-ephones 128 max-dn 1 max-conferences 8 gain -6 dspfarm units 1 dspfarm transcode sessions 128 dspfarm 1 vdouut1

This output shows that after a call is made the codecs (displayed in bold text) that are used for the call legs through CUBE.

vdouut3#show sdspfarm sessions active  Load for five secs: 1%/0%; one minute: 1%; five minutes: 1% Time source is NTP, 23:52:43.922 PST Tue Nov 21 2006 Stream-ID:37 mtp:1 1.2.61.71 20190 Local:2000 START usage: Ip-Ip codec:G729  duration:20 vad:0 peer Stream-ID:38 Stream-ID:38 mtp:1 1.2.61.71 21326 Local:2000 START usage: Ip-Ip codec:G711Ulaw64k duration:20 vad:0 peer Stream-ID:37

This output shows the sessions active between the OGW and the TGW through CUBE.

vdouut3#show voip rtp connections  Load for five secs: 1%/0%; one minute: 1%; five minutes: 1% Time source is NTP, 23:54:22.722 PST Tue Nov 21 2006 VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 3991 3992 18496 17430 1.2.61.73 1.2.61.48  2 3992 3991 17382 19706 1.2.61.73 1.2.61.68  Found 2 active RTP connections

This output shows a compact summary of the active sessions and the codecs (displayed in bold text) used by the call legs.

vdouut3#show call active voice compact  Load for five secs: 1%/0%; one minute: 1%; five minutes: 1% Time source is NTP, 02:31:58.156 PST Wed Nov 22 2006 <callID> A/O FAX T<sec> Codec type Peer Address IP R<ip>:<udp> Total call-legs: 2 4023 ANS T25 g711ulaw  VOIP P5200 1.2.61.48:16934 4024 ORG T25 g729r8  VOIP P6200 1.2.61.68:17040

This output shows the status of the DSP resources registration status. Salient information appears in bold text.

vdouut1#show sccp  SCCP Admin State: UP  Gateway IP Address: 1.2.61.71, Port Number: 2000  IP Precedence: 5 User Masked Codec list: None Call Manager: 1.2.61.73, Port Number: 2000  Priority: N/A, Version: 3.1, Identifier: 1 Transcoding Oper State: ACTIVE  - Cause Code: NONE Active Call Manager: 1.2.61.73, Port Number: 2000 TCP Link Status: CONNECTED, Profile Identifier: 1 Reported Max Streams: 256, Reported Max OOS Streams: 0 Supported Codec: g711ulaw, Maximum Packetization Period: 30 Supported Codec: g711alaw, Maximum Packetization Period: 30 Supported Codec: g729ar8, Maximum Packetization Period: 60 Supported Codec: g729abr8, Maximum Packetization Period: 60 Supported Codec: g729r8, Maximum Packetization Period: 60 Supported Codec: g729br8, Maximum Packetization Period: 60 Supported Codec: rfc2833 dtmf, Maximum Packetization Period: 30 Supported Codec: rfc2833 pass-thru, Maximum Packetization Period: 30 Supported Codec: inband-dtmf to rfc2833 conversion, Maximum Packetization Period: 30

This output shows the configuration of the DSP resources (while idle).

vdouut1#show dspfarm all  Dspfarm Profile Configuration Profile ID = 1, Service = TRANSCODING, Resource ID = 1 Profile Description : Profile Admin State : UP Profile Operation State : ACTIVE Application : SCCP Status : ASSOCIATED Resource Provider : FLEX_DSPRM Status : UP Number of Resource Configured : 128 Number of Resource Available : 128 Codec Configuration Codec : g711ulaw, Maximum Packetization Period : 30 Codec : g711alaw, Maximum Packetization Period : 30 Codec : g729ar8, Maximum Packetization Period : 60 Codec : g729abr8, Maximum Packetization Period : 60 Codec : g729r8, Maximum Packetization Period : 60 Codec : g729br8, Maximum Packetization Period : 60 SLOT DSP VERSION STATUS CHNL USE TYPE RSC_ID BRIDGE_ID PKTS_TXED PKTS_RXED 1 1 9.2.1 UP N/A FREE xcode 1 - - - 1 1 9.2.1 UP N/A FREE xcode 1 - - - 1 1 9.2.1 UP N/A FREE xcode 1 - - - 

This output shows the status of the DSP resources (after a call is made).

vdouut1#show sccp connections summary  SCCP Application Service(s) Statistics Summary: Total Conferencing Sessions: 0, Connections: 0 Total Transcoding Sessions: 1, Connections: 2  Total MTP Sessions: 0, Connections: 0 Total ALG-Phone Sessions: 0, Connections: 0 Total BRI-Phone Sessions: 0, Connections: 0 Total SCCP Sessions: 1, Connections: 2  vdouut1#show dspfarm dsp active SLOT DSP VERSION STATUS CHNL USE TYPE RSC_ID BRIDGE_ID PKTS_TXED PKTS_RXED 1 1 9.2.1 UP 1 USED xcode 1 15 9400 9405 1 1 9.2.1 UP 1 USED xcode 1 16 9400 9394 Total number of DSPFARM DSP channel(s) 1

This output shows the RTP sessions between the DSP resources (this router) and the controlling entity (CUBE). Two VoIP call legs with different codecs are shown. The legs are both established with CUBE (1.2.61.73).

vdouut1#show voip rtp connections  VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 46 47 17668 2000 1.2.61.71 1.2.61.73 2 48 47 21530 2000 1.2.61.71 1.2.61.73 Found 2 active RTP connections vdouut1#show call active voice compact <callID> A/O FAX T<sec> Codec type Peer Address IP R<ip>:<udp> Total call-legs: 2 46 ORG T150 g711ulaw  VOIP P 1.2.61.73:2000 48 ORG T150 g729r8  VOIP P 1.2.61.73:2000 

Here are some useful troubleshooting commands for transcoding:

  • debug sccp messages

  • debug ephone mtp

  • debug ephone state

Note: Refer to Important Information on Debug Commands before you use debug commands.