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.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
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 gateway.
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 scalability.
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 Understanding H.323 Gatekeepers for more information.
Cisco IOS H.323 gateway with Cisco CallManager—Refer to Cisco IOS H.323 Gateway Configuration for Use with Cisco CallManager for the configuration details of a Cisco IOS H.323 gateway with Cisco CallManager.
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 H.323 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 Fractional PRI.
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 T1/E1.
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.
Refer to Understanding 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. Refer to Configuring MGCP-Controlled Backhaul of BRI Signaling in Conjunction with Cisco CallManager for more information on BRI backhauling.
Refer to How 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 failback
Redundancy
Dial plan simplification—no dial peer configuration is required on the gateway
Hookflash transfer
Tone on hold
MGCP supports encryption of voice traffic.
MGCP supports Q Interface Signalling Protocol (QSIG) functionality.
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 (NAT).
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. Refer to MGCP 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 RFC 2833 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:
Gateway-controlled mode
Call agent (CA)-controlled mode
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 MGCP 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 MGCP 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.