Softswitches�Part V: Media Gateway Control Protocol
The Media Gateway Controller is in the logical portion of the softswitch architecture; the Media Gateway, the physical. Allowing the former to talk to the latter are two protocols; we'll examine one.
Continuing our current tutorial series regarding softswitches, we have previously discussed the concepts of telephone switching, the architecture of a softswitch, the capabilities and functions of the media gateway controller, also known as call agent, that provides the call routing, network signaling, billing, and other logical functions within the network, plus the capabilities of the media gateway, that provides the physical connection to the local or wide area network. All of these concepts are detailed by the International Packet Communications Consortium (IPCC) in their IPCC Reference Architecture Document.
Communication between the media gateway controller and the media gateway is required in order to interconnect the logical side and physical sides of the softswitch architecture. That communication is accomplished in a master/slave arrangement, whereby the media gateway controller sends commands to the media gateway by the use of one of two protocols. The first protocol that was developed for this purpose is called the Media Gateway Control Protocol, or MGCP, which was developed by the Internet Engineering Task Force (IETF). MGCP was first documented in RFC 2705, and with updated information now documented in RFC 3435.
RFC 3435 describes a wide variety of gateway types that could utilize such a protocol:
- Trunking gateways, which interface between the telephone network and a VoIP network.
- Voice over ATM gateways, which interface to an ATM network.
- Residential gateways, which provide a traditional analog (RJ11) interface to a VoIP network, such as cable modems or DSL modems.
- Access gateways, which provide a traditional analog (RJ11) or digital PBX interface to a VoIP network.
- Network Access Servers, which can attach a "modem" to a telephone circuit and provide data access to the Internet.
- Circuit switches, or packet switches, which can offer a control interface to an external call control element.
The information communicated between the controller and the gateway comes in two categories: events and signals. An example of an event would be a telephone going off-hook, while an example of a signal may be the application of dial tone to an endpoint. These events and signals are grouped into packages, which are then supported by a particular type of endpoint such as a telephone or a video system.
Communication between call agents and gateways uses MGCP commands. There are nine defined MGCP commands, which are constructed using a command verb followed by a set of parameter lines. The commands are:
- EndpointConfiguration (EPCF): instructs the gateway about the coding characteristics expected by the line-side of the endpoint (sent from call agent to gateway).
- NotificationRequest (RQNT): instructs the gateway to watch for specific events such as hook actions or DTMF tones on a specified endpoint (sent from call agent to gateway).
- Notify (NTFY): the gateway informs the call agent when the requested events occur (sent from gateway to call agent).
- CreateConnection (CRCX): creates a connection that terminates in an endpoint inside the gateway (sent from call agent to gateway).
- ModifyConnection (MDCX): changes the parameters associated with a previously-established connection (sent from call agent to gateway).
- DeleteConnection (DLCX): deletes an existing connection, or indicates that a connection can no longer be sustained (sent from call agent to gateway).
- AuditEndpoint (AUEP): queries the status of a particular endpoint (sent from call agent to gateway).
- AuditConnection (AUCX): queries the status of a particular connection (sent from call agent to gateway).
- RestartInProgress (RSIP): the gateway notifies the call agent that the gateway is being taken out of service, or is being placed back in service (sent from gateway to call agent).
Many parameters may be associated with each of these commands; they are detailed in RFC 3435.
The second protocol used for communication between the media gateway controller (call agent) and the media gateway, is called the MEGACO/H.248 standard, which will be the subject of our next tutorial.
Copyright Acknowledgement: © 2005 DigiNet ® Corporation, All Rights Reserved
Mark A. Miller, P.E. is President of DigiNet ® Corporation, a Denver-based consulting engineering firm. He is the author of many books on networking technologies, including Voice over IP Technologies, and Internet Technologies Handbook, both published by John Wiley & Sons.