Table Of Contents
Enhanced Codec Support for SIP Using Dynamic Payloads
Advertising Codec Capabilities
Related Features and Technologies
Supported Standards, MIBs, and RFCs
Configuring Dynamic Payload Values
Verifying Dynamic Payload Values
RTP Payload Named Telephony Event Example
Enhanced Codec Support for SIP Using Dynamic Payloads
Document Update Alert
This document was originally produced for Cisco IOS Release 12.2(11)T. This feature has been updated in subsequent releases, and more recent documentation is available.
If you are using Cisco IOS Release 12.2(11)T or higher, refer to the following feature in the SIP Features Roadmap chapter of the Cisco IOS SIP Configuration Guide, Release 12.3:
•
Enhanced Codec Support for SIP Using Dynamic Payloads
Feature History
Release Modification12.2(11)T
This feature was introduced on the Cisco 2600 series, Cisco 3600 series, Cisco 7200 series, Cisco AS5300, Cisco AS5350, Cisco AS5400, and Cisco AS5850.
This document describes the Enhanced Codec Support for SIP Using Dynamic Payloads feature in Cisco IOS Release 12.2(11)T and includes the following sections:
•
Supported Standards, MIBs, and RFCs
Feature Overview
The Enhanced Codec Support for SIP Using Dynamic Payloads feature enhances codec selection and payload negotiation between originating and terminating Session Initiation Protocol (SIP) gateways. The new feature provides the SIP enhancements described in the following sections:
•
Advertising Codec Capabilities
Additional Codec Support
Codecs are a digital signal processor (DSP) software algorithm used to compress or decompress speech or audio signals. Previous implementations of the SIP stack on Cisco IOS gateways supported only a subset of the available codecs for each platform. The Enhanced Codec Support for SIP Using Dynamic Payloads feature adds support for eight additional codecs:
•
Clear-channel
•
G723ar53
•
G723ar63
•
G723r53
•
G726r16
•
G726r24
•
G729br8
•
GSM-EFR
Support for these codecs varies on different platforms. See Table 1 for a listing of SIP codec support by platform, and by previous and current Cisco IOS release. Use the codec ? command to determine the codecs available on a specific platform.
Table 1 SIP Codec Support by Platform and Cisco IOS Release
Payload Type Selection
Payload types define the content and format of Real-Time Transport Protocol (RTP) packets and the resulting stream of data generated by the RTP flow. The payload type defines the codec in use and is identified in the payload type field of the header of each RTP packet. There are two mechanisms for specifying payload type, static and dynamic.
Static payload types are assigned to specific RTP formats by RFC 1890 and these mappings are registered with the Internet Assigned Numbers Authority (IANA). Although not required, static payload types can also be mapped to RTP encodings using the rtpmap attribute. The following SIP supported codecs have static payloads values defined by the IANA:
•
G711ulaw
•
G711alaw
•
G723r63
•
G726r32
•
G728
•
G729r8
•
GSM-FR
Dynamic payload values are used for codecs that do not have static payload values defined. Dynamic payload types do not have fixed mappings, and must be mapped to RTP encodings within the Session Description Protocol (SDP) itself using the a=rtpmap: line. The new feature allows dynamic payload values to be used for the following codecs with no static payload values defined:
•
Clear-channel
•
G726r16
•
G726r24
•
GSM-EFR
Of the four codecs listed that allow dynamic payload values to be assigned, only the payload type for the clear-channel codec can be configured using the command-line interface (CLI). The remaining G726r16, G726r24 and GSM-EFR codecs are selected on a per-call basis by the SIP subsystem. The dynamic payload range is assigned by the IANA, with values from 96 to 127. The SIP subsystem looks for and uses the first value in the range that is both available and not reserved for Cisco IOS applications. Once a dynamic payload value is picked for a particular payload type, it cannot be used for other payload types. Of the 32 available IANA values, those reserved for special Cisco IOS applications are listed in Table 2. To configure dynamic payload values for the payload types listed in Table 2, use the rtp payload-type command. Otherwise, the default payload values defined in Table 2 are used.
Table 2 Default Dynamic Payload Values
Note
Once a dynamic payload value has been assigned from the reserved range, it cannot be used for any other payload types.
Advertising Codec Capabilities
The dynamic payload value selected by the SIP subsystem is advertised in the outgoing SIP INVITE request. The Enhanced Codec Support for SIP Using Dynamic Payloads feature supports dynamic payloads by expanding the SIP subsystem ability to advertise and negotiate available codecs. SIP uses the connection, media, and attribute fields of the SDP message during connection negotiation.
The new feature supports the following Internet Engineering Task Force (IETF) drafts:
•
draft-ietf-avt-rtp-mime-06.txt, MIME Type Registration of RTP Payload Formats (further developed and later published as RFC 3555).
•
draft-ietf-avt-profile-new-12.txt, RTP Profile for Audio and Video Conferences with Minimal Control (further developed and later published as RFC 3551).
The following sample SIP INVITE message shows the payload value and codec selection resulting from the payload negotiation process. The media m= field includes the added payload value. The attribute a= field includes the selected codec. In this outgoing INVITE message, the first available dynamic payload value of 115 is selected by the SIP subsystem for a GSM-EFR codec.
INVITE sip:36602@172.18.193.120:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 172.18.193.98:5060
From: "36601" <sip:36601@172.18.193.98>
To: <sip:36602@172.18.193.120;user=phone>
Date: Mon, 01 Mar 1993 00:05:14 GMT
Call-ID: 4326879A-14EF11CC-80069792-19DC655A@172.18.193.98
Cisco-Guid: 1092278192-351211980-2147784594-433874266
User-Agent: Cisco-SIPGateway/IOS-12.x
CSeq: 101 INVITE
Max-Forwards: 6
Timestamp: 730944314
Contact: <sip:36601@172.18.193.98:5060;user=phone>
Expires: 180
Content-Type: application/sdp
Content-Length: 228
v=0
o=CiscoSystemsSIP-GW-UserAgent 6973 8772 IN IP4 172.18.193.98
s=SIP Call
c=IN IP4 172.18.193.98
t=0 0
m=audio 17928 RTP/AVP 18 115
a=rtpmap:18 G729/8000
a=rtpmap:115 GSM-EFR/8000
G723 Codec Versions
In addition to the previously supported G723r63 version of the G723 codec, the new feature supports the following new versions:
•
G723r53, where the number 53 indicates the bit rate of 5.3 kbps
•
G723ar53, where the letter a indicates support for Annex A, which specifies voice activity detection (VAD)
•
G723ar63, where the number 63 indicates a bit rate of 6.3 kbps
A static payload value of 4 is used for all versions of the G723 codec.
Expanded codec support allows the originating and terminating gateways to advertise and negotiate additional codec capabilities. Cisco implements support for multiple G723 codec versions by using a=fmtp and a=rtpmap attributes in the SDP body of outgoing INVITE requests to define the G723 codec version. For the G723 codec, the value of a=fmtp is 4 (the IANA assigned static value), and the annexa value is either yes or no. The default for annexa is yes.
Table 3 lists the possible codec configurations, that, taken together with Annex A support at the remote end, result in selecting the negotiated codec.
Table 3 G723 Codecs
The following partial SDP body shows the media m= field and attribute a= field for a gateway with G723 codecs and Annex A specified.
m=audio 62986 RTP/AVP 4
a=rtpmap:4 G723/8000
a=fmtp:4 annexa=yes
G729 Codec Versions
The new feature supports the following versions of G729 codecs:
•
G729r8, where r8 indicates the bit rate of 8 kbps
•
G729br8, where b indicates support for Annex B, which specifies VAD, Discontinuity Transmission (DTX), and Comfort Noise generation (CNG).
A static payload value of 18 is used for all versions of the G729 codec.
Cisco implements support for multiple G729 codec versions by using a=fmtp and a=rtpmap attributes in the SDP body of outgoing INVITE requests. For the G729 codec, the value of a=fmtp is 18 (the IANA assigned static value), and the annexb value is either yes or no. The default for annexb is yes.
Table 4 lists the possible codec configuration that, taken together with Annex B support at the remote end, result in selecting the negotiated codec.
Table 4 G729 Codecs
The following partial SDP body shows the media m= field and attribute a= field for a gateway with G729 codecs and Annex B specified:
m=audio 17928 RTP/AVP 18
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
Benefits
•
Expanded dynamic payload support on Cisco IOS gateways, resulting in enhanced bandwidth control
•
Expanded ability to advertise and negotiate all codecs available on a given platform
•
Expanded interoperability and interconnectivity between gateways, applications, and services in the network
Restrictions
Dynamic payload values can be configured using the rtp payload-type command only for the payload types listed in Table 2; dynamic payloads cannot be configured for the codecs shown in Table 1.
Related Features and Technologies
•
Cisco VoIP
•
Cisco SIP proxy server
•
Cisco IP Phones
Related Documents
•
RFC 2543, SIP: Session Initiation Protocol
•
RFC 2833, RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals
•
Cisco IOS Voice, Video, and Fax Configuration Guide, Release 12.2
•
Cisco IOS Voice, Video, and Fax Command Reference, Release 12.2
•
Cisco SIP Proxy Server Administrator Guide, Version 1.2, "Configuring the Cisco SIP Proxy Server" chapter
•
Cisco IOS IP Configuration Guide, Release 12.2
•
draft-ietf-avt-rtp-mime-06.txt, MIME Type Registration of RTP Payload Formats (further developed and later published as RFC 3555).
•
draft-ietf-avt-profile-new-12.txt, RTP Profile for Audio and Video Conferences with Minimal Control (further developed and later published as RFC 3551).
Supported Platforms
•
Cisco 2600 series
•
Cisco 3600 series
•
Cisco AS5300
•
Cisco AS5350
•
Cisco AS5400
•
Cisco AS5850
•
Cisco 7200 series
Determining Platform Support Through Cisco Feature Navigator
Cisco IOS software is packaged in feature sets that are supported on specific platforms. To get updated information regarding platform support for this feature, access Cisco Feature Navigator. Cisco Feature Navigator dynamically updates the list of supported platforms as new platform support is added for the feature.
Cisco Feature Navigator is a web-based tool that enables you to quickly determine which Cisco IOS software images support a specific set of features and which features are supported in a specific Cisco IOS image. You can search by feature or release. Under the release section, you can compare releases side by side to display both the features unique to each software release and the features in common.
To access Cisco Feature Navigator, you must have an account on Cisco.com. If you have forgotten or lost your account information, send a blank e-mail to cco-locksmith@cisco.com. An automatic check will verify that your e-mail address is registered with Cisco.com. If the check is successful, account details with a new random password will be e-mailed to you. Qualified users can establish an account on Cisco.com by following the directions found at this URL:
Cisco Feature Navigator is updated regularly when major Cisco IOS software releases and technology releases occur. For the most current information, go to the Cisco Feature Navigator home page at the following URL:
Availability of Cisco IOS Software Images
Platform support for particular Cisco IOS software releases is dependent on the availability of the software images for those platforms. Software images for some platforms may be deferred, delayed, or changed without prior notice. For updated information about platform support and availability of software images for each Cisco IOS software release, refer to the online release notes or, if supported, Cisco Feature Navigator.
Supported Standards, MIBs, and RFCs
Standards
•
draft-ietf-avt-rtp-mime-06.txt, MIME Type Registration of RTP Payload Formats (further developed and later published as RFC 3555).
•
draft-ietf-avt-profile-new-12.txt, RTP Profile for Audio and Video Conferences with Minimal Control (further developed and later published as RFC 3551).
MIBs
No new or modified MIBs are supported by this feature.
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
http://tools.cisco.com/ITDIT/MIBS/servlet/index
If Cisco MIB Locator does not support the MIB information that you need, you can also obtain a list of supported MIBs and download MIBs from the Cisco MIBs page at the following URL:
http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml
To access Cisco MIB Locator, you must have an account on Cisco.com. If you have forgotten or lost your account information, send a blank e-mail to cco-locksmith@cisco.com. An automatic check will verify that your e-mail address is registered with Cisco.com. If the check is successful, account details with a new random password will be e-mailed to you. Qualified users can establish an account on Cisco.com by following the directions found at this URL:
RFCs
No new or modified RFCs are supported by this feature.
Prerequisites
The following are general prerequisites for SIP functionality:
•
Ensure that your Cisco 2600 series, Cisco 3600 series, or Cisco 7200 series router has at least 16 MB Flash memory and 64 MB DRAM. A Cisco AS5300 must have a minimum of 16 MB Flash memory and 128 MB DRAM. A Cisco AS5400 must have a minimum of 32 MB Flash memory and 256 MB DRAM.
•
Ensure that the gateway has voice functionality that is configured for SIP.
For more information about configuring SIP, refer to
Cisco IOS Voice, Video, and Fax Configuration Guide, Release 12.2, "Configuring SIP for VoIP"
chapter.
•
Establish a working IP network.
For more information about configuring IP, refer to
Cisco IOS IP Configuration Guide, Release 12.2.
•
Configure VoIP.
For more information about configuring VoIP, refer to
Session Initiation Protocol for VoIP on Cisco Access Platforms.
Configuration Tasks
The new feature is enabled by default. See the following sections for configuration tasks for the new feature. Each task in the list is identified as either required or optional:
•
Configuring Dynamic Payload Values (optional)
•
Verifying Dynamic Payload Values (optional)
Configuring Dynamic Payload Values
This procedure is optional and selects a dynamic payload value from the IANA defined range of 96 - 127. To modify the payload value for a dynamic payload type, use the following commands beginning in global configuration mode:
Verifying Dynamic Payload Values
This section describes the process for verifying dynamic payload value configuration. The show running-config command is used to display dynamic payload configuration. In the following partial output a dynamic payload value of 115 is configured, freeing up the reserved value of 101:
router# show running-configBuilding configuration...Current configuration: 2024 bytesversion 12.2service timestamps debug uptimeservice timestamps log uptimeno service password-encryptionhostname r4ip subnet-zeroip tcp synwait-time 5no ip domain-lookupipx routing 0000.0000.0004no voice hpi capture bufferno voice hpi capture destinationfax interface-type fax-mailmta receive maximum-recipients 0interface Loopback0ip address 10.0.0.0 255.255.255.0interface FastEthernet0/0ip address 10.0.0.1 255.255.255.0speed 100full-duplexinterface Serial0/0ip address 10.0.0.4 255.255.255.0encapsulation frame-relay...call rsvp-syncvoice-port 3/0/0voice-port 3/0/1mgcp ip qos dscp cs5 mediamgcp ip qos dscp cs3 signalingno mgcp timer receive-rtcpmgcp profile defaultdial-peer cor customdial-peer voice 1234 voiprtp payload-type nte 115alias exec co config talias exec br show ip int briefalias exec i show ip routealias exec sr show runalias exec sri sh run interfacealias exec sio show ip ospfalias exec sioi show ip ospf intalias exec sion show ip ospf neialias exec cir clear ip route *alias exec ix show ipx routealias exec b show ip bgpalias exec sis show isdn statusalias exec fm show frame mapalias exec dm show dialer mapline con 0exec-timeout 0 0privilege level 15password ccielogging synchronousline aux 0line vty 0 4exec-timeout 0 0privilege level 15password ccielogging synchronousno loginendConfiguration Examples
This section provides the following configuration example:
•
RTP Payload Named Telephony Event Example
RTP Payload Named Telephony Event Example
To configure a dynamic payload value, use the following commands beginning in global configuration mode. This procedure is optional and changes the default dynamic payload value assigned from the reserved range for a dynamic payload type.
router(config)# dial-peer voip 1router(config)# rtp payload-type nte 115router(config)# exitCommand Reference
There are no new commands for this feature. All commands used with this feature are documented in the Cisco IOS Release 12.2 command reference publications.
Glossary
CLI—command-line interface.
codec—coder-decoder. Transforms analog signals into a digital bit stream, and digital signals back into analog signals. In VoIP applications, it specifies the voice coder rate of speech for a dial peer.
gateway—A gateway allows SIP terminals to communicate with terminals configured to other protocols, by converting protocols. A gateway is the point at which a circuit-switched call is encoded and repackaged into IP packets.
INVITE—A method that initiates a session. It indicates that a user is invited to participate, provides a session description, indicates the type of media, and provides insight regarding the capabilities of the called and calling parties.
Payload type—A field within the fixed header portion of the RTP packet that defines the content, format, and encoding scheme of the RTP payload. When a SIP call is set up, the payload type values that are used in this field are listed in the m= line of the session description. These values can be either statically assigned to encoding names, or dynamically assigned within the session description. If a payload type is dynamically assigned, the session description will also include an rtpmap attribute that maps the payload type number to an encoding name. The encoding name identifies the format of the RTP packets (for example, a codec or telephone event).
RTP—Real-Time Transport Protocol.
SDP—Session Description Protocol.
SIP—Session Initiation Protocol. An application-layer protocol originally developed by the Multiparty Multimedia Session Control (MMUSIC) working group of the Internet Engineering Task Force (IETF). Their goal was to equip platforms to signal the setup of voice and multimedia calls over IP networks. SIP features are compliant with IETF RFC 2543, published in March 1999.
VoIP—Voice over IP. The ability to carry normal telephone-style voice over an IP-basednetwork.

