SIP(Session Initiation Protocol) しっぷ(せっしょんいにしえーしょんぷろとこる)
簡単に言うとこんな感じ!
SIPは「IP電話の呼び出しベル係」みたいな存在だよ。「もしもし、つないでいいですか?」「はい、どうぞ!」「じゃあ切りますね」っていう通話の開始・終了を取り仕切るプロトコルなんだ。実際の音声データを運ぶのは別の仕組みで、SIPはあくまで”セッション(通話の場)をセッティングする係”ってこと!
SIPとは
SIP(Session Initiation Protocol)は、インターネット上でリアルタイム通信のセッション(通信の場)を開始・変更・終了するためのシグナリングプロトコルです。1996年に提案され、IETFによって標準化されました。最もよく知られる用途はIP電話(VoIP)ですが、ビデオ会議やインスタントメッセージングにも使われています。
SIPが担うのは「どこと」「いつから」「いつまで」通信するかを調整する制御シグナルの役割です。実際の音声・映像データはSIPでは送らず、RTP(Real-time Transport Protocol) が運びます。レストランで例えると、SIPは「予約電話を受けてテーブルを用意するフロントスタッフ」、RTPは「実際に料理を運ぶウェイター」のような関係です。
企業の電話システム(PBX)がクラウド化・IP化される中で、SIPは現代のビジネス電話インフラの根幹プロトコルとして広く普及しています。「SIPトランク」という言葉を聞いたことがある方も多いでしょう——これはSIPを使ってオフィスのPBXをインターネット経由で外線につなぐ仕組みのことです。
SIPの仕組みと構造
SIPの通信はリクエスト/レスポンスのやりとりで進みます。HTTPと似た設計思想で、テキストベースのメッセージを交換します。
主なSIPメッセージ(メソッド)
| メソッド | 役割 |
|---|---|
INVITE | 通話・セッションの開始を要求(「電話するよ!」) |
ACK | INVITEへの最終確認(「つながったね!」) |
BYE | セッションの終了(「切るよ!」) |
CANCEL | 確立前のセッションキャンセル |
REGISTER | SIPサーバーへの登録(「ここにいるよ!」) |
OPTIONS | 相手の対応能力を確認 |
SIPレスポンスコード(HTTPと似た体系)
| コード範囲 | 意味 | 例 |
|---|---|---|
| 1xx | 暫定応答(処理中) | 100 Trying、180 Ringing |
| 2xx | 成功 | 200 OK |
| 3xx | リダイレクト | 302 Moved Temporarily |
| 4xx | クライアントエラー | 404 Not Found、486 Busy Here |
| 5xx | サーバーエラー | 500 Server Internal Error |
| 6xx | グローバル失敗 | 603 Decline |
覚え方:SIPはHTTPの”電話版”
SIPのメッセージ構造はHTTPにそっくりです。INVITE sip:bob@example.com SIP/2.0 のように、動詞+URI+バージョンという形式。Webの知識がある方には「HTTPでWebページを取得するのと同じノリで、通話を”リクエスト”する」と覚えると理解しやすいです。
SIPコールフローの全体像
SIPで通話が成立するまでに複数のコンポーネントが連携します。
SIPの主要コンポーネント
| コンポーネント | 役割 |
|---|---|
| UA(ユーザーエージェント) | 電話機やソフトフォンなどエンドポイント。UAC(発信側)とUAS(受信側)に分かれる |
| SIPプロキシサーバー | リクエストを転送・ルーティングする中継役 |
| レジストラサーバー | 各UAの現在地(IPアドレス)を登録・管理する |
| リダイレクトサーバー | 接続先の新しいアドレスを教えてリダイレクトする |
| B2BUA(Back-to-Back UA) | 両側のセッションを独立して制御する中継装置。SBC(Session Border Controller)が代表例 |
歴史と背景
- 1996年 — Mark Handley・Eve Schooler・Henning Schulzrinne・Jonathan RosenbergらがSIPを提案
- 1999年 — RFC 2543 として初めてIETF標準化
- 2002年 — 大幅改訂版 RFC 3261 が公開。現在の主要標準
- 2000年代前半 — VoIPブームとともに企業向けIP-PBXへの採用が急拡大。Ciscoなど大手ベンダーが対応製品を投入
- 2000年代後半 — 携帯キャリアがIMS(IP Multimedia Subsystem)にSIPを採用。モバイルVoIPの基盤に
- 2010年代 — SIPトランク(インターネット経由の外線接続)が普及。固定電話網からのIP移行が加速
- 現在 — クラウドPBX・UCaaS(統合コミュニケーション as a Service)の普及でSIPは企業通信の標準プロトコルとして定着。WebRTCとの連携も進む
SIPと関連プロトコルの関係
SIPは単独では動かず、複数のプロトコルと組み合わせて使われます。
H.323との比較
SIPが登場する前には H.323(ITU-T策定)がVoIPの標準として使われていました。
| 比較項目 | SIP | H.323 |
|---|---|---|
| 策定機関 | IETF | ITU-T |
| 設計思想 | シンプル・拡張性重視(HTTPライク) | 厳密・完全性重視(電話網ライク) |
| メッセージ形式 | テキストベース | バイナリ(ASN.1) |
| 実装の容易さ | 比較的容易 | 複雑 |
| 現在の普及度 | ◎ 主流 | △ レガシー環境に残存 |
SIPトランクとは
企業のPBX(構内交換機)とインターネット経由の外線をSIPで接続する仕組みをSIPトランクと呼びます。従来のISDN/アナログ回線に比べてコスト削減・回線数の柔軟な変更ができるため、多くの企業が導入しています。
従来の構成:
[PBX] ―― ISDN/アナログ回線 ―― [電話網]
SIPトランクの構成:
[IP-PBX / クラウドPBX]
↕ SIP(インターネット)
[SIPトランクプロバイダー]
↕ 電話網インターフェース
[公衆電話網(PSTN)]
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 3261 | SIPのコア仕様(2002年。現在の主標準) |
| RFC 2543 | SIPの初版仕様(1999年。RFC 3261に置き換え) |
| RFC 4566 | SDP(Session Description Protocol)の仕様 |
| RFC 3550 | RTP(Real-time Transport Protocol)の仕様 |
| RFC 3711 | SRTP(Secure RTP)— 音声・映像の暗号化 |
| RFC 5389 | STUN(Session Traversal Utilities for NAT) |
| RFC 5766 | TURN(Traversal Using Relays around NAT) |
| RFC 3263 | SIPサーバーのDNS SRVレコードによる解決 |