Building The MGCP Highway
BY DAVID FRIDLEY
Why use MGCP when there's already SS7, SIP, H.323, and MEGACO? There is
sometimes confusion over the application of MGCP versus SIP, H.323, or SS7
and there is also competition between MGCP and MEGACO. I hope to dispel
some of the misunderstanding surrounding the application of MGCP,
especially in connection with other established protocols that appear to
conflict with MGCP.
You may ask, why would you use MGCP in addition to SIP or H.323 or SS7?
Why would you want to add another layer? First, we'll look at what MGCP
has in common with these standards and how it differs from them. Then,
we'll investigate how MGCP works through decomposing the gateway. Finally,
we'll examine the future of MGCP and the decomposed gateway model.
What does MGCP have in common with SS7, SIP, and H.323, and how does it
differ? MGCP is a protocol designed for the Internet. That is, like H.323
and SIP, it is carried over TCP/IP. In addition, these seemingly competing
protocols have the Real-time Transport Protocol and the Real-time
Transport Control Protocol (RTP/RTCP) in common -- the basic Internet
standards for carrying live voice and video data over IP. This is really
good news. Although H.323 and SIP are competing protocols, even they agree
on how to carry voice over the Internet. We'll see why this is so
important in a little bit.
We can differentiate between SS7, SIP, and H.323 and MGCP in this way:
SS7, SIP, and H.323 negotiate calls between terminals and telephony
systems. MGCP is used within a telephony system to allow the system to be
decomposed into physically separate components. MGCP is a protocol that
allows you to build an IP-based telecommunications system out of
components that are connected over IP networks.
How Does MGCP Work?
Media Gateway Control Protocol, or MGCP, is an ideal protocol to use
for building large, scalable systems. The International Engineering Task
Force (IETF) designated MGCP, otherwise known as RFC 2705, a real albeit
developing standard.
With MGCP, a telephony server called an "agent" or sometimes
a "Media Gateway Controller" sets up calls between MGCP media
gateways. Consider that MGCP
is not a symmetrical call setup and teardown protocol, like SIP or
H.323. With H.323 or SIP every device is a peer: One device can initiate a
call to another device, and vice-versa. With MGCP, gateways are slaves and
agents are masters.
With H.323, for example, when a call is placed into a gateway, the
H.323 gateway gathers the digits of the dialed number, and then figures
out where to route the call. Then the H.323 gateway contacts the far-end
H.323 gateway and exchanges capabilities. The capabilities exchange
includes things like voice, video, compression algorithms, packet size,
and other things. After the two H.323 gateways have done this, they
establish RTP/RTCP sessions with each other that carry the voice or video
data between the two ends.
Where H.323 and SIP, and SS7 for that matter, conflict is on the
language of setting up and controlling the call. MGCP acts as a
"peacekeeper," since this protocol is strictly about
establishing RTP and PSTN sessions and leaves the setup and control issues
to the agent. Therefore, it is possible to build an agent that accepts
both H.323 and SIP call setup requests and then uses MGCP to establish
calls between MGCP media gateways and H.323 and SIP gateways or endpoints.
A basic MGCP-based telephony system involves one or more media gateways
and at least one agent, sometimes called a media gateway controller (Figure
1). The agent is signaled by all the media gateways that serve it of
events such as incoming call, off-hook, and hang-up. The agent, in turn,
sends commands to all of these media gateways to ring phones, dial
numbers, and establish RTP/RTCP connections.
Table
1. Basic MGCP Commands |
Function |
Description |
EndpointConfiguration |
Set
line-side characteristics of the port. (i.e. A-law, m-law) |
NotificationRequest |
Select event notification |
PollNotify |
Poll for
notification events. |
CreateConnection |
Create a connection that
terminates an endpoint. |
ModifyConnection |
Modify
the parameters of an existing connection. |
DeleteConnection |
Delete a connection. |
AuditEndpoint |
Collect
configuration and status information about an endpoint. |
AuditConnection |
Collect status information
about a connection. |
|
There are only eight commands and three signals (Table 1 and
Table 2)
defined in MGCP. The real power behind the benefits of MGCP is in the
protocol's ability to define "packages," which are collections
of command and signal parameters that can be used to support specific
devices. For example, MGCP supports a DTMF package that allows keypad tone
digits to be dialed and/or collected and an Announcement package that
allows voice prompts to be played. With these packages, the
NotificationRequest and ModifyConnection commands, and the Notify signal,
Interactive Voice Response (IVR) can be implemented.
Table
2. Basic MGCP Signals |
Function |
Description |
Notify |
Events
have been observed. |
DeleteConnection |
A connection has been
deleted. |
RestartInProgress |
Endpoint(s)
is/are being taken out of service. |
The Future Of MGCP
In most cases you will want to use SIP and/or H.323 and/or SS7 to place
calls between different telecommunication systems, because these are the
standards for interoperability with the rest of the world. How do you
decide when to use one and when to use the other? A telecommunications
carrier may have one agent using MGCP within a region. The agent controls
all calls within that region, and MGCP is used to communicate between the
physically separate endpoint components, and the agent. Calls between
regions, especially calls with other carriers would be negotiated using
SS7/SIP/H.323 by the agents controlling each region. You might ask, how
big is a region? That would depend on the carrier, the application, and
the number of endpoints involved.
As it stands now, MEGACO/H.248 is an incompatible next-generation
protocol to MGCP. The IETF (Internet Engineering Task Force) group that
developed MGCP has joined forces with the ITU (International
Telecommunications Union) and developed MEGACO/H.248 that is standardized
by both agencies. Most companies that are currently deploying MGCP
products plan to move to MEGACO. However, with MGCP-based systems
currently in use, MGCP remains an important standard for the immediate
future.
Products using MGCP are operating in the field right now: Those
products are being used in H.323, SIP and even SS7 signaling environments.
The current trend of decomposing the gateway through MGCP has a future and
the adoption of the joint IETF/ITU standard for MEGACO will only
strengthen the position the decomposed model now holds in the
market.
David Fridley is director of marketing for Anatel
Communications. Anatel is building the foundation on which the next
generation of "killer" Internet Telecommunications applications
and features will run, working with OEM customers and partners to drive
this development in "Internet time."
Figure 1.
Self-contained
MGCP telephony system.
In this diagram, an agent controls two media gateways. Each
media gateway is connected to a telephone. When the caller picks up
the phone on the left, the media gateway sends a signal to the
agent. The gateway then generates dial tone for the telephone, and
collects the dialed digits. The digits are then passed to the agent,
which figures out that the destination is the media gateway on the
right. Since the agent controls the destination, it has the IP
address and compression algorithm information necessary to set up
the call. The agent then sends a command to the media gateway on the
right, which rings the phone and issues commands to both media
gateways to set up RTP/RTCP sessions.
[ Back
To The Text ] |
[ Return
To The February 2001 Table Of Contents ] |