つぶやきVoIP
VoIP
- インターネットなどのIPネットワークを利用して通信しようとする技術です。
- より細かくみると、電話交換で行われてきた呼制御と、音声をIPパケット化する技術で成り立っています
SIP (Session Initiation Protocol)
- マイクロソフト社が開発した、呼制御に用いられるプロトコルです。
- アプリケーションプロトコルの1つであり、HTTPと同じように、リクエスト・レスポンスというメッセージをやりとりすることで呼制御を行います。
SIPメッセージ
- REGISTER:電話機の位置情報登録~>DNSのAレコードを登録するみたいな感じ
- INVITE:端末を通話へ招待
- ACK:確認応答
- BYE:呼の解放
INVITEメッセージの実例は下のような感じです*1。
INVITE sip:bob@tokyo.com SIP/2.0 ------------------------------ヘッダここから-------------------------------------------- Via: SIP/2.0/UDP pc33.sapporo.com;branch=z9hG4bKnashds8 //リクエストが辿ったパス Max-Forwards: 70 To: Bob <sip:bob@tokyo.com> From: Alice <sip:alice@sapporo.com>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.sapporo.com CSeq: 314159 INVITE // トランザクション毎にインクリメントされる値 Contact: <sip:alice@pc33.sapporo.com> Content-Type: application/sdp Content-Length: 142 ------------------------------ヘッダここまで-------------------------------------------- ------------------------------ボディここから-------------------------------------------- v=0 // プロトコルのバージョン o=alice 53655765 2353687637 IN IP4 pc33.sapporo.com // 発信元及びセッション識別子 s=- // セッション名 t=0 0 // セッションがアクティブな時間 c=IN IP4 pc33.sapporo.com // セッション情報 m=audio 3456 RTP/AVP 0 // メディア名・伝送アドレス a=rtpmap:0 PCMU/8000 // 0行以上のメディア属性行 ------------------------------ボディここまで--------------------------------------------
なお、NATを通す場合、ボディに記載してあるIP情報まで変換する機能を もったNAT機器でないと、通話セッションが生成できないという問題が発生します。