以下本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
図1は、電話網の全体構成を説明するブロック図である。図1において、電話網100は、IPネットワーク80と公衆電話網90およびそれらを接続するシグナリングゲートウェイ40とメディアゲートウェイ50、IPネットワーク80に接続されたn台のIP電話端末20、m台のコールエージェント30およびDNSサーバ60と、公衆電話網90に接続されたj台の一般電話端末10およびk台の電話交換機70とで構成する。
電話網100において、IP電話システムは、全てのIP電話端末20と全てのコールエージェント30とシグナリングゲートウェイ40およびメディアゲートウェイ50には、DNSサーバ60によってIPアドレスを振っている。IP電話端末20、シグナリングゲートウェイ40およびメディアゲートウェイ50は、再起動が発生した場合、それまで使用していたIPアドレスが破棄され、新たにDNSサーバ60と通信して他のIPアドレスを取得する。すなわち、IP電話端末20、シグナリングゲートウェイ40およびメディアゲートウェイ50のIPアドレスは、変化することがある。一方、コールエージェント30は、IP電話端末20およびシグナリングゲートウェイ40からのアクセスが常に可能となるように、固定的にIPアドレスを設定する。
また、全てのIP電話端末20および全ての一般電話端末10には、それぞれ固有の電話番号を設定してあり、通話先の決定に用いる。
電話網100におけるIP電話システムは、IP電話端末10とコールエージェント30との間での通信が可能である場合、およびコールエージェント30とシグナリングゲートウェイ40との間での通信が可能である場合、RFC3261で規定されるSIP(Session Initiation Protocol)等の呼制御プロトコルに従って、IP電話端末10同士、またはIP電話端末10とシグナリングゲートウェイ50との通信を確立する。
公衆電話網90に接続された一般電話端末10における通話については、ITU-Tで規定されるSS7プロトコル群の内の一つであるISUP(ISDN User Part)などの呼制御プロトコルに従って、一般電話端末10とシグナリングゲートウェイ40との間で通信を確立する。シグナリングゲートウェイ40において、IPネットワーク80で使用されるSIP等の呼制御プロトコルと公衆電話網で使用されるISUP等の呼制御プロトコルを相互変換することで、間接的にIP電話端末20と一般電話端末10との間での通話を可能にする。
シグナリングゲートウェイ40は、呼制御プロトコルの情報を元に、RFC3015で規定されるMEGACO(Media Gateway Control)等のメディアゲートウェイ操作プロトコルを用いて、IP電話端末20と一般電話端末10との間での音声の通話路を設定する。
メディアゲートウェイ50は、公衆電話網90とIPネットワーク80とを接続するゲートウェイであり、シグナリングゲートウェイ40が通話路を設定した後、VoIP技術を使いてIP電話端末20と一般電話端末10とを相互接続する。
コールエージェント30の故障または輻輳によって、IP電話端末20とコールエージェント30との間の通信またはシグナリングゲートウェイ40とコールエージェント30との間の通信が不可能な場合は、以下に詳細に説明する方法にて通話を実現する。
図2は、IP電話端末の機能ブロック図である。IP電話端末20Aは、制御部201、メモリ220、電話番号検出部203、フッキング検出部204、回線接続部205、アナログ⇔デジタルデータ変換部206A、マイク部207、スピーカ部208から構成される。制御部201は、他の構成ブロックへの命令およびIPパケットの生成、解析を行う。メモリ220は、電話番号、IPアドレス記憶領域221を備える。電話番号検出部203は、プッシュボタン等により入力された電話番号を検出する。フッキング検出部204は、オンフック、オフフックを検出する。回線接続部205は、制御部201より作成したIPパケットをIPネットワーク80に送信し、IPネットワーク80より受信したIPパケットを制御部201に送信する。アナログ⇔デジタルデータ変換部206Aは、制御部201で生成したデジタルデータをアナログデータに変換して、スピーカ208へと出力し、マイク207から入力されたアナログデータをデジタルデータに変換して、制御部201に転送する。
図3は、他のIP電話端末の機能ブロック図である。図3において、IP電話端末20Bは、IP電話用モデム210と電話端末10Aとで構成される。IP電話用モデム210は、制御部201、メモリ220、電話番号検出部203、フッキング検出部204、回線接続部205、アナログ⇔デジタルデータ変換部206B、電話端末接続部211から構成される。アナログ⇔デジタルデータ変換部206Bは、制御部201で生成した呼制御や音声等のデジタルデータをアナログデータに変換する。また、電話回線接続部からのアナログデータをデジタルデータに変換し、制御部201に送信する。呼制御や音声等のアナログデータは、電話端末接続部211より、電話端末10Aと通信される。メモリ220は、電話番号、IPアドレス記憶領域221を備える。
図4は、シグナリングゲートウェイの機能ブロック図である。図4において、シグナリングゲートウェイ40は、公衆電話網90との回線接続部450、IPネットワーク80との回線接続部440、プロトコル処理や内部処理等を行う制御部420、ハードディスクやメモリ等から構成する記憶媒体410、電話番号検出部430から構成される。メモリ410は、内部にIPアドレスと電話番号の記憶領域411を持つ。電話番号検出部430は、呼制御プロトコルを記述したデータを捕捉する。制御部420は、送信元IPアドレスと送信元電話番号を対にして、IPアドレスと電話番号の記憶領域411に記録する。
図5は、IP電話端末の電話番号、IPアドレス記憶領域の内部構成を説明する図である。IP電話端末の電話番号、IPアドレス記憶領域221は、自電話番号を記憶する領域231、自IPアドレスを記憶する領域232、コールエージェントのIPアドレスを記憶する領域233、過去に通話または通信を行った相手先IP電話端末の電話番号とIPアドレスの対応を記憶するデータベース300で構成する。図5は、IP電話端末20−1のメモリの内部構成を表しており、自電話番号231にはIP電話端末20−1の電話番号である「00−1234−5678」が、自IPアドレス232にはIP電話端末20−1のIPアドレスである「AA.AA.A.A」が、コールエージェントのIPアドレス233には、IP電話端末20−1の通信相手となるコールエージェント30−1のIPアドレスである「100.100.1.30」がそれぞれ記憶されている。
図6は、シグナリングゲートウェイの電話番号、IPアドレス記憶領域の内部構成を説明する図である。図6において、記憶領域411は、自IPアドレスを記憶する領域462、コールエージェントのIPアドレスを記憶する領域463、過去に通話または通信を行った相手先IP電話端末の電話番号とIPアドレスの対応を記憶するデータベース300で構成する。コールエージェントのIPアドレスを記憶する領域463には、シグナリングゲートウェイ40の通信相手となるコールエージェント30−1のIPアドレスである「100.100.1.30」が記憶されている。
図7は、相手先IP電話端末の電話番号とIPアドレスの対応を記憶するデータベースの内部構成を説明する図である。データベース300は、通話相手となる一つのIP電話端末の電話番号302とIPアドレス303を、項番301ごとに対応付けして記憶する。項番301は、項番1から項番rまであり、最大でIP電話端末r台分の電話番号とIPアドレスを記憶することが出来る。
図7は、IP電話端末20−1のメモリ220内部のデータベース300を示しており、項番1には、IP電話端末10−2の情報を格納し、電話番号記憶領域302にはIP電話端末20−2の電話番号「01−1222−3333」を格納する。IPアドレス記憶領域303にはIP電話端末20−2のIPアドレス「BB.BB.B.B」を格納する。また、項番2は、IP電話端末10−3の情報を示す項番であり、電話番号記憶領域302にはIP電話端末10−3の電話番号「06−5555−4444」、IPアドレス記憶領域303にはIP電話端末20−3のIPアドレス「CC.CC.C.C」を格納する。項番rは、IP電話端末20−nの情報を示す項番であり、電話番号記憶領域302にはIP電話端末20−nの電話番号「09−9999−9999」、IPアドレス記憶領域303にはIP電話端末20−nのIPアドレス「DD.DD.D.D」を格納する。
図8は、呼制御プロトコルを記述したデータのフォーマットである。呼制御プロトコルを記述したデータ310は、経由場所311、312、メッセージ名313、送信元IPアドレス314、送信元電話番号315、送信先電話番号316からなるヘッダ情報とさらに内部のデータ317から構成される。経由場所311、312は、発信側から送信されたメッセージが端末20またはコールエージェント(CA)30を経由する度に、経由した場所のIPアドレス311、312が追記されていく。これは、着信側から送信されたメッセージが、発信側に戻るのに利用される。経由場所のIPアドレス311、312は、経由元を戻る度に、一つずつ削除される。
図9ないし図11は、IP電話端末からの発信から、他の電話端末への通話を確立するまでの動作を示すフローチャートである。なお、図9ないし図12に示すIP電話端末の動作フローチャートでは、IPネットワークでの呼制御プロトコルとしてSIPを使用することとする。ここで、「INVITE」、「ACK」、「BYE」は、SIPのリクエストメッセージ、「180Ringing」、「200OK」、「606Not Acceptable」は、SIPのリクエストメッセージに対するレスポンスである。また、既存の公衆電話網側の呼制御プロトコルおよびメディアゲートウェイ操作プロトコルを使用することにより、IP電話端末から見て一般電話端末と通話を行う際のシグナリングゲートウェイ40とメディアゲートウェイ50との通信フローが、他IP電話からと通話を行う際の通信フローと同一になることを保障させる。
図9において、IP電話端末20の制御部201は、動作を開始すると、まずフッキング検出部204によりオフフックを検出する(S402)。制御部201は、電話番号入力待ち状態となり、入力電話番号検出部203にて通話先の電話番号を取得する(S403)。
制御部201は、「INVITE」メッセージ送信回数カウンタ値x(回)をx=0に設定し(S404)、「INVITE」メッセージ後のタイマーの初期値y(秒)をy=0と設定する(S405)。制御部201は、メモリ220内のコールエージェントIPアドレス記憶領域233に記憶されているIPアドレス宛てに、「INVITE」を送信する(S406)。制御部201は、タイマーのカウント(y)をスタートし(S407)し、タイマー値yが判定値bを超えたか判定する(S408)。ここで、判定値bは「INVITE」の応答待ち時間(秒)である。ステップ408でNOのとき、制御部201は、CA30−1より「180Ringing」を受信したか判定する(S409)。ここで、YESのとき、制御部201は、スピーカより呼び出し音を出力し(S410)、図10の「1」に遷移する。
ステップ409でNOのとき、制御部201は、ステップ408に遷移する。ステップ408でYESのとき、制御部201は、カウンタxをインクリメントして(S411)、xが判定値aに等しいか判定する(S412)。ここで、判定値aは繰り返し数(回)である。
ステップ412でYESのとき、制御部201は、CA30−1との接続不可と判断し、相手先IP電話端末20またはシグナリングゲートウェイ40に向けて直接通信する。具体的には、制御部201は、データベースより入力電話番号に対応したIPアドレスを検索する(S413)。制御部201は、IPアドレスの検索に成功したか判定する(S414)。YESのとき、制御部201は、図11の「2」に遷移する。ステップ414でNOのとき、制御部201は、スピーカより、通話不可能であるメッセージを出力し(S415)、終了する。なお、ステップ412でNOのとき、制御部201は、ステップ405に遷移する。
図10「1」において、制御部201は、次に相手先端末データベース300より入力電話番号の検索を行う(S416)。制御部201は、入力電話番号の検索に成功したか判定する(S417)。YESのとき、制御部201は、相手先端末データベース上の入力電話番号に対応するIPアドレスと「180Ringing」記載の相手先端末のIPアドレスを比較する(S418)。制御部201は、比較結果が同一か判定する(S419)。YESのとき、制御部201は、CA30−1から、「200OK」を受信する(S421)。
ステップ417でNOのとき、入力された電話番号は新規発信先なので、制御部201は、相手先端末データベースに入力電話番号および「180Ringing」記載の相手先端末のIPアドレスを新規追加して(S422)、ステップ421に遷移する。ステップ419でNOのとき、入力された電話番号に対するIPアドレスが変わっているので、制御部201は、データベース上の入力電話番号に対応するIPアドレスに、「180Ringing」記載の相手先端末のIPアドレスを上書きして(S423)、ステップ421に遷移する。
制御部201は、「200OK」のレスポンスとして、CA30−1へ「ACK」を送信する(S424)。CA30−1から相手先電話端末に「ACK」を送信することにより、通話が確立し、相手先電話端末との間で音声パケットの通信を開始する(S426)。
制御部201は、フッキング検出部204でオンフックを検出したか判定する(S427)。NOのとき、制御部201は、BYEを受信したか判定し(S428)、NOのときステップ427に戻る。ステップ428でYESのとき、制御部201は、CA30−1に「ACK」を送信し(S429)、相手端末との音声パケットの通信を終了する(S431)。制御部201は、オフフックを検出して(S432)、終了する。
一方、ステップ427でYESのとき、制御部201は、CA30−1に「BYE」を送信し(S433)し、CA30−1より「ACK」を受信し(S434)、相手先IP電話端末20またはメディアゲートウェイ50との音声パケットの通信が終了し(S436)、終了する。
次に相手先IP電話端末またはシグナリングゲートウェイに直接通話接続通信を行う場合について、図11を参照して説明する。図11の「2」において、データベースからのIPアドレスの検索に成功した制御部201は、「INVITE」メッセージ送信回数カウンタ値x’(回)をx’=0に設定し(S437)、「INVITE」メッセージ後の時間タイマー値y’(秒)をy’=0と設定する(S438)。以降IP電話端末20−1は、CA30−1ではなく、相手先端末と通信を行う。
制御部201は、相手先IP電話端末20またはシグナリングゲートウェイ40に「INVITE」を送信し(S439)、y’タイマーをスタートする(S441)。制御部201は、タイマーy’が判定値b’を超えているか判定する(S442)。NOのとき、制御部201は、相手先端末より、電話番号不一致メッセージを受信したか判定する(S443)。NOのとき、制御部201は、相手先端末より「180Ringing」を受信したか判定する(S444)。ステップ444でNOのとき、ステップ442に戻る。ステップ442でYESのとき、制御部201は、x’をインクリメントし(S446)、x’がa’と等しいか判定する(S447)。YESなら、制御部201は、スピーカより通話不可能であることを示すメッセージを出力して(S448)、終了する。ステップ447でNOならば、ステップ438に遷移する。ステップ443でYESのとき、制御部201は、ステップ448に遷移する。
ステップ444でYESのとき、制御部201は、相手先端末から「200OK」を受信し(S449)、応答として「ACK」を送信する(S451)。制御部201は、相手先端末との音声パケットの通信を開始する(S452)。なお、ステップ453からステップ462は、前述したステップ427からステップ436と同じなので、説明は省略する。
なお、一般電話端末からIP電話端末へ通話する場合、一般電話端末に代わって、シグナリングゲートウェイおよびメディアゲートウェイが、パケット処理を実施する。
本実施例では、CA30−1が故障または輻輳している場合で、かつ相手先IP電話端末20のIPアドレスが変更されてしまっている場合に、誤った端末に着信する可能性がある。この問題を解決するために、IP電話端末20は、通話の着信を受け付けた場合に、送信された着信側電話番号と、自電話番号との照合を行い、その整合によって着信を受け付けて通話を確立するか、または着信を拒否して通話を切断する手段を搭載する。詳細を図12にて説明する。
図12は、着信時におけるIP電話端末の制御部の通話を確立するまでの動作を示すフローチャートである。図12において、制御部201は、動作の開始として、まずCA30−1、発信元IP電話端末20−2またはシグナリングゲートウェイ40より「INVITE」を受信する(S702)。制御部201は、「INVITE」記載の着信側電話番号とメモリ220内の自電話番号とを比較する(S703)。制御部201は、比較結果が同一か判定する(S704)。比較結果が同一でない(NO)とき、制御部201は、CA30−1、IP電話端末20−2またはシグナリングゲートウェイ40に対して、電話番号不一致メッセージ(608 Not Acceptable)を送信し(S708)、動作を終了する。
ステップ704でYESのとき、制御部201は、SIPに規定された手順に従って、発信元であるCA30−1、IP電話端末20−2またはシグナリングゲートウェイ40に「180Ringing」を送信する(S705)。制御部201は、スピーカ部208より着信ベルを鳴らし(S706)、オフフックを検出したら(S707)、CA30−1、IP電話端末20−2またはシグナリングゲートウェイ40に「200OK」を送信する(S710)。発信元であるCA30−1、IP電話端末20−2またはシグナリングゲートウェイ40から、制御部201は、「ACK」を受信し(S711)、IP電話端末20−2またはメディアゲートウェイ50との間で音声パケットの通信を開始する(S712)。
IP電話端末20−1の制御部201は、フッキング検出部204でオンフックを検出したか判定する(S713)。YESのとき、制御部201は、通信相手のCA30−1、IP電話端末20−2またはシグナリングゲートウェイ40に「BYE」を送信する(S719)。制御部201は、CA30−1、IP電話端末20−2またはシグナリングゲートウェイ40より「ACK」を受信する(S720)。「ACK」を受信することにより、制御部201は、IP電話端末20−2またはメディアゲートウェイ50との音声パケットの通信が終了し(S721)、制御部201の動作を終了する。
ステップ713でNOであるとき、制御部201は、BYEを受信したか判定する(S714)。NOのとき、ステップ713に戻る。ステップ714でYESのとき、CA30−1、IP電話端末20−1またはシグナリングゲートウェイ40に「ACK」を送信する(S715)。CA30−1、発信元IP電話端末20−2またはシグナリングゲートウェイ40が「ACK」を受信することで、発信元IP電話端末20−2またはメディアゲートウェイ50との音声パケットの通信が終了する(S716)。制御部201は、フッキング検出部204にてオンフックを検出し(S717)、終了する。
図13を参照して、更新前と更新後の相手先通話端末データベースを説明する。ここで、図13は、相手先通話端末データベースの構成を説明する図である。図13の相手先通話端末データベース300は、項番301、電話番号302、IPアドレス303で構成される。図13(a)に示す更新前相手先通話端末データベース300Aと、図13(b)に示す更新後相手先通話端末データベース300Bとの対比から明らかなように、IPアドレス303(XX.XX.X.X)を更新する場合、まず、更新対象のIPアドレスに対応する電話番号がどの項番にあるのかを調べる。そして、更新対象のIPアドレスに対応する電話番号がある項番の一つ前の項番の電話番号とIPアドレスを、それぞれ更新対象のIPアドレスに対応する電話番号がある項番の記憶領域へとコピーする。次に、更新対象のIPアドレスに対応する電話番号がある項番の二つ前の項番の電話番号とIPアドレスを、それぞれ更新対象のIPアドレスに対応する電話番号がある項番の一つ前の項番の記憶領域へとコピーする。これを順次繰り返し、項番1の電話番号とIPアドレスが項番2の記憶領域へとコピーされるまで行う。最後に項番1のIPアドレス記憶領域303に更新後のIPアドレスを入力し、電話番号記憶領域302に更新対象のIPアドレスに対応する電話番号を入力する。
具体的には、項番2に登録されている電話番号「01−2222−3333」のIPアドレスを「XX.XX.X.X」から「BB.BB.B.B」に更新する場合を説明する。
初めに、制御部内で更新後のIPアドレス「BB.BB.B.B」とそれに対応する電話番号「01−2222−3333」を記憶する。次に、項番2の電話番号記憶領域に項番1の電話番号「06−5555−4444」を入力し、IPアドレス記憶領域に項番1のIPアドレス「CC.CC.C.C」を入力する。そして、項番1の電話番号記憶領域に更新対象のIPアドレスに対応する電話番号「01−2222−3333」を入力し、IPアドレス記憶領域に更新後のIPアドレス「BB.BB.B.B」を入力する。この場合、項番3の電話番号記憶領域内容と、IPアドレス記憶領域の内容は変化しない。これらの操作により、更新されたIPアドレスとそれに対応する電話番号は、最新の情報として項番1の記憶領域に入力される。
図14を参照して、相手先通話端末データベースへの追加処理を説明する。ここで、図14は、相手先通話端末データベースの構成を説明する図である。図14において、項番rの一つ前の項番r−1の電話番号とIPアドレスを、項番rの記憶領域へとコピーする。次に、項番rの二つ前の項番r−2の電話番号とIPアドレスを、項番rの一つ前の項番r−1の記憶領域へとコピーする。これを順次繰り返し、項番1の電話番号とIPアドレスを項番2の記憶領域へとコピーするまで行う。最後に項番1のIPアドレス記憶領域登録するIPアドレスを入力し、電話番号記憶領域に登録する電話番号を入力する。
具体的には、相手先通話端末データベース300Cに新規に電話番号「01−2222−3333」とIPアドレスを「BB.BB.B.B」を登録して、相手先通話端末データベース300Dとする場合を示す。
初めに、制御部201内で登録する電話番号「01−2222−3333」とIPアドレス「BB.BB.B.B」を記憶する。次に、項番3の電話番号記憶領域に項番2の電話番号「09−9999−9999」を入力し、IPアドレス記憶領域に項番2のIPアドレス「DD.DD.D.D」を入力する。次に、項番2の電話番号記憶領域に項番1の電話番号「06−5555−4444」を入力し、IPアドレス記憶領域に項番1のIPアドレス「CC.CC.C.C」を入力する。更に、項番1の電話番号記憶領域305に更新対象のIPアドレスに対応する電話番号「01−2222−3333」を入力し、IPアドレス記憶領域308に更新後のIPアドレス「BB.BB.B.B」を入力する。これらの操作により、新規追加するIPアドレスと電話番号は、最新の情報として項番1の記憶領域に入力される。
なお、図13および図14の相手先通話端末データベース300は、項番の若い順に追加更新が新しいが、更新時刻を相手先通話端末データベース300に追加して、更新時刻で追加更新時期を管理しても良い。
図15を参照して、IP電話システムにおけるIP電話端末のデータベースと制御部と、コールエージェントと、他のIP電話端末の制御部との動作シーケンスを説明する。ここで、図15は、IP電話端末のデータベースと制御部と、コールエージェントと、他のIP電話端末の制御部との動作シーケンス図である。図15は、データベースから相手先電話番号に対するIPアドレスを検索し、そのIPアドレスに接続を行った結果、通話を希望するIP電話端末に接続を行うシーケンスである。
図15において、まずIP電話端末20−1の制御部201は、1回目のINVITEメッセージをCA30−1へと送信する(S1001)。CA30−1への接続が不可能の場合、IP電話端末20−1の制御部201は「180Ringing」を受信することがないため、1回目のメッセージ送信からb秒経過した後、2回目のINVITEメッセージをCA30−1へ送信する(S1002)。2回目のメッセージ送信からb秒経過した後、制御部201は、3回目のINVITEメッセージをCA30−1に出力する(S1003)。以後、同様にb秒周期で送信回数がa回になるまで、制御部201は、CA30−1にINVITEメッセージを繰り返し送信する。a回目のINVITEメッセージを送信して(S1004)、b秒経過したら、制御部201は、データベース301にてIP電話端末20−2のIPアドレスの検索を実施する(S1006)。検索に成功し(S1005)、データベースよりIP電話端末20−2のIPアドレスを取得したら(S1007)、制御部201は、IP電話端末20−2へ直接INVITEメッセージを送信する(S1008)。
IP電話端末20−2の制御部201は、INVITEメッセージ中に記述されている電話番号とメモリ220内部の自電話番号231を比較する。番号が一致している場合は(S1009)、IP電話端末20−2の制御部201は、180RinigingをIP電話端末20−1に送信する。以降の処理は既存のSIPの手順に従って通話を確立する(S1011)。
図16を参照して、IP電話端末の通話の確立までの動作を説明する。ここで、図16は、IP電話端末とコールエージェントと他のIP電話端末との間のシーケンス図である。ここで、データベースから相手先電話番号に対するIPアドレスを検索し、そのIPアドレスに接続を行った結果、通話を希望するIP電話端末とは別のIP電話端末に接続した場合を説明する。
図16において、ステップ1101からステップ1108は、図15のステップ1001からステップ1008と同じなので、説明を省略する。
INVITEメッセージを受信したIP電話端末20−2は、INVITEメッセージ中に記述されている電話番号とメモリ220内部の自電話番号231を比較する。番号が不一致の場合は(S1109)、電話番号不一致メッセージ1205をIP電話端末20−1に送信する(S1110)。IP電話端末20−1は電話番号不一致メッセージ1205を受信したら、スピーカ208より通話不可能であることを示すメッセージを出力する(S1111)。
図17を参照して、電話番号不一致メッセージパケットを説明する。ここで、図17は、IPパケットのフォーマットを説明する図である。図17において、電話番号不一致メッセージ1205は、IPヘッダ1202に続くUDPヘッダ(TCPヘッダ)1203にさらに続くペイロードである内部データ1204の中に位置する。なお、UDPヘッダ1203は、音声パケット場合、TCPパケットとなる。
図18を参照して、コールエージェントを介するIP電話機と他のIP電話機との動作を説明する。ここで、図18は、IP電話機とコールエージェントと他のIP電話機との間のシーケンス図である。
図18において、まずIP電話端末20−1は、INVITEメッセージを作成する(S1601)。メッセージ名313、送信元IPアドレス314、送信元電話番号315、送信先電話番号316等を記入する。そして、IP電話端末20−1は、INVITEメッセージをCA30−1に送信する(S1602)。
CA30−1は、まず経由場所1(図8:311)としてIP電話端末20−1のIPアドレスを記入し、自データベースにて、INVITEメッセージの送信先電話番号(図8:316)より、送信先IPアドレスを検索する(S1603)。そして、CA30−1は、検索して求めたIP電話端末20−2にINVITEメッセージを送信する(S1604)。
IP電話端末20−2は、まずINVITEメッセージの経由場所2(図8:312)にCA30−1のIPアドレスを記入し、次に、180Ringingメッセージを作成する。この際、INVITEメッセージの経由場所1 311および経由場所2 312をコピーする(S1606)。そして、最新の経由場所である経由場所2、つまりは、CA30−1のIPアドレスに、180Ringingメッセージを送信する(S1607)。
CA30−1は、受信した180Ringingメッセージの経由場所2を削除する(S1608)。そして、最新の経由場所となった経由場所1、つまりは、IP電話端末20−1のIPアドレスに180Ringingメッセージを送信する(S1609)。
以後、同様にCAを経由してメッセージの送受信が行われる。
図19を参照して、IP電話端末同士で直接通信する場合の動作を説明する。ここで、図19は、2台のIP電話端末間のシーケンス図である。なお、この場合、IP電話端末20−1はIP電話端末20−2のIPアドレスを分かっているものとする。
図19において、まずIP電話端末20−1は、INVITEメッセージを作成する(S1701)。IP電話端末20−1は、INVITEメッセージに、メッセージ名313、送信元IPアドレス314、送信元電話番号315、送信先電話番号316等を記入する。そして、IP電話端末20−1は、INVITEメッセージをIP電話端末20−2に送信する(S1702)。
IP電話端末20−2は、まず経由場所1(図8:311)としてIP電話端末20−1のIPアドレスを記入する。次にIP電話端末20−2は、180Ringingメッセージを作成する(S1703)。この際、IP電話端末20−2は、INVITEメッセージの経由場所1をコピーする。そして、IP電話端末20−2は、最新の経由場所である経由場所1、つまりは、IP電話端末20−1のIPアドレスに180Ringingメッセージを送信する(S1704)。
以後、同様にIP電話端末30間で、メッセージの送受信が行われる。
なお、IP電話端末とシグナリングゲートウェイは、ともに通信装置である。
上述した実施例に拠れば、通信制御の役割を担うコールエージェントが故障または輻輳によって動作異常に陥った場合においても、電話番号とIPアドレスが正確に対応できている場合には通信装置独自で他の通信装置との通信を確立できる。電話番号とIPアドレスが正確に対応できていない場合には、通信の誤接続を回避することができる。
10…一般電話端末、20…IP電話端末、30…コールエージェント、40…シグナリングゲートウェイ、50…メディアゲートウェイ、60…DNSサーバ、70…電話交換機、80…IPネットワーク、90…公衆電話網、100…電話網、201…制御部、203…電話番号検出部、204…フッキング検出部、205…回線接続部、206…アナログ⇔デジタルデータ変換部、207…マイク部、208…スピーカ部、209…スピーカ部、210…IP電話モデム、211…電話端末接続部、220…メモリ、410…メモリ、420…制御部、430…電話番号検出部、440…回線接続部、450…回線接続部。