Basic VoIP Protocols

HackTricksをサポートする

シグナリングプロトコル

SIP (セッション開始プロトコル)

これは業界標準です。詳細については以下を確認してください:

SIP (Session Initiation Protocol)

MGCP (メディアゲートウェイ制御プロトコル)

MGCP (メディアゲートウェイ制御プロトコル)は、RFC 3435で概説されたシグナリングおよび通話 制御プロトコルです。これは、3つの主要なコンポーネントからなる集中型アーキテクチャで動作します:

  1. コールエージェントまたはメディアゲートウェイコントローラー (MGC):MGCPアーキテクチャのマスターゲートウェイは、メディアゲートウェイの管理と制御を担当します。通話のセットアップ、変更、終了プロセスを処理します。MGCはMGCPプロトコルを使用してメディアゲートウェイと通信します。

  2. メディアゲートウェイ (MG) またはスレーブゲートウェイ:これらのデバイスは、異なるネットワーク間でデジタルメディアストリームを変換します。例えば、従来の回路交換電話とパケット交換IPネットワークなどです。これらはMGCによって管理され、受信したコマンドを実行します。メディアゲートウェイには、トランスコーディング、パケット化、エコーキャンセリングなどの機能が含まれる場合があります。

  3. シグナリングゲートウェイ (SG):これらのゲートウェイは、異なるネットワーク間でシグナリングメッセージを変換する責任があります。これにより、従来の電話システム(例:SS7)とIPベースのネットワーク(例:SIPまたはH.323)間のシームレスな通信が可能になります。シグナリングゲートウェイは、相互運用性を確保し、異なるネットワーク間で通話制御情報が適切に通信されることを保証するために重要です。

要約すると、MGCPはコールエージェントに通話制御ロジックを集中させ、メディアおよびシグナリングゲートウェイの管理を簡素化し、通信ネットワークにおけるスケーラビリティ、信頼性、効率を向上させます。

SCCP (スキニークライアント制御プロトコル)

スキニークライアント制御プロトコル (SCCP)は、Cisco Systemsが所有する独自のシグナリングおよび通話制御プロトコルです。主にCisco Unified Communications Manager(以前のCallManager)とCisco IP電話または他のCisco音声およびビデオエンドポイント間の通信に使用されます。

SCCPは、通話制御サーバーとエンドポイントデバイス間の通信を簡素化する軽量プロトコルです。「スキニー」と呼ばれるのは、他のVoIPプロトコル(例:H.323やSIP)に比べてミニマリスティックな設計と帯域幅要件が少ないためです。

SCCPベースのシステムの主なコンポーネントは次のとおりです:

  1. 通話制御サーバー:通常はCisco Unified Communications Managerで、このサーバーは通話のセットアップ、変更、終了プロセス、および通話転送、通話転送、通話保留などの他の電話機能を管理します。

  2. SCCPエンドポイント:これらは、IP電話、ビデオ会議ユニット、またはSCCPを使用して通話制御サーバーと通信する他のCisco音声およびビデオエンドポイントなどのデバイスです。これらはサーバーに登録し、シグナリングメッセージを送受信し、通話制御サーバーから提供される指示に従います。

  3. ゲートウェイ:これらのデバイス(音声ゲートウェイやメディアゲートウェイなど)は、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換する責任があります。また、トランスコーディングやエコーキャンセリングなどの追加機能を含む場合があります。

SCCPは、Cisco通話制御サーバーとエンドポイントデバイス間のシンプルで効率的な通信方法を提供します。ただし、SCCPは独自のプロトコルであるため、非Ciscoシステムとの相互運用性が制限される可能性があります。そのため、他の標準VoIPプロトコル(例:SIP)がより適している場合があります。

H.323

H.323は、音声、ビデオ、データ会議を含むマルチメディア通信のためのプロトコルスイートで、パケット交換ネットワーク(例:IPベースのネットワーク)上で動作します。これは国際電気通信連合(ITU-T)によって開発され、マルチメディア通信セッションを管理するための包括的なフレームワークを提供します。

H.323スイートの主なコンポーネントには次のものがあります:

  1. 端末:これらは、H.323をサポートし、マルチメディア通信セッションに参加できるエンドポイントデバイス(例:IP電話、ビデオ会議システム、またはソフトウェアアプリケーション)です。

  2. ゲートウェイ:これらのデバイスは、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換し、H.323と他の通信システム間の相互運用性を可能にします。また、トランスコーディングやエコーキャンセリングなどの追加機能を含む場合があります。

  3. ゲートキーパー:これらは、H.323ネットワーク内で通話制御および管理サービスを提供するオプションのコンポーネントです。アドレス変換、帯域幅管理、入場制御などの機能を実行し、ネットワークリソースの管理と最適化を支援します。

  4. マルチポイント制御ユニット (MCU):これらのデバイスは、複数のエンドポイントからのメディアストリームを管理およびミキシングすることにより、マルチポイント会議を促進します。MCUは、ビデオレイアウト制御、音声アクティブスイッチング、継続的なプレゼンスなどの機能を可能にし、複数の参加者との大規模な会議をホストすることを可能にします。

H.323は、音声およびビデオコーデックの範囲、ならびに通話転送、通話転送、通話保留、通話待機などの他の補助サービスをサポートします。VoIPの初期に広く採用されましたが、H.323は、相互運用性が向上し、実装が容易な**セッション開始プロトコル (SIP)**のようなより現代的で柔軟なプロトコルに徐々に置き換えられています。ただし、H.323は多くのレガシーシステムで使用され続けており、さまざまな機器ベンダーによってサポートされています。

IAX (インターアスタリスクエクスチェンジ)

IAX (インターアスタリスクエクスチェンジ)は、主にAsterisk PBX(プライベートブランチ交換)サーバーと他のVoIPデバイス間の通信に使用されるシグナリングおよび通話制御プロトコルです。これは、AsteriskオープンソースPBXソフトウェアの作成者であるMark Spencerによって、SIPやH.323のような他のVoIPプロトコルの代替として開発されました。

IAXは、そのシンプルさ、効率性、実装の容易さで知られています。IAXの主な特徴は次のとおりです:

  1. 単一UDPポート:IAXは、シグナリングとメディアトラフィックの両方に単一のUDPポート(4569)を使用し、ファイアウォールやNATのトラバーサルを簡素化し、さまざまなネットワーク環境での展開を容易にします。

  2. バイナリプロトコル:SIPのようなテキストベースのプロトコルとは異なり、IAXはバイナリプロトコルであり、帯域幅消費を削減し、シグナリングおよびメディアデータの送信をより効率的にします。

  3. トランキング:IAXはトランキングをサポートしており、複数の通話を単一のネットワーク接続に結合することができ、オーバーヘッドを削減し、帯域幅の利用を改善します。

  4. ネイティブ暗号化:IAXは、RSAのような鍵交換方法とAESのようなメディア暗号化を使用して、エンドポイント間の安全な通信を提供するための暗号化をサポートしています。

  5. ピアツーピア通信:IAXは、中央サーバーを必要とせずにエンドポイント間で直接通信するために使用でき、よりシンプルで効率的な通話ルーティングを可能にします。

利点にもかかわらず、IAXにはいくつかの制限があります。主にAsteriskエコシステムに焦点を当てており、SIPのようなより確立されたプロトコルに比べて広く採用されていません。そのため、非Asteriskシステムやデバイスとの相互運用性には最適ではないかもしれません。ただし、Asterisk環境内で作業している人にとって、IAXはVoIP通信のための堅牢で効率的なソリューションを提供します。

伝送および輸送プロトコル

SDP (セッション記述プロトコル)

SDP (セッション記述プロトコル)は、IPネットワーク上での音声、ビデオ、またはデータ会議などのマルチメディアセッションの特性を記述するために使用されるテキストベースのフォーマットです。これは**インターネット技術者タスクフォース (IETF)**によって開発され、RFC 4566で定義されています。SDPは実際のメディア伝送やセッションの確立を処理せず、**SIP (セッション開始プロトコル)**のような他のシグナリングプロトコルと組み合わせて、メディアストリームとその属性に関する情報を交渉および交換するために使用されます。

SDPの主な要素は次のとおりです:

  1. セッション情報:SDPは、セッション名、セッションの説明、開始時刻、終了時刻など、マルチメディアセッションの詳細を記述します。

  2. メディアストリーム:SDPは、メディアタイプ(音声、ビデオ、またはテキスト)、輸送プロトコル(例:RTPまたはSRTP)、およびメディアフォーマット(例:コーデック情報)など、メディアストリームの特性を定義します。

  3. 接続情報:SDPは、メディアが送信または受信されるネットワークアドレス(IPアドレス)およびポート番号に関する情報を提供します。

  4. 属性:SDPは、セッションまたはメディアストリームに関する追加のオプション情報を提供するために属性の使用をサポートします。属性は、暗号化キー、帯域幅要件、またはメディア制御メカニズムなどのさまざまな機能を指定するために使用できます。

SDPは通常、次のプロセスで使用されます:

  1. 開始側が、メディアストリームとその属性の詳細を含む提案されたマルチメディアセッションのSDP記述を作成します。

  2. SDP記述は、通常、SIPやRTSPのようなシグナリングプロトコルメッセージ内に埋め込まれて受信側に送信されます。

  3. 受信側はSDP記述を処理し、その能力に基づいて、提案されたセッションを受け入れる、拒否する、または変更することがあります。

  4. 最終的なSDP記述は、シグナリングプロトコルメッセージの一部として開始側に返送され、交渉プロセスが完了します。

SDPのシンプルさと柔軟性は、さまざまな通信システムでマルチメディアセッションを記述するための広く採用された標準となっており、IPネットワーク上でリアルタイムのマルチメディアセッションを確立および管理する上で重要な役割を果たします。

RTP / RTCP / SRTP / ZRTP

  1. RTP (リアルタイムトランスポートプロトコル):RTPは、IPネットワーク上で音声およびビデオデータ、または他のリアルタイムメディアを配信するために設計されたネットワークプロトコルです。IETFによって開発され、RFC 3550で定義されているRTPは、SIPやH.323のようなシグナリングプロトコルと一般的に使用され、マルチメディア通信を可能にします。RTPは、メディアストリームの同期シーケンシング、およびタイムスタンプのメカニズムを提供し、スムーズでタイムリーなメディア再生を確保します。

  2. RTCP (リアルタイムトランスポート制御プロトコル):RTCPは、RTPの補完プロトコルで、サービス品質(QoS)を監視し、メディアストリームの伝送に関するフィードバックを提供するために使用されます。RTPと同じRFC 3550で定義されているRTCPは、RTPセッションの参加者間で制御パケットを定期的に交換します。パケット損失、ジッター、往復時間などの情報を共有し、ネットワーク条件を診断し、適応するのに役立ち、全体的なメディア品質を向上させます。

  3. SRTP (セキュアリアルタイムトランスポートプロトコル):SRTPは、メディアストリームに対して暗号化メッセージ認証、および再生防止を提供するRTPの拡張です。RFC 3711で定義されており、SRTPはAESのような暗号化アルゴリズムとHMAC-SHA1のようなメッセージ認証を使用します。SRTPは、SIP over TLSのような安全なシグナリングプロトコルと組み合わせて使用され、マルチメディア通信におけるエンドツーエンドのセキュリティを提供します。

  4. ZRTP (ジマーマンリアルタイムトランスポートプロトコル):ZRTPは、RTPメディアストリームに対してエンドツーエンドの暗号化を提供する暗号鍵合意プロトコルです。PGPの作成者であるPhil Zimmermannによって開発され、RFC 6189で説明されています。ZRTPは、鍵交換のためにシグナリングプロトコルに依存するSRTPとは異なり、シグナリングプロトコルとは独立して機能するように設計されています。Diffie-Hellman鍵交換を使用して、通信する当事者間で共有秘密を確立し、事前の信頼や公開鍵基盤(PKI)を必要としません。ZRTPには、マンインザミドル攻撃から保護するための**短い認証文字列(SAS)**などの機能も含まれています。

これらのプロトコルは、IPネットワーク上でのリアルタイムマルチメディア通信の配信とセキュリティにおいて重要な役割を果たします。RTPとRTCPは実際のメディア伝送と品質監視を処理し、SRTPとZRTPは、送信されたメディアが盗聴、改ざん、再生攻撃から保護されることを保証します。

HackTricksをサポートする

Last updated