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
– 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
– 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.
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).
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.
requested events occur.
3) CRCX – CreateConnection: CallManager uses the CreateConnection command to create a
connection that terminates in an endpoint inside the gateway.
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.
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.
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.
an endpoint associated with it.
7) AUCX – AuditConnection: CallManager uses the AuditConnection commands to audit the
status of any connection associated with it.
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.
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.
- 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!