H.323 and Media Gateway Control Protocol (MGCP) are two protocol suites
that the industry uses to support VoIP. H.323 recommendations are supported by
the International Telecommunication Union (ITU-T) and MGCP is supported by the
Internet Engineering Task Force (IETF). H.323 and MGCP are not stand-alone
protocols. These protocols depend on many other supporting protocols in order
to complete their operations.
Whether to use H.323 or MGCP is a customer-specific decision since they
have very similar features. This document discusses the advantages of H.323 and
MGCP and what each one supports.
There are no specific requirements for this document.
The information in this document is based on the Cisco CallManager and
Cisco IOS® gateways.
The information in this document was created from the devices in a
specific lab environment. All of the devices used in this document started with
a cleared (default) configuration. If your network is live, make sure that you
understand the potential impact of any command.
Technical Tips Conventions for more information on document
H.323 is an ITU umbrella recommendation for multimedia communications
over IP-based networks that do not provide a guaranteed quality of service.
H.323 covers point-to-point communications and multipoint conferences and
addresses call control, multimedia management, bandwidth management, and
interfaces between LANs and other networks.
The basic components of the H.323 protocol are terminals, gateways, and
gatekeepers (which provide call control to H.323 endpoints). Similar to other
protocols, H.323 applies to point-to-point or multipoint sessions. However,
compared to MGCP, H.323 requires more configuration on the gateway since the
gateway must maintain the dial plan and route patterns.
This list describes some of the features of H.323:
H.323 call routing with Cisco CallManager—With
H.323, Cisco CallManager only sees the router as one gateway. Calls are sent to
the gateway but Cisco CallManager cannot specify which port the call is sent
to. Cisco CallManager does not even know that multiple ports exist on the
In the reverse direction, an H.323 gateway can decide where to send
individual calls. Some calls can go to Cisco CallManager and other calls can go
directly to other H.323 gateways without involving Cisco CallManager.
H.323 gatekeeper—A gatekeeper is an H.323 entity on
the network that provides services such as address translation and network
access control for H.323 terminals, gateways, and multipoint control units
(MCUs). Gatekeepers also provide other services such as bandwidth management,
accounting, and dial plans that you can centralize in order to provide
Gatekeepers are logically separated from H.323 endpoints such as
terminals and gateways. They are optional in an H.323 network. But if a
gatekeeper is present, endpoints must use the services provided. Refer to
H.323 Gatekeepers for more information.
Cisco IOS H.323 gateway with Cisco CallManager—Refer
IOS H.323 Gateway Configuration for Use with Cisco CallManager for the
configuration details of a Cisco IOS H.323 gateway with Cisco
H.323 gateway dial-peer configuration for Cisco CallManager
server redundancy—Cisco IOS H.323 gateways can be configured for Cisco
CallManager server redundancy so that if the primary Cisco CallManager server
fails, the secondary Cisco CallManager server takes over and the IP phones
re-home to the secondary server. Refer to
Gateway Dial-Peer Configuration for Cisco CallManager Server Redundancy
for more information.
Caller ID—H.323 provides caller ID from Foreign
Exchange Office (FXO) and T1 channel associated signaling (CAS) ports
Fractional PRI support—H.323 supports the use of
Interoperability—H.323 is widely used and
interoperates well with applications and devices from multiple vendors.
Non-Facility Associated Signaling (NFAS)
support—Support for NFAS allows the H.323 Gateway to control more ISDN
PRI lines with one D channel.
Integrated access—Data and Voice on same
Legacy systems support—More TDM interface types and
signaling supported (for example, Analog-DID, E&M, T1 FGD, E1 R2…)
With MGCP, Cisco CallManager knows and controls the state of each
individual port on the gateway. MGCP allows complete control of the dial plan
from Cisco CallManager, and gives the CallManager per-port control of
connections to the public switched telephone network (PSTN), legacy PBX, voice
mail systems, plain old telephone service (POTS) phones, and so forth. This is
implemented with the use of a series of plain-text commands sent over User
Datagram Protocol (UDP) port 2427 between the Cisco CallManager and the
gateway. Another concept relevant to the MGCP implementation with Cisco
CallManager is PRI backhaul. PRI backhaul occurs when Cisco CallManager takes
control of the Q.931 signaling data used on an ISDN PRI.
MGCP Interactions with Cisco CallManager for more information on MGCP
with Cisco CallManager and PRI Backhauling.
Note: BRI backhauling is supported in recent Cisco IOS Software releases.
MGCP-Controlled Backhaul of BRI Signaling in Conjunction with Cisco
CallManager for more information on BRI backhauling.
to Configure MGCP with Digital PRI and Cisco CallManager for MGCP and
PRI with Cisco CallManager.
Note: Cisco CallManager does not support the configuration or use of a
fractional PRI when you use it with MGCP. If fractional PRI is necessary, you
can use H.323 instead of MGCP.
If you configure the gateway to run MGCP, the gateway needs to register
with the Cisco CallManager. If you configure settings for input/output gain, or
echo in the router, and then add the port to Cisco CallManager as an MGCP
gateway, those settings are overwritten by Cisco CallManager. When MGCP is
used, the Cisco CallManager controls routing and tones and provides
supplementary services to the gateway. MGCP provides:
Call preservation—calls are maintained during failover and
Dial plan simplification—no dial peer configuration is required on
Tone on hold
MGCP supports encryption of voice traffic.
MGCP supports Q Interface Signalling Protocol (QSIG)
In new releases of Cisco IOS, Cisco CallManager and Cisco IP Phone
Firmware MGCP can support new features such as Call Admission Control,
Dual-tone Multifrequency (DTMF) relay, and Network Address Translation
This list describes these new features:
MGCP VoIP Call Admission Control—This feature was
introduced in Cisco IOS Software Release 12.2(11)T. The MGCP VoIP Call
Admission Control feature enables certain Cisco Call Admission Control
capabilities on VoIP networks that are managed by MGCP call agents. These
capabilities permit the gateway to identify and refuse calls that are
susceptible to poor voice quality. Poor voice quality on an MGCP voice network
can result from transmission artifacts such as echo, the use of low quality
codecs, network congestion and delay, or from overloaded gateways. You can use
echo cancellation and better codec selection in order to overcome the first two
causes. The last two causes are addressed by MGCP VoIP Call Admission Control.
VoIP Call Admission Control for more information.
MGCP-based DTMF Relay—This feature was introduced in
Cisco IOS Software Release 12.2(11)T. DTMF relay conforms to
which was developed by the IETF Audio/Video Transport (AVT) working group. Per
RFC 2833, DTMF is relayed using Named Telephony Events (NTEs) in Real-Time
Transport Protocol (RTP) packets. This feature provides two modes of
implementation for each component:
In gateway-controlled mode, gateways negotiate DTMF transmission by
exchanging capability information in Session Description Protocol (SDP)
messages. That transmission is transparent to the CA. Gateway-controlled mode
allows the use of the DTMF relay feature without upgrading the CA software in
order to support the feature. In CA-controlled mode, CAs use MGCP messaging in
order to instruct gateways to process DTMF traffic. Refer to
Based DTMF Relay for more information.
MGCP NAT support on Cisco IP phones—NAT is supported
on IP phones from release 7.3 and later. When NAT is enabled on the Cisco MGCP
IP phone, MGCP messages are able to traverse NAT/firewall networks. The Session
Description Protocol (SDP) message is modified to reflect the NAT parameters so
that if NAT is enabled, the SDP message uses nat_address and a Realtime
Transport Protocol (RTP) port between the start_media port and the
end_media_port range. The UDP port for MGCP messages can be configured using
parameter voip_control_port. Refer to
NAT Support for more information.
MGCP call routing—With MGCP, Cisco CallManager
individually controls the gateway and each endpoint. If you have multiple ports
on the same gateway, Cisco CallManager can decide which port to send a call to.
Each endpoint (port) is treated as a separate gateway in Cisco CallManager.
In the reverse direction, an MGCP gateway sends all calls to Cisco
CallManger and has no choice in call routing. Cisco CallManager does all of the
routing in both directions.