Guest

Cisco IOS Software Releases 12.4 T

Symmetrical RTP Support for MGCP-Based Calls

  • Viewing Options

  • PDF (300.9 KB)
  • Feedback
Symmetrical RTP Support for MGCP-Based Calls

Table Of Contents

Symmetrical RTP Support for MGCP-Based Calls

Contents

Prerequisites for Symmetrical RTP Support for MGCP-Based Calls

Restrictions for Symmetrical RTP Support for MGCP-Based Calls

Information About Symmetrical RTP Support for MGCP-Based Calls

Benefits of Symmetrical RTP Support for MGCP-Based Calls

Symmetrical NAT Traversal for MGCP Signaling

Source Address/Port Detection

How to Enable Symmetrical RTP Support for MGCP-Based Calls

Enable IP Address and Port Detection for the MGCP Gateway

Examples

Indicating the Location of the MGCP Gateway

Examples

Forcing the Direction Attribute in the Session Description Protocol (SDP)

Examples

Troubleshooting Tips

Configuration Examples for Symmetrical RTP Support for MGCP-Based Calls

Enabling IP Address and Port Detection for the MGCP Gateway: Example

Forcing the Direction Attribute in the Session Description Protocol (SDP): Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Command Reference

Feature Information for Symmetrical RTP Support for MGCP-Based Calls

Glossary


Symmetrical RTP Support for MGCP-Based Calls


First Published: November 17, 2006
Last Updated: November 17, 2006

The Symmetrical RTP Support for MGCP-Based Calls feature allows calls to flow through Network Address Translation (NAT) networks unaware of voice signaling. Determination of the IP address to send Media Gateway Control Protocol (MGCP) voice media is made from incoming Real-time Transport Protocol (RTP) media instead of the information provided in the Session Description Protocol (SDP).

Finding Feature Information in This Module

Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Information About Symmetrical RTP Support for MGCP-Based Calls" section.

Finding Support Information for Platforms and Cisco IOS and Catalyst OS Software Images

Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Prerequisites for Symmetrical RTP Support for MGCP-Based Calls

Restrictions for Symmetrical RTP Support for MGCP-Based Calls

Information About Symmetrical RTP Support for MGCP-Based Calls

How to Enable Symmetrical RTP Support for MGCP-Based Calls

Configuration Examples for Symmetrical RTP Support for MGCP-Based Calls

Additional References

Command Reference

Information About Symmetrical RTP Support for MGCP-Based Calls

Glossary

Prerequisites for Symmetrical RTP Support for MGCP-Based Calls

MGCP must be configured.

Restrictions for Symmetrical RTP Support for MGCP-Based Calls

Network Address Translation (NAT) traversal for MGCP and SIP signaling is not supported.

Information About Symmetrical RTP Support for MGCP-Based Calls

Typically a Connection-Oriented Media (comedia) enabled customer-premises equipment such as a SIP or MGCP phone would indicate it is attached to an inside NAT interface by adding the direction attribute to its sdp (a=direction:active). A MGCP gateway running an outside NAT interface parses the direction attribute. The presence of active in the direction attribute would trigger the gateway to enable source address and port detection and use the detected address and port to send rtp/rtcp media and respond with the direction attribute set to passive.

When the MGCP gateway is configured with inside NAT interfaces, the gateway adds the direction attribute to its sdp (a=direction:active) and sends the first RTP packet as soon and possible.

To configure the symmetrical RTP support for MGCP-based MGCP-based calls, you should understand the following concepts.

Benefits of Symmetrical RTP Support for MGCP-Based Calls

Symmetrical NAT Traversal for MGCP Signaling

Source Address/Port Detection

Benefits of Symmetrical RTP Support for MGCP-Based Calls

Ability to check the media source address and port of incoming RTP packets, thereby enabling the remote address and port of the existing session to be updated.

Enhanced interoperability in networks where NAT devices are unaware of MGCP or SDP signaling.

Ability to advertise endpoint presence inside or outside NAT.

Ability to specify the connection role of the endpoint.

Symmetrical NAT Traversal for MGCP Signaling

The Symmetrical RTP Support for MGCP-Based Calls feature provides the following functionality to symmetrical NAT traversal:

Allows the Cisco gateway to check the media source of incoming (RTP) packets.

Allows the endpoint to advertise its presence inside or outside of NAT.

NAT, which maps the source IP address of a packet from one IP address to a different IP address, has varying functionality and configurations. NAT can help conserve IP version 4 (IPv4) addresses, or it can be used for security purposes to hide the IP address and LAN structure behind the NAT. VoIP endpoints may both be outside NAT, both inside, or one inside and the other outside.

In symmetrical NAT, all requests from an internal IP address and port to a specific destination IP address and port are mapped to the same external IP address and port. The new feature provides additional capabilities for symmetrical NAT traversal.

Prior to the implementation of the Symmetrical RTP Support for MGCP-Based Calls feature, NAT traversal presented challenges for signaling the protocol messages that set up a call, and for RTP, the media stream that transports the audio portion of a VoIP call. With the feature, NAT traversal for the RTP media is solved, but NAT traversal of MGCP protocol messages is left to the network provider to resolve. An endpoint with connections to clients behind NATs and on the open Internet had no way of knowing when to trust the addressing information it received in the SDP portion of MGCP messages, or whether to wait until it received a packet directly from the client before opening a channel back to the source IP: port of that packet. Once a VoIP session was established, the endpoint was, in some scenarios, sending packets to an unreachable address. This scenario typically occurred in NAT networks that were VOIP signaling unaware.

In addition to the challenges posed by NAT traversal in MGCP, NAT traversal in RTP requires a client must what type of NAT it sits behind, and that it must also obtain the public address for an RTP stream. Any RTP connection between endpoints outside and inside NAT must be established as a point-to-point connection. The external endpoint must wait until it receives a packet from the client so that it knows where to reply. The connection-oriented protocol used to describe this type of session is known as Connection-Oriented Media (Comedia), as defined in the IETF draft, draft-ietf-mmusic-sdp-comedia-04.txt, Connection-Oriented Media Transport in SDP.

The Symmetrical RTP Support for MGCP-Based Calls feature implements one of many possible MGCP solutions to address problems with different NAT types and traversals. With the new feature configured the gateway can open an RTP session with the remote end and then update or modify the existing RTP session remote address and port (raddr:rport) with the source address and port of the actual media packet received after passing through NAT. The new feature allows you to configure the gateway to modify the RTP session remote address and port by implementing support for the SDP direction (a=direction:<role>) attribute defined in, Connection-Oriented Media Transport in SDP. Supported values for the attribute are as follows:

active—which indicates that the endpoint initiates a connection to the port number on the m= line of the session description from the other endpoint.

passive—which indicates that the endpoint accepts a connection.

both—which indicates that the endpoint both accepts an incoming connection and initiates an outgoing connection to the port number on the m= line of the session description from the other endpoint.


Note The Cisco comedia implementation does not support a=direction:both. If the Cisco gateway receives a=direction:both in the SDP message, the endpoint is considered active.


Sample MGCP/SDP Message

The following example shows a sample mgcp message for active and passive attributes:

 
CRCX 11 aaln/S2/SU0/0 MGCP 1.0
C: 1
X: 10 
M: sendrecv
R: L/hd 
S: L/rg
L: a:G.729,p:30,e:on,s:off 
v=0
o=- 5 0 IN IP4 192.1.1.8 
s=Cisco SDP 0 
c=IN IP4 192.1.1.8 
t=0 0 
m=audio 19054 RTP/AVP 18 99 100 
a=rtpmap:99 telephone-event/8000 
a=fmtp:99 0-15 
a=rtpmap:100 X-NSE/8000
a=fmtp:100 192-194,200-202 
a=direction:active 
a=X-sqn:0 
a=X-cap: 1 audio RTP/AVP 100 
a=X-cpar: a=rtpmap:100 X-NSE/8000
a=X-cpar: a=fmtp:100 192-194,200-202 
a=X-cap: 2 image udptl t38 


200 11 OK 
I: 2 

v=0 
o=- 2 0 IN IP4 7.7.0.10
s=Cisco SDP 0 
c=IN IP4 7.7.0.10 
t=0 0 
m=audio 18320 RTP/AVP 18 99 100 
a=rtpmap:99 telephone-event/8000
a=fmtp:99 0-15
a=rtpmap:100 X-NSE/8000 
a=fmtp:100 192-194,200-202 
a=direction:passive 
a=X-sqn:0 
a=X-cap: 1 audio RTP/AVP 100 
a=X-cpar: a=rtpmap:100 X-NSE/8000 
a=X-cpar: a=fmtp:100 192-194,200-202 
a=X-cap: 2 image udptl t38 

Source Address/Port Detection

NAT networks configured to allow MGCP signaling to pass from the public to CPE direction can use this feature to determine media source address and port of the CPE device behind a NAT and establish voice media through the NAT.

How to Enable Symmetrical RTP Support for MGCP-Based Calls

The specific capability is to determine the RTP address and port to send the media portion of a call based on snooping the media that has been sent to the Gateway. The feature is configured in MGCP via a set of behavior CLI that allow MGCP media to transit several different types of NAT that are not MGCP aware.

This section describes the following tasks:

Enable IP Address and Port Detection for the MGCP Gateway

Indicating the Location of the MGCP Gateway

Forcing the Direction Attribute in the Session Description Protocol (SDP)

Enable IP Address and Port Detection for the MGCP Gateway

To globally enable ip address and port detection on an MGCP gateway, perform the following steps:

SUMMARY STEPS

1. enable

2. configure terminal

3. mgcp behavior comedia-check-media-src [enable | disable]

4. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mgcp behavior comedia-check-media-src enable

Example:

Router(config)# mgcp behavior comedia-check-media-src enable

Globally enables ip address and port detection from the first rtp packet received for each voip session.

Step 4 

exit

Example:

Router(config)# exit

Exits the global configuration mode.

Examples

The following example shows media ip address and port detection being enabled the entire MGCP gateway:

Router# conf t 

Enter configuration commands, one per line. End with CNTL/Z. 
Router(config)# mgcp behavior comedia-check-media-src enable 
Router(config)# exit 

Indicating the Location of the MGCP Gateway

To indicate the location of the MGCP gateway perform the following steps.

SUMMARY STEPS

1. enable

2. configure terminal

3. mgcp behavior comedia-role [active | passive | none]

4. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mgcp behavior comedia-role passive

Example:

Router(config)# mgcp behavior comedia-role passive

Indicates the location of the MGCP gateway:

active—Configures MGCP gateways inside NAT.

passive—Configures gateways located outside of NAT.

none—Specifies gateway behavior before Cisco IOS release 12.4(11)T.

Step 4 

exit

Example:

Router(config)# exit

Exits the global configuration mode.

Examples

The following example shows a symmetrical RTP configuration for an MGCP gateway located outside the NAT:

Router# conf t 

Enter configuration commands, one per line. End with CNTL/Z. 
Router(config)# mgcp behavior comedia-role passive 
Router(config)# exit 

Forcing the Direction Attribute in the Session Description Protocol (SDP)

To force the MGCP gateway to include the direction attribute in the SDP, perform the following steps; Otherwise, the gateway will employ internal logic to determine if it should include the attribute for interoperability reasons.

SUMMARY STEPS

1. enable

2. configure terminal

3. mgcp behavior comedia-sdp-force [enable | disable]

4. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mgcp behavior comedia-sdp-force enable

Example:

Router(config)# mgcp behavior comedia-sdp-force enable

Forces the gateway to always place the direction attribute in the SDP.

Step 4 

exit

Example:

Router(config)# exit

Exits the global configuration mode.

Examples

The following example forces the MGCP gateway to place the direction attribute in the SDP:

Router# conf t 

Enter configuration commands, one per line. End with CNTL/Z. 
Router(config)# mgcp behavior comedia-sdp-force enable 

Router(config)# exit 

Troubleshooting Tips

Use the show mgcp command to verify feature configuration.

The following sample output displays the status of media source checking and the gateway role.

Router# show mgcp
MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE
MGCP call-agent: 7.7.0.201 2497 Initial protocol service is MGCP 1.0 
.
.
.
MGCP Dynamic payload type for NTE is 99
MGCP rsip-range is enabled for TGCP only.
MGCP Comedia role is PASSIVE 
MGCP Comedia check media source is ENABLED
MGCP Comedia sdp force is DISABLED 
MGCP Guaranteed scheduler time is DISABLED 
MGCP DNS stale threshold is 30 seconds 
.
.
.

debug mgcp media—shows address and port detection. Used to determine if source address and port has been detected for the call.

debug mgcp packet—shows MPCP messages and SDP contents. Used to see remote SDP and local SDP. Verify the direction attribute in each.

Make a call in the NAT network, one in the CPE to Public direction and one in the Public to CPE direction. Verify two-way voice is heard in both scenarios. Alternately, verify SDP direction attribute and source port/address dection using MGCP debugs.

Configuration Examples for Symmetrical RTP Support for MGCP-Based Calls

This section provides the following configuration examples:

Enabling IP Address and Port Detection for the MGCP Gateway: Example

Forcing the Direction Attribute in the Session Description Protocol (SDP): Example

Enabling IP Address and Port Detection for the MGCP Gateway: Example

The following is sample output of enabling port and address detection on a gateway outside the NAT (passive).


Router# show mgcp
MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE 
MGCP call-agent: none Initial protocol service is MGCP 0.1 
MGCP validate call-agent source-ipaddr DISABLED 
MGCP validate domain name DISABLED 
MGCP block-newcalls DISABLED 
MGCP send SGCP RSIP: forced/restart/graceful/disconnected DISABLED 
MGCP quarantine mode discard/step 
MGCP quarantine of persistent events is ENABLED 
MGCP dtmf-relay for VoIP is SDP controlled 
MGCP dtmf-relay for voAAL2 is SDP controlled 
MGCP voip modem passthrough disabled 
MGCP voaal2 modem passthrough disabled 
MGCP voip modem relay: Disabled 
MGCP T.38 Named Signalling Event (NSE) response timer: 200 
MGCP Network (IP/AAL2) Continuity Test timer: 200 
MGCP 'RTP stream loss' timer: 5 
MGCP request timeout 500 
MGCP maximum exponential request timeout 4000 
MGCP gateway port: 2427, MGCP maximum waiting delay 3000 
MGCP restart delay 0, MGCP vad DISABLED 
MGCP rtrcac DISABLED 
MGCP system resource check DISABLED 
MGCP xpc-codec: DISABLED, MGCP persistent hookflash: DISABLED
MGCP persistent offhook: ENABLED, MGCP persistent onhook: DISABLED 
MGCP piggyback msg ENABLED, MGCP endpoint offset DISABLED 
MGCP simple-sdp DISABLED 
MGCP undotted-notation DISABLED
MGCP codec type g711ulaw, MGCP packetization period 20 
MGCP JB threshold lwm 30, MGCP JB threshold hwm 150 
MGCP LAT threshold lwm 150, MGCP LAT threshold hwm 300 
MGCP PL threshold lwm 1000, MGCP PL threshold hwm 10000 
MGCP CL threshold lwm 1000, MGCP CL threshold hwm 10000 
MGCP playout mode is adaptive 60, 40, 200 in msec 
MGCP Fax Playout Buffer is 300 in msec 
MGCP media (RTP) dscp: ef, MGCP signaling dscp: af31 
MGCP default package: trunk-package 
MGCP supported packages: gm-package dtmf-package trunk-package line-package 
hs-package atm-package ms-package dt-package mo-package 
res-package mt-package fxr-package md-package 
MGCP Digit Map matching order: shortest match 
SGCP Digit Map matching order: always left-to-right 
MGCP VoAAL2 ignore-lco-codec DISABLED 
MGCP T.38 Max Fax Rate is DEFAULT 
MGCP T.38 Fax is ENABLED 
MGCP T.38 Fax ECM is ENABLED 
MGCP T.38 Fax NSF Override is DISABLED 
MGCP T.38 Fax Low Speed Redundancy: 0 
MGCP T.38 Fax High Speed Redundancy: 0 
MGCP Fax relay SG3-to-G3: ENABLED 
MGCP control bind :DISABLED 
MGCP media bind :DISABLED 
MGCP Upspeed payload type for G711ulaw: 0, G711alaw: 8 
MGCP Dynamic payload type for G.726-16K codec 
MGCP Dynamic payload type for G.726-24K codec 
MGCP Dynamic payload type for G.Clear codec 
MGCP Dynamic payload type for NSE is 100 
MGCP Dynamic payload type for NTE is 99 
MGCP rsip-range is enabled for TGCP only. 
MGCP Comedia role is PASSIVE 
MGCP Comedia check media source is ENABLED 
MGCP Comedia SDP force is DISABLED 
MGCP Guaranteed scheduler time is DISABLED 
MGCP DNS stale threshold is 30 seconds 

Router# 

Forcing the Direction Attribute in the Session Description Protocol (SDP): Example

Router# conf t
 
Enter configuration commands, one per line. End with CNTL/Z.
Router#(config)#mgcp behavior comedia-sdp-force enable
Router#(config)#exit 
Router#show mgcp
MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE
MGCP call-agent: none Initial protocol service is MGCP 0.1
.
.
.
MGCP Comedia role is PASSIVE 
MGCP Comedia check media source is ENABLED 
MGCP Comedia SDP force is ENABLED 
MGCP Guaranteed scheduler time is DISABLED 
MGCP DNS stale threshold is 30 seconds 

Additional References

The following sections provide references related to the Symmetrical RTP Support for MGCP-Based Calls feature.

Related Documents

Related Topic
Document Title

General information on MGCP

Configuring Media Gateway Control Protocol and Related Protocols

Cisco IOS MGCP and Related Protocols Configuration Guide

Connection-Oriented Media for SIP

SIP:Connection-Oriented Media (Comedia) Enhancements for SIP

All debug commands:

Cisco IOS Debug Command Reference, Release 12.4T


Standards

Standard
Title

draft-ietf-mmusic-sdp-comedia-04.txt

Connection-Oriented Media Transport in SDP


MIBs

MIB
MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified 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://www.cisco.com/go/mibs


RFCs

RFC
Title

No new RFCs are supported by this feature.


Technical Assistance

Description
Link

The Cisco Technical Support & Documentation website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, tools, and technical documentation. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/techsupport


Command Reference

This feature uses the following new and modified commands.

mgcp behavior comedia-check-media-src

mgcp behavior comedia-role

mgcp behavior comedia-sdp-force

show mgcp

show mgcp connection

List of All Release 12.4T Commands

An alphabetical list of all Cisco IOS Release 12.4T commands is in the Cisco IOS Master Commands List, Release 12.4T, at the following URL:

http://www.cisco.com/en/US/docs/ios/mcl/124tmcl/124t_book.html

List of All New, Modified, Removed, and Replaced Release 12.4T Commands

Alphabetized lists of all new, modified, removed, and replaced commands for each Cisco IOS Release 12.4T release are in the Cisco IOS New, Modified, Removed, and Replaced Commands, Release 12.4T, document at the following URL:

http://www.cisco.com/en/US/products/ps6441/products_product_index09186a00805db026.html

Feature Information for Symmetrical RTP Support for MGCP-Based Calls

Table 1 lists the features in this module and provides links to specific configuration information. Only features that were introduced or modified in Cisco IOS Release 12.4(11)T or a later release appear in the table.

For information on a feature in this technology that is not documented here, see the MGCP Features Roadmap.

Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS and Catalyst OS software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.


Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.


Table 1 Feature Information for Symmetrical RTP Support for MGCP-Based Calls 

Feature Name
Releases
Feature Information

Symmetrical RTP support for MGCP-Based Calls

12.4(11)T

Allows calls to flow through Address Translation (NAT) networks unaware of voice signaling. Determination of the IP address to send MGCP voice media is made from incoming RTP media instead of the information provided in the Session Description Protocol (SDP).

The following commands were introduced or modified by this feature: mgcp behavior comedia-check-media-src, mgcp behavior comedia-role, mgcp behavior comedia-sdp-force, show mgcp, show mgcp connection.


Glossary

VoBB—Voice over Broadband

NAT—Network Address Translation

SDP—Session Description Protocol

SIP—Session Initiation Protocol

SS7—Signaling System 7


Note See Internetworking Terms and Acronyms for terms not included in this glossary.