Cisco Unified Communications Manager (CallManager)

Configuring the Cisco IOS MGCP Gateway

Document ID: 42105

Updated: Nov 01, 2006



This document:

  • Guides you through a simple Media Gateway Control Protocol (MGCP) configuration

  • Presents only the minimum commands required to build a configuration that works for a router with two Foreign Exchange Office (FXO) and two Foreign Exchange Station (FXS) ports

Note: The instructions in this document work for a Cisco Voice Gateway 200 (VG200) and Cisco 2600 and 3600 series routers that run Cisco IOS® Software Release 12.1(5)T and later. Refer to the Cisco IOS software documentation for supported software releases of other Cisco IOS MGCP gateways.


You can potentially encounter this list of symptoms when you configure Cisco CallManager with Cisco IOS MGCP gateways with analog FXO and FXS ports:

  • The MGCP gateway does not register with Cisco CallManager. Refer to MGCP Gateway Registration Failure with Cisco CallManager.

  • Caller ID does not work on FXO ports. This is because caller ID is not supported with FXO ports when configured for MGCP. Configure the gateway in H.323 mode instead.

  • Overhead paging locks up FXO ports during hookflash unless users go completely off-hook. Shut followed by No shut resets the port. This is related to Cisco bug ID CSCef62275 (registered customers only) when fixed in Cisco IOS Software Release 12.3(14)T and later.

This document is Part 2 of a six-document set:



Cisco recommends that you have knowledge of these topics:

  • A Cisco IOS gateway that runs a Cisco IOS software release that supports MGCP with Cisco CallManager

  • Cisco VG200

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 that is required.

Components Used

The information in this document is based on these software and hardware versions:

  • 1 * Cisco VG200 / 2 X FXS / 2 X FXO / 1 Fast Ethernet 10/100 port; Cisco IOS Software Release 12.1(5)T

  • 1 * Cisco CallManager 3.0(5a) that runs on an MCS7835

  • 2 * Analog handsets

  • 2 * Cisco 7960 IP phones

Refer to Cisco Unified CME and Cisco IOS Software Version Compatibility Matrix for recommended compatibility software releases between Cisco CallManager and the Cisco IOS gateway.

Note: Cisco IOS Software Release 12.2(11)T and later is recommended based on the ccm-manager command enhancements. The ccm-manager command requires Cisco IOS Software Release 12.1(5)XM and later on all routers (2600 and 3600) and the VG200.

Cisco 2600 and 3600 routers support MGCP if they run Cisco IOS Software Release 12.1(3)T and later. The software releases that you require are based on the features that you need to enable. The Cisco CallManager server must run software release 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 support the VG200. The software releases that you require are based on the features that you need to enable. Use software release 3.0(5)a and later even though the VG200 is supported in earlier Cisco CallManager software releases.

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.

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.


Refer to Cisco Technical Tips Conventions for more information on document conventions.

Tasks to Perform

Complete these steps:

  1. Configure an IP address on the Cisco IOS gateway Ethernet interface.

  2. Assign a unique name to the Cisco IOS gateway.

  3. Configure the Cisco IOS gateway to run MGCP as a signaling protocol.

  4. Configure the IP address or Domain Name System (DNS) name for the Cisco CallManager server.

  5. Select the codec type and the dual tone multifrequency (DTMF) relay function.

  6. Tell the Cisco IOS gateway that it communicates with a Cisco CallManager server.

  7. Bind the MGCP application to the voice ports.

  8. Enable the voice ports.

  9. Enable IP connectivity.


Note: The remainder of this document refers to the VG200. The VG200 starts with a default configuration, as it comes shipped.

Complete these steps:

  1. Configure an IP address on the VG200 Ethernet interface and enable the interface.

    router(config)#interface fastethernet 0/0
    router(config-if)#ip address
    router(config-if)#no shut
  2. Assign a unique name to the VG200. This allows the Cisco CallManager server to identify it.

    router(config)#hostname VG200A 
    /* This is how CallManager keeps track of the MGCP network */
    /* devices it is communicating with. This name must be     */
    /* unique.                                                 */
  3. Configure the VG200 to run MGCP as a signaling protocol.

  4. Configure the IP address or DNS name for the Cisco CallManager server.

    VG200A(config)#mgcp call-agent
    VG200A(config)#ccm-manager config server
    VG200A(config)#ccm-manager config

    The mgcp call-agent command is used to configure the address and protocol of the call agent for MGCP endpoints on a media gateway. This command can be used to specify the version of the protocol used. For more information, refer to mgcp call-agent .

    The ccm-manager config server command is used to specify the TFTP server from which the Media Gateway Control Protocol (MGCP) gateway downloads Cisco CallManager XML configuration files.

    The ccm-manager config command is required to enable the download of Cisco CallManager XML configuration files.

    Note: Issue these commands to configure redundant Cisco CallManagers in the Cisco CallManager cluster:

    VG200(config)#ccm-manager redundant-host [ip-address |
      dns-name] [ip-address | dns-name] 
    VG200(config)#ccm-manager switchback {graceful | immediate
      |schedule-time hh:mm | uptime-delay minutes} 
  5. Select the codec type and the DTMF relay function.

    VG200A(config)#mgcp dtmf-relay codec all mode out-of-band
  6. Issue this command to enable support for Cisco CallManager within MGCP:

    VG200A(config)#ccm-manager mgcp
  7. Bind the MGCP application to the voice ports.

    Note: Issue the show voice port command to determine the type of ports that the VG200 has and in which order they are installed.

    VG200A(config)#dial-peer voice 1 pots
    VG200A(config)#application MGCPAPP
    VG200A(config)#port 1/0/0
    /* FXO port */
    VG200A(config)#dial-peer voice 2 pots
    VG200A(config)#application MGCPAPP
    VG200A(config)#port 1/0/1
    /* FXO port */
    VG200A(config)#dial-peer voice 3 pots
    VG200A(config)#application MGCPAPP
    VG200A(config)#port 1/1/0
    /* FXS port */
    VG200A(config)#dial-peer voice 4 pots
    VG200A(config)#application MGCPAPP
    VG200A(config)#port 1/1/1
    /* FXS port */

    Note: The application MGCPAPP command is case-sensitive in some Cisco IOS software releases. Always issue this command in uppercase unless you know that your software release is not case-sensitive. Look at the output of the show running-config command in order to check whether your software release is case-sensitive. 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). Issue the command on only one of these ports.

    VG200A(config)#voice-port 1/0/0
    VG200A(config-voiceport)#no shutdown
    Both ports are in service
    /* FXO port */
    VG200A(config)#voice-port 1/1/0
    VG200A(config-voiceport)#no shutdown
    Both ports are in service
    /* FXS port */s
  9. Enable IP connectivity.

    Enable IP routing if any of the VoIP devices with which the VG200 communicates are located on different subnetworks or VLANS. You also need to create a default network, or gateway of last resort. This step shows how to perform both tasks:

    VG200A(config)#ip routing
    VG200A(config)#ip route ip_address_of_gateway

    Note: The VG200 is not an IP router. You cannot run IP routing protocols such as Routing Information Protocol (RIP), Interior Gateway Routing Protocol (IGRP), or Open Shortest Path First (OSPF) protocol on it. It behaves more like an end station (client) as far as IP connectivity is concerned.

    Note: You can configure a routing protocol instead of static routes on the other Cisco IOS gateways, which are essentially routers with voice interfaces. The important issue is to ensure IP connectivity between VoIP devices.

    Note: The ip routing command does not appear in the configuration because it is normally on by default when you enable IP routing. Default commands do not usually show up in a Cisco router configuration. The VG200 Cisco IOS images override this default behavior by hardcoding the no ip routing command into the initial configuration. This configuration is created when the image is booted:

    • On a platform where the write erase command has cleared the configuration

    • On a VG200 that has never been configured

    The ip route ip_address_of_gateway command causes the VG200 to install a gateway of last resort on the routing table. The show ip route command confirms this. The gateway IP address is in this example:

    VG200A#show ip route
    Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
           D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
           i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
           * - candidate default, U - per-user static route, o - ODR
           P - periodic downloaded static route
    Gateway of last resort is to network
    C is directly connected, FastEthernet0/0
    S* [1/0] via

    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. This command is one of the few Cisco IOS software default commands that shows up in a configuration when enabled and also appears in the no form when disabled. Issue the ip classless command to enable ip classless if your configuration includes the line no ip classless.

caution Caution: Cisco CallManager controls all dial plan-related configuration elements. Do not configure these elements in the MGCP gateway for MGCP-managed endpoints (those with the application mgcpapp command in the dial peer statement). Do not configure any of these functions:

  • Under Dial Peers

    • destination-pattern

    • session target

  • Under Voice Ports

    • connection { plar | tie-line | trunk }


The VG200 is now ready to communicate with the Cisco CallManager server. The VG200 periodically sends out messages in attempt to establish a connection. The connection automatically establishes itself when the Cisco CallManager server configuration is complete. You do not have to make any further changes on the VG200.

Note: Reset the gateway ports after you complete the configuration, as this example shows:

router(config)#voice-port 1/0/0
Both ports are out of service
router(config-voiceport)#no shutdown


This table contains the complete configuration from VG200A for this document:

VG200A Configuration
VG200A#show running-config           
Building configuration...

Current configuration : 1244 bytes
version 12.1
no service single-slot-reload-enable
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
hostname VG200A
boot system flash
boot system rom
boot system tftp vg200
no logging buffered
logging rate-limit console 10 except errors
no logging console
enable secret #####
enable password #####
ip subnet-zero
no ip finger
no ip domain-lookup
mgcp call-agent
mgcp dtmf-relay codec all mode out-of-band
mgcp sdp simple
call rsvp-sync
ccm-manager mgcp
interface FastEthernet0/0
 ip address
 no ip mroute-cache
 speed auto
ip default-gateway
ip classless
no ip http server
snmp-server engineID local 000000090200000196983000
snmp-server community public RO
voice-port 1/0/0
voice-port 1/0/1
voice-port 1/1/0
voice-port 1/1/1
dial-peer voice 1 pots
 application mgcpapp
 port 1/0/0
dial-peer voice 2 pots
 application mgcpapp
 port 1/0/1
dial-peer voice 3 pots
 application mgcpapp
 port 1/1/0
dial-peer voice 4 pots
 application mgcpapp
 port 1/1/1
line con 0
 transport input none
line aux 0
line vty 0 4
 password ww


VG200A Version Information
VG200A>show version
Cisco Internetwork Operating System Software
IOS (tm) VG200 Software (VG200-I6S-M), Version 12.1(5)T,  

Copyright (c) 1986-2000 by Cisco Systems, Inc.
Compiled Sat 11-Nov-00 10:33 by ccai
Image text-base: 0x80008088, data-base: 0x807D4784

ROM: System Bootstrap, Version 12.1(1r) [phanguye 1r], RELEASE 

VG200A uptime is 19 hours, 37 minutes
System returned to ROM by reload
System image file is "flash:vg200"

cisco VG200 (MPC860) processor (revision 0x102) with 28672K/
4096K bytes of memory
Processor board ID JAB0414058X (0)
M860 processor: part number 0, mask 49
1 FastEthernet/IEEE 802.3 interface(s)
2 Voice FXO interface(s)
2 Voice FXS interface(s)
32K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)

Configuration register is 0x2102


Troubleshooting the IOS MGCP Gateway

One way call failure, on either outbound call or inbound calls individually, can occur in an IOS MGCP gateway. In order to resolve this issue, reconfigure the MGCP gateway. Generally, this involves a reconfiguration of the PRI interfaces and/or FXO interfaces. Then, a restart of the mgcp protocol on the gateway by issuing the no mgcp IOS command and the mgcp command in global configuration mode.

Cannot make calls from an analog phone connected to the MGCP IOS gateway. A busy tone is received.

Perform this procedure in order to resolve this problem:

  1. Make sure the application mgcpapp command is configured on the applicable port.

  2. Re-order the Plain Old Telephone Service (POTS) dial-peers to list the Cisco CallManager-generated dial-peers first in the dial-peer list. Ensure that inward and outward call control is handled by the correct dial-peer under MGCP control.

Related Information

Updated: Nov 01, 2006
Document ID: 42105