メディアゲートウェイ制御プロトコル(MGCP)は、ハイブリッドVoIP( Voice over IP)および従来の電気通信システムにおけるシグナリングと呼制御のための電気通信プロトコルです。これは、公衆交換電話網(PSTN)に接続されたメディアゲートウェイを制御するためのメディアゲートウェイ制御プロトコルアーキテクチャを実装しています。 [ 1 ]メディアゲートウェイは、従来の電子メディアをインターネットプロトコル(IP)ネットワークに変換します。このプロトコルは、 BellcoreとCiscoによって開発されたSimple Gateway Control Protocol (SGCP)およびInternet Protocol Device Control (IPDC)の後継です。[ 2 ]
MGCPの方式は、PSTNの構造を反映しており、ネットワークの制御はコールコントロールセンターのソフトスイッチで行われます。これは、電話網における中央局に相当します。エンドポイントは低インテリジェンスデバイスであり、主にソフトスイッチ内のメディアゲートウェイコントローラ(コールエージェントとも呼ばれる)からの制御コマンドを実行し、応答として結果表示を提供します。このプロトコルは、 H.323やセッション開始プロトコル(SIP)など、通話のエンドポイントデバイスがより高いレベルのシグナリングインテリジェンスを持つ他のVoIPモデルを分解したものです。
MGCPは、コマンドとレスポンスで構成されるテキストベースのプロトコルです。通話セッションで送信されるメディアストリームの指定とネゴシエーションにはセッション記述プロトコル(SDP)を、メディアストリームのフレーミングにはリアルタイムトランスポートプロトコル(RTP)を使用します。

メディアゲートウェイ制御プロトコルのアーキテクチャ、その方法論、およびプログラミングインターフェースはRFC 2805に記載されています。[ 1 ]
MGCPはマスタースレーブプロトコルであり、メディアゲートウェイ(MG)はコールコントロールエージェントまたはソフトスイッチによって制御されます。このコントローラはメディアゲートウェイコントローラ(MGC)またはコールエージェント(CA)と呼ばれます。ネットワークプロトコルにより、メディアゲートウェイ上の各ポートを制御できます。これにより、ゲートウェイの集中管理が容易になり、スケーラブルなIP電話ソリューションが提供されます。分散システムは、少なくとも1つのコールエージェントと、回線交換ネットワークとパケット交換ネットワーク間でメディア信号の変換を行う1つまたは通常は複数のメディアゲートウェイ、およびPSTNに接続されている場合は少なくとも1つのシグナリングゲートウェイ(SG)で構成されます。
MGCPは、エッジ(エンドポイント、メディアゲートウェイ)におけるインテリジェンスは限定的であり、コアコントローラにおけるインテリジェンスは限定的である通話制御アーキテクチャを提示する。MGCPモデルでは、通話エージェントが互いに同期し、制御下のゲートウェイに一貫性のあるコマンドと応答を送信することを前提としている。
コールエージェントはMGCPを使用して、メディアゲートウェイからイベント通知、レポート、ステータス、構成データを要求するとともに、PSTN電話インターフェースへの接続パラメータと信号の有効化を指定します。
ソフトスイッチは通常、シグナリングゲートウェイと組み合わせて使用され、例えばシグナリングシステム7(SS7)機能へのアクセスなどに利用されます。コールエージェントはMGCPを使用してシグナリングゲートウェイを制御するのではなく、SIGTRANプロトコルを使用してシグナリングゲートウェイとコールエージェント間のシグナリングをバックホールします。
通常、メディアゲートウェイには、制御コマンドを受け入れることができるコールエージェントのリストが設定されている。
原則として、NotifiedEntity パラメータを設定することで、コールエージェントから受信した指示に従って、ゲートウェイ上の各エンドポイントに対して異なるコールエージェントにイベント通知を送信できます。ただし、実際には、ゲートウェイのすべてのエンドポイントが同じコールエージェントによって制御されることが望ましい場合がほとんどです。プライマリコールエージェントが故障したり、メディアゲートウェイとの接続が切断されたりした場合に備えて、他のコールエージェントが冗長性を提供します。このような障害が発生した場合、バックアップコールエージェントは、メディアゲートウェイがバックアップコールエージェントにレポートするように再構成する責任があります。ゲートウェイを監査して制御コールエージェントを特定することができ、このクエリを使用して競合を解決できます。
複数のコールエージェントが存在する場合、MGCPは、それらのエージェントが相互にデバイスの状態に関する情報を保持していることを前提としています。このようなフェイルオーバー機能は、計画的な障害と計画外の障害の両方を考慮に入れています。
MGCPは、通信の3つの重要な要素、すなわちメディアゲートウェイコントローラ(コールエージェント)、メディアゲートウェイエンドポイント、およびこれらのエンティティ間の接続を認識します。メディアゲートウェイは複数のエンドポイントをホストすることができ、各エンドポイントは複数の接続を確立できる必要があります。エンドポイント上の複数の接続は、通話待機や三者通話などの通話機能をサポートします。
MGCPは、コマンドとレスポンスのモデルを使用するテキストベースのプロトコルです。コマンドとレスポンスは、スペース、水平タブ、キャリッジリターン、ラインフィード、コロン、ピリオドといった空白文字で構造化およびフォーマットされたメッセージにエンコードされます。メッセージは、ユーザーデータグラムプロトコル(UDP)を使用して送信されます。メディアゲートウェイはポート番号2427を使用し、コールエージェントはデフォルトで2727を使用します。
コマンド(または要求)とその応答のメッセージシーケンスはトランザクションと呼ばれ、各トランザクションで交換される数値トランザクション識別子によって識別されます。プロトコル仕様では、4文字のコマンド動詞で区別される9つの標準コマンド(AUEP、AUCX、CRCX、DLCX、EPCF、MDCX、NTFY、RQNT、RSIP)が定義されています。応答は、トランザクションの結果を識別する3桁の数値応答コードで始まります。
コールエージェントは、エンドポイントとその関連接続の状態を照会するために、2つの動詞を使用します。
コールエージェントは、メディアゲートウェイエンドポイントへの接続を管理するために、3つの動詞を使用します。
1 つの動詞は、コール エージェントがエンドポイントで発生したイベントの通知を要求し、接続されている PSTN ネットワーク リンク、または接続されている電話エンドポイント (たとえば電話機) に信号を適用するために使用されます。
エンドポイントは、コールエージェントが以前にRQNTコマンドで通知を要求したイベントを検出したことをコールエージェントに伝えるために、1つの動詞を使用します。
コールエージェントは、エンドポイントの回線側で想定されるコーディング特性を変更するために、1つの動詞を使用します。
エンドポイントがコールエージェントに対して再起動処理中であることを示すために使用する動詞が1つあります。
メディアゲートウェイ制御プロトコルアーキテクチャの別の実装として、インターネット技術タスクフォース(RFC 3525)と国際電気通信連合(勧告H.248.1)の共同開発によるH.248/Megacoプロトコルがあります。どちらのプロトコルも、RFC 2805で説明されている上位のメディアゲートウェイ制御プロトコルアーキテクチャのガイドラインに従っています。しかし、プロトコルの構文と基盤となる接続モデルの違いにより、これらのプロトコルには互換性がありません。