SBC-353 Cisco IOS XR Session Border Controller Configuration Guide OL-15854-01 Implementing SBC Transcoding and Codec Restriction 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 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 For a complete description of commands used in this chapter, refer to the SBC Transcoding Commands on Cisco IOS XR Software module of Cisco IOS XR Software Session Border Controller Command Reference. To locate documentation for other commands that appear in this chapter, use the command reference master index, or search online. Feature History for Implementing SBC Transcoding and Codec Restriction Release Modification Release 3.3.0 This feature was introduced on the Cisco XR 12000 Series Router. Release 3.4.0 No modification. Release 3.4.1 Restricting Codecs feature was supported. Release 3.5.0 No modification. Release 3.5.1 No modification. Release 3.6.0 No modification. Release 3.7.0 No modification.
18
Embed
Implementing SBC Transcoding and Codec Restriction
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Implementing SBC Transcoding and Codec Restriction
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 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 For a complete description of commands used in this chapter, refer to the SBC Transcoding Commands on Cisco IOS XR Software module of Cisco IOS XR Software Session Border Controller Command Reference. To locate documentation for other commands that appear in this chapter, use the command reference master index, or search online.
Feature History for Implementing SBC Transcoding and Codec Restriction
Release Modification
Release 3.3.0 This feature was introduced on the Cisco XR 12000 Series Router.
Release 3.4.0 No modification.
Release 3.4.1 Restricting Codecs feature was supported.
Implementing SBC Transcoding and Codec RestrictionContents
Contents• Prerequisites for Implementing SBC Transcoding and Codec Restriction, page SBC-354
• Restrictions for Codecs, page SBC-354
• Information About SBC Transcoding, page SBC-357
• Information About Codec Restriction, page SBC-359
• How to Implement SBC Transcoding, page SBC-359
• How to Implement Codec Restriction, page SBC-362
• Configuration Example for Transcoding, page SBC-366
• Configuration Examples for a Codec Restriction, page SBC-366
• Additional References, page SBC-368
Prerequisites for Implementing SBC Transcoding and Codec Restriction
The following prerequisites are required to implement SBC transcoding:
• You must be in a user group associated with a task group that includes the proper task IDs for SBC commands being used. For detailed information about user groups and task IDs, see the Configuring AAA Services on Cisco IOS XR Software module of Cisco IOS XR System Security Configuration Guide.
• You must install and activate the package installation envelope (PIE) for the SBC software.
For detailed information about PIE installation, refer to the Upgrading and Managing Cisco IOS XR Software module in Cisco IOS XR Getting Started Guide.
• The SBC must already be created. See the procedures described in the SBC Configuration Prerequisites module.
• Transcoding must be configured before you can restrict codecs.
• All SBE and DBE configurations required to make simple calls must already be configured. Transcoding configurations follow these configurations.
Restrictions for Codecs• The media packet forwarder on the DBE polices the bandwidth consumed by each media stream, but
it cannot police the type of codecs or the packetization periods.
• Unrecognized codecs cannot be configured as members of the codec whitelist.
• Active calls are not released if there is a change in the codec whitelist during the call.
• If a codec whitelist is configured, SBC removes any unlisted codecs from the call setup flow and media gate allocation.
• Multiple codec whitelists can be configured on a call admission control (CAC) policy basis. For example, the list of codecs allowed for calls from “SipAdj1” can be different than the list of codecs allowed for calls from “SipAdj2”.
Implementing SBC Transcoding and Codec RestrictionRestrictions for Codecs
• If a codec whitelist has not been configured, all recognized codecs (see Table 32 – Table 35) are allowed for all calls.
• You must use the textual value of the codec description that appears on the session description protocol (SDP) to configure the codec whitelist, for example “PCMU” or “telephone-event”.
• Disallowing all codecs is not supported. However, you can set a bandwidth limit of zero to achieve the same result.
• Codec lists are not applied to media-bypass calls (those in which the SBC does not reserve media resources).
• The format of the codec name is the same as the string used to represent it in SDP, for example PCMU or VDVI. All recognized codec names are listed in Table 32 – Table 35.
• A single codec can be added to each list only once, with a single packetization period.
• For each codec on a list, CAC restricts the signaled packetization period for any stream using that codec to be greater than or equal to the packetization period configured along with the codec in the list. If a stream uses more than one codec in the list, the greatest of all the packetization periods configured for each codec in the list is applied to the stream.
Note The bandwidths listed in the tables below are the bandwidths without the transport layer overheads. Therefore, the actual bandwidths reserved by the SBC are higher than the listed values.
Table 32 Sample-Based Audio Codecs with Packetization Time 10 ms
Payload Type Codec Name Clock Rate (Hz) Sample Size (bits) Channels
Implementing SBC Transcoding and Codec RestrictionInformation About SBC Transcoding
Information About SBC TranscodingTranscoding requires specialized digital signal processor (DSP) hardware, which is not available within SBC itself. A Cisco MGX 8880 device is used to provide transcoding function for one or more SBCs.
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 signaling border element (SBE) goes through the following steps:
1. Receives an initial Signaling request from the calling endpoint. This triggers SBE to perform initial call setup on the incoming and outgoing DBEs. Then, SBE forwards the request to the called endpoint.
2. Receives a response from the called endpoint that indicates that none of the codecs in the initial request are acceptable. This triggers SBE to bring a transcoder into the call, which is inserted in the media path between the incoming and outgoing DBEs. A new request is sent to the called endpoint, indicating the new codec type generated by the transcoder.
— DV — 1500000000
— H263-1998 — 524228
— H263-2000 — 524228
— MP1S — 1600000
— MP2P — 524228
— MP4V-ES — 524228
— raw — 1500000000
— SMPTE292M — 1500000000
Table 35 Other Codecs
Codec Name Packetization Time (ms) Allocated Bandwidth (bits/s)
telephone-event 20 1600
tone 20 1600
RED 20 1
parityfec 20 1
t140 100 80
pointer 20 1600
H224 20 6560
T.38 — 15500
X-NSE 20 1600
Table 34 Video Codecs (continued)
Payload Type Codec Name Packetization Time (ms) Allocated Bandwidth (bits/s)
Implementing SBC Transcoding and Codec RestrictionInformation About SBC Transcoding
3. SBE may 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 17 shows where the transcoder sits in the network, and the path taken by the media in a transcoded call.
Figure 17 Transcoding Configuration
Note Although Figure 17 shows two data border elements (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 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 the transcoder device for notes on how to do this. The documentation for the Cisco MGX 8880 is found at http://www.cisco.com/en/US/products/hw/gatecont/ps3869/products_configuration_guide_book09186a0080535937.html.)
In addition, the SBE must have the following specific configurations:
• An H.248 control address and port must be configured by using the control address h248 command. 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 by using the media-gateway 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 by using the codecs and transcoder commands.
• The show services sbc sbe media-gateway-associations command is 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.
Implementing SBC Transcoding and Codec RestrictionInformation About Codec Restriction
Information About Codec RestrictionA compressor-decompressor (codec) is a device or program that performs a transformation on a data stream or signal. The SBC is hardcoded with a set of recognized codecs (see Table 32 – Table 35), including all commonly used voice and video codecs. The default behavior is to allow all recognized codecs on all calls. Any other codec present in call signaling is removed by the SBC.
The Codec Restriction feature allows you to restrict which codecs a particular call can use and to configure a minimum permissible packetization period for each permitted codec.
How to Implement SBC TranscodingThis section contains the following procedure on how to implement SBC transcoding:
• Configuring Transcoding, page SBC-359
In this configuration area, you supply a configuration for a list of remote media gateways. 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 following basic steps for implementing transcoding are listed:
1. Configure the IP address, port, and transport protocol for an 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 G.711ulaw and G.729A).
4. Specify the media gateway as a transcoder.
5. Activate SBE.
Configuring TranscodingPerform this task to configure transcoding for SBC.
Enters the configuration mode of the signaling border element (SBE) function of the SBC.
Step 5 control address h248 [ipv4 ipv4_IP_address]
Example:RP/0/0/CPU0:router(config-sbc-sbe)# control address h248 ipv4 88.88.133.21
Configures an SBE to use a given IPv4 H.248 control address when acting as a media gateway controller.
• Use the ipv4 keyword to specify the IPv4 H.248 control address.
Step 6 control address h248 [port port-number]
Example:RP/0/0/CPU0:router(config-sbc-sbe)# control address h248 port 2944
Configures an SBE to use a given port for H.248 communications when acting as a media gateway controller.
• Use the port keyword to specify the listening port number. The range is from 1 to 9999. Port 2944 is the default H.248 port. (If using the default port, this step can be skipped.)
Step 7 control address h248 [transport [tcp | udp]]
Example:RP/0/0/CPU0:router(config-sbc-sbe)# control address h248 transport udp
Configures an SBE to use a given transport for H.248 communications when acting as a media gateway controller.
• Use the udp keyword to configure the UDP transport for H.248 signaling.
• Use the tcp keyword to configure the TCP transport for H.248 signaling.
Implementing SBC Transcoding and Codec RestrictionHow to Implement Codec Restriction
How to Implement Codec RestrictionYou must configure the codecs and then apply them as described in the following tasks:
• Configuring Codecs, page SBC-362
• Configuring a CAC Policy to Use a Codec List, page SBC-364
Configuring CodecsTo restrict which codecs a particular call can use and to configure a minimum permissible packetization period for each permitted codec, you must configure CAC with a list of codecs, provide a description for the list, and then add any codecs to the list.
Configures a description of a codec list and sets a minimum packetization period (optional) for the codec.
• Use the codec-name argument to configure the name of a codec. This value must be one of the list of codecs that the SBE is hardcoded to recognize. Otherwise, when you execute this command, the SBE displays an error.
Implementing SBC Transcoding and Codec RestrictionConfiguration Example for Transcoding
Configuration Example for TranscodingThis section provides the following configuration example for configuring transcoding on an SBE:
• Configuring Transcoding: Example, page SBC-366
Configuring Transcoding: ExampleThe following example shows how to configure transcoding on an SBE:
configuresbc ABCservice-location preferred-active 0/3/CPU0 sbecontrol address h248 ipv4 88.88.133.2 control address h248 port 2944 control address h248 transport udp media-gateway ipv4 200.200.201.101codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729/8000 transcoder exit
activateend
Configuration Examples for a Codec RestrictionThis section provides configuration examples for configuring restrictions on codecs and configuring a CAC policy to use a codec list:
• Configuring Codecs: Example, page SBC-366
• Configuring a CAC Policy to Use a Codec List: Example, page SBC-367
Configuring Codecs: ExampleThis section shows how to configure a codec restriction.
Figure 18 contains three adjacencies (A, B, and C). Any calls involving “A” need to be configured to use only the G729 and PCMU codecs with a minimal preferred packetization period of 10 milliseconds. However, calls between “B” and “C” can use any available codecs.
Implementing SBC Transcoding and Codec RestrictionConfiguration Examples for a Codec Restriction
Figure 18 Scenario for Configuring Codec Restriction
The following example shows how to create a codec list containing the specified codecs configured with a minimal preferred packetization period:
configuresbc mysbcsbecodec-list allowable_codecsdescription The set of codecs allowed on adjacency AdjAcodec g729 packetization-period 20codec pcmu packetization-period 10end
After configuring codec restriction, you must configure a CAC policy to use the codec list (see “Configuring a CAC Policy to Use a Codec List: Example” section on page SBC-367.)
Configuring a CAC Policy to Use a Codec List: ExampleThe following example shows how to configure a CAC policy to use a codec list:
Implementing SBC Transcoding and Codec RestrictionAdditional References
Note The codec list CLI commands are entered only at the per-call level in the CAC policy tables. If you configure a codec list at any other level, the CAC policy set does not activate. However, a log is displayed after you commit the configuration and the policy set is marked as “complete”.
Where to Go NextAfter configuring SBC transcoding, you can configure the quality-of-service (QoS) marking. To configure QoS, see the Implementing SBC Quality of Service (Marking) module.
Additional ReferencesThe following sections provide references related to implementing SBC transcoding and codec restriction.
Implementing SBC Transcoding and Codec RestrictionAdditional References
MIBs
RFCs
Technical Assistance
MIBs MIBs Link
— To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu:
RFC 2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals
RFC 3261 SIP: Session Initiation Protocol
Description Link
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.