以下、図面を参照して、開示の装置及びシステムの実施の形態を説明する。尚、実施の形態は例示であり、開示の装置及びシステムは、以下の実施の形態の構成には限定されない。
<SIPを用いたIP電話サービス>
図1は、IP電話網の構成例を示す図である。IP電話の呼制御プロトコルとして、SIP(Session Initiation Protocol)、H.323、MGCP(Media Gateway Control Protocol)等がある。図1では、SIPを用いてIP電話を実現する例を示す。
図1のIP電話網の構成例では、ネットワークとして、信号ネットワーク網、音声ネットワーク網、及びインターネット網が示される。信号ネットワーク網と音声ネットワーク網とは、物理的には同一のネットワーク(ポート番号を分けることで信号と音声を区別している)であり、IP電話のサービスを提供する通信事業者が管理するネットワークである。SIPを用いたIP電話サービスでは、SIPサーバによってセッション(呼)が確立される。このとき、セッションはSIPサーバを介さない経路で確立され、このセッション上に音声パケットが流れる。即ち、SIPの呼制御にかかる制御パケットと音声パケットとは異なる経路を流れ、SIPサーバは、音声通話にかかる音声パケットには関与しない。そのため、IP電話網は、信号ネットワーク網(SIPの制御パケットを流すネットワーク)と音声ネットワーク網(音声パケットが流れるネットワーク)とが論理的に分離する。図1では、信号ネットワーク網と音声ネットワーク網とを論理的に分離して表示している。インターネット網は、複数のサービスプロバイダのインターネット用のネット
ワークを含む網である。インターネット網とIP電話網(信号ネットワーク網と音声ネットワーク網)とは、分離した別のネットワークである。例えれば、インターネットワーク網が公共のネットワークであるとすると、IP電話網は、1つの通信事業者が保有する私有のネットワークである。
電話器1及び電話器3(以下、電話1及び3。「電話端末」に相当)は、家庭用に市販されている電話器である。例えば、電話1及び電話3がIP電話対応端末でない場合には(アナログ電話回線用のもの。例えば、RJ−11コネクタを備えているもの。)、電話アダプタ10A及び電話アダプタ10B(「アダプタ装置」に相当)は、電話1及び電話3からのアナログ信号をデジタル変換しIPパケットに変換する。この場合、電話アダプタ10A及び電話アダプタ10Bは、家庭用に市販されているIP電話対応のブロードバンドルータ等で実現される。電話アダプタ10A及び電話アダプタ10Bは、電話1及び電話3に割り当てられるIPアドレスを保持する。
例えば、電話1及び電話3がIP電話対応端末である場合には(RJ−45コネクタを備えている)、電話1及び電話3は、IPアドレスを保持し、IPパケットを生成、送出することができる。従って、電話1および電話3がIP電話対応端末である場合には、電話アダプタ10A及び電話アダプタ10Bを省くことができる。
第1実施形態においては、電話1及び電話3は、IP電話対応端末ではないものとし、電話アダプタ10A及び電話アダプタ10Bを要する。この場合、実際にはSIPの処理を行うのは電話アダプタ10A及び電話アダプタ10Bである。しかし、これ以降については、簡単のために、電話アダプタ10A及び電話アダプタ10Bが行うSIPにかかる処理は、電話1及び電話3が行うものと見なして説明をする。
電話1及び電話3は、IP電話を行うためのIPアドレスを保持する。このIPアドレスは、通信事業者から割り当てられるものである。IP電話サービス加入時に固定で割り当てられる場合もあるし、SIPのセッションを確立する度に通信事業者側から(例えばDHCP(Dynamic Host Configuration Protocol)サーバ等)取得する場合もある。電話1及び電話3のIPアドレス取得方法は、IP電話サービスを契約する通信事業者のサービス提供方法に依る。また、初期設定として、自身のプロキシサーバとなるSIPサーバのIPアドレスを保持する。例えば、電話1のプロキシサーバとなるSIPサーバはSIPサーバ4であるので、電話1は、SIPサーバ4のIPアドレスを保持する。
ONU(Optical Network Unit)11A及びONU11Bと、OLT12A及びOLT12Bとの間は、光ファイバF1及び光ファイバF2で接続されている。OLT12A及びOLT12Bは、通信事業者の局側に設置される終端装置である。OLT12AおよびOLT12Bは、電気信号を光信号に変換して光ファイバF1及び光ファイバF2に送信する。ONU11A及びONU11Bは、ユーザ側に設置される終端装置である。ONU11A及びONU11Bは、光ファイバF1及び光ファイバF2を伝送する光信号を電気信号に変換する。
NAT装置2及びNAT装置8(「アドレス変換装置」に相当)は、主にIPアドレスを変換する処理を行う装置である。NAT装置2及びNAT装置8は、IP電話サービスを提供する通信事業者のIP電話網(信号ネットワーク網及び音声ネットワーク網)を他の通信事業者や一般加入者から隠すため役割を担う。
例えば、NAT装置2は、IP電話網(信号ネットワーク網及び音声ネットワーク網)をNATにおける内部ネットワーク(「第2のIPネットワーク」に相当)、その他イン
ターネット網や加入ユーザ側のネットワーク(電話1及び電話3等)をNATにおける外部ネットワーク(「第1のIPネットワーク」に相当)とみなす。
例えば、NAT装置2は、SIPサーバ4(NAT装置2を配下に有するSIPサーバ)の、IP電話網内用のIPアドレス(NATにおけるローカルIPアドレス)と他のネットワークの公開用のIPアドレス(NATにおけるグローバルIPアドレス)とを対応付けたNAT変換表を有している。NAT装置2は、SIPサーバ4から送信されるIPパケットを受信する場合は、送信元IPアドレスをIP電話網用のIPアドレス(NATにおけるローカルIPアドレス)から他のネットワークの公開用のIPアドレス(NATにおけるグローバルIPアドレス)に書き換える。SIPサーバ4へ送信されるIPパケットを受信する場合には、宛先IPアドレスを他のネットワークの公開用のIPアドレス(NATにおけるグローバルIPアドレス)からIP電話網内用のIPアドレス(NATにおけるローカルIPアドレス)に書き換える。
従って、電話1及び電話3には、SIPサーバ4及びSIPサーバ7の他のネットワークに公開するためのIPアドレス(NATにおけるグローバルIPアドレス)のみ見えていることになる。電話1、電話3、及びその他のネットワークには、IP電話網内で使用するIPアドレス(NATにおけるローカルIPアドレス)が漏えいすることはない。
NAT装置2及びNAT装置8は、内部ネットワーク(IP電話網)と外部ネットワーク(その他のネットワーク)の境界に位置する。そのため、NAT装置2及びNAT装置8は、IP電話網内用のIPアドレス(ローカルIPアドレス)とその他のネットワークの公開用のIPアドレス(グローバルIPアドレス)とを有する。NAT装置2及びNAT装置8の動作例については後述する。
以降、IP電話網内用のIPアドレスをローカルIPアドレス、その他のネットワークの公開用のIPアドレスをグローバルIPアドレスと称す。尚、ここでのグローバルIPアドレスとは、IPv4アドレスでグローバルIPアドレスとして規定されているものとは異なる。同じく、ローカルIPアドレスとは、IPv4アドレスのプライベートアドレスとして割り付けられているIPアドレスとは異なる。
ルータR1〜R6は、夫々の網のエッジに位置するルータである。ルータR1〜R6は、ルーティングを行い、IPパケットを宛先への次の中継装置に転送する。
SIPサーバ4及びSIPサーバ7は、電話1及び3電話を配下におくSIPサーバである。SIPサーバ4及びSIPサーバ7は、電話1及び電話3にとって、プロキシサーバとなるSIPサーバである。電話1及び電話3からの、又は、電話1及び電話3へのSIPの呼制御にかかるパケットはすべてSIPサーバ4及びSIPサーバ7を経由する。SIPサーバ4及びSIPサーバ7は、配下の電話及び1電話3にかかる情報(加入者情報)を有する。加入者情報は、例えば、電話1の電話番号、電話1のIPアドレス、電話1を収容するNAT装置2にかかる情報等が含まれる。また、SIPサーバ4及びSIPサーバ7は、話中調べサーバ5やリダイレクトサーバ6の電話番号とIPアドレスとの対応も有している。SIPサーバ4の動作例については後述する。
話中調べサーバ5(「端末状態管理サーバ」に相当)は、SIPサーバの1つであって、話中調べサービスに対応するサーバである。話中調べサーバ5については、後述する。
リダイレクトサーバ6(「アドレス管理サーバ」に相当)は、SIPサーバの1つである。リダイレクトサーバ6は、SIPサーバから問い合わせを受けると、位置登録サーバ(図示せず)からSIPの加入者端末(図1では電話1及び3)に関する情報を読み出し
、問い合わせ元に教える。加入者端末はSIP起動時に、位置登録サーバに対して自身の登録をおこなう。従って、位置登録サーバは、加入者端末の情報(電話番号、IPアドレス、プロキシとなるSIPサーバ等)を保持する。
<<IP電話網におけるNAT装置の動作例>>
図2は、NAT装置2及びNAT装置8の通常時の動作例のフロー図である。NAT装置2とNAT装置8は同一の構成を有するので、NAT装置2について説明する。
NAT装置2はIPパケットを受信する(OP101)と、IPヘッダ内の宛先IPアドレス又は送信元IPアドレスにSIPサーバのグローバルIPアドレス又はローカルIPアドレスが格納されていないかをチェックする(OP102)。
IPヘッダ内の宛先IPアドレス又は送信元IPアドレスにSIPサーバのグローバルIPアドレス又はローカルIPアドレスが格納されている場合には(OP102:Yes)、IPヘッダ内の宛先IPアドレス又は送信元IPアドレスの書き換えを行う(OP103)。例えば、IPヘッダの送信元IPアドレスにSIPサーバ4のローカルIPアドレスが格納されている場合には、NAT装置2は、送信元IPアドレスをSIPサーバ4のグローバルIPアドレスに書き換える。NAT装置2は、ルーティングを行い、IPパケットを送出する(OP104)。
IPヘッダ内の宛先IPアドレス又は送信元IPアドレスにSIPサーバのグローバルIPアドレス又はローカルIPアドレスが格納されていない場合には(OP102:No)、処理がOP104に移る。
以上のように、NAT装置2によって、IP電話網からその他の網に送信されるときに、SIPサーバ4のローカルIPアドレスはグローバルIPアドレスに書き換えられるので、SIPサーバ4のローカルIPアドレスは、他のネットワークから隠ぺいされる。
<<通常時のSIPサーバの動作例>>
図3は、通常時のSIPサーバ4及びSIPサーバ7の動作例を示すフロー図である。SIPサーバ4及びSIPサーバ7は同一の構成を有する装置であるので、代表してSIPサーバ4について説明する。
SIPサーバ4は、SIPメッセージを受信すると(OP111)、SIPヘッダ内の宛先電話番号に関する情報を保持しているか判定する(OP112)。宛先電話番号に関する情報を保持している場合には、(OP112:Yes)、受信したSIPメッセージのIPヘッダを書き換える(OP113)。SIPヘッダ内の宛先電話番号に関する情報を保持していることは、すなわち、通話の相手先が自身の配下に存在することである。従って、SIPサーバ4は、送信元IPアドレスを自身のローカルIPアドレスに、宛先IPアドレスを宛先電話番号に対応したIPアドレス(通話の相手先のIPアドレス)に書き換える。SIPサーバ4は、IPヘッダの書き換えが完了したIPパケットを送出する(OP116)。
SIPヘッダ内の宛先電話番号に関する情報を保持していない場合には(OP112:No)、リダイレクトサーバ6に問い合わせて宛先電話番号に関する情報を取得する(OP114)。リダイレクトサーバ6から宛先電話番号に関する情報を受信すると(OP115)、IPヘッダの書き換え処理を行う(OP113)。SIPヘッダ内の宛先電話番号に関する情報を保持していないということは、すなわち、通話の相手先は他のSIPサーバの配下に存在していることを示す。従って、SIPサーバ4は、SIPメッセージを、次に、通話の相手先のプロキシサーバであるSIPサーバに対して送信する必要がある
。SIPサーバ4は、送信元IPアドレスを自身のローカルIPアドレスに、宛先IPアドレスを通話の相手先のプロキシサーバであるSIPサーバのローカルIPアドレスに書き換える。SIPサーバ4は、IPヘッダの書き換えが完了したIPパケット(SIPメッセージ)を送出する(OP116)。なお、相手先のプロキシサーバであるSIPサーバのローカルIPアドレスは、リダイレクトサーバ6からの応答として宛先電話番号に関する情報に含まれる。
以上のように、SIPサーバ3及びSIPサーバ7は、配下の電話の関するSIPメッセージを中継し、プロキシサーバとして動作する。
<<通常のSIPシーケンス>>
図4A及び図4Bは、通話にかかる通常のSIPのシーケンスの例を示す図である。図4A及び図4Bは、図1において、IP電話サービスの加入端末である電話1から電話3へ電話をかける場合を例とする。
(OP121)電話1のユーザは、電話3の電話番号をダイヤルする。電話1は、自身のプロキシサーバとなるSIPサーバ4のグローバルIPアドレスを宛先IPアドレス、電話3の電話番号を宛先電話番号としてINVITEメッセージを送信する。INVITEメッセージとは、SIPで規定されているメッセージである。INVITEメッセージは、通話の相手先とのセッション(呼)の確立を要求するメッセージである。このときの、INVITEメッセージのSIPヘッダ内の宛先電話は電話3、送信元電話番号は電話1の電話番号である。また、INVITEメッセージのIPパケットの宛先IPアドレスはSIPサーバ4のグローバルIPアドレス、送信元IPアドレスは電話1のIPアドレスである。
(OP122)NAT装置2は、電話1から送信されたINVITEメッセージを受信する。このINVITEメッセージのIPヘッダの宛先IPアドレスには、SIPサーバ4のグローバルIPアドレスが格納されている。従って、NAT装置2は、NAT変換表を参照して、宛先IPアドレスをSIPサーバ4のグローバルIPアドレスからローカルIPアドレスに書き換え、SIPサーバ4にINVITEメッセージを転送する。
(OP123)INVITEメッセージを受信すると、SIPサーバ4は、SIPヘッダの宛先電話番号の電話3が自身の配下の端末であるか確認する。電話3が自身の配下の電話でない場合には、SIPサーバ4は、リダイレクトサーバ6に電話3の情報を問い合わせる。それとともに、SIPサーバ4は、INVITEメッセージを受信し、処理中であることを通知するための応答メッセージを電話1に送信する。尚、このときの応答メッセージもSIPに規定されたものである。この応答メッセージのIPヘッダの宛先IPアドレスは電話1のIPアドレス、送信元IPアドレスはSIPサーバのローカルIPアドレスである。
(OP124)NAT装置2は、SIPサーバ4から電話1への応答メッセージを受信する。このときの応答メッセージの送信元IPアドレスは、SIPサーバ4のローカルIPアドレスである。従って、NAT装置2は、応答メッセージの送信元IPアドレスをSIPサーバ4のローカルIPアドレスからグローバルIPアドレスに書き換え、電話1に転送する。
(OP125)SIPサーバ4から電話3の情報の問い合わせを受信すると、リダイレクトサーバ6は、格納する加入者端末の情報の中から、電話3に関する情報をSIPサーバに送信する。このときの電話3に関する情報としては、電話3の電話番号、電話3のIPアドレス、電話3のプロキシサーバとなるSIPサーバ7のローカルIPアドレス等が
含まれる。
(OP126)リダイレクトサーバ6から、電話3に関する情報を受信すると、SIPサーバ4は、電話3のプロキシサーバであるSIPサーバ7に電話1からのINVITEメッセージを送信する。このときのINVITEメッセージの宛先IPアドレスはSIPサーバ7のローカルIPアドレス、送信元IPアドレスはSIPサーバ4のローカルIPアドレスである。
(OP127)INVITEメッセージを受信すると、SIPサーバ7は、格納する加入者情報の中に電話3の情報があるか確認する。電話3に関する情報として、電話3の電話番号、電話3のIPアドレス、電話3を収容するNAT装置8のローカルIPアドレス等がある。SIPサーバ7は、INVITEメッセージを電話3に送信する。このときのINVITEメッセージの宛先IPアドレスは電話3のIPアドレスであり、送信元IPアドレスはSIPサーバ7のローカルIPアドレスである。
(OP128)NAT装置8は、SIPサーバ7から電話3に宛てられたINVITEメッセージを受信する。このときのINVITEメッセージの送信元IPアドレスはSIPサーバ7のローカルIPアドレスである。従って、NAT装置8は、INVITEメッセージの送信元IPアドレスをSIPサーバ7のローカルIPアドレスからグローバルIPアドレスへと書き換えて、電話3に送信する。
(OP129)INVITEメッセージを受信すると、電話3のベルが鳴り、ユーザが着信に気づく。それとともに、呼出中であることを通知する応答メッセージをSIPサーバ7に宛てて送信する。尚、この応答メッセージもSIPで規定されるメッセージである。この応答メッセージのIPヘッダの宛先IPアドレスはSIPサーバ7であり、送信元IPアドレスは電話3のIPアドレスである。応答メッセージは、OP81〜OP88で説明したように、NAT装置8、SIPサーバ7、SIPサーバ4、NAT装置2でそれぞれ処理を施されて、電話1に送信される。電話1が電話3からの応答メッセージを受信すると、電話1の受話器から呼び出し音を鳴らす。
(OP130)電話3のユーザが受話器を取ると、その旨を通知するための応答メッセージが電話1に宛てて送信される。尚、このときの応答メッセージはSIPに規定されているものである。この応答メッセージのIPヘッダの宛先IPアドレスはSIPサーバ7であり、送信元IPアドレスは電話3のIPアドレスである。応答メッセージは、OP81〜OP88で説明したように、NAT装置8、SIPサーバ7、SIPサーバ4、NAT装置2でそれぞれ処理を施されて、電話1に送信される。
(OP131)電話3からユーザが受話器を取った旨の通知を含む応答メッセージを受信すると、電話1は、確認応答としてACKメッセージを電話3に送信する。尚、ACKメッセージはSIPに規定されるメッセージである。ACKメッセージのIPヘッダの宛先IPアドレスはSIPサーバ4であり、送信元IPアドレスは電話1のIPアドレスである。ACKメッセージは、OP81〜OP88で説明したように、NAT装置2、SIPサーバ4、SIPサーバ7、NAT装置8でそれぞれ処理を施されて、電話3に送信される。ACKメッセージが電話3に届くと、SIPのやり取りは一旦終了する。
(OP132)電話1と電話3との間のセッション(呼)が確立する。電話1と電話3とが通話可能となる。例えば、通話を行うプロトコルには、RTPなどがある。このとき、電話1と電話3とはSIPサーバ4及び7を介さず、直接音声パケットのやりとりをする。
(OP133)通話が終了し、電話1のユーザが受話器を置くと、電話1からBYEメッセージが電話1に送信される。BYEメッセージはSIPで規定されるメッセージであり、通話が終了し、セッションの切断を要求するメッセージである。BYEメッセージのIPヘッダの宛先IPアドレスはSIPサーバ4であり、送信元IPアドレスは電話1のIPアドレスである。BYEメッセージは、OP81〜OP88で説明したように、NAT装置2、SIPサーバ4、SIPサーバ7、NAT装置8でそれぞれ処理を施されて、電話3に送信される。
(OP134)電話1からBYEメッセージを受信すると、電話3は、セッション切断に了解する旨の応答メッセージを電話1に送信する。このときの応答メッセージもSIPに規定されるメッセージである。OP81〜OP88と同様にして電話1に送信される。
以上が、通話にかかるSIPのシーケンスである。NAT装置2及びNAT装置8でIPヘッダの宛先IPアドレスと送信元IPアドレスを監視し、SIPサーバ4及びSIPサーバ7のIPアドレスが含まれているIPパケットを受信した場合には、ローカルIPアドレスとグローバルIPアドレスとを書き換える。例えば、OP124において、NAT装置2から電話1に送信される応答メッセージの宛先IPアドレスは電話1のIPアドレスであり、送信元IPアドレスはSIPサーバのグローバルIPアドレスである。同様に、OP128において、NAT装置8から電話3へ送信されるINVITEメッセージの宛先IPアドレスは電話3であり、送信元IPアドレスはSIPサーバ7のグローバルIPアドレスである。このようにして、SIPサーバ4及びSIPサーバ7のローカルIPアドレスは他のネットワークからは隠ぺいされる。以上のように、NAT装置2及びNAT装置8によって、IP電話網内の情報を隠すことができる。
電話1及び電話3のプロキシサーバであるSIPサーバ4及びSIPサーバ7は、SIPメッセージの中継を行うので、電話1及び電話3が通話中か否か(回線が空いているか、又は、使用中か)ということを判断することができる。しかし、SIPサーバ4及びSIPサーバ7は、セッションを確立するのみで、音声パケットの処理には関与しない。従って、SIPサーバ4及びSIPサーバ7は、電話1及び電話3の回線が使用中である場合に、電話3が実際に通話中である(通話中状態)のか、又は、単に電話3の受話器が上がりっぱなしになっている(無音状態)のかを判断することができない。即ち、SIPサーバ4及びSIPサーバ7は、電話1と電話3との間の通話状態を検出することはできない。尚、通話状態とは、対象の電話の回線が空いている状態(空き状態)、回線は使用中であり実際に通話が行われている状態(通話中状態)、及び回線は使用中であるにもかかわらず通話が行われていない状態(無音状態)を含む。
<第1実施形態>
第1実施形態では、IP電話網とその他のネットワークとの境界に位置するNAT装置2及びNAT装置8に、音声パケットを解析する手段を備えることによって、対象の電話の通話状態を検出することを実現する。電話の通話状態を検出することによって、IP電話サービスにおいて、話中調べサービスを実施することができる。
また、話中調べサービスを利用して、空いたらお知らせサービスを実現する。空いたらお知らせサービスとは、話中調べサービスと同様に、PSTN網で行われているサービスの1つである。現在、PSTN網で行われている、空いたらお知らせサービスは、電話をかけた相手先が通話中である場合、相手先の通話が終了した時点で、その旨を知らせるサービスである。空いたらお知らせサービスの概要は、以下の通りである。電話加入者は、相手先が通話中である場合、いったん電話を切る。それから1分以内に電話番号159に電話をかけ、ガイダンスに従って登録を行う。45分以内に相手先の通話が終了すると、呼び出し音にて加入者にその旨を通知する。
第1実施形態では、話中調べサービス及び空いたらお知らせサービスにかかるシーケンスをSIPの処理として実現する。第1実施形態では、話中調べサービスの電話番号は114、空いたらお知らせサービスの電話番号は159であるとする。
<SIPのパケットの構成例>
図5は、話中調べサービス及び空いたらお知らせサービスにかかるSIPのパケットの構成例である。SIPはTCP/IPモデルのアプリケーション層のプロトコルであるので、SIPのデータは、トランスポート層のUDPでカプセル化された後、インターネット層のIPでカプセル化される。第1実施形態では、SIPのヘッダの次に、サービスフラグのフィールドとコードのフィールドを備える。
IPヘッダには、宛先IPアドレス、送信元IPアドレス、プロトコルフィールド、その他、IPヘッダとして規定されるフィールドを含む。SIPは、トランスポート層のプロトコルとしてUDPを用いることが、一般的であるので、プロトコルフィールドには、UDPを示す“17”が格納される。
UDPヘッダには、宛先ポート番号、送信元ポート番号、長さ、チェックサムのフィールドが含まれる。SIPの場合、例えば、ポート番号として“5060”が格納される。
SIPヘッダには、IP電話における通話の送信元電話番号、宛先電話番号、SIPのメッセージの種類を表す等のフィールドが含まれる。
サービスフラグは、実施しているサービスを示す。例えば、サービスフラグは2ビットで構成される。サービスフラグが“00”の場合には、サービスを実施しておらず、通常のSIPのシーケンスを行っていることを示す。サービスフラグが“01”の場合には、話中調べサービスが実施されていることを示す。サービスフラグが“10”の場合には、空いたらお知らせサービスが実施されていることを示す。
コードは、SIPメッセージに含まれる内容を示すものである。例えば、コードは4ビットで構成される。コードが“0001”の場合には、音声ガイダンスの送信を指示する。コードが“0010”の場合には、通話状態の確認要求を示す。コードが“0011”の場合には、通話状態の確認応答を示す。コードが“0100”の場合には、端末監視要求を示す。コードが“0101”の場合には、端末監視応答を示す。音声ガイダンスの送信指示、通話状態の確認要求、通話状態の確認応答、端末監視要求、及び、端末監視応答については、後述する。
ボディ部は、アプリケーションが実際にやり取りするデータ形式などが記述される。その他、話中調べサーバ5からNAT装置2及びNAT装置8に対する指示の詳細なども記載可能である。コード“0001”の音声ガイダンス送信の指示の場合には、ボディ部に、例えば、音声ガイダンスの送信先である電話のIPアドレスと、電話番号と、送信する音声ガイダンスを示す識別子(ガイダンスID)等とを記述する。コード“0010”の通話状態の確認要求の場合には、ボディ部に、例えば、通話状態確認の対象である電話のIPアドレスを格納する。コード“0011”の通話状態の確認応答の場合には、ボディ部に、例えば、通話状態確認の対象である電話のIPアドレスと通話状態(“空き状態”、“通話中状態”、“無音状態”の何れか)とを記述する。コード“0100”の端末監視要求の場合には、ボディ部に、例えば、監視対象の電話のIPアドレスと監視する規定時間等を記述する。コード“0101”の端末監視応答の場合には、ボディ部に、例えば、監視対象の電話のIPアドレスと監視結果(“通話終了”又は“監視終了”(後述))とを記述する。
尚、図5に示すSIPメッセージの構成は例示であり、設計者によって、いか様にも設定可能である。
<NAT装置の構成例>
図6は、NAT装置2の構成例を示す図である。尚、NAT装置8も同様の構成を有する。NAT装置2及びNAT装置8は、話中調べサービス及び空いたらお知らせサービスに対応する装置である。
NAT装置2は、他の装置とのインターフェイスである受信部21及び送信部24、IPパケットの種類に応じて処理を行う処理部22、IPアドレスの書き換え行うNAT変換部23、及び格納部25を備える。
処理部22は、IPパケットの宛先IPアドレスが自身を示すIPアドレスであった場合に、そのIPパケットに含まれる指示に従って処理を行う。処理部22の動作については、後述する。
NAT変換部23は、処理部22において処理を施されたIPパケットに対して、IPヘッダのアドレスを書き換える処理を施す。IPヘッダの宛先IPアドレス、又は、送信元IPアドレスが、自身のNAT変換表25AにエントリされているIPアドレスと合致した場合に、NAT変換部23は、NAT変換表25Aのエントリの対応に従って、IPアドレスを書き換える。例えば、上述のように、宛先IPアドレスに格納されるSIPサーバ4のローカルIPアドレス(IP電話網内用のIPアドレス)をグローバルIPアドレス(他のネットワークへの公開用のIPアドレス)に書き換える。
格納部25は、NAT変換表25Aや音声ガイダンス格納部25B等を含む。NAT変換表25Aは、IPアドレスの書き換え対象のIPアドレスの対応を格納する。例えば、SIPサーバ4のグローバルIPアドレスとSIPサーバ4のローカルIPアドレスとを対応付けて格納する。
音声ガイダンス格納部25Bは、各種音声ガイダンスにガイダンスIDを付与して格納する。ガイダンスIDは、音声ガイダンスを識別するための識別子である。例えば、ガイダンスID“1”は、ユーザに話中調べサービスの相手先の電話番号を入力するよう促す「話中調べを行いたい相手の電話番号を入力してください。」との音声データを示す。NAT装置2は、SIPメッセージの音声ガイダンスの送信指示を受信する場合には、指示中に指定されているガイダンスIDに基づいて、音声ガイダンスを電話1に送信する。
処理部22、及びNAT変換部23は、CPU(Central Processing Unit)等で実現される。特に、音声パケットの処理を行う処理部22は、音声や画像などの処理に特化したDSP(Digital Signal Processor)などで実現されるのが好ましい。格納部25は、メモリなどの記録媒体によって実現される。
<<NAT装置2の動作例>>
図7A、図7B、及び図7Cは、NAT装置2の動作例を示すフロー図である。
処理部22は、IPパケットを受信すると(OP1)、IPヘッダの宛先IPアドレスが自身のIPアドレスであるか否かを判定する(OP2)。即ち、IPパケットが自分に宛てられているか否かを判定する。尚、NAT装置2及びNAT装置7は、IP電話網内用のIPアドレス(ローカルIPアドレス)と他のネットワークへの公開用のIPアドレ
ス(グローバルIPアドレス)とを保持する。OP2でチェックするIPアドレスは、ローカルIPアドレスとグローバルIPアドレスとを含む、NAT装置2及びNAT装置7が保持するすべてのIPアドレスである。
受信したIPパケットが自分に宛てられていない場合には(OP2:No)、処理部22は、IPヘッダの宛先IPアドレス又は送信元IPアドレス何れかに、SIPサーバのグローバルIPアドレス又はSIPサーバのローカルIPアドレスが格納されているか否かを判定する(OP3)。SIPサーバのグローバルIPアドレス又はSIPサーバのローカルIPアドレスが格納されている場合には(OP3:Yes)、処理部22は、IPパケットをNAT変換部23に渡し、IPアドレスの書き換え処理を行う(OP4)。IPアドレスが書き換えられたIPパケットはルーティング処理され送信される(OP5)。SIPサーバのグローバルIPアドレス又はSIPサーバのローカルIPアドレスが格納されていない場合には(OP3:No)、そのままルーティング処理され送信される(OP5)。
受信したIPパケットが自分に宛てられている場合には(OP2:Yes)、処理部22は、IPパケットにSIPメッセージが含まれているか否かを判定する(OP6)。SIPメッセージが含まれている場合には(OP6:Yes)、処理部22は、SIPメッセージが話中調べサービスのものか否かを判定する(OP7)。このとき、処理部は、SIPメッセージのサービスフラグに基づき判定する。サービスフラグが“01”であれば、SIPメッセージは話中調べサービスのものである。
SIPメッセージが話中調べサービスのものである場合には(OP7:Yes)、図7Bへと処理が移る。SIPメッセージが話中調べサービスのものでない場合には(OP7:No)、処理部22は、SIPメッセージが空いたらお知らせサービスのものか否かを判定する(OP8)。
SIPメッセージが空いたらお知らせサービスのものである場合には(OP8:Yes)、処理が図7Cへと移る。SIPメッセージが空いたらお知らせサービスのものでない場合には(OP8:No)、処理が終了する。
受信したIPパケットが自分に宛てられており(OP2:Yes)、且つ、SIPメッセージではない(OP6:No)場合には、処理部22は、IPパケットに含まれる内容に応じて処理をする(OP9)。
図7Bは、SIPメッセージが話中調べサービスのものである場合のNAT装置の動作例のフロー図である。すなわち、話中調べサービス実施中のNAT装置の動作例のフロー図である。
SIPメッセージが話中調べサービスのものである場合には(OP7:Yes)、処理部22は、音声ガイダンスの送信指示であるか否かを判定する(OP20)。このとき、
処理部22は、SIPメッセージのコードに基づいて判定する。コードが“0001”である場合には、SIPメッセージは音声ガイダンスの送信指示である。
SIPメッセージが音声ガイダンスの送信指示である場合には(OP20:Yes)、即ち、サービスフラグが“01”、コードが“0001”である場合には、処理部22は、SIPメッセージのボディ部に記述される、音声ガイダンスの送信先の電話のIPアドレスと、電話番号と、ガイダンスIDとを読み出す。処理部22は、音声ガイダンスの音声パケットを送信するためのセッションを、音声ガイダンスの送信先の電話との間に確立する(OP21)。セッション確立のシーケンスは、上述の通りである。処理部22は、
指定されたガイダンスIDの音声ガイダンスを格納部25から読み出す(OP22)。処理部22は、読み出した音声ガイダンスから音声パケットを生成し、送信先の電話に送信する(OP23)。
SIPメッセージが音声ガイダンスの送信指示でない場合には(OP20:No)、処理部22は、通話状態の確認要求か否かを判定する(OP24)。SIPメッセージが通話状態の確認要求である場合には(OP24:Yes)、即ち、サービスフラグが“01”、コードが“0010”である場合には、処理部22は、SIPメッセージのボディ部に記述される通話状態の確認対象の電話が通信中であるか否かを判定する(OP25)。NAT装置2及びNAT装置8を含むネットワーク装置は、自身のポートの使用状態を監視している。例えば、使用中のポートの内、対象の電話のIPアドレスに対してポートが開放されている場合は、対象の電話が通信中である(対象の電話の回線が使用中)ことを判定することができる。
対象の電話が通信中である場合には(OP25:Yes)、実際に通話が行われているか否かを確認する(OP26)。処理部22は、受信するIPパケットの宛先IPアドレス及び送信元IPアドレスを監視する。宛先IPアドレス又は送信元IPアドレスに対象の電話のIPアドレスが含まれており、且つ、RTPなどの音声パケットである場合には、処理部22は、受信した音声パケットをコピーし、音声信号に復元する。復元された音声信号に基づき、通話中状態(実際に音声が流れている状態)か、無音状態(受話器が上がった状態)かを判定する。このときの判定方法としては、いくつかの周知技術を適用することができる。例えば、得られた音声信号をサンプリングすることによって通話中状態であるか(実際に音声が流れているのか)、無音状態であるのか判定することができる。
実際に通話が行われている場合には(OP26:Yes)、すなわち、対象の電話の通話状態が“通話中状態”である場合には、処理部22は、サービスフラグが“01”、コードが“0011”の通話状態の確認応答のSIPメッセージを生成して話中調べサーバ5に送信する。このときのSIPメッセージのボディ部には、通話状態として“通話中状態”が記述される(OP27)。
実際には通話が行われていない場合には(OP26:No)、すなわち、対象の電話の通話状態が“無音状態である場合には、処理部22は、サービスフラグが“01”、コードが“0011”の通話状態確認応答のSIPメッセージを話中調べサーバ5に送信する。このときのSIPパケットのボディ部には、通話状態として“無音状態”が記述される(OP28)。
対象の電話が通信中でない場合には(OP25:No)、すなわち、対象の電話の通話状態が“空き状態”である場合には、処理部22は、サービスフラグが“01”、コードが“0011”の通話状態確認応答のSIPメッセージを話中調べサーバ5に送信する。このときのSIPメッセージのボディ部には、通話状態として“空き状態”が記述される(OP29)。
図7Cは、SIPメッセージが空いたらお知らせサービスのものである場合のNAT装置の動作例のフロー図である。すなわち、空いたらお知らせサービス実施中のNAT装置の動作例のフロー図である。
SIPメッセージが空いたらお知らせサービスのものである場合には(OP8:Yes)、処理部22は、音声ガイダンスの送信指示であるか否かを判定する(OP31)。音声ガイダンスの送信指示である場合には(OP31:Yes)、処理部22は、OP21〜OP23と同様の処理を行う(OP32〜OP34)。
SIPメッセージが音声ガイダンスの送信指示でない場合には(OP31:No)、処理部22は、端末監視要求か否かを判定する(OP35)。SIPメッセージが端末監視要求である場合には(OP35:Yes)、即ち、サービスフラグが“10”、コードが“0100”である場合には、処理部22は、SIPメッセージのボディ部に記述される監視対象の電話の通話終了の監視を開始する(OP36)。具体的には、対象の電話からの、又は、対象の電話への通話終了を示すSIPメッセージ(例えば、SIPのBYEメッセージ)の受信を監視する。この監視はSIPメッセージのボディ部に含まれる規定時間(例えば45分)継続される。
処理部22は、規定時間内か否かを判定する(OP37)。規定時間内である場合には(OP37:Yes)、通話終了を示すSIPメッセージを受信したか否かを確認する(OP38)。通話終了を示すSIPメッセージを受信した場合には(OP38:Yes)、処理部22は、話中調べサーバ5へ対象の電話の通話終了を通知する。このとき、処理部22は、サービスフラグが“10”、コードが“0101”の端末監視応答のSIPメッセージを話中調べサーバ5に送信する。このときのSIPメッセージのボディ部には、監視対象の電話のIPアドレスと“通話終了”が記述される(OP39)。通話終了を示すSIPメッセージを受信しない場合には(OP38:No)、処理がOP37に戻る。
通話終了を示すSIPメッセージを受信せずに、規定時間が経過した場合には(OP37:No)、処理部22は、対象の電話の監視終了を話中調べサーバ5に通知する。このとき、処理部22は、サービスフラグが“10”、コードが“0101”の端末監視応答のSIPメッセージを話中調べサーバ5に送信する。このときのSIPメッセージのボディ部には、監視対象の電話のIPアドレスと“監視終了”が記述される(OP40)。尚、“監視終了”は、規定時間内に監視対象の電話の通話が終了しなかったことを示す。
<話中調べサーバ5の構成例>
図8は、話中調べサーバ5の構成例を示す図である。話中調べサーバ5は、話中調べサービスと空いたらお知らせサービスに対応する装置である。話中調べサーバ5は、他の装置とのインターフェイスである受信部51及び送信部54、受信部51が受信したIPパケットが要求するサービスを判定する判定部52、判定部52が判定したサービスに応じて処理を実施する処理部53、格納部55を備える。
判定部52は、SIPメッセージのサービスフラグにより、サービスを判定する。例えば、図5に示すように、サービスフラグ“01”は話中調べサービスを、サービスフラグ“10”は空いたらお知らせサービスを示す。
処理部53は、判定部52によって判定されたサービスに応じて処理を実施する。処理部53の処理の詳細は後述する。
格納部55は、話中調べの履歴を一定時間保持する。また、空いたらお知らせサービスを実施中の電話についての情報を格納する。
判定部52、及び処理部53は、CPUなどで実現可能である。格納部55は、メモリ等の記録媒体によって実現可能である。
<<話中調べサーバ5の動作例>>
図9A及び図9Bは、話中調べサーバの動作例のフロー図である。以下、図1において、電話1から電話3への話中調べサービス又は空いたらお知らせサービスを実施する場合を説明する。
判定部52は、SIPメッセージを受信すると(OP50)、SIPメッセージがINVITEメッセージであるか否かを判定する(OP51)。SIPメッセージがINVITEメッセージである場合には(OP51:Yes)、判定部52は、SIPメッセージの宛先電話番号が“114”であるか否かを判定する(OP52)。SIPメッセージの宛先電話番号が“114”である場合には(OP52:Yes)、判定部52は、処理部53に話中調べサービスの開始を通知する。
判定部52から話中調べサービスの開始の通知を受けた処理部53は、話中サービスを開始する(OP53)。OP53において行われる処理は、以下の通りである。
処理部53は、INVITEメッセージの送信元、すなわち、電話1への音声ガイダンスの送信指示をNAT装置2に対して送信する。このとき、処理部53は、サービスフラグ“01”、コード“0001”の音声ガイダンス送信指示のSIPメッセージのボディ部に、電話1のIPアドレス、電話1の電話番号、ガイダンスID等を含める。尚、このとき、ガイダンスIDは、電話1のユーザに対して話中サービスを実行する相手先の電話番号の入力を促す音声ガイダンスのIDである。IPヘッダの宛先IPアドレスはSIPサーバ4のローカルIPアドレス、送信元IPアドレスは話中調べサーバ5のIPアドレスである。また、このIPパケットは、SIPサーバ4によってIP宛先アドレスをNAT装置2のIPアドレスに書き換えられ、NAT装置2へと送信される。
処理部53は、電話1から話中調べの対象の電話3の電話番号がボディ部に記述されたSIPメッセージを受信すると、電話3に関する情報を検索する。このとき、リダイレクトサーバ6に対して、問い合わせを行うことによって、電話3に関する情報(IPアドレス、プロキシサーバとするSIPサーバ等)を得ることができる。
リダイレクトサーバ6から話中調べ対象の電話3に関する情報を取得すると、処理部53は、NAT装置8に対して、電話3の通話状態の確認要求を送信する。このときSIPメッセージは、サービスフラグ“01”、コード“0010”であり、ボディ部に通話状態の確認対象の電話3のIPアドレスを含む。IPヘッダの宛先IPアドレスはSIPサーバ7のローカルIPアドレス、送信元IPアドレスは話中調べサーバ5のIPアドレスである。この通話状態の確認要求のSIPメッセージは、SIPサーバ7において、IPヘッダの宛先IPアドレスがNAT装置8のローカルIPアドレスに、送信元IPアドレスがSIPサーバ7のローカルIPアドレスに書き換えられ、NAT装置8に送信される。
これとともに、処理部53は、NAT装置2に対して、調査中であることを示す音声ガイダンスの送信指示を送信する。このときのSIPメッセージは、サービスフラグ“01”、コード“0001”であり、ボディ部に音声ガイダンスの送信先として電話1のIPアドレスと調査中であることを示す音声ガイダンスのIDとを含む。これらの音声ガイダンスの送信指示は、上述のように、SIPサーバ4を経由してNAT装置2に送信される。
受信したINVITEメッセージの宛先電話番号が“114”ではない場合には(OP52:No)、判定部52は、宛先電話番号は“159”であるか否かを判定する(OP54)。SIPメッセージの宛先電話番号が“159”である場合には(OP54:Yes)、判定部52は、処理部53に空いたらお知らせサービスの開始を通知する。
判定部52から空いたらお知らせサービスの開始の通知を受けると、処理部53は、空いたらお知らせサービスを開始する(OP55)。OP55において行われる処理は、以
下の通りである。
処理部53は、格納部55を検索し、空いたらお知らせサービスの要求元である電話1の話中調べの履歴があるか否か判定する。履歴がある場合には、処理部53は、NAT装置2に音声ガイダンスの送信の指示をする。このときのSIPメッセージは、サービスフラグ“10”、コード“0001”であり、ボディ部に音声ガイダンスの送信先として電話1のIPアドレスと、ガイダンスのIDとを含む。このときの音声ガイダンスは、空いたらお知らせサービスを実施する相手先が、履歴に含まれる相手先か、又は、新規の相手先かを確認するためのものである。
履歴がない場合には、相手先の電話番号の入力を促す音声ガイダンスの送信の指示をNAT装置2に送信する。このときのSIPメッセージは、サービスフラグ“10”、コード“0001”であり、ボディ部に音声ガイダンスの送信先として電話1のIPアドレスと、ガイダンスのIDとを含む。これらの音声ガイダンスの送信指示は、上述のように、SIPサーバ4を経由してNAT装置2に送信される。
処理部53は、電話1からの相手先である電話3の電話番号を含むSIPメッセージを受信すると、NAT装置8に、電話3の端末監視要求の指示を送信する。端末監視要求のSIPメッセージは、サービスフラグ“10”、コード“0100”であり、ボディ部に監視対象の電話3のIPアドレスと監視を実施する規定時間(例えば45分)を含む。端末監視要求は、上述のように、SIPサーバ7を経由してNAT装置8に送信される。
これとともに、処理部53は、格納部55に電話1から電話3へ空いたらお知らせサービスによる監視を実施中であることを記録する。処理部53は、NAT装置2に対して、送信元のIP電話1へ調査中であることを示すガイダンスの送信の指示を送信する。
SIPメッセージの宛先電話番号が“114”でなく(OP52:No)、且つ、“159”でない場合には(OP54:No)、処理が終了する。第1実施形態においては、話中調べサーバ5は、話中調べサービス及び空いたらお知らせサービスを専門に行うSIPサーバであるため、話中調べサービス及び空いたらお知らせサービスのSIPメッセージ(特にINVITEメッセージ)は処理しないからである。
SIPメッセージがINVITEメッセージでない場合には(OP51:No)、判定部52は、SIPメッセージが話中調べサービスであるか否かを判定する(OP56)。判定部52は、サービスフラグを確認することで、話中調べサービスのSIPメッセージであることを判定する。SIPメッセージが話中調べサービスである場合には(OP56:Yes)、判定部52は、通話状態の確認応答であるか否かを判定する(OP61)。
SIPメッセージが通話状態の確認応答である場合には(OP61:Yes)、すなわち、サービスフラグ“01”、コード“0011”である場合には、判定部52は、処理部53に通話状態の確認応答の受信を通知する。判定部52から確認応答の受信の通知を受けると、処理部53は、NAT装置2に対して音声ガイダンスの送信指示をする(OP62)。このときの音声ガイダンスの送信指示は、ボディ部に音声ガイダンスの送信先である電話1のIPアドレスと、通話状態に応じた音声ガイダンスのガイダンスIDとを含む。これらの音声ガイダンスの送信指示は、上述のように、SIPサーバ4を経由してNAT装置2に送信される。
処理部53は、NAT装置2に対して、上記の音声ガイダンスの送信指示を送信すると、話中調べサービスにかかる情報を履歴として、格納部55に一定時間保持する。履歴として保持する情報としては、話中調べサービスの要求元、対象先、実行時刻、実行結果等
である。
SIPメッセージが話中調べサービスのSIPメッセージであり(OP56:Yes)、且つ、通話状態の確認応答ではない場合には(OP61:No)、判定部52は、処理を終了する。
SIPメッセージがINVITEメッセージでなく(OP51:No)、且つ、SIPメッセージが話中調べサービスでない場合には(OP56:No)、判定部52は、SIPメッセージが空いたらお知らせサービスのSIPメッセージであるか否かを判定する(OP57)。SIPメッセージが空いたらお知らせサービスのSIPメッセージである場合には(OP57:Yes)、判定部52は、端末監視応答であるか否かを判定する(OP63)。
SIPメッセージが端末監視応答である場合には(OP63:Yes)、すなわち、判サービスフラグ“10”、コード“0101”である場合には、判定部52は、の端末監視応答のSIPメッセージを受信すると、処理部53に端末監視応答の受信を通知する。判定部52から端末監視応答の受信の通知を受けると、処理部53は、NAT装置2に対して、音声ガイダンスの送信の指示をする(OP64)。例えば、端末監視応答のSIPメッセージが“通話終了”を示す場合には、NAT装置2に対して、電話3の通話が終了したことを通知する音声ガイダンスの送信を指示する。例えば、端末監視応答のSIPメッセージが“監視終了”を示す場合には、NAT装置2に対して、電話3の通話が規定時間内に終了しなかったことを通知する音声ガイダンスの送信を指示する。このときの音声ガイダンスの送信指示は、ボディ部に音声ガイダンスの送信先である電話1のIPアドレスと、端末監視応答に応じた音声ガイダンスのガイダンスIDとを含む。これらの音声ガイダンスの送信指示は、上述のように、SIPサーバ4を経由してNAT装置2に送信される。
SIPメッセージが空いたらお知らせサービスのSIPメッセージであり(OP57:Yes)、且つ、端末監視応答ではない場合には(OP63:No)、判定部52は、処理を終了する。
SIPメッセージがINVITEメッセージでなく(OP51:No)、且つ、SIPメッセージが話中調べサービスでなく(OP56:No)、さらに、SIPメッセージが空いたらお知らせサービスでもない場合には(OP63:No)、判定部52は、処理を終了する。
尚、話中調べサーバ5からNAT装置2及びNAT装置8へSIPメッセージ(音声ガイダンスの送信指示、通話状態の確認要求、端末監視要求等)を送信するには、少なくともNAT装置2及びNAT装置8の電話番号が必要となる(SIPメッセージの宛先電話番号となるため)。NAT装置2及びNAT装置8も、SIPを実行する機能を備えているので、SIPの端末とみなせる。SIPの端末は位置登録サーバに対して位置登録を行うので、NAT装置2及びNAT装置8の電話番号やIPアドレス等の情報は、位置登録サーバに保持される。従って、話中調べサーバ5は、例えば、リダイレクトサーバ6に問い合わせることで、NAT装置2及びNAT装置8の電話番号を取得することができる。若しくは、SIPサーバ4及びSIPサーバ5は、配下の端末の情報の1つとして、NAT装置2及びNAT装置8の情報を保持することが可能であるので、SIPサーバ4及びSIPサーバ7に問い合わせて取得してもよい。
<話中調べサービスの動作例>
図10は、話中調べサービスの実施例を示す図である。図10は、図1において、電話
1から電話3へ話中調べサービスを実施する例を示す。尚、話中調べサービスの電話番号は114であるとする。尚、NAT装置2及びNAT装置8のIPパケット中継時の動作、SIPサーバ4及びSIPサーバ7の中継動作については、SIPのシーケンスの例で示した通りであり、以下の説明においては省略する。
(OP71)電話1のユーザAは、話中調べサービスの電話番号114へ電話をかける。電話1は、SIPサーバ4をIP宛先アドレスとし、電話番号114を宛先電話番号として、SIPメッセージ(INVITEメッセージ)を送信する。
(OP72)NAT装置2が、電話1が送信したSIPメッセージを受信する。NAT装置2は、SIPメッセージの宛先IPアドレスをSIPサーバ4のグローバルIPアドレスからローカルIPアドレスへと書き換え、送信する。SIPサーバ4は、SIPメッセージの宛先電話番号114から、話中調べサーバ5のIPアドレスを読み出す。SIPサーバ4は、SIPメッセージの宛先IPアドレスを話中調べサーバ5のIPアドレスに書き換えて送信する。
(OP73)話中調べサーバ5は、電話1から宛先電話番号が114であるSIPメッセージを受信すると、NAT装置2に対して、電話1へ音声ガイダンス「調べたい相手先の電話番号を入力してください。」を送信するように指示する。NAT装置2は、話中調べサーバ5からの指示に従って、音声ガイダンスを送信する。
(OP74)音声ガイダンスを聞いた電話1のユーザAは、調べたい相手先の電話番号をダイヤルする。電話1は、電話3の電話番号をSIPメッセージに含めて、NAT装置2、SIPサーバ4を中継して、話中調べサーバ5へ送信する。
(OP75)話中調べサーバ5は、NAT装置2に対して、音声ガイダンス「ただいま調査中です。しばらくお待ちください。」と調査中を示すメロディ等を電話1に送信する指示を含むSIPメッセージを送信する。それとともに、電話3を収容するSIPサーバ7を検索する。このとき、リダイレクトサーバ6に問い合わせることによって、SIPサーバ7を検出することができる。NAT装置2は、話中調べサーバ5からのSIPメッセージの指示に従って、電話1に音声ガイダンスを送信する。
(OP76)話中調べサーバ5は、電話3を収容しているSIPサーバ7を経由して、NAT装置8に電話3の通話状態の確認要求のSIPメッセージを送信する。
(OP77)NAT装置8は、SIPメッセージから電話3の電話番号に対応したIPアドレスを読み出し、電話3の回線が空いているか又は使用中か判定する。電話3の回線が使用中の場合には、NAT装置8は、電話3からの音声パケットをコピーし、音声信号に復元する。NAT装置8は、復元された音声信号から、実際に音声が流れているのか、それとも無音状態であるかを判定する。実際に音声が流れている場合には、電話3が通話中であることを示す(通話中状態)。無音状態の場合には、電話3は通話しておらず、例えば、受話器が上がったままの状態になっている可能性がある。電話3が通話中でない場合は、電話3が空いていることを示す(空き状態)。
(OP78)NAT装置8は、電話3の状態(空き状態、通話中状態、無音状態)を含む通話状態の確認応答のSIPメッセージを、SIPサーバ7を中継して、話中調べサーバ5へ送信する。
(OP79)話中調べサーバ5は、NAT装置8からの通話状態の確認応答に含まれる電話3の状態に応じた音声ガイダンスを電話1に送信するように、NAT装置2に指示す
る。例えば、電話3が空き状態の場合には、音声ガイダンス「相手先は現在通話しておりません。」を送信するように指示する。例えば、電話3が通話中状態の場合には、音声ガイダンス「相手先は現在通話中です。」を送信するように指示する。例えば、電話3が無音状態の場合には、音声ガイダンス「相手先の電話器の受話器が上がったままの可能性があります。」を送信するように指示する。NAT装置2は、話中調べサーバ5からの指示に従って、音声ガイダンスを電話1に送信する。電話1のユーザAが、音声ガイダンスを聞いて受話器を置くと、呼が切断されて、話中調べサービスが終了する。
話中調べサーバ5は、電話1が電話3の電話番号へ話中調べを行った履歴を話中調べ情報として、一定時間保持する。
<空いたらお知らせサービスの実施例>
図11は、空いたらお知らせサービスの実施例を示す図である。図11は、図1において、電話1から電話3へ空いたらお知らせサービスを実施する例を示す。尚、空いたらお知らせサービスの電話番号は、159とする。尚、NAT装置2及びNAT装置8のIPパケット中継時の動作、SIPサーバ4及びSIPサーバ7の中継動作については、SIPのシーケンスの例で示した通りであり、以下の説明においては省略する。
例えば、電話1のユーザAは、電話3へ電話をかける前に、電話3に対して話中調べを行った。その結果、電話3は通話中であることが判明した。電話1のユーザAは、電話3の通話が終了したことを知らせてもらうことを希望する。
(OP81)電話1のユーザAは、空いたらお知らせサービスの電話番号159に電話をかける。電話1は、SIPサーバ4をIP宛先アドレスとし、電話番号159を宛先電話番号として、SIPメッセージ(INVITEメッセージ)を送信する。
(OP82)NAT装置2が、電話1が送信したSIPメッセージを受信する。NAT装置2は、SIPメッセージの宛先IPアドレスをSIPサーバ4のグローバルIPアドレスからローカルIPアドレスへと書き換え、送信する。SIPサーバ4は、SIPメッセージの宛先電話番号159から、話中調べサーバ5のIPアドレスを読み出す。SIPサーバ4は、SIPメッセージの宛先IPアドレスを話中調べサーバ5のIPアドレスに書き換えて送信する。
(OP83)話中調べサーバ5は、電話1から宛先電話番号が159であるSIPメッセージを受信すると、電話1が話中調べを行った履歴があるか否かを判定する。履歴がある場合(OP83:Yes)には、処理がOP84に進む。履歴がない場合(OP83:No)には、処理がOP86に進む。
(OP84)履歴を話中調べサーバ5が保持している場には、話中調べサーバ5は、電話1のユーザAに対して、空いたらお知らせサービスの宛先は、履歴に含まれる宛先か、または新規の宛先かを確認する。具体的には、話中調べサーバ5は、NAT装置2に対して、音声ガイダンス「すでに調査した電話番号に対してサービスを利用する場合は1番を、新規の電話番号に対してサービスを利用する場合は0番を押してください。」を電話1に送信する指示を含むSIPメッセージを送信する。NAT装置2は、話中調べサーバ5の指示に従って、電話1に音声ガイダンスを送信する。
(OP85)電話1のユーザAが電話1を操作すると、電話1はNAT装置2経由で、ユーザAが押下したボタンの番号を含むSIPメッセージを話中調べサーバ1に送信する。例えば、ユーザAが履歴にある電話番号を選択する場合、SIPメッセージのボディ部には、“1”が含まれる。例えば、ユーザAが新規な電話番号を選択する場合、SIPメ
ッセージのボディ部には、“0”が含まれる。ユーザAが履歴にある電話番号を選択する場合には、処理がOP88に進む。ユーザAが新規の電話番号を選択する場合には、処理がOP86に進む。
(OP86)電話1から新規の電話番号を選択する旨のSIPメッセージを受信した場合、又は、電話1の話中調べの履歴がない場合、話中調べサーバ5は、NAT装置2に対して、音声ガイダンス「サービスを利用したい電話番号を入力してください。」を電話1に送信する指示を含むSIPメッセージを送信する。NAT装置2は、話中調べサーバ5の指示に従い、電話1に音声ガイダンスを送信する。
(OP87)電話1の使用者は、空いたらお知らせサービスを利用したい相手先(電話3)の電話番号を入力する。電話1は、NAT装置2を中継して、電話3の電話番号を含んだSIPメッセージを話中調べサーバ5に送信する。
(OP88)話中調べサーバ5は、NAT装置2に対して、音声ガイダンス「ただいま調査中です。受話器を置いてしばらくお待ちください。」を電話1に送信する指示を含むSIPメッセージを送信する。それとともに、電話3を収容するSIPサーバ7を検索する。このとき、リダイレクトサーバ6に問い合わせることによって、SIPサーバ7を検出することができる。NAT装置2は、話中調べサーバ5からの指示に従って、電話1に音声ガイダンスを送信する。電話1のユーザAは、この時点で、受話器を置き、話中調べサーバ5からの通知の待機をする。
(OP89)話中調べサーバ5は、電話3を収容しているSIPサーバ7を経由して、NAT装置8に電話3の端末監視要求のSIPメッセージを送信する。また、話中調べサーバ5は、電話1から電話3へ空いたらお知らせサービスの監視を実施中であることをステータスとして記録する。話中調べサーバ5は、NAT装置8からの端末監視応答のSIPメッセージの受信を待機する。
(OP90)NAT装置8は、話中調べサーバ5から電話3の端末監視要求を受信すると、電話3からの、又は、電話3への通話終了を示すSIPメッセージ(BYEメッセージ)を監視する。
(OP91)NAT装置8は、規定時間内に電話3からの、若しくは、電話3へのBYEメッセージを検出した場合には、SIPサーバ7を中継して、話中調べサーバ5に“通信終了”を含む端末監視応答のSIPメッセージを送信する。規定時間内にBYEメッセージを検出できなかった場合には、NAT装置8は、SIPサーバ7を中継して、話中調べサーバ5に対して“監視終了”を含む端末監視応答のSIPメッセージを送信する。
(OP92)話中調べサーバ5は、NAT装置2に対して、電話1の呼び出し音を鳴らし、NAT装置8からの端末監視応答の内容に応じた音声ガイダンスを電話1に送信するように指示する。例えば、NAT装置8からの端末監視応答が“通信終了”である場合には、話中調べサーバ5は、音声ガイダンス「相手先の回線が空きました。」を電話1に送信する指示を含むSIPメッセージ送信する。例えば、NAT装置8からの端末監視応答が“監視終了”である場合には、話中調べサーバ5は、音声ガイダンス「規定時間を過ぎました。」を電話1に送信する指示を含むSIPメッセージを送信する。電話1のユーザAは、電話1の呼び出し音が鳴り、受話器をとると、音声ガイダンスにより空いたらお知らせサービスの結果を得ることができる。
<第1実施形態の作用効果>
音声パケットを扱わないSIPサーバに代わり、音声パケットと制御パケットとの両方
を扱うことができるNAT装置が音声パケットをコピーし、音声信号に復元する処理を行うことによって、調査対象の電話の通話状態(空き状態、通話中状態、無音状態)を知ることができる。このことによって、IP電話網において、話中調べサービス、更には空いたらお知らせサービスを実現することができる。
NAT装置に音声パケットをから調査対象の通話状態を調査する機能や、電話に対して音声ガイダンスを送信する機能を備えることによって、IP電話網内の情報(SIPサーバのローカルIPアドレス等)のみならず、話中調べサービス及び空いたらお知らせサービスにかかるSIPのメッセージを他のネットワークへ流れないようにすることができる。
<変形例>
第1実施形態において、話中調べサービスでは、NAT装置が音声パケットをコピーし、音声信号に復元して、調査対象のIP電話の状態(空き状態、通話中状態、無音状態)を検出した。NAT装置に代えて、電話アダプタが同様の処理を行ってもよい。若しくは、話中調べサービスを行うための専用の装置として実現してもよい。音声パケットと制御パケットの両方を扱える装置であれば、話中調べサービスを実現することができる。
第1実施形態において、空いたらお知らせサービスでは、NAT装置が、規定時間の間、対象のIP電話の通信終了を監視した。NAT装置に代えて、SIPサーバが同様の処理を行ってもよいし、電話アダプタが同様の処理を行ってもよい。もしくは、前述した話中調べサービスを行うための専用の装置が同様の処理を行ってもよい。対象のIP電話から、又は対象のIP電話への通話終了を示すパケットを検出することができる装置であれば実現することができる。
第1実施形態において、話中調べサーバ5は、他のSIPサーバとは独立したサーバであった。これに代えて、例えば、SIPサーバ4に話中調べサーバの機能を備えてもよいし、リダイレクトサーバ6が話中調べサーバを兼ねてもよい。SIPサーバ4が話中調べサーバ5とリダイレクトサーバ6とを兼ねてもよい。
第1実施形態では、話中調べサービス及び空いたらお知らせサービスをSIPを用いて実現した。これに代えて、話中調べサービス及び空いたらお知らせサービスを独自のプロトコルとして実現することも可能である。
第1実施形態では、通話を実施する両者がIP電話網に利用する端末であった。例えば、一方がPSTN網を利用する端末であった場合でも、話中調べサービス及び空いたらお知らせサービスを実現することができる。
例えば、図1において、話中調べサービスの相手先である電話3がPSTN網の電話であった場合には、SIPサーバ7をMG(Media Gateway)に置き換えればよい。MGは、IPパケットをPSTN網で使用される信号方式へと変換する機能を有する。話中調べサーバ5からの通話状態の確認要求や端末監視要求を、MGがPSTN網内で実施されている話中調べサービスの信号に変換することで実現可能である。
同様に、話中調べサービスの要求元がPSTN網の電話である場合も(電話1がPSTN網の電話である場合)、SIPサーバ4をMGに置き換え、電話1からの話中調べサービス要求をIPパケットの変換することで実現可能である。
<<コンピュータ読み取り可能な記録媒体>>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実
現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。