CUBE Transcoding on an MGX or VXSM WAN Switch
CUBE (SBC) transcoding can be done using the DSP farm on an MGX or VXSM WAN switch as a transcoder via the H.248 protocol.
Transcoding is the process of translating one type of media stream or codec into another type of media stream or codec. For example, PCMU into G.726-32.
Transcoding is triggered by a response from the callee endpoint, indicating that none of the codecs in the initial request are acceptable. Responses that trigger transcoding are as follows:
•415 - Unsupported media type (SIP)
•488 - Not acceptable here (SIP)
•65 - Bearer Capability not implemented disconnect cause value (H.323)
When transcoding is triggered, the SBE places a transcoder in the media path between the incoming and outgoing DBEs. The SBE then sends a new request to the callee, with a new codec type generated by the transcoder. The SBE may have to iterate through the list of codecs until it finds one that the callee accepts. Once a codec is found that is accepted by the callee, the call is connected and media transmission begins.
This example shows how to configure CUBE Transcoding on an MGX or VXSM WAN switch. Each segment of the example is explained below.
SBC SBE Configuration
Configures the SBC and SBE.
Media Gateway Configuration
Configures an MGX WAN switch as the media gateway as follows:
•media-gateway - Configures the IP address of the MGX WAN switch media gateway.
•codecs - Configures the codecs supported by the media gateway.
•transcoder - Configures this media gateway as a transcoder.
•control address h248 index - Configures the IPv4, H.248 control address of this transcoder.
•transport udp - Configures UDP as the transport for the H.248 signaling.
•ipv4 - Configures the IP address of the SBC.
Adjacency Configuration
Configures the Nav_A and Nav_B adjacencies.
Call Policy: Adjacency Connection
Establishes the connection between the Nav_A and Nav_B adjacencies.
CAC Table: Codec Enforcement
(Optional) Enforces which codecs each side of the call is allowed to use.
Transcoding CUBE on the MGX (in Segments)
SBC Configuration
MGX as Media Gateway Configuration
media-gateway ipv4 10.0.181.2
codecs m=audio 1234 RTP/AVP 0 8,a=rtpmap:0 PCMU/8000,a=rtpmap:8 PCMA/8000
control address h248 index 1
ipv4 23.30.1.1 - SBC ip address
Adjacency 1 Configuration
inherit profile preset-access
signaling-address ipv4 23.30.1.1
statistics method summary
remote-address ipv4 23.31.0.0 255.255.0.0
Adjacency 2 Configuration
signaling-address ipv4 23.30.1.1
statistics method summary
remote-address ipv4 23.32.0.0 255.255.0.0
Call Policy: Adjacency Connection
first-call-routing-table ROUTE-ON-DEST-NUMB
rtg-dst-address-table ROUTE-ON-DEST-NUMB
match-address 91939 digits
match-address 40852 digits
call-policy-set default 1
media-address ipv4 23.30.1.10
port-range 10000 64000 any
CAC Policy: Codec Enforcement
first-cac-table Transcode
first-cac-scope dst-adjacency
Transcoding CUBE on the MGX (for Copy and Paste)
media-gateway ipv4 10.0.181.2
codecs m=audio 1234 RTP/AVP 0 8,a=rtpmap:0 PCMU/8000,a=rtpmap:8 PCMA/8000
control address h248 index 1
ipv4 23.30.1.1 - SBC ip address
inherit profile preset-access
signaling-address ipv4 23.30.1.1
statistics method summary
remote-address ipv4 23.31.0.0 255.255.0.0
signaling-address ipv4 23.30.1.1
statistics method summary
remote-address ipv4 23.32.0.0 255.255.0.0
first-call-routing-table ROUTE-ON-DEST-NUMB
rtg-dst-address-table ROUTE-ON-DEST-NUMB
match-address 91939 digits
match-address 40852 digits
call-policy-set default 1
media-address ipv4 23.30.1.10
port-range 10000 64000 any
first-cac-table Transcode
first-cac-scope dst-adjacency
Transcoding CUBE on the MGX (with CLI Prompts)
Router(config)# sbc My_SBC
PE25_ASR-1004(config-sbc-sbe)# media-gateway ipv4 10.0.181.2
PE25_ASR-1004(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 8,a=rtpmap:0
PCMU/8000,a=rtpmap:8 PCMA/8000
PE25_ASR-1004(config-sbc-sbe-mg-codecs)# transcoder
PE25_ASR-1004(config-sbc-sbe-mg-codecs)# control address h248 index 1
PE25_ASR-1004(config-sbc-sbe-ctrl-h248)# transport udp
PE25_ASR-1004(config-sbc-sbe-ctrl-h248)# ipv4 23.30.1.1
PE25_ASR-1004(config-sbc-sbe-ctrl-h248)# exit
Router(config-sbc-sbe)# adjacency sip Nav_A
Router(config-sbc-sbe-adj-sip)# inherit profile preset-access
Router(config-sbc-sbe-adj-sip)# preferred-transport udp
Router(config-sbc-sbe-adj-sip)# signaling-address ipv4 23.30.1.1
Router(config-sbc-sbe-adj-sip)# statistics method summary
Router(config-sbc-sbe-adj-sip)# signaling-port 5060
Router(config-sbc-sbe-adj-sip)# remote-address ipv4 23.31.0.0 255.255.0.0
Router(config-sbc-sbe-adj-sip)# signaling-peer 23.31.1.2
Router(config-sbc-sbe-adj-sip)# attach
Router(config-sbc-sbe-adj-sip)# exit
Router(config-sbc-sbe)# adjacency sip Nav_B
Router(config-sbc-sbe-adj-sip)# nat force-off
Router(config-sbc-sbe-adj-sip)# preferred-transport udp
Router(config-sbc-sbe-adj-sip)# signaling-address ipv4 23.30.1.1
Router(config-sbc-sbe-adj-sip)# statistics method summary
Router(config-sbc-sbe-adj-sip)# signaling-port 5060
Router(config-sbc-sbe-adj-sip)# remote-address ipv4 23.32.0.0 255.255.0.0
Router(config-sbc-sbe-adj-sip)# signaling-peer 23.32.1.2
Router(config-sbc-sbe-adj-sip)# account Nav_B
Router(config-sbc-sbe-adj-sip)# attach
Router(config-sbc-sbe-adj-sip)# exit
Router(config-sbc-sbe)# call-policy-set 1
Router(config-sbc-sbe-rtgpolicy)# first-call-routing-table ROUTE-ON-DEST-NUMB
Router(config-sbc-sbe-rtgpolicy)# rtg-dst-address-table ROUTE-ON-DEST-NUMB
Router(config-sbc-sbe-rtgpolicy)#entry 1
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency Nav_A
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address 91939 digits
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# prefix
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# entry 2
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# action complete
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# dst-adjacency Nav_B
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# match-address 40852 digits
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# prefix
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# complete
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# call-policy-set default 1
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# media-address ipv4 23.30.1.10
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# port-range 10000 64000 any
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# activate
Router(config-sbc-sbe-rtgpolicy-rtgtable-entry)# exit
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# first-cac-table Transcode
Router(config-sbc-sbe-cacpolicy)# first-cac-scope dst-adjacency
Router(config-sbc-sbe-cacpolicy)# cac-table Transcode
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable-entry)# cac-scope call
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-codec-list sideA
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee-codec-list sideB
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# cac-policy-set global 1
Router(config-sbc-sbe)# codec list sideA
Router(config-sbc-sbe-codec-list)# codec PCMA
Router(config-sbc-sbe-codec-list)# codec list sideB
Router(config-sbc-sbe-codec-list)# codec G729
Router(config-sbc-sbe-codec-list)# exit
Verify Media Gateway Associations
Router# show sbc My_SBC sbe media-gateway-associations
Media gateway 10.0.181.2:2951
Gateway Protocol = megaco
Transport Protocol = UDP^M
Local Address =23.30.1.1:2944
Sent Received Failed Retried