IP電話では,IP網を使って相手の端末を呼び出すIP向けの呼制御手順が重要となる。代表的な呼制御プロトコルはH.323とSIPである。また,電話番号とIP用呼制御プロトコルを結びつけるENUMと呼ぶしくみも話題を集めている。今回は,これらの最新技術を解説する

図1●IP電話端末間を接続するために使われる主な呼制御プロトコル
 IP電話サービスを一般ユーザへと普及させるには,IP電話用の専用端末だけでなく,家庭用の電話機やパソコンなどを相互に接続できることが求められる。それには,まず通信先端末の状態を調べたり,呼び出したりする機能が必要である。これを実現するのが呼制御プロトコルである(図1[拡大表示])。

 現時点でもっとも普及している呼制御プロトコルは,国際電気通信連合電気通信標準化セクタ(ITU-T)で策定した「H.323」である。H.323は呼制御プロトコルだけでなく,データの送受信を管理するメディア制御などIP電話に関するさまざまなプロトコルの集合体である。テレビ会議や構内交換機などオフィス内でのIP電話システムに使われることが多い。

 インターネット標準の作成団体であるIETFでも呼制御プロトコルを開発した。1999年に策定された「SIP(Session Initiation Protocol)」である。インターネットを通して通信先の端末を呼び出すことを想定しており,やり取りするデータはテキスト・ベースで動作が軽い。

 2000年にはITU-TとIETFが共同で呼制御プロトコルを開発した。ITU-Tでは「H.248」,IETFでは「MEGACO(MEdia GAteway COntrol)」として策定している。MEGACOは,同じIETFで策定されたMGCP(これもMedia Gateway Control Protocol)をベースに拡張したものである。

 H.248/MEGACOは通信事業者などが大規模なIP電話網を構築できるように開発された技術である。ゲートウェイを設置して,一般電話の公衆網とIP網を相互に接続する機能を持つ。

着信可否を調べるH.323

図2●H.323を使ってIP電話端末を呼び出す手順

 では,呼制御プロトコルのやり取りを見てみよう。通信を開始する流れを追っていく。まずはH.323を解説する。

 H.323は,IP網上にある電話番号管理サーバを使って呼制御を行う(図2[拡大表示])。電話番号管理サーバをゲートキーパと呼ぶ。H.323の呼制御は,H.225.0として規定されている。このうち呼制御では,通信先のIPアドレスや接続が許可されているかどうかを調べるRAS(Registration Admission and Status)制御と,通信先のIP電話に接続する呼制御の二つの機能を使う。

 まず,H.323の端末を起動すると電話番号管理サーバを見つけ出す。そして端末は,自分のIPアドレスや呼び出すための電子メール形式のアドレスなどを電話番号管理サーバに登録する。RAS制御や呼制御のメッセージを交換するための準備も行う。

 これらの準備動作によって,電話番号管理サーバを介し他の端末から呼び出すことができるようになる。

 相手を呼び出す場合,通信処理の手順は次のようになる。最初にIP電話端末の受話器を上げ通信先の電話番号をダイヤルすると,電話番号管理サーバに問い合わせが行く。電話番号管理サーバは電話番号に対応したIPアドレスを返してくる。通信先のIP電話端末がパソコンの場合,電話番号の代わりにメール・アドレスの形式で通信先を指定する場合もある。

 IP電話端末は,もらったIPアドレスを基に通信先のIP電話端末を呼び出す。そうすると,通信先の端末は発信元のIPアドレスが着信を許可されているかどうかを,電話番号管理サーバに問い合わせる。そして,着信が許可されているIPアドレスであると確認ができたら,通信先側の端末が呼び出し音を鳴らす。受信側が受話器を上げると,発信元の端末に通話開始のメッセージを送信する。

 その後,H.323対応の端末同士の通信方式を定めたH.245というプロトコルを使って,符号化方式や転送方法を決定する。

端末能力を交換するH.245

 H.245は互いの端末の能力を交換するためのプロトコルである。音声であればG.711やG.729といった音声用の符号化方式,映像であればH.263やMPEG4など画像用の符号化方式や表示できる解像度などを交換する。

 H.245ではまず発信元から通信先の端末に対してこれら端末の能力に関する情報を送信し,次に通信先の端末から発信元に同様の情報を送信する。最終的に符号化方式などを決定するのは発信元の端末である。通信先の使える符号化方式を勘案して決める。

 どちらが制御権を持つマスタでどちらが制御される側のスレーブになるかも決定する。例えば,多地点間の複数の端末で通信を行うような場合には制御機能を持つ端末をマスタ側に設定する必要がある。

 そして,符号化したデータの送受信にはRTP(Real-time Transport Protocol)というプロトコルを使う。

 また,RTPを補助するRTCP(Real-time Transport Protocol)というプロトコルもある。RTPはUDP/IPを使ったコネクションレスの送受信しかできない。これに対し,RTCPのプロトコルを使うことで,RTPでの送受信データの監視や制御が可能となる。例えば,相手が過度に多いデータを送信してきているような場合,送信データの量を抑えることを要求できる。

常にProxyを通すSIP

図3●SIP(Session Initiation Protocol)を使ってIP電話端末を呼び出す手順

 次にSIPを見ていく。通信先の端末を探して,呼び出すという動作はH.323の呼制御と同じである。制御の流れは,H.323で規定している「Fast Connect」という短時間で接続する手順をベースにしている。

 SIPでは,すべての呼制御は端末からSIP Proxyサーバに依頼する。いわゆる,クライアント-サーバ型のシステムである。また,H.323と違って,通信先のIPアドレスの認証作業は行わない(図3[拡大表示])。

 SIPは,通信先の端末を「taro@nikkeibyte.com」のようにメール・アドレスの形式で指定する。端末からの接続要求はSIP Proxyサーバに対して行う。以後,通信先の端末とのやり取りは,このSIP Proxyサーバが行う。通信先のIP電話端末を管理している他のSIP Proxyサーバを探し出したりもする。

 SIP Proxyサーバから接続要求を受けた通信先のIP電話端末は呼び出し音を鳴らす。そして,発信元が利用しているSIP Proxyサーバに呼び出し中のメッセージを返す。その後,通信先の端末が受話器を上げると,同様に接続したことを知らせるメッセージが伝えられる。

 接続が確立した後はIP電話端末同士で通信を行う。音声データの送受信には,RTPなど任意のプロトコルを使う。どのようなプロトコルを使うかは,SIPのメッセージにSDP(Session Description Protocol)という書式で指定してある。

(千村 保文)

千村 保文

沖電気工業 ネットワークシステム本部 副本部長。ITU-TでVoIP/IP電話関連の標準化に携わる。通信事業者のIP電話サービス構築などシステム開発に従事している。