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:
Basic knowledge of how to configure and use Cisco IOS voice (such as dial-peers)
Basic knowledge of how to configure and use CUBE
Basic knowledge of transcoding. Refer to the Restrictions for Cisco Unified Border Element Configuration section of Overview of Cisco Unified Border Element for information about transcoding restrictions in CUBE.
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.
This figure shows an example of CUBE with external DSPs for transcoding:
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:
The call starts from the OGW towards CUBE via H.323 with G.711.
CUBE forwards the call via H.323 to the OGW (which is configured for G.729).
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).
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 126.96.36.199 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.
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 188.8.131.52 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 184.108.40.206 identifier 1”) and the IP address of the controlling entity (“telephony-service” > “ip source-address 220.127.116.11 port”) are the same.
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 18.104.22.168 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 22.214.171.124 ! no ip http server ! dialer-list 1 protocol ip permit ! sccp local GigabitEthernet0/0 sccp ccm 126.96.36.199 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:188.8.131.52 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:184.108.40.206 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 220.127.116.11 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 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: REGISTERED actual_stream:256 max_stream 256 IP:18.104.22.168 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 22.214.171.124 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 126.96.36.199 20190 Local:2000 START usage: Ip-Ip codec:G729 duration:20 vad:0 peer Stream-ID:38 Stream-ID:38 mtp:1 188.8.131.52 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 184.108.40.206 220.127.116.11 2 3992 3991 17382 19706 18.104.22.168 22.214.171.124 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 126.96.36.199:16934 4024 ORG T25 g729r8 VOIP P6200 188.8.131.52: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: 184.108.40.206, Port Number: 2000 IP Precedence: 5 User Masked Codec list: None Call Manager: 220.127.116.11, Port Number: 2000 Priority: N/A, Version: 3.1, Identifier: 1 Transcoding Oper State: ACTIVE - Cause Code: NONE Active Call Manager: 18.104.22.168, 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 (22.214.171.124).
vdouut1#show voip rtp connections VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 46 47 17668 2000 126.96.36.199 188.8.131.52 2 48 47 21530 2000 184.108.40.206 220.127.116.11 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 18.104.22.168:2000 48 ORG T150 g729r8 VOIP P 22.214.171.124: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.