MGCP - The messages that are sent regarding MGCP

From Iwan
Jump to: navigation, search

I've come to the bluprint topic regarding MGCP...

This is how MGCP basically works.

A Media Gateway (MG) contains “simple” endpoints,

This endpoints can be: - analog voice-ports (FXS/FXO) - digital (T1-PRI/T1-CAS) voice trunks

The call Intelligence of these endpoints are provided by 1of the following: - a Media Gateway Controller (MGC) - Call Agent (CA) - CUCM

There is a Master/Slave relationship between the MGC/CA and the MG.

In order to make everything work the MGCP sends messages over IP/UDP between the MGC and the MG. The Voice traffic is also carried over IP/UDP.

MGCP messages have 8 commands or messages that are sent accross between MGC and the MG:

1) RQNT – NotificationRequest: CallManager can issue a NotificationRequest command to a gateway, instructing the gateway to watch for specific events such as hook actions or Dual-Tone Multifrequency (DTMF) tones on a specified endpoint. RQNT is also used to request a gateway to apply a specific signal to endpoint (i.e. dial tone, ringback, etc).

2) NTFY – Notify: The gateway uses the Notify command to inform the CallManager when the requested events occur.

3) CRCX – CreateConnection: CallManager uses the CreateConnection command to create a connection that terminates in an endpoint inside the gateway.

4) MDCX – ModifyConnection: CallManager uses the ModifyConnection command to change the parameters associated to a previously established connection.

5) DLCX – DeleteConnection: CallManager uses the DeleteConnection command to delete an existing connection. The DeleteConnection command may also be used by a gateway to indicate that a connection can no longer be sustained.

6) AUEP – AuditEndpoint: CallManager uses the AuditEndpoint commands to audit the status of an endpoint associated with it.

7) AUCX – AuditConnection: CallManager uses the AuditConnection commands to audit the status of any connection associated with it.

8 ) RSIP – RestartInProgress: The gateway uses the RestartInProgress command to notify the CallManager that the gateway, or a group of endpoints managed by the gateway, is being taken out of service or is being placed back in service.

There are three types of restart: - Restart – endpoint in service - Graceful – wait until call clearing - Forced – endpoint out of service.

It is important to remember that this protocol is used for control purposes only. No voice data is transmitted through the MGCP protocol itself. All the voice data transfer occurs directly between the phone and the gateway. This diagram explains these relationships:


The Cisco 7960 IP phones in this example use the Skinny Call Control Protocol (SCCP) to communicate with the Cisco CallManager. The actual voice data is transferred through Real-time Transport Protocol (RTP) directly between the two devices. MGCP is used by the Cisco CallManager only to control the gateway.

This diagram below describes how Cisco CallManager registers voice gateways in its database with use of MGCP. The acknowledgment (ACK) commands are standard TCP acknowledgements of the received command:


This below diagram shows a sample FXS call flow (dialing and connection):


I believe it's very important to know this because there could be OEQ's on this topic!