IP Telephony - SIP



 ◆ SIPとは

 IPパケット化された音声データはRTPでやりとりされますが、電話の発信、着信、応答、切断の呼制御は
 H.323、MGCP、SIPなどのシグナリングプロトコルで行います。今回は SIP に焦点をあてて解説します。

シグナリング
プロトコル
H.323 MGCP SIP
標準化団体 ITU-T IETF IETF
標準化時期
(最新版)
1996年(2000年) 1999年(2003年) 1999年(2002年)
目的

音声、画像のマルチメディア
通信を目的として策定

キャリアがIP網で電話サービスを
提供する際に使うことを目的として策定

Client⇔Server間で通信セッションを
開始するためのプロトコルとして策定

データ形式 バイナリ テキスト テキスト
通信方式 ピアツーピア マスター、スレーブ ピアーツーピア
メリット 標準化が早く、実装製品が多い 異メーカー機器でも相互接続性が高い 製品への実装が容易。将来性が高い
デメリット 呼制御手順が複雑、拡張性が低い 拡張性が低い 拡張使用の標準化が遅れている




 ◆ SIP( Session Initiation Protocol )

 SIPは、HTTPをベースとしておりメッセージはテキスト形式ですが、SIPはトランスポート層にTCPとUDPに
 対応しています(UDPがデフォルトで使用される)。従って、プロトコルの位置づけとしては以下の通りです。
 
※ SIPはメディア制御は行わず、マルチメディアデータの送受信はRTP、マルチメディアセッションの記述はSDPにより行います。


             


 SIPを使用した最低限の音声システムでは、SIPサーバとUA(User Agent)の大きく2つから構成されます。
 IP電話などがUAに該当しますが、リクエストメッセージを送信する側のUAC(User Agent Client)と、その
 レスポンスメッセージを返信する側のUAS(User Agent Server)の2つの機能モジュールで構成しています。
 
※ リクエストの送信、受信がどちらになるかで、UACになるかUASになるのか決定されるため、同じUAソフトウェア内に混在する。


            




 SIPを使用した音声システムでは、基本的には以下の流れでSIP端末同士の音声通話を実現しています。



         

 
順番 説明
@  SIP端末起動後、自身の電話番号、IPアドレスを含む登録メッセージ(レジストリ)をSIPサーバへ送信。
A  SIPサーバは、UAの登録情報をデータベース(ローケーションサービス)に登録。
B  SIP端末BからAと通話するために、SIP端末Aの電話番号などを指定した発信メッセージをSIPサーバへ送信。
C  SIPサーバはデータベース(ロケーションサービス)を検索し、電話番号に対応するIPアドレスへ発信メッセージを転送。
D  着信を受けたSIP端末Aは、SIPサーバへ応答メッセージを送り、SIPサーバは発信元へそのメッセージを転送。
E  @〜Dの手順により、SIP端末同士はメッセージに含まれたお互いにIPアドレスを知り、RTPにより直接音声通話を行う。



 SIPサーバには、大きく以下の3つの機能があります。一般的には1つのサーバ内でこれらの機能を動かす。

SIPサーバの3機能 説明
プロキシサーバ

 UACからのリクエストを、次のSIPサーバまたはUASに転送する。SIPサーバの基本となる機能。
 プロキシサーバがメッセージの転送先を決めるためにロケーションサービスを使用する。ロケー
 ションサービス(UA情報の管理サービス)は、SIP URI に対するIPアドレス情報を格納している。

レジストラサーバ

 UACからのロケーションサービスへの登録を受け付けて、ロケーション登録を行うサーバ。
 プロキシサーバがそのロケーションサービスを使用して、メッセージの転送先を決定する。
 ※ 以上の通り、通常SIPサーバではプロキシサーバとレジストラサーバは1台で動作させる。

リダイレクトサーバ

 中継することなく、他のSIPサーバやUASにSIPメッセージの転送先を教えるサーバ。大規模な
 ネットワークではリダイレクトサーバを配置することでSIPサーバの負荷を軽減することが可能。



 ◆ SIPメッセージの中身


  



 ◆ SIPメソッドと応答コード

 
SIPの通信は、HTTPをベースとしたリクエスト(SIPメソッド)とレスポンス(応答コード)のやりとりによって行われます。

SIPメソッド 説明 SIPメソッド 説明
INVITE  セッション開始要求 INFO  セッション内の情報通知
ACK  セッション確立の確認 SUBSCRIBE  イベントの通知要請
BYE  セッション終了 NOTIFY  要請されたイベントの通知
CANCEL  セッション確立のキャンセル MESSAGE  テキストメッセージなどの送信
REGISTER  情報の登録 UPDATE  セッションの変更
OPTIONS  サーバ機能問い合わせ PUBLISH  ステータス情報の通知
PRACK  暫定応答に対する確認 REFER  転送指示

応答コード 区分 説明
1XX 暫定応答  リクエストを受信して、その処理を実行中
2XX 成功応答  リクエストの成功
3XX リダイレクト応答  リクエストを完了させるために、他リソースへの再実行を指示
4XX クライアントエラー応答  リクエストの誤りであるか、SIPサーバまたはUAでは処理できない
5XX サーバエラー応答  リクエストがSIPサーバで処理できない
6XX グローバルエラー応答  リクエストがSIPサーバまたはUAでは処理できない



 ◆ SIPシーケンス


   

順番 説明
@  自身の電話番号、IPアドレスを含む登録メッセージ(レジストリ)をSIPサーバへ送信。
A  SIP端末AからBにダイヤルする( SIP端末AがSIPサーバへINVITEメソッドを送信。)
B  SIPサーバはロケーションサービスで宛先の解決後、SIP端末BにINVITEメソッド送信、電話機Aには100Tryingを送信。
C  SIP端末Bの着信音の発生後、180 RingingをSIPサーバへ送信。
D  SIPサーバはSIP端末Aに180Ringingを送信。SIP端末Aで呼出音が聞こえる。
E  SIP端末Bで受話器を上げると、200 OKをSIPサーバへ送信し、SIPサーバはSIP端末Aに200 OKを送信。
F  SIP端末AはBのIPアドレスが分かるため、直接ACKを送信する。
G  SIP端末AとBは、RTPパケットによって音声通話を直接やり取りする。
H  SIP端末Bが受話器を置いて(切断して)、BYEメソッドをSIP端末Aに送信。
I  SIP端末Aではビジー音が聞こえる。最終応答の200 OKを送信して終了する。



IP電話とは

ネットワークエンジニアとして

Copyright (C) 2002-2019 ネットワークエンジニアとして All Rights Reserved.