SIP入門
id:drambuie:20041028#p3
SIP入門 (Network Technology Series)を読み終えた。以下メモ。
HTTPでのGETやPOST、HEADなどにあたるメソッドは以下になる。
- INVITE
- ACK
- OPTIONS
- BYE
- CANCEL
- REGISTER
HTTPでは必ずクライアントがリクエストしてレスポンスを受信するというものだったけど、SIPではリクエストしていったんレスポンスが返った後、サーバ側からもう一度レスポンスがやってくることがある。レスポンスが先に来てそれにACKを返すので順序が逆になる。
またコア以外の拡張としてSIPツールキットというのがあり、それでは上記以外のメソッドを定義している。
- PRACK
- INFO
- MESSAGE
- COMET
- SUBSCRIBE
- NOTIFY
- REFER
- DO
などがあるらしい。SUBSCRIBEで相手の状態変化があった場合NOTIFYで通知を受け取るような仕組みは面白い。
現在名刺には、少なくとも固定電話番号、携帯電話番号、ファックス番号、電子メールアドレスが書かれているのが普通です。SIPはこれらを一つのURLにまとめます。
名刺にSIP URLだけ書いておけば、適切なメディアにリダイレクトしてくれるので、後は不要になる。(もちろん名刺を渡す相手がSIPを利用可能でないと駄目だけど)
- 138p: ネットワークの中心をステートレスにして、インテリジェンスはネットワーク周辺に配置する。
- 144p: Call-IDによって区別される。同じ二人が電話しながらチェスをやっていたとして、BYEを送信するとCall-IDで電話とチェスのどちらを終了すべきか識別する。
- 145p: Contactヘッダでユーザーが直接連絡するためのURLが通知される。以降はユーザ間で直接通信を行うことができる。
- 149p: ユーザ間で直接やっていてもSIPプロクシが情報を必要とする場合にはRouteヘッダにしたがってメッセージを送信する。
- 165p: レスポンスを返すときに最初のViaヘッダ(自分あての情報)を削除し、次のViaヘッダにあるアドレスへとレスポンスを転送する。ということはViaヘッダは順序を保持する必要があるということか。
- 181p: MIMEを扱うことができる。電話がかかってきたときに写真を表示するなど。
- 200p: HTTPのベーシック認証、ダイジェスト認証と同じ仕組みが使える。またS/MIMEも。
紹介されているURLのメモ
- SIP: Session Initiation Protocol
http://www.cs.columbia.edu/sip/ - Session Initiation Protocol (SIP) Working Group Supplemental Home Page
http://www.softarmor.com/sipwg/ - SIP Forum
http://www.sipforum.org/