Session Initiation Protocol
- 1. SIPとは
- 2. Session Description Protocol
- 3. Realtime Tranport Protocol
- 4. SIPセッション流れ
- 5. HTTPダイジェスト認証
1. SIPとは
- 端末(User Agent)間のセッションを制御する機能を持つ(どんなデータでも扱える?)(RFC3261)
- インスタントメッセージ機能を持つ(RFC3428)
- イベント通知機能を持つ(RFC6665)
2. Session Description Protocol
- SIPのセッションの詳細を規定したプロトコル
3. Realtime Tranport Protocol
- ストリーミング配信などリアルタイム性を確保しながらデータを再生する仕組みを提供する
4. SIPセッション流れ
基本的には以下のような流れ
- スリーウェイハンドシェークでセッションの生成
- INVITE
- OK
- ACK
- 通話などリアルタイムでのやり取り
- セッションの切断
- BYE
- 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ダイジェスト認証
- チャレンジレスポンス方式
- チャレンジ値とユーザ名のハッシュ値が一致することを確認して認証を行う