MGCP (Media Gateway Control Protocol) was developed from two Internet Protocols known as SGCP (Simple Gateway Control Protocol) and IPDC (Internet Protocol Device Control). It is used by Call Control Agents in VoIP systems to control the actions of a Telephony Gateway. MGCP was developed as part of the Internet Protocol Suite and the ITU-T had a standard that performed a similar function known as H.248. A working group known as MEGACO was formed to promote interoperability between the two standards.
The Call Control Agents can be SIP Servers, proprietary call agents such as Cisco’s Communications Manager or an H.323 Gatekeeper. MGCP as a protocol uses a series of single line commands and responses to communicate with a telephony gateway, and these commands are simple ASCII based. When Voice over IP became viable, most of the media gateways were TDM (Time Division Muliplexed) based and elements of the VoIP system needed to communicate with these media gateways. This is the reason that MGCP was developed.
In a telecommunications systems utilising VoIP where there is a need to route calls to the PSTN a media gateway provides the interface between the IP-based VoIP system and the traditional TDM-based PSTN that would normally use ISDN as its medium of choice. The information coming from the PSTN had to be packetised using IP Packets in order to be transmitted on the VoIP side of the connection, and VoIP media needed to be de-encapsulated from the IP and RTP packets and assigned a channel in the TDM system.
The call control agents use MGCP to control and manage the actions of the media gateways using simple 1 line commands, and these agents are able to communicate with each other using media gateways as interfaces to ensure the voice and signaling streams are translated appropriately.
The Signaling information from the PSTN is sent to a Signaling Gateway and then to a Call Agent who ensures the information is translated to the appropriate SIP messages for onward transmission within the VoIP network to SIP endpoints or other Call Agents.
There are 9 commands used by MGCP and the MGCP packets are transmitted using UDP (User Datagram Protocol) as the transport method. These command messages are identified as:
AUEP – Audit Endpoints
AUCX – Audit Connection
CRCX – Create Connection
DLCX – Delete Connection
EPCF – Endpoint Configuration
MDCX – Modify Connection
NTFY – Notify
RQNT – Request for Notification
RSIP – Restart in Progress
The AUEP and AUCX messages are used by a Call Control Agent to query the status of the media gateway. The media connections that invariably use RTP are managed through use of the CRCX, DLCX and MDCX messages, which create, delete and modify connections. A Call Control Agent can request information on event notifications from a media gateway by using the RQNT (Request Notification) message, which should be responded to by the gateway with a NTFY (Notify) message. The types of events that we are referring to include:
Off Hook Notification
On Hook Notification
Coding information can be changed in the gateway by means of the Call Agent sending an EPCF (Endpoint Configuration) message, and if successful the gateway will respond with an RSIP (Restart in Progress) message.