セッション開始プロトコル(SIP)は、音声、ビデオ、メッセージなどのマルチメディア要素を含む通信セッションの開始、維持、変更、終了に使用されるシグナリングプロトコルです。 [ 1 ]これはインターネットプロトコルスイートのアプリケーション層で動作し、インターネット電話、プライベートIPベースの電話システム、VoLTEを介したLTEネットワーク上のモバイル通信で広く使用されています。[ 2 ]
SIPは、 HTTPとSMTPの構造をモデルにしたテキストベースのプロトコルであり、他のインターネットアプリケーションとの相互運用性と統合を可能にします。ユーザーの位置情報、セッション設定、セッション管理のためのメカニズムを提供し、現代のIPマルチメディアシステムの基盤となるコンポーネントとなっています。
このプロトコルは、交換されるメッセージの特定の形式と、参加者の協力のための通信の順序を定義します。SIP はテキストベースのプロトコルであり、ハイパーテキスト転送プロトコル(HTTP) とシンプルメール転送プロトコル(SMTP) の多くの要素を取り入れています。[ 3 ] SIP で確立された通話は複数のメディアストリームで構成される場合がありますが、SIP メッセージのペイロードとしてデータを交換するテキストメッセージングなどのアプリケーションには、個別のストリームは必要ありません。
SIPは、セッションメディアを規定および伝送する他の複数のプロトコルと連携して動作します。最も一般的には、メディアタイプとパラメータのネゴシエーションおよびメディア設定は、SIPメッセージのペイロードとして伝送されるセッション記述プロトコル(SDP)を使用して行われます。SIPは、基盤となるトランスポート層プロトコルに依存しないように設計されており、ユーザーデータグラムプロトコル(UDP)、伝送制御プロトコル(TCP)、およびストリーム制御伝送プロトコル(SCTP)で使用できます。安全でないネットワークリンク上でSIPメッセージを安全に伝送するために、プロトコルはトランスポート層セキュリティ(TLS)で暗号化される場合があります。メディアストリーム(音声、ビデオ)の伝送には、SIPメッセージで伝送されるSDPペイロードは通常、リアルタイムトランスポートプロトコル(RTP)またはセキュアリアルタイムトランスポートプロトコル(SRTP)を使用します。
SIPは、もともと1996年にMark Handley、Henning Schulzrinne、Eve Schooler、Jonathan Rosenbergによって、Mbone上でマルチキャストマルチメディアセッションを確立しやすくするために設計されました。このプロトコルは1999年にRFC 2543として標準化されました。2000年11月、SIPは3GPPシグナリングプロトコルとして、またセルラーネットワークにおけるIPベースのストリーミングマルチメディアサービスのためのIPマルチメディアサブシステム(IMS)アーキテクチャの恒久的な要素として受け入れられました。2002年6月にはRFC 3261 [ 4 ]で仕様が改訂され、その後さまざまな拡張と明確化が公開されています。[ 5 ]
SIPは、公衆交換電話網(PSTN)に存在する通話処理機能と特徴をサポートするIPベースの通信のためのシグナリングおよび通話設定プロトコルを提供するように設計され、新しいマルチメディアアプリケーションをサポートするというビジョンを持っていました。ビデオ会議、ストリーミングメディア配信、インスタントメッセージング、プレゼンス情報、ファイル転送、インターネットファックス、オンラインゲームに拡張されています。[ 1 ] [ 6 ] [ 7 ]
SIPは、通信業界ではなくインターネットコミュニティにルーツを持つという点で、その支持者から際立っている。SIPは主にインターネット技術タスクフォース(IETF)によって標準化されてきたが、 H.323などの他のプロトコルは従来、国際電気通信連合(ITU)と関連付けられてきた。

SIPはメディア通信セッションのシグナリング操作のみに関与し、主に音声通話やビデオ通話の確立と終了に使用されます。SIPは、2者間(ユニキャスト)または複数者間(マルチキャスト)のセッションを確立するために使用できます。また、既存の通話の変更も可能です。変更には、アドレスやポートの変更、参加者の追加、メディアストリームの追加または削除などが含まれます。SIPは、インスタントメッセージングやイベントの購読・通知といったメッセージングアプリケーションにも応用されています。
SIP は、メディア形式と符号化を指定し、通話が確立されるとメディアを伝送する他のいくつかのプロトコルと連携して動作します。通話の確立には、SIP メッセージの本文にセッション記述プロトコル(SDP) データ ユニットが含まれており、メディア形式、コーデック、およびメディア通信プロトコルを指定します。音声およびビデオ メディア ストリームは通常、リアルタイム トランスポート プロトコル(RTP) またはセキュア リアルタイム トランスポート プロトコル(SRTP)を使用して端末間で伝送されます。[ 3 ] [ 8 ]
SIP ネットワークのすべてのリソース (ユーザー エージェント、コール ルーター、ボイス メールボックスなど) は、Uniform Resource Identifier (URI) によって識別されます。URI の構文は、Web サービスや電子メールでも使用される一般的な標準構文に従います。[ 9 ] SIP で使用される URI スキームはsipであり、典型的な SIP URI はsip:username@domainnameまたはsip:username@hostport の形式です。domainnameには、SIP ドメインのサーバーを特定するためのDNS SRV レコードが必要であり、 hostport はホストとポートのIP アドレスまたは完全修飾ドメイン名になります。安全な送信が必要な場合は、 sipsスキームが使用されます。[ 10 ] [ 11 ]
SIPはHTTPのリクエストとレスポンスのトランザクションモデルに似た設計要素を採用しています。[ 12 ]各トランザクションは、サーバー上の特定のメソッドまたは関数を呼び出すクライアントリクエストと、少なくとも1つのレスポンスで構成されます。SIPはHTTPのヘッダーフィールド、エンコードルール、ステータスコードのほとんどを再利用し、読みやすいテキストベースの形式を提供します。
SIP は、伝送制御プロトコル(TCP)、ユーザーデータグラムプロトコル(UDP)、ストリーム制御伝送プロトコル(SCTP)など、複数のトランスポート層プロトコルで伝送できます。 [ 13 ] [ 14 ] SIP クライアントは通常、サーバーや他のエンドポイントへの SIP トラフィックに、ポート番号5060 または 5061 で TCP または UDP を使用します。ポート 5060 は一般的に暗号化されていないシグナリング トラフィックに使用され、ポート 5061 は通常、トランスポート層セキュリティ(TLS)で暗号化されたトラフィックに使用されます。
SIPベースの電話ネットワークは、多くの場合、シグナリングシステム7(SS7)の呼処理機能を実装しており、SS7には専用のSIPプロトコル拡張機能が存在するが、両者のプロトコル自体は大きく異なる。SS7は、複雑な中央ネットワークアーキテクチャとダムエンドポイント(従来の電話機)を特徴とする集中型プロトコルである。一方、SIPは、同等の能力を持つピアによるクライアント/サーバプロトコルである。SIPの機能は通信エンドポイントで実装されるが、従来のSS7アーキテクチャは交換センター間でのみ使用される。
通信にセッション開始プロトコルを使用するネットワーク要素は、SIPユーザーエージェントと呼ばれます。各ユーザーエージェント(UA)は、サービス機能を要求するときはユーザーエージェントクライアント(UAC)の機能を果たし、要求に応答するときはユーザーエージェントサーバー(UAS)の機能を果たします。したがって、原則として、任意の2つのSIPエンドポイントは、SIPインフラストラクチャを介さずに動作できます。ただし、ネットワーク運用上の理由、ユーザーへのパブリックサービスの提供、およびディレクトリサービスのために、SIPはいくつかの特定のタイプのネットワークサーバー要素を定義しています。これらのサービス要素はそれぞれ、ユーザーエージェントクライアントとサーバーに実装されているクライアント/サーバーモデル内で通信します。[ 15 ]
ユーザーエージェントは、SIP メッセージを送受信し、SIP セッションを管理する論理的なネットワークエンドポイントです。ユーザーエージェントには、クライアントコンポーネントとサーバーコンポーネントがあります。ユーザーエージェントクライアント (UAC) は SIP リクエストを送信します。ユーザーエージェントサーバー (UAS) はリクエストを受信し、SIP レスポンスを返します。クライアントとサーバーの役割を固定する他のネットワークプロトコル (たとえば、Web ブラウザーがクライアントとしてのみ機能し、サーバーとしては決して機能しない HTTP) とは異なり、SIP では両方のピアが両方の役割を実装する必要があります。UAC と UAS の役割は、SIP トランザクションの期間中のみ有効です。[ 6 ]
SIP電話は、SIPユーザーエージェントのクライアント機能とサーバー機能を実装し、ダイヤル、応答、拒否、保留、転送などの従来の電話の通話機能を提供するIP電話です。 [ 16 ] [ 17 ] SIP電話は、ハードウェアデバイスまたはソフトフォンとして実装できます。ベンダーがSIPを標準の電話プラットフォームとして実装するにつれて、ハードウェアベースのSIP電話とソフトウェアベースのSIP電話の区別は曖昧になり、SIP要素はスマートフォンなどの多くのIP対応通信デバイスの基本ファームウェア機能に実装されています。
SIPでは、HTTPと同様に、ユーザーエージェントはメッセージヘッダーフィールド(User-Agent)を使用して自身を識別することができ、そこにはソフトウェア、ハードウェア、または製品名のテキストによる説明が含まれます。ユーザーエージェントフィールドはリクエストメッセージで送信されるため、受信側のSIPサーバーはこの情報を評価して、デバイス固有の設定や機能の有効化を実行できます。SIPネットワーク要素のオペレーターは、この情報を顧客アカウントポータルに保存することがあります[ 18 ]。これは、SIP互換性の問題の診断やサービスステータスの表示に役立ちます。
プロキシサーバーは、UACおよびUASコンポーネントを備えたネットワークサーバーであり、他のネットワーク要素に代わってリクエストを実行するための仲介エンティティとして機能します。プロキシサーバーの主な役割はコールルーティングであり、SIPリクエストを宛先に近い別のエンティティに送信します。プロキシは、ユーザーが通話を行う権限があるかどうかを判断するなど、ポリシーの適用にも役立ちます。プロキシはリクエストメッセージを解釈し、必要に応じて特定の部分を書き換えてから転送します。
複数の宛先にメッセージをルーティングするSIPプロキシサーバーは、フォークプロキシと呼ばれます。SIPリクエストのフォークによって、単一のリクエストから複数のダイアログが確立されます。そのため、1つの通話に対して複数のSIPエンドポイントのいずれかから応答される可能性があります。複数のダイアログを識別するために、各ダイアログには両方のエンドポイントからの情報が反映された識別子が割り当てられます。
リダイレクトサーバーとは、受信したリクエストに対して3xx(リダイレクト)応答を生成し、クライアントを別のURI群に誘導するユーザーエージェントサーバーです。リダイレクトサーバーを使用することで、プロキシサーバーはSIPセッションの招待を外部ドメインに転送できます。

レジストラは、位置情報サービスを提供するSIPエンドポイントです。レジストラはREGISTERリクエストを受け付け、ユーザーエージェントからアドレスやその他のパラメータを記録します。後続のリクエストに対して、ネットワーク上の通信相手を特定するための重要な手段を提供します。位置情報サービスは、1つ以上のIPアドレスを登録エージェントのSIP URIにリンクします。複数のユーザーエージェントが同じURIに登録できるため、登録済みのすべてのユーザーエージェントがそのURIへの呼び出しを受信します。
SIPレジストラは論理的な要素であり、多くの場合、SIPプロキシと同じ場所に配置されます。ネットワークのスケーラビリティを向上させるため、位置情報サービスはリダイレクトサーバーと同じ場所に配置されます。

セッションボーダーコントローラ(SBC)は、ユーザーエージェントとSIPサーバー間の仲介役として機能し、ネットワークトポロジの隠蔽やNATトラバーサルの支援など、さまざまな機能を提供します。SBCは独自に設計されたソリューションであり、SIP RFCには記載されていません。
ゲートウェイは、SIPネットワークを、異なるプロトコルや技術を使用するPSTNなどの他のネットワークと相互接続するために使用できます。
SIPはHTTPと同様の構文を持つテキストベースのプロトコルです。SIPメッセージにはリクエストとレスポンスの2種類があります。リクエストの最初の行には、リクエストの性質を定義するメソッドと、リクエストの送信先を示すリクエストURIがあります。[ 19 ]レスポンスの最初の行にはレスポンスコードがあります。
リクエストはプロトコルの機能を開始するものです。リクエストはユーザーエージェントクライアントからサーバーに送信され、1つ以上のSIPレスポンスで応答されます。SIPレスポンスはトランザクションの結果コードを返し、一般的にトランザクションの成功、失敗、またはその他の状態を示します。
ユーザーエージェントサーバーは、受信したリクエストの結果を示す応答を送信します。応答にはいくつかのクラスがあり、結果コードの数値範囲によって決定されます。[ 20 ]

SIPは、参加者間のやり取りを制御し、メッセージを確実に配信するためのトランザクションメカニズムを定義しています。トランザクションはセッションの状態であり、様々なタイマーによって制御されます。クライアントトランザクションはリクエストを送信し、サーバートランザクションはそれらのリクエストに対して1つ以上のレスポンスを返します。レスポンスには、 1xx形式のレスポンスコードを持つ暫定レスポンスと、1つまたは複数の最終レスポンス(2xx~6xx)が含まれる場合があります。
トランザクションは、招待型または非招待型に分類されます。招待型トランザクションは、SIP でダイアログと呼ばれる長時間の会話を確立できるため、 200 OKなどの失敗しない最終応答の確認応答 (ACK) が含まれます。
SIMPLE( Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)は、SIPベースのインスタントメッセージングおよびプレゼンス情報に関する標準規格群です。MSRP(Message Session Relay Protocol)は、インスタントメッセージセッションとファイル転送を可能にします。
SIP開発者コミュニティは、SIPフォーラムが主催する会議で定期的に会合を開き、SIP実装の相互運用性をテストしています。[ 22 ] ETSIのタスクフォース(STF 196)によって開発されたTTCN -3テスト仕様言語は、SIP実装の適合性テストを指定するために使用されます。[ 23 ]
SIPソフトウェアを開発したり、新しいSIPインフラストラクチャを展開したりする際には、サーバーとIPネットワークが特定の通話負荷(同時通話数と1秒あたりの通話数)を処理できるかどうかをテストすることが重要です。SIPパフォーマンステスターソフトウェアは、SIPおよびRTPトラフィックをシミュレートして、サーバーとIPネットワークが通話負荷の下で安定しているかどうかを確認するために使用されます。[ 24 ]このソフトウェアは、応答遅延、応答/捕捉率、RTPジッタとパケット損失、ラウンドトリップ遅延時間などのパフォーマンス指標を測定します。
SIP接続とは、多くのインターネット電話サービスプロバイダー(ITSP)が提供するVoIP( Voice over Internet Protocol)サービスのマーケティング用語です。このサービスは、顧客の構内交換機(PBX)電話システムから公衆交換電話網(PSTN)への電話のルーティングを提供します。このようなサービスを利用することで、音声とデータのインターネットアクセスを共有し、基本料金インターフェース(BRI)やプライマリ料金インターフェース(PRI)電話回線のコストを削減できるため、企業の情報システムインフラを簡素化できます。
SIPトランキングは、音声、データ、インターネットトラフィックにキャリアアクセス回線を共有し、PRI回線の必要性を排除することで通信インフラを簡素化するサービスに使用される場合に好まれる同様のマーケティング用語です。[ 25 ] [ 26 ]
SIP対応のビデオ監視カメラは、保護区域内の物体の動きなどの事象をオペレーターに通知するために、通話を開始することができます。
SIPは、放送アプリケーションにおけるIPオーディオで使用され、異なるメーカーのオーディオインターフェースが相互に接続するための相互運用可能な手段を提供する。[ 27 ]
米国国立標準技術研究所(NIST)の先端ネットワーク技術部門は、標準規格のリファレンス実装として機能するパブリックドメインのJava実装[ 28 ]を提供しています。この実装はプロキシサーバーまたはユーザーエージェントのシナリオで動作し、数多くの商用および研究プロジェクトで使用されています。RFC 3261を完全にサポートし、RFC 6665(イベント通知)やRFC 3262(信頼性の高い暫定応答)などの拡張RFCもサポートしています。
他にも多数の商用およびオープンソースのSIP実装が存在します。SIPソフトウェア一覧を参照してください。
SIP-I(Session Initiation Protocol with encapsulated ISUP)は、SIPおよびIPネットワークを使用してISUPに基づく通信セッションを作成、変更、終了するために使用されるプロトコルです。SIP-Iを使用するサービスには、音声、ビデオ電話、ファックス、データなどがあります。SIP-IとSIP-T [ 29 ]は、特にISUPメッセージをSIPネットワーク経由で転送できるようにするという点で類似した機能を持つ2つのプロトコルです。これにより、ISUPヘッダーで利用可能なすべての詳細が保持されます。[ a ] SIP-IはITU-Tによって定義され、SIP-TはIETFによって定義されました。[ 30 ]
公共インターネット経由の通話のセキュリティに関する懸念は、安全な送信のためにSIPプロトコルを暗号化することで解消されました。SIPS URIスキームは、SIP通信をトランスポート層セキュリティ(TLS)で保護することを義務付けるために使用されます。SIPS URIはsips:user@example.comの形式をとります。
SIPのエンドツーエンド暗号化は、通信エンドポイント間に直接接続がある場合にのみ可能です。直接接続は、ピアツーピアSIPまたはエンドポイント間のVPNを介して行うことができますが、ほとんどのSIP通信は複数のホップを経由し、最初のホップはユーザーエージェントからユーザーエージェントのITSPへの接続となります。複数ホップの場合、SIPSは最初のホップのみを保護し、残りのホップは通常TLSで保護されないため、SIP通信は安全ではありません。これに対し、HTTPSプロトコルは直接接続で行われるため、ホップの概念を伴わず、エンドツーエンドのセキュリティを提供します。
SIPSシグナリングストリームとは別の接続であるメディアストリーム(音声および映像)は、SRTPを使用して暗号化できます。SRTPの鍵交換は、SDES(RFC 4568)またはZRTP(RFC 6189)を使用して行われます。SDESを使用する場合、SIPSを使用しない限り、鍵は安全でないSIP経由で送信されます。また、 SRTPで使用するセッションキーを決定するために、SIPにMIKEY(RFC 3830)交換を追加することもできます。
{{citation}}: CS1 maint: ref duplicates default ( link ){{citation}}: CS1 maint: ref duplicates default ( link )