セッション開始プロトコル(SIP)は、IPマルチメディアサブシステム(IMS)における複数の参加者によるマルチメディアセッションのために、第3世代パートナーシッププロジェクト(3GPP)[ 1 ] [ 2 ]で採用されたシグナリングプロトコルです。そのため、IMSフレームワークの中核コンポーネントとみなされています。
SIPは、インターネット技術特別調査委員会(IETF)によって、インターネットプロトコル(IP)ネットワークを介したマルチメディア通信セッションの標準技術として開発されました。インターネットプロトコルスイートのアプリケーション層に位置するSIPは、音声、ビデオ、テキストメッセージを含むリアルタイムセッションの開始、制御、終了のためのメカニズムを提供します。
標準化以来、高度な呼制御、セキュリティ機能、他のインターネットアプリケーションとの統合のサポートなど、プロトコルの機能を拡張するためのいくつかのSIP拡張機能がRFCとして公開されています。 [ 3 ] [ 4 ] [ 5 ]
IMSの開発と維持を目的とした電気通信協会のグループ間の協力関係である3GPPは、IMSでSIP [ 1 ]をうまく利用するための一連の要件を定めました。これらの要件の一部は、SIPの既存の機能と拡張機能を利用することで対応できましたが、他の要件については、3GPPはIETFと協力し、新しいSIP拡張機能[ 6 ]を標準化する必要 がありました。IETFはSIPを汎用的に開発しているため、拡張機能の使用はIMSフレームワークに限定されません。
3GPPは、IMSの運用に関するいくつかの一般的な要件を定めています。これには、モバイル端末とネットワーク間のシグナリングメッセージの交換を最小限に抑えることによる無線インターフェースの効率的な利用、セッション確立中ではなくセッション確立前にタスクを実行することによるセッションセットアップ時間の短縮、端末に必要な最小限のサポート、端末モビリティ管理(SIPではなくアクセスネットワークによってサポート)によるローミングおよび非ローミングシナリオのサポート、およびIPv6アドレス指定のサポートが含まれます。
その他の要件には、ユーザーまたはサーバーの情報を交換するためのSIPヘッダー フィールドなどのプロトコル拡張や、登録、再登録、登録解除、イベント通知、インスタント メッセージング、または通話転送などの追加機能を備えた通話制御プリミティブの 要件など、新しいネットワーク機能をサポートするためのSIP メソッドが含まれます。
その他の具体的な要件は以下のとおりである: [ 1 ]
最後に、 DHCPやDNS [ 7 ]などの他のプロトコルやネットワークサービスもSIPと連携して動作するように適応させる必要があります。たとえば、アウトバウンドプロキシ(P-CSCF)の場所やSIP Uniform Resource Identifier(URI)からIPアドレスの解決などです。
SIPには、ユーザーエージェント(UA)またはサーバー間の拡張機能ネゴシエーションのためのメカニズム[ 2 ]があり、 supported、require、unsupportedの3つのヘッダーフィールドで構成され、UAまたはサーバー(つまり、ユーザー端末またはIMSのコールセッション制御機能(CSCF))は、理解できる拡張機能を指定するために使用できます。クライアントがサーバーとのSIPダイアログを開始すると、使用する必要がある拡張機能と理解できる( supported )その他の拡張機能を通知し、サーバーは必要な拡張機能のリストとともに応答を送信します。これらの拡張機能がクライアントのメッセージにリストされていない場合、サーバーからの応答はエラー応答になります。同様に、サーバーがクライアントの必要な拡張機能をまったくサポートしていない場合は、サポートされていない拡張機能のリストとともにエラー応答が送信されます。このような拡張機能はオプションタグと呼ばれますが、SIPは新しい方法で拡張することもできます。その場合、ユーザーエージェントまたはサーバーは、サポートするメソッドを通知するためにAllowヘッダーを使用します。特定のダイアログで特定のメソッドの使用を要求するには、そのメソッドに関連付けられた オプション タグを使用する必要があります。
これら 2 つの拡張機能により、ユーザーは IMS が提供するサービスに関する設定を指定できます。
発信者設定拡張[ 8 ]を使用すると、発信者は、到達したいユーザーエージェントの種類(固定かモバイルか、ボイスメールか人間か、個人用かビジネス用か、提供できるサービスか、サポートされる方法など)と、その検索方法を3つのヘッダーフィールドで示すことができます。Accept -Contactは、目的の宛先ユーザーエージェントを記述し、Reject-Contactは回避するユーザーエージェントを記述し、Request-Dispositionは、ネットワーク内のサーバーによる要求の処理方法(リダイレクトするかどうか、ユーザーを順番に検索するか並列で検索するかなど)を指定します。
ユーザーエージェント機能拡張[ 9 ]を用いることで、ユーザーエージェント(端末)は登録時に自身の情報を記述することができ、他のユーザーが発信者設定拡張ヘッダーに基づいて検索できるようになります。この目的のため、ユーザーエージェントはREGISTERメッセージの Contactヘッダーフィールドに自身の機能をリストします。
イベント通知の目的は、特定のリソース (ユーザー、ボイスメールサービスなど) のステータスを取得し、ステータスが変更されたときにそのステータスの更新を受け取ることです。
IMSフレームワークでは、イベント通知は、連絡を待っている可能性のある他のユーザーにユーザーの存在(「オンライン」または「オフライン」)を知らせたり、ユーザーとそのP-CSCFに自身の登録状態を通知して、ユーザーが連絡可能かどうか、また登録されているパブリックIDを把握したりするために不可欠です。さらに、イベント通知は、ボイスメール(受信トレイに新しい音声メッセージがあることを通知するなど) などの追加サービスの提供にも使用できます。
このため、特定のイベント通知拡張[ 10 ]では、 SUBSCRIBE と NOTIFY という 2 つの新しいメソッド、新しいヘッダー フィールドと応答コード、および加入者と通知者の2 つの役割を持つ SIP におけるイベント通知のフレームワークが定義されています。リソースの状態情報に関心のあるエンティティ (加入者) は、要求の最初の行にリソースの Uniform Resource Identifier (URI) を、イベント ヘッダーにイベントの種類を指定して SUBSCRIBE メッセージを送信します。次に、リソースの状態を追跡する役割を持つエンティティ (通知者) が SUBSCRIBE 要求を受信し、サブスクリプション状態ヘッダーと、メッセージ本体にリソースの状態に関する情報を指定して NOTIFY メッセージを送り返します。リソースの状態が変化するたびに、通知者は新しい NOTIFY メッセージを加入者に送信します。加入者がサブスクライブできるイベントの種類ごとに、新しいイベント パッケージで定義されます。イベントパッケージは、SUBSCRIBEイベント ヘッダーの新しい値と、NOTIFY メッセージでイベント状態情報を伝送する MIMEタイプを記述します。
また、イベント通知機能を示すallow-eventsヘッダーと、サブスクリプション要求が暫定的に承認されたか、または通知機能が要求されたイベントの種類を理解できないために拒否されたかを示す 202 承認済みおよび489 不正イベント応答コードもあります。
シグナリングメッセージを効率的に利用するために、イベントスロットリングと呼ばれるメカニズムを通じて、通知レート(リアルタイム通知ではない)を制限することも可能である。さらに、条件付きイベント通知のメカニズムも用意されており、通知者は、前回のサブスクリプション以降に通知すべき新しい情報があるかどうかに応じて、NOTIFYメッセージ全体を送信するかどうかを決定できる。
イベント通知フレームワークは、ユーザーエージェントがリソースの状態に関するイベントをサブスクライブする方法を定義しますが、その状態をどのように公開するかは規定していません。イベント状態公開のためのSIP拡張[ 11 ]は、ユーザーエージェントがイベント状態を作成し、サブスクライバーに配信する責任を負うエンティティ(通知者)にイベント状態を公開できるようにするために定義されました。
状態公開フレームワークは、新しいメソッド PUBLISH を定義します。このメソッドは、イベント ヘッダーに記述されたイベントとメッセージ本体で伝送された情報を参照して、リクエスト URI で指定されたリソースの状態の公開を要求するために使用されます。
テキストメッセージングに類似したサービスを提供するためにインスタントメッセージを送信する機能は、インスタントメッセージング拡張で定義されています。[ 12 ]これらのメッセージは互いに無関係であり(つまり、SIPダイアログを生成しない)、SIPシグナリングネットワークを介して送信され、制御メッセージとリソースを共有します。
この機能は、新しいMESSAGEメソッドによってサポートされています。このメソッドを使用すると、リクエストURIで指定されたリソースにインスタントメッセージを送信できます。送信されたコンテンツはメッセージ本文に含まれます。このコンテンツはMIMEタイプとして定義され、最も一般的なタイプ はtext/plainです。
関連するメッセージを含むインスタントメッセージセッションを行うために、メッセージセッションリレープロトコル(MSRP)[ 13 ]が利用可能です。
REFERメソッド拡張[ 14 ]は、リクエストメッセージのRefer-Toヘッダーフィールドに含まれるURIで識別されるリソースへの接続をユーザーエージェントに要求するメカニズムを定義します。このメカニズムの典型的な用途はコール転送です。通話中に、REFERメッセージを送信する参加者は、対応するヘッダーフィールドに含まれるURIで識別されるユーザーエージェントに接続するよう受信者に指示します。REFERメッセージはまた、操作の結果に対するイベントサブスクリプションを暗黙的に含み、これにより送信者は受信者が第三者に接続できたかどうかを知ることができます。
ただし、 Refer-Toヘッダー フィールドには、受信者がWeb ページにアクセスすることを要求するためのHTTP URIなど、任意の種類の URI を指定できるため、このメカニズムは通話転送に限定されません。
基本的なSIP仕様では、[ 15 ]リクエストと最終レスポンス(つまり2XXレスポンスコード)のみが確実に送信されます。つまり、確認応答メッセージ(つまり、リクエストに対応するレスポンスコード、または2XXレスポンスコードに対応するACKリクエスト)が到着するまで、送信者によって再送信されます。このメカニズムが必要なのは、SIPが、メッセージの配信を保証する信頼性の高いトランスポートプロトコル( TCP )だけでなく、配信保証のない信頼性の低いトランスポートプロトコル( UDP)でも動作するためです。さらに、トランスポートネットワークの異なる部分に両方のプロトコルが存在する可能性もあります。
しかし、IMSフレームワークのようなシナリオでは、この信頼性をINVITE要求への暫定応答(通話を開始するためのセッション確立)にまで拡張する必要がある。暫定応答の信頼性拡張[ 16 ]は、呼び出し先に呼び出し音が鳴っていることを発信者に知らせる180 Ringing応答コードなどの暫定応答が正常に受信されたことを確認するメカニズムを提供する。そのために、この拡張は新しいメソッドであるPRACKを定義する。PRACKは、暫定応答の送信者にメッセージが受信されたことを伝えるために使用される要求メッセージである。このメッセージには、確認応答されている暫定応答のRSeqヘッダーフィールドに一致するシーケンス番号であるRACKヘッダーフィールドが含まれ、対応するINVITE要求を識別するCSeq番号も含まれる。ユーザーエージェントが信頼性の高い暫定応答を要求またはサポートしていることを示すために、100relオプションタグが使用されます。
UPDATEメソッド拡張[ 17 ]の目的は、ユーザーエージェントが、最初のINVITEリクエストに対する最終レスポンスが生成される前に、ダイアログ内で更新されたセッション記述情報を提供できるようにすることです。これにより、着信側にアラートが通知される前に、通話リソースのネゴシエーションと割り当てを行うことができます。
IMSフレームワークでは、着信側が一度アラート通知を受けたら、セッションが失敗する可能性を最小限に抑えることが求められます。失敗の重要な原因の一つは、セッションをサポートするためのネットワークリソースを予約できないことであり、そのため、これらのリソースは電話が鳴る前に割り当てておく必要があります。しかし、IMSでは、リソースを予約するために、ネットワークは着信側のIPアドレス、ポート、およびセッションパラメータを認識する必要があり、そのためには、セッションを確立するための最初のオファー/アンサー交換(INVITE要求)が開始されている必要があります。基本的なSIPでは、この交換によって最終的に着信側がアラート通知を受けます。この問題を解決するために、前提条件[ 18 ]の概念が導入されました。この概念では、発信側はオファーにおいてセッションに関する一連の制約(コーデックやQoS要件など)を明示し、着信側はセッションを確立したりユーザにアラート通知したりすることなく、オファーに応答します。このセッションの確立は、発信側と着信側の両方が前提条件が満たされていることに同意した場合にのみ行われます。
前提条件SIP拡張は、新しいオプションタグ(前提条件)と定義されたオファー/アンサー交換を備えたSIPと、SIPメッセージの本文で伝送されるストリーミングメディア初期化パラメータを記述するために使用されるフォーマットであるセッション記述プロトコル(SDP)の両方に影響します。新しいSDP属性は、リソース予約の現在のステータス、セッション確立を続行するための予約の望ましいステータス、そして予約ステータスを確認するタイミングを示す確認ステータスを記述することを目的としています。
IMSでは、初期セッションパラメータネゴシエーションは、暫定応答とセッション記述更新拡張、およびメッセージ本文のSDPを使用して行うことができます。SDPで記述された最初のオファーはINVITEリクエストによって伝送され、発信者がサポートするコーデックに対応します。このリクエストは、発信者と着信者の両方がサポートするコーデックのSDPリストを含む暫定的な信頼性応答コード183 Session Progressによって応答されます。この暫定応答に対応するPRACKは、コーデックを選択し、QoSネゴシエーションを開始するために使用されます。
QoSネゴシエーションはPRACK要求によってサポートされ、これにより発信側ネットワークでリソース予約が開始され、2XX応答コードが返されます。この応答が送信されると、着信側もコーデックを選択し、自側でリソース予約を開始します。その後、予約の進行状況を通知するためにUPDATE要求が送信され、2XX応答コードが返されます。典型的なオファー/アンサー交換では、[ 19 ]発信側が予約を完了するとUPDATEが1回送信され、着信側が応答して最終的にリソースの割り当てを完了します。そして、通話に必要なすべてのリソースが確保されると、発信者に通知されます。
IMSフレームワークでは、認証、認可、課金のためにユーザーIDを管理することが不可欠です。IMSはIPネットワーク上でマルチメディアサービスを提供することを目的としていますが、ユーザーに課金するためのメカニズムも必要です。これらの機能はすべて、新しい特別なヘッダーフィールドによってサポートされています。
SIPのプライベートヘッダー拡張[ 6 ](Pヘッダーとも呼ばれる)は、特定のトポロジと下位層プロトコルの特性を持つプライベートネットワークにのみ適用可能な特別なヘッダーフィールドです。より一般的なソリューションがなかったため、3GPPの要件を満たすために特別に設計されました。
これらのヘッダー フィールドは、課金や通話が通過するネットワークに関する情報など、さまざまな目的で使用されます。
ユーザー データベース アクセス用に、さらにプライベート ヘッダーが定義されています。
信頼ネットワーク内におけるアサートされたIDのためのプライベート拡張[ 23 ]は、信頼されたSIPサーバーのネットワークが、認証されたユーザーのIDを、そのID情報の生成、転送、および使用に関する事前に合意されたポリシーを持つ管理ドメイン内でのみアサートできるようにすることを目的としています。これらの拡張により、ユーザーはプライバシーを要求することも可能になり、自身のIDが信頼ドメイン外に拡散されることを防ぎます。プライバシーを要求するには、プライバシートークンIDをPrivacyヘッダーフィールドに挿入する必要があります。 [ 24 ]
主な機能はP-Asserted-Identity拡張ヘッダーによってサポートされています。プロキシサーバーが信頼できないエンティティからのリクエストを受信し、ユーザーを認証(つまり、ユーザーが本人であることを確認する)すると、認証済みのIDをこのヘッダーに挿入し、通常どおりリクエストを転送します。これにより、信頼ドメイン(つまり、事前に合意されたセキュリティポリシーを持つ信頼されたエンティティのネットワーク)内でこのSIPリクエストを受信する他のプロキシサーバーは、ユーザーの再認証を行うことなく、P-Asserted-Identityヘッダーに含まれるID情報を安全に利用できます。
P -Preferred-Identity拡張ヘッダーも定義されているため、複数のパブリック ID を持つユーザーは、ユーザーが認証されるときに、どのパブリック ID を P-Asserted-Identity ヘッダーに含める必要があるかをプロキシに指示できます。
最後に、プライバシーが要求された場合、プロキシは、ユーザー要求を信頼されていない ID (信頼ドメインの外部) に転送する前に、P-Asserted-Identity ヘッダーを削除して、信頼されたドメインの外部でアサートされた ID 情報を保持する必要があります。
ユーザ自身ではなく、ユーザのサービスの識別を扱うための類似の拡張ヘッダーが存在する[ 25 ]。この場合、サービス(例:音声通話、インスタントメッセージセッション、 IPTVストリーミング)を識別するために、 Uniform Resource Nameが使用される[ 26 ] 。
IMSにおけるアクセスセキュリティは、まずS-CSCFによってユーザーの認証と認可が行われ、次にP-CSCFとユーザー間の安全な接続が確立されることで実現されます。これを実現するメカニズムはいくつかあります。例えば、以下のようなものがあります。
SIPのセキュリティメカニズム合意拡張[ 28 ]は、P-CSCFと端末が使用するセキュリティアルゴリズムとパラメータをネゴシエートするための安全なメカニズムを提供するために導入されました。この拡張では、ネゴシエーションプロセスをサポートするために、3つの新しいヘッダーフィールドが使用されています。
IMSにおいてサービス品質(QoS)を提供するためにリソースを予約する必要があることから、アドミッション制御とサービス拒否攻撃からの保護という新たなセキュリティ上の問題が生じます。伝送リソースを取得するには、ユーザーエージェントはネットワーク(ポリシー適用ポイント、つまりPEP)に認証トークンを提示する必要があります。このトークンはP-CSCFから取得されます。P-CSCFはQoSポリシー制御を担当している場合もあれば、認証トークンを最初に提供するネットワーク内のポリシー制御エンティティ(ポリシー決定機能、つまりPDF)とのインターフェースを備えている場合もあります。
メディア認証のためのプライベート拡張[ 29 ]は、認証トークンの取得メカニズムと、P-CSCFからユーザーエージェントへこれらのトークンを伝送するためのP-Media-Authorizationヘッダーフィールドを定義することにより、セッションシグナリングをネットワーク内のメディアに適用されるQoSメカニズムにリンクします。この拡張は、信頼関係のある管理ドメイン内でのみ適用可能です。これは、IMSのような特殊なSIPネットワーク向けに特別に設計されたものであり、一般的なインターネット向けではありません。
ソースルーティングとは、メッセージの送信者がメッセージが通過する経路を部分的または完全に指定できるメカニズムです。SIPでは、送信者が設定するルートヘッダーフィールドに、メッセージが通過するプロキシのセットをリストすることで、この機能をサポートします。IMSのコンテキストでは、ユーザーからのリクエストまたはユーザーへのリクエストが通過する必要がある特定のネットワークエンティティ(特定のCSCFなど)が存在するため、それらはルートヘッダーフィールドにリストされます。送信者がこれらのエンティティを検出し、ルートヘッダーフィールドに値を設定できるようにするために、主に2つの拡張ヘッダーフィールド、つまりpathとservice-routeが存在します。
非隣接コンタクトを登録するための拡張ヘッダーフィールド[ 30 ]は、 Pathヘッダーフィールドを提供します。このPathヘッダーフィールドは、REGISTERメッセージが通過する際に、ユーザーエージェントとそのレジストラの間に位置するプロキシのSIP URIを蓄積し、送信します。これにより、レジストラは、ユーザーエージェントに戻るために経由する必要があるプロキシの順序を検出し、記録することができます。
IMSでは、すべてのユーザーエージェントはP-CSCFによってサービスを受けます。P-CSCFは、ユーザーがIMSネットワークに入ると、ダイナミックホストコンフィギュレーションプロトコルまたは同等のメカニズムを使用して検出されます。ユーザーエージェントとの間のすべてのリクエストとレスポンスは、このプロキシを通過する必要があります。ユーザーがホームレジストラ(S-CSCF)に登録すると、P-CSCFはREGISTERメッセージのPathヘッダーフィールドに独自のSIP URIを追加します。これにより、S-CSCFはユーザーの連絡先情報に関連付けられたこの情報を受信して保存します。このようにして、S-CSCFはルートヘッダーフィールドにP-CSCFのURIをリストすることにより、そのユーザー宛のすべてのリクエストを対応するP-CSCF経由で転送します。
登録時のサービスルート検出の拡張[ 31 ]は、登録者がREGISTER要求に対する2XX応答で使用するService-Routeヘッダーフィールドで構成され、登録ユーザーに、そのユーザーが発信したすべての要求を転送する必要があるエンティティを通知します。
IMSでは、レジストラはホームネットワークのS-CSCFであり、すべてのリクエストはこのエンティティによって処理される必要があるため、サービスルートヘッダーフィールドに独自のSIP URIを含めます。ユーザーは、すべてのリクエストのルートヘッダーフィールドにこのSIP URIを含めることで、リクエストがホームS-CSCFを経由して転送されるようにします。
IMSでは、ユーザーは複数の端末(携帯電話、コンピュータなど)やアプリケーションインスタンス(ビデオ電話、インスタントメッセージ、ボイスメールなど)を同じパブリックID(SIP URIなど)で識別することができます。そのため、リクエストを目的のデバイスまたはアプリケーションにルーティングするためのメカニズムが必要です。これがグローバルルーティング可能なユーザーエージェントURI(GRU)[ 32 ]です。GRUは特定のユーザーエージェントインスタンス(端末またはアプリケーションインスタンス)を識別し、それをグローバルに行うURIです(つまり、インターネット上の他のどのユーザーエージェントからでも、そのユーザーエージェントにメッセージをルーティングできます)。
これらのURIは、SIP URIにgrパラメータを追加することで構築されます。このパラメータは、ユーザーエージェントインスタンスを識別する値を持つパブリックSIP URI、またはプライバシー保護のためGRUUとユーザーIDの関係を明らかにしない特別に作成されたURIのいずれかです。これらのURIは通常、登録プロセス中に取得されます。登録するユーザーエージェントは、そのSIPインスタンスを一意に識別するUniform Resource Name (URN)を送信します。レジストラ(つまりS-CSCF)はGRUUを構築し、登録されたIDとSIPインスタンスに関連付けて、レスポンスでユーザーエージェントに返します。S-CSCFは、そのGRUUへのリクエストを受信すると、登録されたSIPインスタンスにリクエストをルーティングできるようになります。
IMSでは、無線インターフェースやその他の低帯域幅アクセスを含むネットワークリソースの効率的な利用が不可欠であり、これにより遅延の面でユーザーに許容できるエクスペリエンスが提供されます。この目的を達成するために、SIPメッセージはSigComp [ 33 ](シグナリング圧縮) と呼ばれるメカニズムを使用して圧縮できます。
圧縮アルゴリズムは、メッセージ内で繰り返される単語を、それらの単語がすべて一度だけ出現する辞書内の位置で置き換えることによってこの操作を実行します。最初のアプローチでは、この辞書は圧縮器によって各メッセージに対して作成され、メッセージ自体と一緒に解凍器に送信されます。しかし、多くの単語が異なるメッセージで繰り返されるため、SigComp [ 34 ]の拡張操作は、後続のメッセージ間で共有辞書を使用する方法を定義します。さらに、後続のメッセージに沿って辞書を構築するプロセスを高速化し、最初のINVITEメッセージ以降の高い圧縮率を提供するために、SIPは共通のSIPおよびSDP用語で既に構築されている静的SIP/SDP辞書[ 35 ]を提供します。
SIPメッセージの圧縮を希望することを示すメカニズム[ 36 ]があります。このメカニズムは、SIP URIのcomp=sigcompパラメータを定義します。これは、URIで識別されるSIPエンティティがSigCompをサポートし、圧縮されたメッセージを受信する意思があることを示します。リクエストURIで使用される場合、このパラメータはリクエストを圧縮することを示し、Viaヘッダーフィールドで使用される場合、後続のレスポンスを圧縮することを示せます。
SIPメッセージをさらに短くし、リソースを効率的に利用するために、コンテンツ間接拡張[ 37 ]により、メッセージのMIMEボディ部分を外部参照(通常はHTTP URI)に置き換えることが可能になります。これにより、メッセージの受信者は、利用可能な帯域幅に応じて、リソースを取得するために参照に従うかどうかを決定できます。
ネットワークアドレス変換(NAT)は、端末がプライベートネットワークの外部からアクセスすることを不可能にします。これは、端末がNATを通過する際に、プライベートアドレスがパブリックアドレスにマッピングされるためです。そのため、シグナリングプレーンとメディアプレーンの両方にNATトラバーサルメカニズムが必要です。
インターネットエンジニアリングタスクフォースのRFC 6314 [ 38 ]は、SIPシグナリングのための対称応答ルーティングとクライアント開始接続、メディアストリームのためのSTUN、TURN、ICE(これら2つを組み合わせたもの)の使用など、これを実現するためのさまざまな方法を要約して統合しています。
インターネット技術タスクフォースのRFC 6157 [ 39 ]では、IPv6への移行中にSIPが両方のインターネットプロトコルバージョン間で正常に動作することを保証するために必要なメカニズムについて説明しています。プロキシサーバーとDNSエントリがこれらの推奨事項に従って両方のネットワーク間でメッセージを中継するように適切に設定されている限り、SIPシグナリングメッセージは異種のIPv4 / IPv6ネットワークを介して送信できますが、ユーザーエージェントはメディアストリームを直接交換できるように拡張を実装する必要があります。これらの拡張は、セッション記述プロトコルのオファー/アンサー初期交換に関連しており、両端のIPv4およびIPv6アドレスを収集して直接通信を確立するために使用されます。
IMS が正常に動作するために、これまで説明した SIP のすべての拡張機能に加え、IMS フレームワークが既存のネットワーク インフラストラクチャ、主に公衆交換電話網(PSTN) と相互運用してサービスを交換することも必要です。
この要件に対応する標準はいくつかありますが、たとえば PSTN とインターネット(つまり IMS ネットワーク) 間で相互運用するサービスに関する次の 2 つの標準があります。
また、PSTN-SIP ゲートウェイでは、各ネットワークの一方の端との通話をサポートする必要があります。
さらに、SIP INFOメソッド拡張は、シグナリングダイアログに影響を与えずに端末間でユーザー情報を伝送するように設計されており、ユーザーに電話キーパッド機能を提供するためのデュアルトーンマルチ周波数シグナリングを伝送するために使用できます。[ 44 ]