Softswitches�Part VI: MEGACO/H.248 Protocol
Continuing our current tutorial series regarding softswitches, we have previously discussed:
- Concepts of telephone switching
- Architecture of a softswitch
- Functions of the media gateway controller, also known as call agent
- Capabilities of the media gateway,
- The Media Gateway Control Protocol (MGCP).
All of these concepts are detailed by the International Packet Communications Consortium (IPCC) in their IPCC Reference Architecture Document.
Recall that the communication between the media gateway controller and the media gateway is facilitated in a master/slave arrangement, whereby the media gateway controller sends commands to the media gateway by the use of one of two protocols.
The first protocol that was developed for this purpose was called the Media Gateway Control Protocol, or MGCP, which was designed by the Internet Engineering Task Force (IETF), and documented in RFC 3435.
The second protocol is called the MEGACO/H.248 standard, which was jointly developed by the IETF and the International Telecommunications UnionTelecommunications Standards Sector (ITU-T), and therefore has a double name: MEGACO, the IETF designation, documented in RFC 3525 and Recommendation H.248.1, designated by the ITU-T (see http://www.itu.int).
The text for these two documents is virtually identical. (As an aside, MEGACO was the designation given to the IETF Working Group that developed the protocol, and that name has therefore been associated with the protocol since its early development. The new title of RFC 3525 reflects a more generic protocol name: Gateway Control Protocol, although many industry documents still refer to the earlier MEGACO designation.)
The developments of MGCP and MEGACO crossed paths, and they are based upon the same type of distributed gateway architecture. They also both assume that the intelligence to process the call resides in the media gateway controller, and that the media gateway is providing access to the media streams. However, there are some key differences between the protocols. The first difference is in the abstractions used in the connection model. In MGCP, the commands apply to the connections. In MEGACO, the commands apply to Terminations that are related to a Context.
A Termination sources and/or sinks one or more streams of information. For multimedia conferences, the Termination could also be multimedia, and source and/or sink multiple media streams. A Context is an association between a collection of Terminations. The Context describes the topology (who hears/sees whom) and the media mixing and/or switching parameters for the cases where more than two Terminations are involved with this association. Contexts are modified using the Add, Subtract, and Modify commands, described below, with a Connection created when two or more Terminations are placed in a common Context.
As with MGCP, there are packages defined, which specify the characteristics of the Termination. With MEGACO, properties and statistics are descriptors that are added to the events and signals that were found in MGCP. In addition, Annex E of RFC 3525 defines different packages from that found with MGCP: Generic, Base Root, Tone Generator, Tone Detection, Basic DMTF Generator, DTMF Detection, Call Progress Tones Generator, Call Progress Tones Detection, Analog Line Supervision, Basic Continuity, Network, RTP, and TDM Circuit.
There are eight MEGACO commands:
- Add: adds a Termination to a Context. The Add command on the first Termination in a Context is used to create a Context.
- Modify: modifies the properties, events, and signals of a Termination.
- Subtract: disconnects a Termination from its Context, and returns statistics on the Terminations participation in the Context.
- Move: atomically moves a Termination to another Context.
- AuditValue: returns the current state of properties, events, signals, and statistics of Terminations.
- AuditCapabilities: returns all the possible values for Termination properties, events and signals allowed by the Media Gateway.
- Notify: allows the Media Gateway to inform the Media Gateway Controller of the occurrence of events in the Media Gateway.
- ServiceChange: allows the Media Gateway to notify the Media Gateway Controller that a Termination or group of Terminations is about to be taken out of service, or has just been returned to service. A number of ServiceChangeReasons have been defined which provide further details.
In addition to the differences in the above commands, the transport mechanisms for the two protocols differ, as MGCP is defined for UDP/IP transport, and MEGACO is independent of the underlying transport, supporting UDP/IP, TCP/IP or ATM.
In our next tutorial we will continue our discussion of the protocols of the softswitch architecture.
Copyright Acknowledgement: © 2005 DigiNet ® Corporation, All Rights Reserved
Mark A. Miller, P.E. is President of DigiNet ® Corporation, a Denver-based consulting engineering firm. He is the author of many books on networking technologies, including Voice over IP Technologies, and Internet Technologies Handbook, both published by John Wiley & Sons.