Media Gateway Control Protocol (MGCP)
Encyclopedia
MGCP is an implementation of the Media Gateway Control Protocol architecture for controlling media gateway
s on Internet Protocol
(IP) networks and the public switched telephone network
(PSTN). The general base architecture and programming interface is described in RFC 2805 and the current specific MGCP definition is RFC 3435 (obsoleted RFC 2705). It is a successor to the Simple Gateway Control Protocol
(SGCP).
MGCP is a signalling and call control protocol
used within Voice over IP
(VoIP) systems that typically interoperate with the public switched telephone network
(PSTN). As such it implements a PSTN-over-IP model with the power of the network residing in a call control center (softswitch, similar to the central office of the PSTN) and the endpoints being "low-intelligence" devices, mostly simply executing control commands. The protocol represents a decomposition of other VoIP models, such as H.323
, in which the media gateways (e.g., H.323's gatekeeper) have higher levels of signalling intelligence.
MGCP uses the Session Description Protocol
(SDP) for specifying and negotiating the media streams to be transmitted in a call session and the Real-time Transport Protocol
(RTP) for framing of the media streams.
Another implementation of the Media Gateway Control Protocol architecture exists in the similarly named Megaco
protocol, a collaboration of the Internet Engineering Task Force
(RFC 3525) and International Telecommunication Union
(Recommendation H.248.1). Both protocols follow the guidelines of the API Media Gateway Control Protocol Architecture and Requirements in RFC 2805. However, the protocols are incompatible due to differences in protocol syntax and underlying connection model.
The distributed system is composed of a Call Agent (or Media Gateway Controller
), at least one Media Gateway
(MG) that performs the conversion of media signals between circuits and packets, and at least one Signaling gateway
(SG) when connected to the PSTN.
The Call Agent uses MGCP to tell the Media Gateway:
MGCP also allows the Call Agent to audit the current state of endpoints on a Media Gateway.
The Media Gateway uses MGCP to report events (such as off-hook, or dialed digits) to the Call Agent.
(While any Signaling Gateway is usually on the same physical switch as a Media Gateway, this needn't be so. The Call Agent does not use MGCP to control the Signaling Gateway; rather, SIGTRAN protocols are used to backhaul signaling between the Signaling Gateway and Call Agent).
In principle, event notifications may be sent to different Call Agents for each endpoint on the gateway (as programmed by the Call Agents, by setting the NotifiedEntity parameter). In practice, however, it is usually desirable that at any given moment all endpoints on a gateway should be controlled by the same Call Agent; other Call Agents are available only to provide redundancy in the event that the primary Call Agent fails, or loses contact with the Media Gateway. In the event of such a failure it is the backup Call Agent's responsibility to reprogram the MG so that the gateway comes under the control of the backup Call Agent. Care is needed in such cases; two Call Agents may know that they have lost contact with one another, but this does not guarantee that they are not both attempting to control the same gateway. The ability to audit the gateway to determine which Call Agent is currently controlling can be used to resolve such conflicts.
MGCP assumes that the multiple Call Agents will maintain knowledge of device state among themselves (presumably with an unspecified protocol) or rebuild it if necessary (in the face of catastrophic failure). Its failover features take into account both planned and unplanned outages.
port 2427, the MGCP datagrams are formatted with whitespace, much like you would expect to find in TCP
protocols.
An MGCP packet is either a command or a response. Every issued MGCP command has a transaction ID and receives a response.
Commands begin with a four-letter verb. Responses begin with a three number response code.
There are nine (9) command verbs:
AUEP, AUCX, CRCX, DLCX, EPCF, MDCX, NTFY, RQNT, RSIP
Two verbs are used by a Call Agent to query (the state of) a Media Gateway:
AUEP - Audit Endpoint
AUCX - Audit Connection
Three verbs are used by a Call Agent to manage an RTP connection on a Media Gateway (a Media Gateway can also send a DLCX when it needs to delete a connection for its self-management):
CRCX - Create Connection
DLCX - Delete Connection
MDCX - Modify Connection
One verb is used by a Call Agent to request notification of events on the Media Gateway, and to request a Media Gateway to apply signals:
RQNT - Request for Notification
One verb is used by a Call Agent to modify coding characteristics expected by the "line-side" on the Media Gateway:
EPCF - Endpoint Configuration
One verb is used by a Media Gateway to indicate to the Call Agent that it has detected an event for which the Call Agent had previously requested notification of (via the RQNT command verb):
NTFY - Notify
One verb is used by a Media Gateway to indicate to the Call Agent that it is in the process of restarting:
RSIP - Restart In Progress
Although similar in architecture, MGCP and Megaco are distinctly different protocols and are not interoperable.
Media gateway
A Media gateway is a translation device or service that converts digital media streams between disparate telecommunications networks such as PSTN, SS7, Next Generation Networks or PBX...
s on Internet Protocol
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
(IP) networks and the public switched telephone network
Public switched telephone network
The public switched telephone network is the network of the world's public circuit-switched telephone networks. It consists of telephone lines, fiber optic cables, microwave transmission links, cellular networks, communications satellites, and undersea telephone cables, all inter-connected by...
(PSTN). The general base architecture and programming interface is described in RFC 2805 and the current specific MGCP definition is RFC 3435 (obsoleted RFC 2705). It is a successor to the Simple Gateway Control Protocol
Simple Gateway Control Protocol
Simple Gateway Control Protocol is a communications protocol used within a Voice over Internet Protocol system. It has been superseded by MGCP, an implementation of the Media Gateway Control Protocol architecture....
(SGCP).
MGCP is a signalling and call control protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
used within Voice over IP
Voice over IP
Voice over Internet Protocol is a family of technologies, methodologies, communication protocols, and transmission techniques for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as the Internet...
(VoIP) systems that typically interoperate with the public switched telephone network
Public switched telephone network
The public switched telephone network is the network of the world's public circuit-switched telephone networks. It consists of telephone lines, fiber optic cables, microwave transmission links, cellular networks, communications satellites, and undersea telephone cables, all inter-connected by...
(PSTN). As such it implements a PSTN-over-IP model with the power of the network residing in a call control center (softswitch, similar to the central office of the PSTN) and the endpoints being "low-intelligence" devices, mostly simply executing control commands. The protocol represents a decomposition of other VoIP models, such as H.323
H.323
H.323 is a recommendation from the ITU Telecommunication Standardization Sector that defines the protocols to provide audio-visual communication sessions on any packet network...
, in which the media gateways (e.g., H.323's gatekeeper) have higher levels of signalling intelligence.
MGCP uses the Session Description Protocol
Session Description Protocol
The Session Description Protocol is a format for describing streaming media initialization parameters. The IETF published the original specification as an IETF Proposed Standard in April 1998, and subsequently published a revised specification as an IETF Proposed Standard as RFC 4566 in July...
(SDP) for specifying and negotiating the media streams to be transmitted in a call session and the Real-time Transport Protocol
Real-time Transport Protocol
The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...
(RTP) for framing of the media streams.
Another implementation of the Media Gateway Control Protocol architecture exists in the similarly named Megaco
Megaco
Megaco is a gateway control protocol. and an implementation of the Media Gateway Control Protocol architecture for controlling media gateways in Internet Protocol networks and the public switched telephone network...
protocol, a collaboration of the Internet Engineering Task Force
Internet Engineering Task Force
The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite...
(RFC 3525) and International Telecommunication Union
International Telecommunication Union
The International Telecommunication Union is the specialized agency of the United Nations which is responsible for information and communication technologies...
(Recommendation H.248.1). Both protocols follow the guidelines of the API Media Gateway Control Protocol Architecture and Requirements in RFC 2805. However, the protocols are incompatible due to differences in protocol syntax and underlying connection model.
Architecture
The Media Gateway Control Protocol architecture and its methodologies and programming interfaces are described in RFC 2805.The distributed system is composed of a Call Agent (or Media Gateway Controller
Media Gateway Controller
A Media Gateway Controller is a system used in certain Voice over IPtelephony architectures. An MGC controls a number of dumb terminals, the Media Gateways...
), at least one Media Gateway
Media gateway
A Media gateway is a translation device or service that converts digital media streams between disparate telecommunications networks such as PSTN, SS7, Next Generation Networks or PBX...
(MG) that performs the conversion of media signals between circuits and packets, and at least one Signaling gateway
Signaling gateway
A Signaling Gateway is a network component responsible for transferring signaling messages between Common Channel Signaling nodes that communicate using different protocols and transports...
(SG) when connected to the PSTN.
The Call Agent uses MGCP to tell the Media Gateway:
- what events should be reported to the Call Agent
- how endpoints should be connected together
- what signals should be played on endpoints.
MGCP also allows the Call Agent to audit the current state of endpoints on a Media Gateway.
The Media Gateway uses MGCP to report events (such as off-hook, or dialed digits) to the Call Agent.
(While any Signaling Gateway is usually on the same physical switch as a Media Gateway, this needn't be so. The Call Agent does not use MGCP to control the Signaling Gateway; rather, SIGTRAN protocols are used to backhaul signaling between the Signaling Gateway and Call Agent).
Multiple call agents
Typically, a Media Gateway is configured with a list of Call Agents from which it may accept programming (where that list normally comprises only one or two Call Agents).In principle, event notifications may be sent to different Call Agents for each endpoint on the gateway (as programmed by the Call Agents, by setting the NotifiedEntity parameter). In practice, however, it is usually desirable that at any given moment all endpoints on a gateway should be controlled by the same Call Agent; other Call Agents are available only to provide redundancy in the event that the primary Call Agent fails, or loses contact with the Media Gateway. In the event of such a failure it is the backup Call Agent's responsibility to reprogram the MG so that the gateway comes under the control of the backup Call Agent. Care is needed in such cases; two Call Agents may know that they have lost contact with one another, but this does not guarantee that they are not both attempting to control the same gateway. The ability to audit the gateway to determine which Call Agent is currently controlling can be used to resolve such conflicts.
MGCP assumes that the multiple Call Agents will maintain knowledge of device state among themselves (presumably with an unspecified protocol) or rebuild it if necessary (in the face of catastrophic failure). Its failover features take into account both planned and unplanned outages.
Protocol overview
MGCP packets are unlike those generated by many other protocols. Usually wrapped in UDPUser Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
port 2427, the MGCP datagrams are formatted with whitespace, much like you would expect to find in TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
protocols.
An MGCP packet is either a command or a response. Every issued MGCP command has a transaction ID and receives a response.
Commands begin with a four-letter verb. Responses begin with a three number response code.
There are nine (9) command verbs:
AUEP, AUCX, CRCX, DLCX, EPCF, MDCX, NTFY, RQNT, RSIP
Two verbs are used by a Call Agent to query (the state of) a Media Gateway:
AUEP - Audit Endpoint
AUCX - Audit Connection
Three verbs are used by a Call Agent to manage an RTP connection on a Media Gateway (a Media Gateway can also send a DLCX when it needs to delete a connection for its self-management):
CRCX - Create Connection
DLCX - Delete Connection
MDCX - Modify Connection
One verb is used by a Call Agent to request notification of events on the Media Gateway, and to request a Media Gateway to apply signals:
RQNT - Request for Notification
One verb is used by a Call Agent to modify coding characteristics expected by the "line-side" on the Media Gateway:
EPCF - Endpoint Configuration
One verb is used by a Media Gateway to indicate to the Call Agent that it has detected an event for which the Call Agent had previously requested notification of (via the RQNT command verb):
NTFY - Notify
One verb is used by a Media Gateway to indicate to the Call Agent that it is in the process of restarting:
RSIP - Restart In Progress
Implementations
Two implementations of the Media Gateway Control Protocol are in common use. The names of both are abbreviations of the protocol group:- MGCP is described in RFC 3435.
- MegacoMegacoMegaco is a gateway control protocol. and an implementation of the Media Gateway Control Protocol architecture for controlling media gateways in Internet Protocol networks and the public switched telephone network...
is described in RFC 3525. [ Obsoleted by: RFC 5125.]
Although similar in architecture, MGCP and Megaco are distinctly different protocols and are not interoperable.
RFCs
- RFC 3435 - Media Gateway Control Protocol (MGCP) Version 1.0 (this supersedes RFC 2705)
- RFC 3660 - Basic Media Gateway Control Protocol (MGCP) Packages (informational)
- RFC 3661 - Media Gateway Control Protocol (MGCP) Return Code Usage
- RFC 3064 - MGCP CAS Packages
- RFC 3149 - MGCP Business Phone Packages
- RFC 3991 - Media Gateway Control Protocol (MGCP) Redirect and Reset Package
- RFC 3992 - Media Gateway Control Protocol (MGCP) Lockstep State Reporting Mechanism (informational)
- RFC 2805 - Media Gateway Control Protocol Architecture and Requirements
- RFC 2897 - Proposal for an MGCP Advanced Audio Package
See also
- Session Initiation ProtocolSession Initiation ProtocolThe Session Initiation Protocol is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol . The protocol can be used for creating, modifying and terminating two-party or multiparty sessions...
(SIP) - RTP audio video profile
- Voice over Internet Protocol
External links
- MGCP Information Site Information related to MGCP
- H.248 Information Site Information related to H.248/Megaco, including pointers to standards and draft specifications