トップページ > コンテンツ > ネットワーク関連メモ > 用語解説 > SIP

概要

IP電話等の通信制御プロトコルの一種。セッションの開始や変更等を行う。
具体的には、端末の電話番号リストをSIPサーバが管理していて、
発信元と着信先の端末(UAと呼ぶ)をつなげる橋渡しをするイメージ。
従って、つながった後はSIPサーバを介する必要性は無くなる。

接続の流れ

項番 発信元UA SIPサーバー 着信先UA 処理概要
1 -> REGISTER(発信元Aの位置情報登録)
2 <- REGISTER(発信元Bの位置情報登録)
3 -> 発信元UAからSIPサーバ(プロキシ)にINVITEメッセージを送信
4 -> INVITEリクエストの中にかかれているSIP URIからIPアドレスを特定
5 -> 着信側UAにINVITEリクエストを送信
6 <- SIPサーバから発信元UAに対し、Trying(試行中)であることを通達
7 <- 着信先UAからRinging(呼び出し中)であることを通達
8 <-
9 <- 着信先UAからOK(電話をとった)であることを通達
10 <-
11 -> 発信元UAからACK(つながったこと)を通達
12 ->
13 <- --------------- -> セッションが開始される(SIPサーバを介さない)
14 <- --------------- -- BYEリクエスト(セッション終了欲求)が送られる
15 -- --------------- -> 切断OKが返される

通信の中身

  • INVITEではSDPというプロトコルを用いて、マルチメディアセッションを実現する。
    ちなみに、SDPとはUA同士がやり取りをする方式を交換するためのセッション記述のプロトコルで、
    • 音声、映像などのメディアの種類
    • データ通信のためのプロトコル
    • 使用するポート番号
      などの情報を通知することができる。

  • データ転送にはMESSAGEリクエストが送られる。

各サーバの関係性

通常のNATだとINVITEメッセージ内のプライベートアドレスは書き換えないため、インターネットをまたがった通信ができない。

上記に対処するには、INVITEメッセージ内のプライベートアドレスをグローバルアドレスに書き換えてあげるような処置が必要となる。

そこで、NAT越えを行うためにB2BUA、STUN、TURNサーバ等を利用する場合がある。

B2BUA UAC(クライアント)に対してはUAS(サーバ)、UAS(サーバ)に対してはUAC(クライアント)として機能する動作方式
STUN TURNと比べて、負荷が軽い・遅延が少ない・運用費が安い
TURN NATの種類によって、STUNではダメなケース等に用いる。パケットをサーバが仲介するため、P2Pではない。また、TCPが使える。

  • ちなみに、通常WebRTCサーバというと、SIPサーバ、STUNサーバ等を含む総称を指す。

その他

  • 音声パケットをSIPサーバ側で処理(例:コーデック変換処理等)させる形式を
 SBC型(Server Based Computing)と呼ぶ。

参考:
H20年テクニカルエンジニア(ネットワーク)試験
H22年午前2問16ネットワークスペシャリスト試験
H26年午後2問2ネットワークスペシャリスト試験
最終更新:2019年04月30日 11:07