MGCP Gateway Configuration

In this post, we explore the configuration of an MGCP gateway in CUCM. Given a router equipped with a E1/T1 VWIC card, we will configure it as an MGCP gateway that performs PRI Backhauling with CUCM.

Configuration Steps On CUCM

We start by adding a new gateway:
We select the router platform:
We tell CUCM that it is going to be an MGCP gateway:
We configure our VIC card or network module:
register-add-mgcp-cucm-2016-05-29 15_08_19

And we need to set the gateway name. This depends actually on whether we activated DNS lookup on the router or not. When a network engineer in IOS gateway has already configured the following command:

ip domain-name

then he must use the Fully Qualified Domain Name (FQDN) when he adds the MGCP gateway on CUCM. Otherwise, he must simply use the hostname of the router.

In our example, we have no domain name configured on the router. So we can use the router hostname:

register-add-mgcp-cucm-2016-05-29 15_09_03

register-add-mgcp-cucm-2016-05-29 15_09_17

On this router, we have already inserted a T1/E1 card that has one RJ-48 Multiflex trunk. To determine on which subunit this card is, on the IOS, issue the following command:

show inventory
register-add-mgcp-cucm-2016-05-22 18_49_50

The card is on Slot 0 subunit 0. So on CUCM, we choose Subunit 0 and select our card.

register-add-mgcp-cucm-2016-05-29 15_14_35

But which one? T1 or E1? Since we are going to configure a T1 controller, we choose the first option.

register-add-mgcp-cucm-2016-05-29 15_15_092

We add the gateway to UCM cluster. At this point, the gateway is still not registered to any UCM server. We configure the endpoint. And we take a look at show ccm-manager command:

register-add-mgcp-cucm-2016-05-22 18_53_36 is the primary call agent. is the backup call agent.

Here is the relevant configuration :

register-add-mgcp-cucm-2016-05-22 18_58_21

Note though: If we don’t configure any endpoints on CUCM, the MGCP gateway will never register. 

There are many debug options with MGCP:

register-configure-mgcp-cucm-2016-05-28 09_53_45

We start monitoring for configuration download events, from UCM to the MGCP gateway, using debug ccm-manager config-download event command.

register-add-mgcp-cucm-2016-05-22 19_00_56

And we tell the gateway to download its MGCP configuration from the UCM cluster.

register-add-mgcp-cucm-2016-05-22 19_01_59

The gateway immediately starts downloading the XML configuration file, which takes a “little bit” of time:

register-add-mgcp-cucm-2016-05-22 19_03_59
register-add-mgcp-cucm-2016-05-22 19_06_32

The registration is now complete. You can tell by issuing this command:

show ccm-manager
register-add-mgcp-cucm-2016-05-22 19_08_24

The interface controller T1 is fully configured and all time slots are activated by default.

register-add-mgcp-cucm-2016-05-22 19_19_15

There is only one voice port, but as many endpoints as timeslots. This is a T1 controller. It has 23 data/voice time slots and one signaling timeslot. The signaling timeslot is not displayed in show mgcp endpoint:

register-configure-mgcp-cucm-2016-05-28 10_08_36

The signaling interface is fully configured:

register-add-mgcp-cucm-2016-05-22 19_20_11

The voice port is ready:

register-add-mgcp-cucm-2016-05-22 19_20_55

Troubleshooting Domain Name Unreachable error

I tried to register my MGCP gateway to my CUCM, but every time I did a “show ccm-manager”, it displays the following:

I first thought about an issue about DNS on CUCM. I remembered that, during the CUCM installation, I put CUCM somewhere.
So I went to every corner of CUCM admin pages, where I could find the “CUCM” keyword.
I changed some settings in Enterprise Parameters. I even tried to change the hostname under the CUCM CLI mode:

Then, I examined what’s happening at the router level, with “debug mgcp events”. I noticed this line:

I figured that the gateway could not solve the hostname “CUCM”. I found out that one quick solution was to set up a DNS server on the router, that resolves “CUCM” into “”.
Here’s a good document that explains the concept.

I did a “no ccm-manager config”, then “ccm-manager config”.
et voilà:

I still don’t know why the gateway IP address shows “unknown” on CUCM :p

Configure a fractional T1 PRI on MGCP gateway

By default, when we configure a MGCP gateway on CUCM, all PRI timeslots are activated.

CUCM does not support fractional T1 PRI on MGCP gateways. But with a combination of the configuration server feature and manual tweaking, we can reduce the number of timeslots used.

In this example we will reduce the number of used data/voice timeslots from 23 to 6.

First we shut down the T1 controller

register-configure-mgcp-cucm-2016-05-28 10_14_01

Then we shut down the signaling interface:

register-configure-mgcp-cucm-2016-05-28 10_14_27

We shut down the voice port

register-configure-mgcp-cucm-2016-05-28 10_15_41

We disable PRI backhauling under the signaling interface

register-configure-mgcp-cucm-2016-05-28 10_16_37

We change the number of PRI timeslots under the T1 controller:

register-configure-mgcp-cucm-2016-05-28 10_17_29

We disable the TFTP server configuration

register-configure-mgcp-cucm-2016-05-28 10_18_05

We remove the configuration server feature

register-configure-mgcp-cucm-2016-05-28 10_18_30

We enable PRI backhauling under the signaling interface

register-configure-mgcp-cucm-2016-05-28 10_19_09

We reset MGCP process

register-configure-mgcp-cucm-2016-05-28 10_19_40

And we verify that the number of data/voice timeslots has been reduced to 6:

register-configure-mgcp-cucm-2016-05-28 10_20_33

Note: After “breaking” the default MGCP configuration, the MGCP process on IOS is independent from UCM. Therefore, after any changes in the MGCP gateway configuration, we need to manually reset the MGCP process with “no mgcp/mgcp”. 

Implement route patterns, route lists, route groups and digit manipulation with MGCP gateways

The concept of route patterns, route lists and route groups in the context of MGCP gateways does not differ from other types of gateways. However, in regards to digit manipulation, it is done at the CUCM level and not the IOS level. That’s because a MGCP gateway is a “dumb” slave that executes the order of the MGCP call agent.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *