Cisco's Very Own: MGCP
H.323 networks contain call-forwarding intelligence in multiple devices (for example, gateways) throughout the network. However, in a Media Gateway Control Protocol vMGCP network, the call-forwarding intelligence lives in a call agent. MGCP gateways lack call-forwarding intelligence. These gateways are minions to the call agent, forwarding dialed digits to the call agent and letting the call agent decide how to complete the call. In a Cisco environment, a call agent is a CCM server. Although Cisco originally developed MGCP, MGCP is now an industry standard (defined by RFC 2705 and RFC 2805).
Consider a couple of analog phones, each attached to Foreign Exchange Station (FXS) ports (in different routers). When a caller using one of these analog phones dials a number, the local router collects the dialed digits and forwards them to the call agent. The call agent assumes the responsibility for setting up the call. However, once the call is established, the call agent backs out of the way and allows the voice-enabled routers to stream RTP packets directly between themselves. This sequence is demonstrated by the numbered steps in Figure 5-6.
Figure 5-6. MGCP Call Setup
The call agent acts much like the referee in a boxing match. The two fighters come to the center of the ring. The referee talks with them about the rules (for example, "Let's have a clean fight") and then says "Box!" The referee backs out of the way and lets the fighters "communicate." An MGCP call agent does much the same thing, by establishing the rules for the communication and then backing out of the way once the call is set up. After the call setup is complete, the MGCP devices (for example, FXS ports connected to analog phones) stream RTP packets directly between themselves, without any intervention from the MGCP call agent.
MGCP networks contain MGCP components and MGCP concepts. MGCP components consist of the physical pieces of hardware making up an MGCP network, while the logical pieces of an MGCP network are MGCP concepts.
The physical pieces (that is, MGCP components) comprising an MGCP network include
An endpoint is the interface between the VoIP network and the traditional telephony network. For example, consider an analog phone connecting to an FXS port in a router. By definition, the FXS port, not the analog phone, is the endpoint. Endpoint names look much like an e-mail address (for example, circuitID@mgcpgw.ciscopress.com) and are composed of two parts: the locally significant name of the endpoint (before the "@" sign) and the Domain Name System (DNS) name of the MGCP gateway (after the "@" sign).
Like H.323 gateways, MGCP gateways convert audio between different network types (for example, between a VoIP network and the PSTN). MGCP categorizes various gateway types. For example a residential gateway supports devices typically found in residential environments, such as plain old telephone service (POTS) telephones.
A call agent contains the intelligence of an MGCP network and controls the gateways and their endpoints. An MGCP gateway can report events to the call agent, and the call agent can, for example, tell the endpoint what type of signal to send to the phone. Remember, in a Cisco IP telephony environment, a CCM server acts as an MGCP call agent.
Recall that an MGCP concept is a logical piece of an MGCP network. Consider the following MGCP concepts:
A call forms when two or more endpoints interconnect.
An MGCP call agent (for example, a CCM server) instructs an endpoint to watch for an event (that is, some activity occurring on the endpoint). As an example, an FXS port might watch for the event of an attached analog phone going off-hook.
A call agent instructs an endpoint to send a specific signal when a certain event occurs. For example, after the event of an analog phone going off-hook, the FXS port might send the signal of dial tone to the attached phone. Remember, the command for the FXS port to send the dial tone came from the MGCP call agent.
Making the MGCP Network More Fault Tolerant
To enhance the availability of an MGCP network, you might wish to deploy survivability strategies such as the following: