less than 1 minute read

1. SIPとは

  • 端末(User Agent)間のセッションを制御する機能を持つ(どんなデータでも扱える?)(RFC3261)
  • インスタントメッセージ機能を持つ(RFC3428)
  • イベント通知機能を持つ(RFC6665)

2. Session Description Protocol

  • SIPのセッションの詳細を規定したプロトコル

3. Realtime Tranport Protocol

  • ストリーミング配信などリアルタイム性を確保しながらデータを再生する仕組みを提供する

4. SIPセッション流れ

基本的には以下のような流れ

  1. スリーウェイハンドシェークでセッションの生成
    1. INVITE
    2. OK
    3. ACK
  2. 通話などリアルタイムでのやり取り
  3. セッションの切断
    1. BYE
    2. OK
Source Destination
=INVITE=>  
  <=OK=
=ACK=>  
   

SIPサーバを用いる場合(UAが互いのIPアドレスを把握していない場合)

Source SIP Server Destination
=INVITE=>    
  =INVITE=>  
  <=100 Trying=  
    <=180 Ringing=
  <=180 Ringing=  
    <=200 OK=
  <=200 OK=  
=ACK=>    
     

5. HTTPダイジェスト認証

  • チャレンジレスポンス方式
  • チャレンジ値とユーザ名のハッシュ値が一致することを確認して認証を行う