プロトコル補足

SIP(Session Initiation Protocol) しっぷ(せっしょんいにしえーしょんぷろとこる)

VoIPIP電話セッション制御SDPRTPシグナリング
SIPって何?IP電話と関係あるの?

簡単に言うとこんな感じ!

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通話・セッションの開始を要求(「電話するよ!」)
ACKINVITEへの最終確認(「つながったね!」)
BYEセッションの終了(「切るよ!」)
CANCEL確立前のセッションキャンセル
REGISTERSIPサーバーへの登録(「ここにいるよ!」)
OPTIONS相手の対応能力を確認

SIPレスポンスコード(HTTPと似た体系)

コード範囲意味
1xx暫定応答(処理中)100 Trying180 Ringing
2xx成功200 OK
3xxリダイレクト302 Moved Temporarily
4xxクライアントエラー404 Not Found486 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コールフロー(AliceがBobに電話する場合) Alice SIP電話 SIPプロキシ サーバー Bob SIP電話 RTPストリーム 音声・映像データ INVITE INVITE(転送) 180 Ringing 180 Ringing 200 OK(応答) 200 OK ACK(直接) 🔊 RTP音声通話開始 BYE 200 OK(通話終了)

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は単独では動かず、複数のプロトコルと組み合わせて使われます。

SIPエコシステム:各プロトコルの役割分担 SIP セッション制御(シグナリング) SDP メディア情報のネゴシエーション RTP / RTCP 音声・映像データの転送 STUN / TURN NAT越え・リレー TLS / SRTP シグナリング・メディアの暗号化 DNS / SRV SIPサーバーの名前解決 暗号化で保護 アドレス解決

H.323との比較

SIPが登場する前には H.323(ITU-T策定)がVoIPの標準として使われていました。

比較項目SIPH.323
策定機関IETFITU-T
設計思想シンプル・拡張性重視(HTTPライク)厳密・完全性重視(電話網ライク)
メッセージ形式テキストベースバイナリ(ASN.1)
実装の容易さ比較的容易複雑
現在の普及度◎ 主流△ レガシー環境に残存

SIPトランクとは

企業のPBX(構内交換機)とインターネット経由の外線をSIPで接続する仕組みをSIPトランクと呼びます。従来のISDN/アナログ回線に比べてコスト削減・回線数の柔軟な変更ができるため、多くの企業が導入しています。

従来の構成:
  [PBX] ―― ISDN/アナログ回線 ―― [電話網]

SIPトランクの構成:
  [IP-PBX / クラウドPBX]
       ↕ SIP(インターネット)
  [SIPトランクプロバイダー]
       ↕ 電話網インターフェース
  [公衆電話網(PSTN)]

関連する規格・RFC

規格・RFC番号内容
RFC 3261SIPのコア仕様(2002年。現在の主標準)
RFC 2543SIPの初版仕様(1999年。RFC 3261に置き換え)
RFC 4566SDP(Session Description Protocol)の仕様
RFC 3550RTP(Real-time Transport Protocol)の仕様
RFC 3711SRTP(Secure RTP)— 音声・映像の暗号化
RFC 5389STUN(Session Traversal Utilities for NAT)
RFC 5766TURN(Traversal Using Relays around NAT)
RFC 3263SIPサーバーのDNS SRVレコードによる解決

関連用語

  • VoIP — 音声をIPパケットで伝送する技術の総称
  • RTP — 音声・映像データをリアルタイムで転送するプロトコル
  • SDP — セッションのメディア情報(コーデック・ポート番号など)を記述するプロトコル
  • SIPトランク — SIPを使ってPBXとインターネット電話網をつなぐ接続方式
  • PBX — 企業内の内線電話を管理する構内交換機
  • WebRTC — ブラウザ上でリアルタイム通信を実現する技術(SIPと連携も可能)
  • STUN / TURN — NAT越えを解決するためのプロトコル群
  • TLS — SIPシグナリングを暗号化するために使われるトランスポート層セキュリティ