Document ID: 43802
Updated: Feb 02, 2006
Contents
Introduction
This document explains how to use Media Gateway Control Protocol (MGCP) between a Cisco IOS® Gateway (for example, VG200, 2600, 3600, IAD2400) and a Cisco CallManager 3.x Media Convergence Server (MCS). It covers the configuration of one T1 channel associated signaling (CAS) connection to the Public Switched Telephone Network (PSTN). The remote site is an H.323 gateway. VoIP connectivity to Cisco 7960 IP Phones are also shown. When this configuration is complete, it will be possible to make calls between all of the phones used in this configuration. In addition, it will be possible to route calls over the PSTN from any of the phones used in this configuration.
This document assumes that the reader is already familiar with how to configure Cisco IP Phones in Cisco CallManager. It also assumes that there is at least one IP Phone already active on the Cisco CallManager server.
Symptoms:
This is a list of possible symptoms you might encounter with MGCP gateways and what to check for:
-
Outbound or outbound calls are not working. Ensure that you bind the correct MGCP source interface for media and signaling.
-
Outbound calls receive fast busy after the last digit is dialed. Ensure that you bind the correct MGCP source interface for media and signaling.
-
The MGCP gateway does not register with Cisco CallManager. If you use a domain name on the MGCP gateway, ensure that it matches the domain name in Cisco CallManager under the Gateway configuration.
Prerequisites
Requirements
Ensure that you meet these requirements before you attempt this configuration:
-
A Cisco IOS Gateway running a Cisco IOS Software Release that supports MGCP with Cisco CallManager.
-
This document is created using a Cisco 2611.
Note: There are other Cisco IOS Software Release trains that support MGCP on Cisco routers. Cisco IOS Software Release 12.1XM is one example.
Caution: The syntax for some of the MGCP commands is different in other Cisco
IOS Software Releases. Refer to the documentation for your configuration to
determine the syntax required.
Components Used
This configuration was tested with Cisco CallManager 3.3(2) and a Cisco IOS Software Release 12.2(13) image. The screen shots and IOS configuration were captured using the software, hardware and other equipment here.
-
Cisco 2600 / 1 MFT-T1 / 1 FastEthernet 10/100 port with Cisco IOS Software Release 12.2(13)
-
Cisco CallManager 3.3(2) running on a MCS7835
-
Analog handset
-
Cisco 7960 IP Phone
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Network Diagram
The network diagram below describes the setup used for the configuration and troubleshooting purposes of this document.
For recommended compatibility software versions between Cisco
CallManager and the Cisco IOS Gateway, refer to the
Cisco CallManager Compatibility Matrix
.
Note: Cisco IOS Software Release 12.2(11)T or later is recommended based on the ccm-manager command enhancements. The ccm-manager command requires Cisco IOS Software Release 12.1(5)XM or later on all Cisco routers (2600, 3600) and the VG200.
Cisco 2600 and 3600 routers support MGCP if they are running Cisco IOS Software Release 12.1(3)T or later. The release and version that you require is based on the features that you need to enable. The Cisco CallManager server must run version 3.0(5)a or later. The router configuration is the same for all types of routers. The Cisco CallManager configuration is also the same for all types of routers.
Cisco IOS Software Release 12.1(5)XM1 and later supports the VG200. The release and version that you require is based on the features that you need to enable. Although the VG200 is supported in earlier releases of Cisco CallManager, version 3.0(5)a or later is recommended.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Configure the Cisco IOS MGCP Gateway
This document guides you through a simple Media Gateway Control Protocol (MGCP) configuration. Only the minimum commands are required to build a working configuration for a router with one T1.
Note: The configuration in this document works for a Cisco VG200, 2600, or 3600 series router that runs Cisco IOS® Software Release 12.1(5)T or later. For other IOS MGCP gateways, check the IOS documentation for supported versions.
Step-by-Step Instructions
Follow this procedure to configure the Cisco IOS MGCP Gateway.
Note: The remainder of this document refers to the Cisco 2600. The Cisco 2600 starts with a default configuration (as it comes shipped).
-
Configure an IP address on the Cisco 2600's Ethernet interface and enable the interface.
router(config)#interface fastether 0/0 router(config-if)#ip address 172.16.13.35 255.255.255.224 router(config-if)#no shut
-
Assign a unique name to the Cisco 2600 so that the Cisco CallManager server can identify it.
router(config)#hostname 2611-4 !--- This is how Cisco CallManager keeps track of the MGCP network !--- devices it is communicating with. This name must be unique.
-
Configure the Cisco 2600 to run MGCP as a signaling protocol.
2611-7 (config)#mgcp
-
Configure the IP address (or DNS name) for the Cisco CallManager server.
2611-7 (config)#mgcp call-agent 171.69.85.171
Note: To configure redundant Cisco CallManagers in the CallManager cluster use these commands.
2611-7 (config)#ccm-manager redundant-host [ip address | DNS-name] [ip-address | DNS-name] 2611-7 (config)#ccm-manager switchback {graceful|imm[ediate] |sch[edule-time] hh:mmm|uptime[-delay] minutes}
-
Select the codec type and the dual-tone multifrequency (DTMF) relay function.
VG200A(config)#mgcp dtmf-relay voip codec all mode out-of-band
-
To enable support for Cisco CallManager within MGCP, enter this command.
VG200A(config)#ccm-manager mgcp
-
Bind the MGCP application to the voice ports.
Note: Use the command show voice port to determine the type of ports the Cisco 2611 has and the order they are installed.
dial-peer voice 999101 pots application mgcpapp port 1/0:1 /* T1 digital port */
Note: In some Cisco IOS Software Releases, the application MGCPAPP command is case sensitive. Unless you know that your version is not case sensitive, always enter this command in upper case. You can check whether your version is case sensitive after you configure this command when you look at the output of the show running-config command. Cisco IOS Software Release 12.1(5)T is not case sensitive.
-
Make certain that the voice ports are enabled.
Note: The shutdown and no shutdown commands affect both ports on a voice interface card (VIC). It is only necessary to enter the command on one of these ports.
-
Enable IP connectivity.
If any of the VoIP devices that the Cisco 2600 communicates with are located on different subnets/VLANS, enable IP routing and create a gateway of last resort (default network). This step explains how to perform both tasks.
VG200A(config)#ip routing VG200A(config)#ip route 0.0.0.0 0.0.0.0 <ip_address_of_gateway>
Note: On the Cisco IOS Gateways (which are essentially routers with voice interfaces), you can configure a routing protocol instead of static routes. The important issue is to ensure IP connectivity between VoIP devices.
Note: For VG200, when you enable IP routing, the ip routing command does not appear in the configuration because it is normally on by default and default commands do not usually appear in a Cisco router configuration. The VG200 Cisco IOS images override the default behavior of having IP routing enabled by hard coding the no ip routing command into the initial configuration. The initial configuration is created when the image is booted on a platform that has had its configuration cleared by the write erase command or when it is booted up a VG200 that has never been configured.
The ip route 0.0.0.0 0.0.0.0 <ip_address_of_gateway> command causes the VG200 to install a gateway of last resort into its routing table. The show ip route command confirms this. In the example below, the gateway's IP address is 172.16.13.35.
Note: The ip classless command is also required in order for this gateway of last resort to be effective. The ip classless command is enabled by default. It is one of the few Cisco IOS default commands that appears in a configuration when it is enabled and also appears in the "no" form when it is disabled. If your configuration has the line no ip classless, enter the ip classless command to enable ip classless.
Caution: All dial plan related configuration elements are controlled by Cisco CallManager and should not be configured in the MGCP gateway for MGCP-managed endpoints (those with the application MGCPAPP command in their dial-peer statement). You should not configure any of these functions:
-
Under Dial Peers:
-
destination-pattern
-
session-target
-
-
Under Voice Ports:
-
connection { plar | tie line | trunk }
-
The Cisco 2600 is now ready to communicate with the Cisco CallManager server. It periodically sends out messages in an attempt to establish a connection. When the Cisco CallManager server configuration is complete, the connection should automatically establish itself. You should not have to make any further changes on the Cisco 2600.
Note: It is a good practice to reset the gateway ports after you complete the configuration, as shown in this example.
router(config)#voice-port 1/0:1 router(config-voiceport)#shutdown router(config-voiceport)#no shutdown
-
Configuration
2611-4#show run Building configuration... Current configuration : 1480 bytes ! version 12.2 service timestamps debug datetime msec service timestamps log uptime no service password-encryption ! hostname 2611-4 enable secret 5 $1$Mg6h$ewJl8p0VQlKWg0zYasUh91 ! memory-size iomem 10 voice-card 1 ! ip subnet-zero ! isdn switch-type primary-ni ! ccm-manager mgcp mta receive maximum-recipients 0 ! controller T1 1/0 framing sf linecode b8zs no yellow generation no yellow detection ds0-group 1 timeslots 1-24 type e&m-wink-start ! interface Ethernet0/0 ip address 172.16.13.35 255.255.255.224 half-duplex ! interface Ethernet0/1 no ip address shutdown half-duplex ! ip classless ip route 0.0.0.0 0.0.0.0 172.16.13.33 no ip http server ! call rsvp-sync ! voice-port 1/0:0 ! mgcp mgcp call-agent 171.69.85.171 2427 service-type mgcp version 0.1 mgcp dtmf-relay voip codec all mode out-of-band mgcp rtp unreachable timeout 1000 action notify mgcp modem passthrough voip mode nse mgcp package-capability rtp-package mgcp package-capability sst-package no mgcp timer receive-rtcp mgcp sdp simple !--- This binds the correct MGCP source interface. mgcp bind control source-interface Ethernet0/0 mgcp bind media source-interface Ethernet0/0 mgcp profile default ! dial-peer cor custom dial-peer voice 99 pots application mgcpapp incoming called-number . port 1/0:1 ! dial-peer voice 88 voip destination-pattern 1010 session target ipv4:172.16.13.42 ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 login line vty 5 15 login !
Verify the Cisco IOS MGCP Gateway
This section provides information you can use to confirm your configuration is working properly.
Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.
-
show ccm—Provides the Cisco CallManager registration status.
-
show mgcp endpoint—Provides the port status.
2611-4#show mgcp endpoint Interface T1 1/0 ENDPOINT-NAME V-PORT SIG-TYPE ADMIN S1/ds1-0/1@2611-4 1/0:0 e&m-wnk up S1/ds1-0/2@2611-4 1/0:0 e&m-wnk up S1/ds1-0/3@2611-4 1/0:0 e&m-wnk up S1/ds1-0/4@2611-4 1/0:0 e&m-wnk up S1/ds1-0/5@2611-4 1/0:0 e&m-wnk up S1/ds1-0/6@2611-4 1/0:0 e&m-wnk up S1/ds1-0/7@2611-4 1/0:0 e&m-wnk up S1/ds1-0/8@2611-4 1/0:0 e&m-wnk up S1/ds1-0/9@2611-4 1/0:0 e&m-wnk up S1/ds1-0/10@2611-4 1/0:0 e&m-wnk up S1/ds1-0/11@2611-4 1/0:0 e&m-wnk up S1/ds1-0/12@2611-4 1/0:0 e&m-wnk up S1/ds1-0/13@2611-4 1/0:0 e&m-wnk up S1/ds1-0/14@2611-4 1/0:0 e&m-wnk up S1/ds1-0/15@2611-4 1/0:0 e&m-wnk up S1/ds1-0/16@2611-4 1/0:0 e&m-wnk up S1/ds1-0/17@2611-4 1/0:0 e&m-wnk up S1/ds1-0/18@2611-4 1/0:0 e&m-wnk up S1/ds1-0/19@2611-4 1/0:0 e&m-wnk up S1/ds1-0/20@2611-4 1/0:0 e&m-wnk up S1/ds1-0/21@2611-4 1/0:0 e&m-wnk up S1/ds1-0/22@2611-4 1/0:0 e&m-wnk up S1/ds1-0/23@2611-4 1/0:0 e&m-wnk up S1/ds1-0/24@2611-4 1/0:0 e&m-wnk up
Configure Cisco CallManager
This section discusses in detail the configuration of Cisco CallManager in interaction with the MGCP gateway and CAS interface to the PSTN.
Task 1: Create an MGCP Gateway
In this task, a Cisco 2611-based MGCP gateway is created. The material in this section also applies to other Cisco IOS MGCP routers. The only difference is the platform that you select in step 3.
-
Select Device > Gateway to use the Device Wizard to create an MGCP gateway.
-
Click Add a New Gateway.
-
Select the Gateway Type (in this case, it is Cisco26xx).
Note: In the Device Protocol field, notice that the only option is "Not Required for MGCP." This means that no protocol needs to be selected if the gateway is an MGCP gateway.
Note: If you are using another Cisco IOS router, select the appropriate gateway type (such as Cisco 26xx or 36xx). This is the only step that is different. The remaining tasks apply to the Cisco VG200 as well as the Cisco 2600 or 3600 Series Routers.
-
Click Next.
-
For the MGCP Domain Name, use the actual host name that you assigned to the Cisco 2600 (in this case, 2611-4) and specify the carrier module that the 2600 has installed (in this case, it is an NM-HDV).
Note: The voice carrier modules for the IAD2400 are different than those of the Cisco VG200, 2600, and 3600.
Note: The MGCP Domain Name parameter is case sensitive.
-
Click Insert.
Note: If the Cisco IOS router/gateway is configured with a domain name ip domain-name word, the MGCP Domain Name field needs to include it. For example, 2600.company.com.
Proceed to Task 2: Configure the MFT-T1 Ports.
Task 2: Configure the MFT-T1 Ports
In this task, the MFT-T1 ports are configured. These are the ports that connect to the PSTN. In this procedure, you determine the type of port and assign the attendant Directory Number (DN).
-
Identify the Voice Interface Card (VIC) modules installed in slot 1 positions 0 and 1. In this case they are in 1 port T1.
-
Click Update to activate the changes.
The T1 ports appear at the bottom right of the next screen. These are also referred to as EndPoint Identifiers.
-
Select the T1 port labelled 1/0/0.
-
Select the correct type of T1 port.
-
Configure your parameters on this MGCP Member Configuration screen as required and click Insert.
Note: Look for the name S1/DS1-0@2611-4 in the image above to determine the MGCP device you are configuring (2611-4) as well as the port S1/DS1-0= Slot 1/ Port0.
-
Click the Reset Gateway option and configure each port as follows:
Click on Add a New Port and configure these settings.
Cisco CallManager 3.3(2):
-
Port Type: Only E& M is supported on Cisco CallManager 3.3(2).
-
Beginning Port Number: The first port configured.
-
Ending Port Number: The last port configured.
-
Port Direction: Both ways for two calls. Inbound for incoming calls. Outbound for outgoing calls.
-
Signaling Type*: Only two types of signaling are supported with Cisco CallManager 3.3(2). They are Delay Dial and Wink Start.
-
-
Click Insert and configure the port specific parameters as shown in the remaining steps.
-
Click Port, configure the parameters, and click Update.
Proceed to Task 4: Test The Phones for Local Connectivity.
Task 4: Test the Phones for Local Connectivity
If you have already completed the tasks to configure the Cisco 2600, it has been sending MGCP messages to the Cisco CallManager server attempting to establish an MGCP relationship. If Tasks 1 through 4 are a success, the Cisco CallManager server and the Cisco 2600 are now ready to route local calls between any IP phones registered to the Cisco CallManager server and PSTN.
You should also be able to dial the IP Phones that are configured as well as call the analog phones from the IP Phones. Try to complete calls to and from all of the phones in your configuration.
Note: If some of your phones cannot place or receive calls, look at your partition, Calling Search Space (CSS), device pool, and location configurations. You may have a configuration that does not allow all local phones to call each other. If this is the case, temporarily place one IP Phone and one analog phone (FXS port) in the same partition, device pool, location, and CSS and try the test again.
Note: If you encounter issues with the Cisco IOS gateway registration or gateway operation, try to reset the gateway voice ports, as shown in this example.
router(config)#voice-port 1/0:1 router(config-voiceport)#shutdown Both ports are out of service router(config-voiceport)#no shutdown
Note: If you continue to have problems, refer to Monitor, Reset, and Delete MGCP Gateways for Cisco CallManager and Verify the MGCP Gateway for additional troubleshooting tasks.
Proceed to Task 5: Configure a Route Pattern.
Task 5: Configure a Route Pattern
In this task a simple route pattern is created to enable the phones to make calls via the PSTN. The standard North American Numbering Plan (NANP) pattern of "9.@" is used.
-
Select Route Plan > Route Pattern from the main Cisco CallManager menu.
In addition to the defaults, these parameters have been configured:
Field Name Value Meaning Route Pattern 9.@ Standard route pattern for Dial Plans using NANP. This route pattern is configured to provide dial tone (or by default). Gateway Router List S1/DS1-0@2611-4 T1 1/0:1 on 2611-4 Discard Digits PreDot Drop everything up to and including the "." in the route pattern. Note: The route pattern "9.@" is often used for installations outside the United States that cannot use the NANP.
-
Click Insert and proceed to Task 6: Test Calls Over The PSTN.
Task 6: Test Calls Over the PSTN
You should now be able to route calls over the PSTN from any phone on the system when you dial 9, and then dial the called number after the dial tone comes back. In the traces below, a call is made from an IP Phone and captures the MGCP packet traces.
Note: If you have any problems, refer to Monitor, Reset, and Delete MGCP Gateways for Cisco CallManager and Verify and Troubleshoot the Cisco IOS MGCP Gateway for more information on troubleshooting tasks. For any CAS troubleshooting, please see Configure and Troubleshoot T1 CAS Signaling.
Mar 9 06:34:21.523: NTFY 27862 *@2611-4 MGCP 0.1 X: 0 O: <--- *Mar 9 06:34:21.567: MGCP Packet received from 171.69.85.171- 200 27862 *Mar 9 06:34:23.110: MGCP Packet received from 171.69.85.171- !--- Keepalives sent to and received from the Cisco CallManager. CRCX 122 S1/DS1-0/1@2611-4 MGCP 0.1 C: A00000000100001a X: 0 L: p:20, a:PCMU, s:off M: recvonly R: DT/oc S: DT/sup(addr(1,0,1,0)) Q: process,loop !--- CRCX: CreateConnection !--- C: CallId !--- L: LocalCXOptions p: packetize period(ms) a: Compression Algo. !--- M: Mode !--- X: RequestIdentifier for the notification request !--- R: RequestEvents !--- I: ConnectionId *Mar 9 06:34:23.146: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:23.146: 200 122 OK I: 6 v=0 c=IN IP4 172.16.13.35 m=audio 18546 RTP/AVP 0 100 a=rtpmap:100 X-NSE/8000 a=fmtp:100 192-194,200-202 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 <--- *Mar 9 06:34:24.885: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:24.885: NTFY 27863 S1/DS1-0/1@2611-4 MGCP 0.1 X: 0 O: DT/oc(dt/sup) <--- *Mar 9 06:34:24.925: MGCP Packet received from 171.69.85.171- 200 27863 *Mar 9 06:34:26.271: MGCP Packet received from 171.69.85.171- MDCX 123 S1/DS1-0/1@2611-4 MGCP 0.1 C: A00000000100001a I: 6 X: 0 L: p:20, a:PCMU, s:off M: sendrecv S: v=0 o=- 6 0 IN EPN S1/DS1-0/1@2611-4 s=Cisco SDP 0 t=0 0 c=IN IP4 172.16.240.41 m=audio 32112 RTP/AVP 0 !--- MDCX= ModifyConnection !--- C: CallId !--- I: ConnectionId !--- M: Mode *Mar 9 06:34:26.287: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:26.287: 200 123 OK <--- *Mar 9 06:34:34.340: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:34.340: NTFY 27864 S1/DS1-0/1@2611-4 MGCP 0.1 X: 0 O: DT/ans <--- *Mar 9 06:34:34.368: MGCP Packet received from 171.69.85.171- 200 27864 *Mar 9 06:34:34.597: MGCP Packet received from 171.69.85.171- RQNT 124 S1/DS1-0/1@2611-4 MGCP 0.1 X: 0 R: D/[0-9ABCD*#], DT/rel S: Q: process,loop *Mar 9 06:34:34.609: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:34.609: 200 124 OK <--- *Mar 9 06:34:42.954: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:42.954: NTFY 27865 S1/DS1-0/1@2611-4 MGCP 0.1 X: 0 O: DT/sus <--- *Mar 9 06:34:42.958: MGCP Packet received from 171.69.85.171- 200 27865 *Mar 9 06:34:42.962: MGCP Packet received from 171.69.85.171- DLCX 125 S1/DS1-0/1@2611-4 MGCP 0.1 C: A00000000100001a I: 6 X: 0 R: DT/rlc S: DT/rel Q: process,loop *Mar 9 06:34:42.970: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 ---> *Mar 9 06:34:42.974: 250 125 OK P: PS=833, OS=133280, PR=875, OR=140000, PL=0, JI=24, LA=0 <--- *Mar 9 06:34:43.395: send_mgcp_msg, MGCP Packet sent to 171.69.85.171 --->
Verify
See the Verify the Cisco IOS MGCP Gateway section.
Troubleshoot
Refer to Verify and Troubleshoot the Cisco IOS MGCP Gateway for further troubleshooting information.
Related Information
Open a Support Case (Requires a Cisco Service Contract.)
Related Cisco Support Community Discussions
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.