Description
The Media Gateway Control Function (MGCF) is a specialized control-plane function within the IP Multimedia Subsystem (IMS) architecture. Its primary role is to act as a signaling gateway and controller for sessions that need to traverse between the packet-switched IMS domain (which uses SIP - Session Initiation Protocol) and the legacy circuit-switched (CS) telephony world (which uses protocols like ISUP - ISDN User Part or BICC - Bearer Independent Call Control). The MGCF is the IMS counterpart to the CS domain's Media Gateway Controller (MGC), but it is specifically designed to operate within the SIP-centric IMS framework.
Architecturally, the MGCF sits at the boundary between the IMS core and external CS networks like the Public Switched Telephone Network (PSTN) or legacy PLMN. It has several key interfaces. Towards the IMS core, it communicates with the CSCF (Call Session Control Function) using the SIP-based Mg interface. When an IMS user calls a PSTN number, the SIP INVITE is routed to the MGCF. The MGCF then performs protocol translation, converting the SIP signaling into the appropriate ISUP or BICC message. Conversely, for an incoming call from the PSTN, it receives ISUP/BICC signaling and translates it into a SIP INVITE for routing into the IMS. To manage the actual media path, the MGCF controls an IMS-Media Gateway (IMS-MGW) using the H.248 protocol over the Mn interface. It instructs the IMS-MGW to perform necessary media interworking functions, such as transcoding between a packet voice codec (like AMR-WB used in IMS) and a PCM TDM circuit from the PSTN, or playing announcements and tones.
In operation, the MGCF's workflow involves several steps. It performs address analysis and translation (e.g., converting a PSTN E.164 number into a SIP URI for routing within IMS, or vice-versa). It manages the call state for the interworking portion of the session, ensuring signaling coherence between the two disparate domains. The MGCF also interacts with other IMS functions like the Breakout Gateway Control Function (BGCF) for selecting the appropriate network to break out to the CS domain. Its design is crucial for ensuring seamless service continuity, supporting not only basic voice calls but also supplementary services like call forwarding, caller ID, and call waiting across the network boundary.
Purpose & Motivation
The MGCF was created to solve a fundamental challenge in the transition to all-IP networks: how to maintain seamless interoperability between the new, SIP-based IMS and the vast, entrenched infrastructure of the global circuit-switched telephone network. Without the MGCF, IMS would be an isolated 'island' unable to communicate with the billions of existing landline and mobile phones. Its development was motivated by the 3GPP's vision for IMS as the unifying service delivery platform for multimedia services, which necessitated a robust and standardized interworking function.
Historically, as IMS was defined from 3GPP Release 5 onwards, the MGCF addressed the limitations of earlier, proprietary gateway solutions. It provided a standardized, scalable way to handle the complex signaling and media mapping required for inter-domain calls. This allowed network operators to deploy IMS for new services (like VoLTE and RCS) while guaranteeing backward compatibility, protecting their existing investments, and ensuring a smooth migration path for subscribers. The MGCF, together with the IMS-MGW, forms the PSTN/CS gateway subsystem that is essential for the commercial success of any IMS deployment.
Key Features
- Performs protocol translation between IMS SIP signaling and CS network signaling (ISUP/BICC)
- Controls the IMS-Media Gateway (IMS-MGW) using the H.248 protocol for media interworking
- Interfaces with CSCF in IMS (Mg interface) and with CS networks (e.g., via ISUP)
- Executes number analysis and routing for calls entering or leaving the IMS domain
- Manages call state and supplementary service interworking across network boundaries
- Works in conjunction with the BGCF for selecting the appropriate breakout point to the CS network
Evolution Across Releases
Introduced as a foundational component for early considerations of network interworking, though the full IMS architecture was not yet defined. Its initial role was conceptualized within the broader framework of separating call control and media gateway functions, setting the stage for its formal definition in the IMS context.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.218 | 3GPP TS 23.218 |
| TS 23.221 | 3GPP TS 23.221 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.231 | 3GPP TS 23.231 |
| TS 23.271 | 3GPP TS 23.271 |
| TS 23.278 | 3GPP TS 23.278 |
| TS 23.417 | 3GPP TS 23.417 |
| TS 23.517 | 3GPP TS 23.517 |
| TS 23.806 | 3GPP TS 23.806 |
| TS 23.815 | 3GPP TS 23.815 |
| TS 23.849 | 3GPP TS 23.849 |
| TS 24.147 | 3GPP TS 24.147 |
| TS 24.228 | 3GPP TS 24.228 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 24.259 | 3GPP TS 24.259 |
| TS 24.405 | 3GPP TS 24.405 |
| TS 24.407 | 3GPP TS 24.407 |
| TS 24.411 | 3GPP TS 24.411 |
| TS 24.416 | 3GPP TS 24.416 |
| TS 24.428 | 3GPP TS 24.428 |
| TS 24.429 | 3GPP TS 24.429 |
| TS 24.454 | 3GPP TS 24.454 |
| TS 24.504 | 3GPP TS 24.504 |
| TS 24.505 | 3GPP TS 24.505 |
| TS 24.508 | 3GPP TS 24.508 |
| TS 24.516 | 3GPP TS 24.516 |
| TS 24.524 | 3GPP TS 24.524 |
| TS 24.528 | 3GPP TS 24.528 |
| TS 24.529 | 3GPP TS 24.529 |
| TS 24.604 | 3GPP TS 24.604 |
| TS 24.605 | 3GPP TS 24.605 |
| TS 24.607 | 3GPP TS 24.607 |
| TS 24.616 | 3GPP TS 24.616 |
| TS 24.628 | 3GPP TS 24.628 |
| TS 24.629 | 3GPP TS 24.629 |
| TS 24.819 | 3GPP TS 24.819 |
| TS 24.930 | 3GPP TS 24.930 |
| TS 26.114 | 3GPP TS 26.114 |
| TS 26.944 | 3GPP TS 26.944 |
| TS 28.702 | 3GPP TS 28.702 |
| TS 28.705 | 3GPP TS 28.705 |
| TS 29.332 | 3GPP TS 29.332 |
| TS 29.412 | 3GPP TS 29.412 |
| TS 29.424 | 3GPP TS 29.424 |
| TS 29.863 | 3GPP TS 29.863 |
| TS 29.949 | 3GPP TS 29.949 |
| TS 32.102 | 3GPP TR 32.102 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.260 | 3GPP TR 32.260 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.280 | 3GPP TR 32.280 |
| TS 32.632 | 3GPP TR 32.632 |
| TS 32.732 | 3GPP TR 32.732 |
| TS 32.850 | 3GPP TR 32.850 |
| TS 33.107 | 3GPP TR 33.107 |
| TS 33.108 | 3GPP TR 33.108 |