http://www.cisco.com/en/US/docs/ios/12_4t/12_4t11/ht_6974s.html
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.
•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
•Information About Symmetrical RTP Support for MGCP-Based Calls
•MGCP must be configured.
•Network Address Translation (NAT) traversal for MGCP and SIP signaling is not supported.
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
•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.
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
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.
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)
To globally enable ip address and port detection on an MGCP gateway, perform the following steps:
1. enable
2. configure terminal
3. mgcp behavior comedia-check-media-src [enable | disable]
4. exit
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
To indicate the location of the MGCP gateway perform the following steps.
1. enable
2. configure terminal
3. mgcp behavior comedia-role [active | passive | none]
4. exit
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
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.
1. enable
2. configure terminal
3. mgcp behavior comedia-sdp-force [enable | disable]
4. exit
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
•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.
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
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#
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
The following sections provide references related to the Symmetrical RTP Support for MGCP-Based Calls feature.
Related Topic |
Document Title |
---|---|
General information on MGCP |
•Configuring Media Gateway Control Protocol and Related Protocols |
Connection-Oriented Media for SIP |
•SIP:Connection-Oriented Media (Comedia) Enhancements for SIP |
All debug commands: |
Cisco IOS Debug Command Reference, Release 12.4T |
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
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.
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.
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.