Media Gateway Control Protocol (MGCP) について
MGCP(Media Gateway Control Protocol)は、IPネットワークと
公衆交換電話網(PSTN)を繋ぐメディアゲートウェイを制御するためのプロトコルの一つです。Megaco(H.248)と並ぶ、メディアゲートウェイ制御アーキテクチャの実装として知られています。MGCPは、シンプルなゲートウェイ制御プロトコル(SGCP)の後継として開発されました。
MGCPの概要
MGCPは、
VoIP(Voice over IP)やIP電話システムがPSTNと通信する際の呼制御プロトコルとして機能します。このプロトコルは、ネットワーク側で呼制御を行い、エンドポイントとなる機器は簡単な制御コマンドを実行するというPSTN-over-IPモデルを採用しています。これは、H.323のように高機能なメディアゲートウェイ(H.323におけるゲートキーパー)を想定する
VoIPモデルとは対照的です。
MGCPでは、セッション内で転送するメディアストリームの指定と調整にSession Description Protocol(SDP)を使用し、メディアストリームのフレーム化には
Real-time Transport Protocol(RTP)を使用します。
MGCPと類似のプロトコルとしてMegacoが存在します。Megacoは、IETF(
Internet Engineering Task Force)とITU-T(
国際電気通信連合)が共同で標準化を進めたプロトコルで、両プロトコルは、RFC 2805に記述されているメディアゲートウェイ制御プロトコルアーキテクチャと要件というAPIガイドラインに従っています。しかしながら、プロトコルの構文や前提とする接続モデルが異なるため、互換性はありません。
MGCPのアーキテクチャ
MGCPシステムは、以下の3つの主要な要素で構成されています。
コールエージェント(呼制御サーバー): 呼制御の主要な役割を担います。
メディアゲートウェイ(MG): アナログ回線と
パケット間の信号を変換します。
シグナリングゲートウェイ: PSTNに接続する際に利用されます。
コールエージェントはMGCPを使ってメディアゲートウェイに対して、報告すべきイベントの種類、エンドポイントの接続方法、エンドポイントが扱う信号の種類などを指示します。また、コールエージェントは、MGCPを用いてメディアゲートウェイ上のエンドポイントの状態を監視することもできます。メディアゲートウェイは、MGCPを用いてフックオフやダイヤルされた番号などのイベントをコールエージェントに通知します。
メディアゲートウェイとシグナリングゲートウェイは、通常は同じ装置に統合されていますが、必須ではありません。コールエージェントはシグナリングゲートウェイとはMGCPではなく、SIGTRANプロトコルを用いて通信します。
各MGCPコマンドにはトランザクションIDが付与され、必ず応答が返されます。メディアゲートウェイは、プログラミングを受け付けるコールエージェントのリストで設定されますが、通常はリストに登録されるコールエージェントは1つまたは2つです。理論的には、イベント通知はゲートウェイの各エンドポイントごとに異なるコールエージェントに送信できますが、実際にはゲートウェイ上のすべてのエンドポイントが同じコールエージェントによって制御されることが望ましいとされています。
他のコールエージェントは、プライマリのコールエージェントに障害が発生した場合に冗長性を提供するために存在します。フェイルオーバーが発生した場合、バックアップコールエージェントがMGを再プログラムし、制御を引き継ぎます。この際、スプリットブレインシンドロームと同様の現象が発生する可能性があるため、監査機能を利用して、どのコールエージェントが現在ゲートウェイを制御しているのかを判断することが重要です。
MGCPは、コールエージェント同士が何らかの方法で相互に認識しており、必要に応じて関係を再構築できることを前提としています。
MGCPのプロトコル概要
MGCPパケットは、他の多くのプロトコルのパケットとは異なり、TCPではなくUDPのポート2427を使用します。データグラムのフォーマットには、空白文字を区切りとして使用します。MGCPパケットにはコマンドと応答があり、コマンドは4文字のコマンド名で始まり、応答は3桁の数字による応答コードで始まります。
MGCPの主なコマンド一覧
AUEP (Audit Endpoint): コールエージェントがメディアゲートウェイのエンドポイントを監査します。
AUCX (Audit Connection): コールエージェントがメディアゲートウェイの接続を監査します。
CRCX (Create Connection): コールエージェントがメディアゲートウェイ上に接続を生成します。
DLCX (Delete Connection): コールエージェントまたはメディアゲートウェイが接続を削除します。
MDCX (Modify Connection): コールエージェントがメディアゲートウェイ上の接続を変更します。
RQNT (Request for Notification): コールエージェントがメディアゲートウェイにイベント通知を要求します。
EPCF (Endpoint Configuration): コールエージェントがメディアゲートウェイのエンドポイント構成を設定します。
NTFY (Notify): メディアゲートウェイがコールエージェントに対し、RQNTコマンドで要求されたイベントを通知します。
RSIP (Restart In Progress): メディアゲートウェイがコールエージェントに再起動中であることを通知します。
MGCPの実装例
Vovida MGCP
Yate
Mobicents Media Server
関連RFC
RFC 3435: Media Gateway Control Protocol (MGCP) Version 1.0
RFC 3660: Basic Media Gateway Control Protocol (MGCP) Packages (informational)
RFC 3661: Media Gateway Control Protocol (MGCP) Return Code Usage
RFC 3064: MGCP CAS Packages
RFC 3149: MGCP Business Phone Packages
RFC 3991: Media Gateway Control Protocol (MGCP) Redirect and Reset Package
RFC 3992: Media Gateway Control Protocol (MGCP) Lockstep State Reporting Mechanism
RFC 2805: Media Gateway Control Protocol Architecture and Requirements
RFC 2897: Proposal for an MGCP Advanced Audio Package
関連項目
Session Initiation Protocol (SIP)
外部リンク
MGCP Information Site
この文書は、2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目に基づき、GFDLバージョン1.3以降の「RELICENSING」条件に基づいて構成されています。