Guest

Gateway Protocols

MGCP with Digital CAS and Cisco CallManager Configuration Example

Document ID: 43802

Updated: Feb 02, 2006

   Print

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 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.

mgcp_12_2_xn5.gif

For recommended compatibility software versions between Cisco CallManager and the Cisco IOS Gateway, refer to the Cisco CallManager Compatibility Matrix leavingcisco.com.

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).

  1. 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
    
  2. 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.
    
    
  3. Configure the Cisco 2600 to run MGCP as a signaling protocol.

    2611-7 (config)#mgcp
    
  4. 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}
  5. Select the codec type and the dual-tone multifrequency (DTMF) relay function.

    VG200A(config)#mgcp dtmf-relay voip codec all mode out-of-band
    
  6. To enable support for Cisco CallManager within MGCP, enter this command.

    VG200A(config)#ccm-manager mgcp
    
  7. 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.

  8. 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.

  9. 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 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.

mgcp-t1-cas-ccm-a.gif

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.

  1. Select Device > Gateway to use the Device Wizard to create an MGCP gateway.

    mgcp-t1-cas-ccm-2.gif

  2. Click Add a New Gateway.

    mgcp-t1-cas-ccm-3.gif

  3. 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.

  4. Click Next.

  5. 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.

    mgcp-t1-cas-ccm-4.gif

  6. 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).

  1. Identify the Voice Interface Card (VIC) modules installed in slot 1 positions 0 and 1. In this case they are in 1 port T1.

  2. 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.

    mgcp-t1-cas-ccm-5.gif

  3. Select the T1 port labelled 1/0/0.

  4. Select the correct type of T1 port.

    mgcp-t1-cas-ccm-6.gif

  5. 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.

    mgcp-t1-cas-ccm-7.gif

  6. 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.

    mgcp-t1-cas-ccm-8.gif

  7. Click Insert and configure the port specific parameters as shown in the remaining steps.

  8. Click Port, configure the parameters, and click Update.

    mgcp-t1-cas-ccm-9.gif

    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.

  1. Select Route Plan > Route Pattern from the main Cisco CallManager menu.

    mgcp-t1-cas-ccm-10.gif

    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.

    mgcp-t1-cas-ccm-11.gif

  2. 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

Updated: Feb 02, 2006
Document ID: 43802