# H.248

The Gateway Control Protocol (Megaco, H.248) is an implementation of the media gateway control protocol architecture for providing telecommunication services across a converged internetwork consisting of the traditional public switched telephone network (PSTN) and modern packet networks, such as the Internet. H.248 is the designation of the recommendations developed by the ITU Telecommunication Standardization Sector (ITU-T) and Megaco is a contraction of media gateway control protocol used by the earliest specifications by the Internet Engineering Task Force (IETF). The standard published in March 2013 by ITU-T is entitled H.248.1: Gateway control protocol: Version 3.
Megaco/H.248 follows the guidelines published in RFC 2805 in April 2000, entitled Media Gateway Control Protocol Architecture and Requirements. The protocol performs the same functions as the Media Gateway Control Protocol (MGCP), is however a formal standard while MGCP has only informational status. Using different syntax and symbolic representation, the two protocols are not directly interoperable. They are both complementary to H.323 and the Session Initiation Protocol (SIP) protocols.
H.248 was the result of collaboration of the MEGACO working group of the Internet Engineering Task Force (IETF) and the International Telecommunication Union Telecommunication Study Group 16. The IETF originally published the standard as RFC 3015, which was superseded by RFC 3525. The term Megaco is the IETF designation. Megaco combines concepts from MGCP and the Media Device Control Protocol (MDCP). MGCP originated from a combination of the Simple Gateway Control Protocol (SGCP) with the Internet Protocol Device Control (IPDC).
After the ITU took responsibility of the protocol maintenance, the IETF reclassified its publications as historic in RFC 5125. The ITU has published three versions of H.248, the most recent in September 2005. H.248 encompasses not only the base protocol specification in H.248.1, but many extensions defined throughout the H.248 sub-series.

## Protocol overview

H.248/Megaco due to its master-slave nature does not describe the establishment of calls across domains or across media gateway controllers. H.248/Megaco is used for communication downward, to the media gateways and does not constitute a complete system. The architecture requires other protocols for communication between multiple MGCs.
The device that handles the call control function is referred to as an intelligent media gateway controller and the device that handles the media is referred to as a relatively unintelligent media gateway. H.248 defines the protocol for media gateway controllers to control media gateways for the support of multimedia streams across IP networks and the public switched telephone network (PSTN). It is typically used for providing Voice over Internet Protocol (VoIP) services like voice and fax between IP networks and the PSTN), or entirely within IP networks.
Because of the types of devices targeted for control by H.248/Megaco and the low level of its control structure, H.248 is generally viewed as complementary to H.323 and Session Initiation Protocol (SIP). While a media gateway controller (MGC) uses H.248/Megaco to manage media establishment and control with a number of media gateways (MGs), other VoIP protocols, such as SIP and H.323 are used for one communication between controllers. From a SIP perspective, the combination of MGC and MGs are treated together as a SIP Gateway.
The H.248/Megaco model describes a connection model that contains the logical entities, or objects, within the Media Gateways (MGs) that can be controlled by the Media Gateway Controller. The main entities are Contexts and Terminations.
    Terminations
       These source or sink one or more media streams or control streams. Terminations may be physical or ephemeral
    Contexts
       These are star connections created by associating multiple terminations. A logical entity on an MG that is an association between a collection of Terminations. A NULL context contains all non-associated terminations. A Context is a logical entity on an MG that is an association between a collection of Terminations. A ContextID identifies a Context.
       The normal, "active" context might have a physical termination (say, one DS0 in a DS3) and one ephemeral one (the RTP stream connecting the gateway to the network). Contexts are created and released by the MG under command of the MGC. A context is created by adding the first termination, and it is released by removing (subtracting) the last termination.
       A termination may have more than one stream, and therefore a context may be a multistream context. Audio, video, and data streams may exist in a context among several terminations.
In IP Multimedia Subsystem (IMS), Media Gateway Control Function (MGCF) control Media Gateways (MGW)s to send and receive call to / from the PSTN circuit switched (CS) networks using. H.248. The MGCF uses SIP messages to interact with Call Session Control Function (CSCF) and Breakout Gateway Control Function (BGCF).
Although the modeling of the Media Gateway differs in H.248/Megaco when compared to MGCP, there is a similarity between the semantics of the commands in the two specifications. There is almost a one-to-one mapping between the commands of MEGACO and MGCP. For example, the Create connection command in MGCP has an equivalent ADD termination command in MEGACO, the Modify connection command in MGCP equates to the MODIFY termination command of MEGACO and the Delete connection command equates to the SUBTRACT termination command of MEGACO.

### Messages and commands

The Media Gateway Controller always manages the media channels available on the Media Gateway itself by managing specific contexts and terminations. When the call state changes, the MGC sends a corresponding message to the gateway and waits for an acknowledgment.
Each message is a transport mechanism for transmitting commands, and not the command itself, unlike most other telecommunication protocols.
Protocol Commands:
* Add
* Move
* Subtract
* Notify
* Modify
* AuditValue
* AuditCapabilities
* ServiceChange

#### Typical MGC and MG message exchange
### Message structure

Message {Transaction {Action {Context {Command {Termination {Descriptor {Package}}}}}}}
By analogy with the OSI model, the hierarchy of interworking levels from the point of view of transmission over the network (Ethernet or ATM) is following.
H.248 :
| TCP | TCP | UDP | SCTP |
| IP ||||||
| Ethernet | Ethernet | Ethernet | ATM |

## Comparison with MGCP

The H.248/Megaco model is more complex than the Media Gateway Control Protocol (MGCP) model and it provides more flexibility when defining media control. For example, in MGCP a call can use an endpoint mode conference to manage the stream mixing, but it cannot achieve the fine grain control of H.248/Megaco in managing the media streams.
The H.248/Megaco model simplifies connection setup within the MG and to entities outside the MG. It simplifies the mechanism by which the media gateway controller (MGC) can specify associated media streams as well as specify the direction of media flow. H.248/Megaco is therefore able to provide greater application level support than MGCP. For example, setting up a multi-party conference with H.248 merely involves adding several terminations to a context. In case o MGCP, however, the MGC needs to establish several connections to a special type of endpoint called the conference bridge.
Following are the main differences between Megaco/H.248 and MGCP:
| H.248/Megaco | MGCP |
| A call is represented by terminations within a call context | A call is represented by endpoints and connections |
| Call types include any combination of multimedia and conferencing | Call types include point-to-point and multipoint |
| Encoding is text or binary | Encoding is text |
| Transport protocol is TCP, UDP or SCTP. | Transport protocol is UDP. |
| Standard protocol for media gateway control | IETF status is Informational. MGCP does not specify an Internet standard |
| Defined by ITU (formerly by IETF and ITU) | Managed by implementors, many independent protocol extensions exists. |

## Standards documents
### ITU-T H.248 Recommendations

* ITU-T Recommendation H.248.1, Gateway control protocol: Version 3.
* ITU-T Recommendation H.248.2, Gateway control protocol: Facsimile, text conversation and call discrimination packages.
* ITU-T Recommendation H.248.4, Gateway control protocol: Transport over Stream Control Transmission Protocol (SCTP).
* ITU-T Recommendation H.248.12, Gateway control protocol: H.248.1 packages for H.323 and H.324 interworking.
* ITU-T Recommendation H.248.15, Gateway control protocol: SDP H.248 package attribute.
* RFC 3015 - Megaco Protocol Version 1.0, November 2000, (Standard Track)
* RFC 3525 - Gateway Control Protocol Version 1, June 2003 (Obsoletes: RFC 3015) (Standard)