(58)【調査した分野】(Int.Cl.,DB名)
ネットワークを介して送受信される、呼制御情報を含む呼制御パケットを解析し、発呼側ノードのIPアドレスである発呼側アドレス及び着呼側ノードのIPアドレスである着呼側アドレスを取得する呼制御情報取得部と、
前記ネットワークを介して送受信される、主情報の一部を含む主情報パケットを解析し、前記発呼側アドレスを送信先アドレスとする、上りのパケットストリームを構成する前記主情報パケット及び前記着呼側アドレスを送信先アドレスとする、下りのパケットストリームを構成する前記主情報パケットを収集し、収集した前記主情報パケットから上り下り双方のパケットストリームの前記主情報を生成させ、記憶装置に記憶させる主情報収集部と、
を具備し、
前記主情報収集部は、下りのパケットストリームを構成する前記主情報パケットの前記送信元アドレスが、前記発呼側アドレスから他のアドレスに変換され、前記上りのパケットストリームを構成する前記主情報パケットの前記送信先アドレスに前記他のアドレスが設定されて、前記上りのパケットストリームを構成する前記主情報パケットが収集できない場合に、前記上りのパケットストリームについては、前記送信先アドレスに前記他のアドレスが設定されている前記主情報パケットを収集することを特徴とする情報記録制御装置。
前記ネットワーク上であって、前記発呼側ノード及び前記着呼側ノードの間にNAT装置が配置され、前記NAT装置から見て、前記発呼側ノード又は前記着呼側ノードのいずれか一方と同じ側に設置されることを特徴とする請求項1から請求項3のいずれかに記載の情報記録制御装置。
ネットワークを介して送受信される、呼制御情報を含む呼制御パケットを解析し、発呼側ノードのIPアドレスである発呼側アドレス及び着呼側ノードのIPアドレスである着呼側アドレスを取得する工程と、
前記ネットワークを介して送受信される、主情報の一部を含む主情報パケットを解析し、前記発呼側アドレスを送信先アドレスとする、上りのパケットストリームを構成する前記主情報パケット及び前記着呼側アドレスを送信先アドレスとする、下りのパケットストリームを構成する前記主情報パケットを収集し、収集した前記主情報パケットから上り下り双方のパケットストリームの前記主情報を生成させ、記憶装置に記憶させる工程と、を具備し、
前記下りのパケットストリームを構成する前記主情報パケットの送信元アドレスが、前記発呼側アドレスから他のアドレスに変更され、前記上りのパケットストリームを構成する前記主情報パケットの前記送信先アドレスに前記他のアドレスが設定されて、前記上りのパケットストリームを構成する前記主情報パケットが収集できない場合に、前記上りのパケットストリームについては、前記送信先アドレスに前記他のアドレスが設定されている前記主情報パケットを収集することを特徴とする情報記録制御方法。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0023】
<概要>
本実施の形態に係る情報記録制御装置は、呼制御情報取得部及び主情報収集部を具備している。呼制御情報取得部は、ネットワークを介して送受信される、呼制御情報を含む呼制御パケットを解析し、発呼側ノードのIPアドレスである発呼側アドレス及び着呼側ノードのIPアドレスである着呼側アドレスを取得する。一方、主情報収集部は、ネットワークを介して送受信される、主情報の一部を含む主情報パケットを解析し、発呼側アドレスを送信先アドレスとする、上りのパケットストリームを構成する主情報パケット及び着呼側アドレスを送信先アドレスとする、下りのパケットストリームを構成する主情報パケットを収集し、収集した前記主情報パケットから上り下り双方のパケットストリームの前記主情報を生成させ、主情報を記憶装置に記憶させる。さらに、主情報収集部は、上り下り双方のパケットストリームのうち、一方のパケットストリームを構成する主情報パケットの送信元アドレスが、発呼側アドレス又は着呼側アドレスと異なり、他方のパケットストリームを構成する主情報パケットが収集できない場合に、前記他方のパケットストリームについては、前記一方のパケットストリームを構成する主情報パケットの送信元アドレスを前記送信先アドレスとする前記主情報パケットを収集する。
【0024】
呼制御情報取得部は、呼制御パケットに含まれる呼制御情報を解析し、発呼側ノードのIPアドレスである発呼側アドレス及び着信側のIPアドレスである着呼側アドレスを取得する。
【0025】
ここで、呼制御情報とは、2以上のノードの間でセッションを確立するために用いられる情報である。より具体的には、SIP(Session Initiation Protocol)及びH.323プロトコル等で使用されるものであるが、特に限定されない。以下、本実施の形態では、SIPを例に挙げて説明する。
【0026】
SIPでは、呼制御情報であるSIPメッセージはテキスト形式であり、スタートライン、ヘッダ部及びボディ部に分けられ、ボディに、SDP(Session Discription Protocol)という記述構文で、メディアストリーミングの発信元アドレスや圧縮形式などの呼制御情報が記述される。
【0027】
呼制御パケットとは、上述の呼制御情報を含むIPパケットである。
【0028】
SIPの場合、例えば、INVITEリクエストのボディ部から発呼側アドレスを取得できる。一方、200 OKレスポンスのボディ部から着呼側アドレスを取得できる。しかし、他の呼制御パケットから発呼側アドレス及び着呼側アドレスを取得しても良い。
【0029】
主情報収集部は、主情報の一部を含む主情報パケットを解析し、発呼側ノード及び着呼側ノードの間で送受信される、主情報を送信する上り下り双方のパケットストリームを構成する主情報パケットを収集する。主情報収集部は、主情報記録部に、収集した主情報パケットから上り下り双方のパケットストリームの主情報を生成させ、主情報を記憶装置に記憶させる。
【0030】
ここで、主情報とは、ノード間で送受信されるデータである。例えば、主情報は、マルチメディアデータであり、より具体的には、音声、画像、映像及びテキストから選択される少なくとも一つである。VoIPを用いたIP電話では、主情報は音声及び/又は映像である。以下、主情報が音声の場合を例に挙げて説明する。
【0031】
主情報パケットとは、主情報の一部を含むIPパケットである。主情報が音声である場合、主情報を送受信するプロトコルとして、例えば、RTPが用いられる。
【0032】
RTPは、例えば、UDPをベースとするが、これに限定されない。RTPパケットは、IPヘッダ、UDPヘッダ、RTPヘッダ及びデータ部で構成され、データ部に、分割された音声データが格納される。RTPには、シーケンス番号及びタイムスタンプが含まれている。RTPでは、送信側のノードが送信した音声データを正しく伝達するために、受信側のノードで、シーケンス番号によってパケットを正しい順番に並び替える。また、受信側のノードで、タイムスタンプ情報で音声再生のタイミングを決定することで音声通話を実現する。このように、順番に並べられた複数の主情報パケットを、パケットストリームと呼ぶ。
【0033】
RTPに代表されるように、本発明は、パケットに、送信先アドレス及び送信元アドレスを含め、主情報としてマルチメディアデータを含み、且つ、シーケンス番号等によりパケットの順番を示す情報を含めるデータ通信プロトコルに適用することが可能である。
【0034】
ここで説明したVoIPの場合は、呼制御パケットはSIPに、主情報パケットはRTPにそれぞれ準拠しているが、呼制御パケット及び主情報パケットが同じプロトコルに準拠していても構わない。このような例としては、WebRTC(Web Real−Time Communication)が挙げられる。
【0035】
主情報収集部は、ネットワークを介して送受信される、主情報の一部を含む主情報パケットを解析し、発呼側アドレスを送信先アドレスとする、上りのパケットストリームを構成する主情報パケット及び着呼側アドレスを送信先アドレスとする、下りのパケットストリームを構成する主情報パケットを収集し、主情報記録部に、収集した主情報パケットから上り下り双方のパケットストリームの主情報を生成させ、主情報を記憶装置に記憶させる。
【0036】
RTPの場合、主情報記録部は、上述のように、パケットストリームを構成する複数のRTPパケットを、シーケンス番号によって正しい順番に並び替えると共に、タイムスタンプ情報で音声再生のタイミングを決定し、上り下り双方のパケットストリームから通話音声データを生成する。また、主情報記録部は、生成した通話音声データを、音声ファイルに変換する。
【0037】
主情報を記憶させる記憶装置は、情報記録制御装置に内蔵されていても、外部から接続されていても、いずれでもよい。記憶装置は、シリアルケーブル、USB等で情報記録制御装置に接続されていても良いし、有線LAN、無線LAN等のネットワークで情報記録制御装置に接続されていても良い。記憶装置は、ハードディスクドライブ、ソリッドステートドライブ(SSD)、磁気ディスクドライブ、光ディスクドライブ等であるが、特に限定されない。
【0038】
記憶装置は、より好ましくは、情報記録制御装置にネットワークを介して接続された情報記録サーバである。情報記録サーバは、ネットワークを介して接続されたパーソナルコンピュータ(PC)から、記憶した主情報を検索し、再生することができるように構成されている。
【0039】
本実施の形態に係る情報記録制御装置では、主情報収集部は、上り下り双方のパケットストリームのうち、一方のパケットストリームを構成する主情報パケットの送信元アドレスが、発呼側アドレス又は着呼側アドレスと異なり、一方のパケットストリームを構成する主情報パケットが収集できない場合に、他方のパケットストリームについては、一方のパケットストリームを構成する前記主情報パケットの送信元アドレスを送信先アドレスとする主情報パケットを収集する。
【0040】
例えば、ネットワーク上であって、発呼側ノード及び着呼側ノードの間にNAT装置が配置され、NAT装置から見て、発呼側ノード又は着呼側ノードのいずれか一方と同じ側に情報記録制御装置が設置されている場合がある。
【0041】
例えば、NAT装置は、ローカルエリアネットワークにあるノードから発信されたIPパケットを捕捉し、発信元のローカルIPアドレスを、空いているグローバルIPアドレスに変換する。このとき、変換前のローカルIPアドレスと、変換後のグローバルIPアドレスの対応表(NATテーブル)を作成する。NAT装置は、以後の発信元から受信したIPパケットも、NATテーブルを参照して同様にIPアドレスを書き換える。一方、NAT装置は、グローバルエリアネットワーク側から書き換えたグローバルIPパケット宛のIPパケットを受信すると、NATテーブルを参照し、送信先アドレスをグローバルIPアドレスからローカルIPアドレスに書き換え、発信元のノードに送信する。
【0042】
この場合、例えば、ローカルエリアネットワーク外側のノードから内側のノードに主情報を送信するために、外側のノードにおいて、主情報の一部を含む主情報パケットの送信先アドレスを、NAT装置のグローバルIPアドレスに変更する必要がある。このような動作を、ラッチ動作という。
【0043】
このようにラッチ動作が行われていると、情報記録制御装置が、呼制御情報から取得した発呼側アドレス及び着呼側アドレスを用いて、上り下り双方のパケットストリームを検出しようとした場合、上りのパケットストリームを構成する主情報パケットの送信先アドレスが、発呼側アドレスとは異なるため、上りのパケットストリームを検出できず、片側の音声が記録されない。
【0044】
しかし、本実施の形態に係る情報記録制御装置は、このような場合に、上りのパケットストリームについては、下りのパケットストリームを構成する主情報パケットの送信元アドレスを送信先アドレスとする主情報パケットを収集する。これにより、主情報パケットの送信先アドレスが呼制御情報から取得した発呼側アドレス又は着呼側アドレスと異なっていても、上り下りのパケットストリームを検出できるので、主情報を記憶装置に記録させることができる。
【0045】
上り又は下りのパケットストリームを構成する主情報パケットの送信先アドレスが、発呼側アドレス又は着呼側アドレスと異なる場合としては、上述のラッチ動作の他に、NAT解決技術が用いられている場合が挙げられる。
【0046】
NAT解決技術とは、ローカルエリアネットワークの内側のノードが、自らが送信したIPパケットがNAT装置でアドレス変換された後のグローバルIPアドレスを把握する技術である。NAT解決技術としては、例えば、UPnP(Universal Plug and Play)及びSTUN(Session Traversal Utilities for NATs)を用いる場合が挙げられる。
【0047】
UPnPを用いる場合には、NAT装置が、ノードからの問い合わせに応じて、ノードに割り当てられたNAT装置のグローバルIPアドレスを返す。一方、STUNを用いる場合には、ノードが、ローカルエリアネットワークの外側に設けられたSTUNサーバにリクエストすると、STUNサーバが、ノードから発信されたIPパケットの送信元アドレスを返す。いずれの場合にも、内側のノードが発呼するとき、呼制御情報に、自らのIPアドレス、すなわち発呼側アドレスとして、取得したグローバルIPアドレスを用いることになる。
【0048】
この場合、ローカルエリアネットワークの外側のノード(着呼側ノード)から内側のノード(発呼側ノード)に主情報を送信するために、主情報パケットの送信先アドレスは、内側のノードの呼制御情報に含まれる発呼側アドレス、すなわちNAT装置のグローバルIPアドレスになる。NAT装置は、主情報パケットを受信すると、送信先アドレスを内側のノードのローカルエリアネットワーク内でのIPアドレスに変換する。
【0049】
したがって、情報記録制御装置が、ローカルエリアネットワークの内側に配置されている場合、呼制御情報から取得した発呼側アドレスであるNAT装置のグローバルIPアドレスを用いて、上りのパケットストリームを検出しようとしても、実際の上りのパケットストリームを構成する主情報パケットの送信先アドレスが、内側のノードのローカルエリアネットワーク内のIPアドレスであるため、上りのRTPパケットストリームを検出できず、片側の音声が記録されない。
【0050】
しかし、本実施の形態に係る情報記録制御装置は、上り下り双方のパケットストリームのうち、一方のパケットストリームを構成する主情報パケットが収集できない場合に、他方のパケットストリームを構成する主情報パケットの送信元アドレスを送信先アドレスとする主情報パケットを収集する。これにより、主情報パケットの送信先アドレスが呼制御情報から取得した発呼側アドレス又は着呼側アドレスと異なっていても、上り下り双方のパケットストリームを検出できるので、主情報を記憶装置に記録させることができる。
【0051】
(第1の実施の形態)
以下、VoIP環境での音声通話を録音する通話録音システムに、本発明の情報記録制御装置を適用した第1の実施の形態について説明する。以下の説明では、情報記録制御装置として通話録音装置を例示する。
【0052】
<システム>
図1は、第1の実施の形態に係る通話録音装置を含む通話録音システムの全体構成を示す模式図である。
図1に示すように、通話録音システム1では、光通信ネットワーク2に、光回線終端装置(ONU)3を介してスイッチングハブ4が通信可能に接続されている。スイッチングハブ4には、ゲートウェイ5が通信可能に接続されている。
【0053】
ゲートウェイ5は、光通信ネットワーク2等の固定回線による通信サービスにおいて、固定回線と加入者側ネットワークの橋渡しを行うネットワーク機器である。
【0054】
ゲートウェイ5は、NAT装置の一例であり、NAT機能を内蔵している。
【0055】
ゲートウェイ5の複数のポートには、SIPサーバ6及び局内電話端末7a〜7cが接続されている。
【0056】
SIPサーバ6は、SIPを利用したIP電話サービスの管理及び制御を行なうサーバであり、電話番号などの利用者の識別情報とIPアドレスなどのネットワーク上の所在の対応データを管理し、発信者と通話先の間で発呼情報の仲介を行なう。
【0057】
局内電話端末7a〜7cは、SIP対応機器であり、SIPのUA(User Agent)として機能する。局内電話端末7a〜7cは、IP電話機、IP電話アダプタ、SIP対応アプリケーションが動作するパーソナルコンピュータ(PC)及びスマートフォン等であるが、特に限定されない。
【0058】
局内電話端末7a〜7cは、ゲートウェイ5に接続されると自らの電話番号とIPアドレスをSIPサーバ6に知らせる。また、局内電話端末7a〜7cは、発呼時は、SIPサーバ6に着呼側の電話端末の電話番号を通知する。SIPサーバ6は、通知された電話番号に対応する着呼側の電話端末のIPアドレスに宛てて発信通知を転送し、通信開始が許諾(「受話器を上げる」動作)されたら発呼側と着呼側が直接接続して通話を開始する。
【0059】
スイッチングハブ4は、ミラーポート4aを備えている。スイッチングハブ4は、ゲートウェイ5が接続されたポートが送受信するデータを、同時にミラーポート4aから送出する。
【0060】
ミラーポート4aには、通話録音装置8が通信可能に接続されており、スイッチングハブ4を介して流れるIPパケットを受信するように構成されている。
【0061】
通話録音装置8には、スイッチングハブ9が通信可能に接続されている。スイッチングハブ9には、音声サーバ10及びPC11a〜11cが通信可能に接続されている。
【0062】
音声サーバ10は、通話録音装置8が生成した音声ファイルを受け取って、ストレージデバイスに格納する。音声サーバ10は、ストレージデバイスに格納した音声ファイルを、録音関連情報と対応付けて管理する。録音関連情報とは、例えば、発呼側の電話番号、着信側の電話番号、録音開始時刻及び録音(通話)時間の長さである。
【0063】
PC11a〜11cは、音声サーバ10に対して、音声ファイルの検索を依頼したり、音声サーバ10から送信された音声ファイルを再生したり、するように構成されている。
【0064】
本実施の形態では、音声サーバ10は、通話録音装置8と同じローカルエリアネットワーク12内に設置されているが、例えば、インターネット網(図示せず)を介して、ローカルエリアネットワーク12の外部に設置されていても良い。
【0065】
<サーバ>
図2は、第1の実施の形態に係る通話録音装置を構成するサーバのハードウェアを示すブロック図である。
【0066】
図2に示すように、サーバ100は、中央制御部101、ネットワーク制御部102、ストレージデバイス103及びメモリ104を備えている。
【0067】
中央制御部101は、サーバ100の各部を制御するプロセッサである。具体的には、中央制御部101は、CPU等を備え、メモリ104を用いてOSや各種処理プログラムに従って各種の制御動作を行う。
【0068】
ネットワーク制御部102は、ネットワークを介してデータ通信等を遂行する。
【0069】
ストレージデバイス103は、例えば、ハードディスクドライブ、不揮発性メモリ等により構成され、中央制御部101の動作に必要な各種プログラムやデータを記憶している。
【0070】
メモリ104は、例えば、DRAM等により構成され、中央制御部101等によって処理されるデータ等を一時的に記憶するバッファメモリや、中央制御部101等のワーキングメモリとして機能する。
【0071】
以上説明したサーバ100において、目的に応じてプログラムやデータを適宜用意し、中央制御部101に実行させることで通話録音装置8を実現することができる。SIPサーバ6及び音声サーバ10もサーバ100で実現することができる。
【0072】
<通話録音装置>
図3は、第1の実施の形態に係る通話録音装置を示す機能ブロック図である。
図3に示す通り、通話録音装置8において、中央制御部101により実現されるパケットキャプチャ部21が、ネットワーク制御部102を制御し、スイッチングハブ4のミラーポート4aからIPパケットを受信する。パケットキャプチャ部21は、受信したIPパケットを、中央制御部101により実現されるSIPセッション部22及びRTPストリーム部23に出力する。
【0073】
SIPセッション部22は、本発明の呼制御情報取得部の一例であり、パケットキャプチャ部21から入力されたIPパケットからSIPメッセージを含む呼制御パケットを識別し、呼制御パケットを解析して、SIPメッセージのSDPに含まれる発呼側のノードのアドレスを示す発呼側アドレス及び着呼側のノードのIPアドレスを示す着呼側アドレス等を取得する。
【0074】
RTPストリーム部23は、本発明の主情報収集部の一例である。RTPストリーム部23はSIPセッション部22が取得した発呼側アドレス及び着呼側アドレスを受け取り、且つ、パケットキャプチャ部21から入力されたIPパケットから、発呼側アドレス及び着呼側アドレスを送信先アドレスとする上り下り双方のRTPストリームを構成するRTPパケットを検出し、収集し、RTPパケットから音声データを取り出し、音声キュー24へ順次出力する。音声キュー24は、中央制御部101によって、例えば、メモリ104に用意される待ち行列であり、先に入力された音声データから順次出力するように構成されている。
【0075】
通話録音装置8は、少なくとも一つの音声チャネルを管理する録音チャネル管理部25を具備する。録音チャネル管理部25は、中央制御部101によって実現され、例えば、記憶装置の一例であるストレージデバイス103に、使用可能な録音領域、すなわち録音チャネルを用意する。
【0076】
音声ファイル生成部26は、中央制御部101により実現され、音声キュー24から音声データを順次取り出し、音声データに変換し、録音チャネル管理部25が用意した録音チャネルに音声ファイルの形式で出力し、記憶させる。また、音声ファイル生成部26は、音声ファイルの生成開始の時刻及び生成終了の時刻から録音開始時刻及び録音(通話)時間を求め、記憶する。
【0077】
音声ファイル送信部27は、中央制御部101により実現され、音声ファイル生成部26が生成した音声ファイルを、音声サーバ10に送信する。音声ファイル送信部27は、録音開始時刻及び録音(通話)時間を含む録音関連情報を、音声ファイルと共に音声サーバ10に送信する。
【0078】
上述のように、RTPストリーム部23は、音声ファイル生成部26に、収集したRTPパケットから上り下り双方のパケットストリームの音声データを生成させ、且つ、音声ファイル送信部27に、音声ファイルを音声サーバ10に記憶させる。したがって、音声ファイル生成部26及び音声ファイル送信部27は、本実施の形態の主情報記録部に相当する。
【0079】
<通話録音手順>
ここで、ローカルエリアネットワーク12に接続されたノードの一つである局内電話端末7aと、光通信ネットワーク2に接続されたノードの一つである外部電話端末13との間での通話を録音する場合を例に挙げて説明する。
【0080】
まず、NAT装置が無い場合について説明する。
図4は、第1の実施の形態に係る通話録音装置での通話録音手順を示すシーケンス図である。
図4に示すように、まず、局内電話端末7aで外部電話端末13の呼び出しの操作を行う(S101)と、外部電話端末13を呼び出すためのINVITEリクエストがSIPサーバ6へ送信される(S102)。
図4中、「INVITE W/A」とあるのは、INVITEリクエストを構成する呼制御パケットに、局内電話端末7aのIPアドレス(A)が含まれていることを示している。SIPサーバ6は、局内電話端末7aから受信したINVITEリクエストを、外部電話端末13へ転送する(S103)。通話録音装置8では、パケットキャプチャ部21が、スイッチングハブ4のミラーポート4aからINVITEリクエストを構成する呼制御パケットを取り込み、SIPセッション部22へ出力する。SIPセッション部22は、INVITEリクエストの呼制御パケットを解析し、発呼側アドレスとして、局内電話端末7aのIPアドレス(A)を取得する(S104)。
【0081】
外部電話端末13で、INVITEリクエストに対応して応答処理として受話器が上げられると(S105)、200 OKレスポンス(
図4中、200/INVITEと記す)をSIPサーバ6へ送信する(S106)。
図4中、「200/INVITE W/B」とあるのは、200 OKレスポンスを構成する呼制御パケットに、外部電話端末13のIPアドレス(B)が含まれていることを示している。
【0082】
通話録音装置8では、パケットキャプチャ部21が、スイッチングハブ4のミラーポート4aから200 OKレスポンスを構成する呼制御パケットを取り込み、SIPセッション部22へ出力する。SIPセッション部22は、200 OKレスポンスの呼制御パケットを解析し、着呼側アドレスとして、外部電話端末13のIPアドレス(B)を取得する(S107)。SIPサーバ6は、外部電話端末13から受信した200 OKレスポンスを局内電話端末7aへ転送する(S108)。
【0083】
局内電話端末7a及び外部電話端末13の間では、相互に交換した相手側のIPアドレス(A)、(B)を用いて通話を開始する(S109)。すなわち、局内電話端末7aでは、話し手の音声を音声データに変換し、さらに、音声データを、外部電話端末13のIPアドレス(B)を送信先アドレスに設定したRTPパケットに変換し、送出する(S110)。これを、下りパケットストリームと呼ぶ。
図4中、「A→B」は、RTPパケットの送信元アドレスがIPアドレス(A)であり、且つ、送信先IPアドレス(B)であることを示している。一方、外部電話端末13では、話し手の音声を音声データに変換し、さらに、音声データを、局内電話端末7aのIPアドレス(A)を送信先アドレスに設定したRTPパケットに変換し、送出する(S111)。これを、上りパケットストリームと呼ぶ。
図4中、「B→A」は、RTPパケットの送信元アドレスがIPアドレス(B)であり、且つ、送信先IPアドレス(A)であることを示している。
【0084】
通話録音装置8は、上り下り双方のパケットストリームを取り込み、通話録音を行う。すなわち、通話録音装置8において、まず、パケットキャプチャ部21が、スイッチングハブ4のミラーポート4aから受信したIPパケットを、RTPストリーム部23に出力する。
【0085】
RTPストリーム部23が、パケットキャプチャ部21から入力されたIPパケットから、SIPセッション部22により検出された、上り下り双方のパケットストリームを構成する、送信先アドレスがIPアドレス(A)及びIPアドレス(B)であるRTPパケットを取得し(S112、S113)、取得したRTPパケットから音声データを取り出し、音声キュー24へ順次出力する。
【0086】
音声ファイル生成部26は、音声キュー24から音声データを順次音声データに変換し、録音チャネル管理部25が用意した録音チャネルに音声ファイルの形式で出力する。出力された音声ファイルは、音声ファイル送信部27が音声サーバ10に送信する。
【0087】
次に、例えば、外部電話端末13では、受話器が下げられると(S114)、通話終了を通知するBYEリクエストをSIPサーバ6へ送信する(S115)。SIPサーバ6は、外部電話端末13から受信したBYEリクエストを、局内電話端末7aへ転送する(S116)。局内電話端末7aは、BYEリクエストを受信すると、200 OKレスポンス(
図4中、200/BYEと記す)を送信する(S117)。通話録音装置8では、パケットキャプチャ部21が、スイッチングハブ4のミラーポート4aから200 OKレスポンスを構成する呼制御パケットを取り込み、SIPセッション部22へ出力する。SIPサーバ6は、局内電話端末7aから受信した200 OKレスポンスを、外部電話端末13へ転送する(S118)。SIPセッション部22は、200 OKレスポンスの呼制御パケットを解析して、通話の終了を判定し、録音を終了させる(S119)。この結果、局内電話端末7a及び外部電話端末13の間の通話が終了する(S120)。
【0088】
次に、NAT装置がある場合について説明する。
図5は、第1の実施の形態に係る通話録音装置での通話録音手順を示すシーケンス図である。
図5中、
図4と同じ手順については、同一の符号を付し、説明を省略する。
【0089】
S101〜S109で示す通話開始までの手順は、基本的には、
図4を参照して説明した通りである。しかし、ゲートウェイ5が、グローバルIPアドレス(D)とローカルIPアドレス(C)の間でアドレス変換を行っている。すなわち、SIPサーバ6が局内電話端末7aから受信したINVITEリクエストを、外部電話端末13へ転送する(S103)と、ゲートウェイ5が、INVITEリクエストを構成する呼制御パケットについてアドレス変換を行い、外部電話端末13へ送信する(S201)。一方、すなわち、外部電話端末13が200 OKレスポンスをSIPサーバ6へ送信する(S106)と、ゲートウェイ5が、200 OKレスポンスを構成する呼制御パケットについてアドレス変換を行い、SIPサーバ6へ送信する(S202)。
【0090】
このように、ゲートウェイ5がNAT装置として機能している環境で、局内電話端末7a及び外部電話端末13の間で通話を行うためには、外部電話端末13は、SIPメッセージから取得された発呼側アドレスであるIPアドレス(A)をRTPパケットの送信では用いない。すなわち、外部電話端末13は、RTPパケットの送信先アドレスを、ゲートウェイ5のグローバルIPアドレス(D)に設定する。この動作を、ラッチ動作という。
【0091】
図5に示すように、まず、下りパケットストリームでは、局内電話端末7aから、ゲートウェイ5のローカルIPアドレス(C)へRTPパケットが送信される(S110)。ゲートウェイ5は、NAT機能により、NATテーブルを参照し、RTPパケットの送信元アドレスを、IPアドレス(A)からゲートウェイ5のグローバルIPアドレス(D)に変換し、RTPパケットを送出する(S203)。
【0092】
一方、上りパケットストリームでは、外部電話端末13は、ラッチ動作により、送信元アドレスをIPアドレス(B)に、且つ、送信先アドレスをIPアドレス(A)ではなくグローバルIPアドレス(D)に設定し、ゲートウェイ5のグローバルIPアドレス(D)へRTPパケットが送信される(S204)。ゲートウェイ5は、NAT機能により、NATテーブルを参照し、RTPパケットの送信先アドレスを、グローバルIPアドレス(D)から局内電話端末7aのIPアドレス(A)に変換し、RTPパケットを送出する(S205)。
【0093】
上述のようにラッチ動作(S204)により、NAT装置であるゲートウェイ5が介在していても、局内電話端末7a及び外部電話端末13の間でRTPパケットを送受信し、音声通話を実現することができる。
【0094】
このようなラッチ動作(S204)が行われた場合、下りパケットストリームを構成するRTPパケットの送信先アドレスは、ローカルエリアネットワーク12の外側でも、NAT装置がない場合と同様に、外部電話端末13のIPアドレス(B)である。したがって、
図4を参照して説明したNAT装置がない場合と同様に、通話録音装置8では、RTPストリーム部23が、IPアドレス(B)へのRTPパケットを取得する(S112)。
【0095】
また、RTPストリーム部23は、上りパケットストリームについて、NAT装置が無い場合と同様に、送信先アドレスがIPアドレス(A)であるRTPパケットを取得することを試みる。しかし、上りパケットストリームを構成するRTPパケットは、ラッチ動作(S204)により、ローカルエリアネットワーク側では送信先アドレスがゲートウェイ5のグローバルIPアドレス(D)に設定されているので、送信先アドレスがIPアドレス(A)であるRTPパケットは検出されない。このため、このままでは、上りパケットストリームにより送信される音声を録音することができない。
【0096】
そこで、RTPストリーム部23は、下りパケットストリームを構成するRTPパケットが収集できるが、上りパケットストリームを構成するRTPパケットが収集できない場合に、上りパケットストリームについては、下りパケットストリームを構成するRTPパケットの送信元アドレスを送信先アドレスとするRTPパケットを収集する。この処理を、追従処理という(S206)。
【0097】
図6は、第1の実施の形態に係る通話録音装置におけるRTPストリーム処理を示すフローチャート図である。
図6に示すように、まず、RTPストリーム部23は、上り下り双方のパケットストリームを構成するRTPパケットを検出するため、SIPセッション部22で取得した発呼側アドレス(IPアドレス(A))及び着呼側アドレス(IPアドレス(B))を、上りパケットストリームを構成するRTPパケット(以下、上りのRTPパケットという)を検出するための第1のアドレス、及び、下りパケットストリームを構成するRTPパケット(以下、下りのRTPパケットという)を検出するための第2のアドレスにそれぞれ設定する(S1)。
【0098】
次に、RTPストリーム部23は、追従処理を実行する。
図6に示すように、まず、RTPストリーム部23は、上りのRTPパケット、すなわち、第1のアドレス(局内電話端末7aのIPアドレス(A))を送信先アドレスにするRTPパケットの数(A_count)と、下りのRTPパケット、すなわち、第2のアドレス(外部電話端末13のIPアドレス(B))を送信先アドレスにするRTPパケットの数(B_count)と、を計測する(S2)。計測は、例えば、最初のパケットを受信してから200msの期間について行う。
【0099】
次に、RTPストリーム部23は、下りのRTPパケットの数(B_count)がゼロか否か判定する(S3)。Noであった場合、S6に進む。
【0100】
S3でYesであった場合、RTPストリーム部23は、上りのRTPパケットの数(A_count)が閾値を超えるか否か判定する(S4)。閾値は、例えば、通常発生しうる遅延と、1パケットで送信される音声の長さを数倍から数十倍した値に基づいて設定することができる。Noであった場合、S6に進む。
【0101】
S4でYesであった場合、ラッチ動作が行われていると判断し、下りのRTPパケットの送信先アドレスを、上りのRTPパケットの送信元アドレスで再設定する(S5)。
【0102】
次いで、上りのRTPパケット及び下りのRTPパケットの送信先アドレスの設定に従って、上り下り双方のパケットストリームを構成するRTPパケットを収集する(S6)。
【0103】
上述のように、追従処理(S2〜S5)によって、RTPストリーム部23は、送信先アドレスがゲートウェイ5のグローバルIPアドレス(D)であるRTPパケットを取得し、RTPパケットから音声データを取り出し、音声キュー24へ順次出力する。この結果、ゲートウェイ5が存在する場合にも、上りのパケットストリームから通話録音を行うことができる。
【0104】
以上説明した本実施の形態によれば、追従処理により、NAT装置がある環境で、外部電話端末13でのラッチ動作が行われ、下りのRTPパケットの送信元アドレス(グローバルIPアドレス(D))が、SIPメッセージの呼制御情報から取得した発呼側アドレス(IPアドレス(A))と異なっていても、上り下り双方のパケットストリームを検出し、通話録音を行うことができる。
【0105】
(第2の実施の形態)
以下、VoIP環境での音声通話を録音する通話録音システムに、本発明の情報記録制御装置を適用した第2の実施の形態について説明する。以下の説明では、情報記録制御装置として通話録音装置を例示する。
【0106】
第1の実施の形態では、ラッチ動作によって、NAT装置がある環境で、外部電話端末13でのラッチ動作が行われ、RTPパケットの送信先アドレスが、SIPメッセージの呼制御情報から取得した発呼側アドレスと異なった場合について説明した。第2の実施の形態では、NAT装置がある環境で、局内電話端末7aが、NAT解決技術を用いた場合について説明する。
【0107】
図7は、第2の実施の形態に係る通話録音装置を含む通話録音システムの全体構成を示す模式図である。
図1を参照して説明した通話録音システム1と同様の構成については、同一の番号を付し、説明を省略する。
【0108】
図7に示すように、通話録音システム70では、光通信ネットワーク2に、光回線終端装置(ONU)3を介してゲートウェイ71が通信可能に接続されている。ゲートウェイ71には、スイッチングハブ72が通信可能に接続されている。スイッチングハブ72の複数のポートには、SIPサーバ6及び局内電話端末7a〜7cが接続されている。また、スイッチングハブ72のミラーポート72aには、通話録音装置8が通信可能に接続されている。
【0109】
図8は、第2の実施の形態に係る通話録音装置での通話録音手順を示すシーケンス図である。
図8に示すように、まず、局内電話端末7aで外部電話端末13の呼び出しの操作を行う(S401)と、局内電話端末7aは、ゲートウェイ71に、UPnPに従って、自らに割り当てられたグローバルIPアドレス(D)を問い合わせる(S402)。ゲートウェイ71のNAT機能は、UPnPに準拠し、局内電話端末7aに割り当てられたグローバルIPアドレス(D)を返信する(S403)。
【0110】
次に、局内電話端末7aは、外部電話端末13を呼び出すためのINVITEリクエストをSIPサーバ6へ送信する(S404)。
図8中、「INVITE W/D」とあるのは、INVITEリクエストを構成する呼制御パケットに、局内電話端末7aに割り当てられたグローバルIPアドレス(D)が含まれていることを示している。
【0111】
SIPサーバ6は、局内電話端末7aから受信したINVITEリクエストを、外部電話端末13へ転送する(S405)。通話録音装置8では、パケットキャプチャ部21が、スイッチングハブ72のミラーポート72aからINVITEリクエストを構成する呼制御パケットを取り込み、SIPセッション部22へ出力する(
図3参照)。SIPセッション部22は、INVITEリクエストの呼制御パケットを解析し、発呼側アドレスとして、局内電話端末7aのグローバルIPアドレス(D)を取得する(S406)。
【0112】
ゲートウェイ71は、INVITEリクエストを構成する呼制御パケットについてアドレス変換を行い、外部電話端末13へ送信する(S407)。
【0113】
外部電話端末13で、INVITEリクエストに対応して応答処理として受話器が上げられると(S408)、200 OKレスポンス(
図8中、200/INVITEと記す)をSIPサーバ6へ送信する(S409)。
図8中、「200/INVITE W/B」とあるのは、200 OKレスポンスを構成する呼制御パケットに、外部電話端末13のIPアドレス(B)が含まれていることを示している。
【0114】
外部電話端末13が200 OKレスポンスをゲートウェイ71へ送信する(S409)と、ゲートウェイ71が、200 OKレスポンスを構成する呼制御パケットについてアドレス変換を行い、SIPサーバ6へ送信する(S410)。
【0115】
通話録音装置8では、パケットキャプチャ部21が、スイッチングハブ72のミラーポート72aから200 OKレスポンスを構成する呼制御パケットを取り込み、SIPセッション部22へ出力する(
図3参照)。SIPセッション部22は、200 OKレスポンスの呼制御パケットを解析し、着呼側アドレスとして、外部電話端末13のIPアドレス(B)を取得する(S411)。SIPサーバ6は、ゲートウェイ71から受信した200 OKレスポンスを局内電話端末7aへ転送する(S412)。
【0116】
局内電話端末7a及び外部電話端末13の間では、相互に交換した相手側のIPアドレス(D)、(B)を用いて通話を開始する(S413)。すなわち、下りパケットストリームでは、局内電話端末7aは、話し手の音声を音声データに変換し、さらに、音声データを、外部電話端末13のIPアドレス(B)を送信先アドレスに設定したRTPパケットに変換し、送出する(S414)。ゲートウェイ71は、NAT機能により、NATテーブルを参照し、RTPパケットの送信元アドレスを、IPアドレス(A)からゲートウェイ5のグローバルIPアドレス(D)に変換し、RTPパケットを送出する(S415)。
【0117】
一方、上りパケットストリームでは、外部電話端末13は、送信元アドレスをIPアドレス(B)に、且つ、送信先アドレスをIPアドレス(A)ではなく、S407で送信されてきたINVITEリクエストのグローバルIPアドレス(D)に設定し、ゲートウェイ71へRTPパケットが送信される(S416)。ゲートウェイ71は、NAT機能により、NATテーブルを参照し、RTPパケットの送信先アドレスを、グローバルIPアドレス(D)から局内電話端末7aのIPアドレス(A)に変換し、RTPパケットを送出する(S417)。
【0118】
上述のように、NAT解決技術により局内電話端末7aが、ゲートウェイ71によって自らに割り当てられたグローバルIPアドレス(D)を把握し、INVITEリクエスト(404)に含めている。このため、通話録音装置8のSIPセッション部22が検出する発呼側アドレスは、局内電話端末7aのIPアドレス(A)ではなく、グローバルIPアドレス(D)になる。したがって、通話録音装置8のRTPストリーム部23は、発呼側アドレスとしてグローバルIPアドレス(D)を、着呼側アドレスとしてIPアドレス(B)を、それぞれ送信先とするRTPパケットを検出し、上り下り双方のパケットストリームを検出し、それぞれを構成するRTPパケットを収集するように動作する。
【0119】
このような場合に、
図8に示すように、ローカルエリアネットワーク12の内側に通話録音装置8を配置したとき、まず、下りパケットストリームを構成するRTPパケットの送信先アドレスは、NAT装置がない場合と同様に、外部電話端末13のIPアドレス(B)である。したがって、通話録音装置8では、RTPストリーム部23は、IPアドレス(B)へのRTPパケットを取得する(S418)。
【0120】
一方、RTPストリーム部23は、上りパケットストリームについて、送信先アドレスがIPアドレス(D)であるRTPパケットを取得することを試みる。しかし、上りパケットストリームを構成するRTPパケットは、ゲートウェイ71のNAT機能用により、送信先アドレスがゲートウェイ71のグローバルIPアドレス(D)からIPアドレス(A)に変換されている(S416、S417)ので、送信先アドレスがグローバルIPアドレス(D)であるRTPパケットは検出されない。このため、このままでは、上りパケットストリームにより送信される音声を録音することができない。
【0121】
そこで、RTPストリーム部23は、追従処理(S419)を行う。つまり、下りのパケットストリームを構成するRTPパケットの送信元アドレス(IPアドレス(A))が、SIPセッション部22が検出した発信側アドレス(グローバルIPアドレス(D))と異なり、上りパケットストリームを構成するRTPパケットが収集できない場合に、上りパケットストリームについては、下りパケットストリームを構成するRTPパケットの送信元アドレス、すなわちIPアドレス(A)を送信先アドレスとするRTPパケットを収集する。
【0122】
第2の実施の形態における追従処理(S419)は、第1の実施の形態において、
図6を参照して説明した追従処理(
図6中、S2〜5)と同様である。ただし、第1の実施の形態において、第1のアドレスに局内電話端末7aのIPアドレス(A)を設定していたところを、局内電話端末7aに割り当てられたグローバルIPアドレス(D)と読み替える。したがって、
図6のS2では、第1のアドレスとしてグローバルIPアドレス(D)を送信先アドレスとするRTPパケットの数を計測する。
【0123】
追従処理(S419)によって、RTPストリーム部23は、送信先アドレスがIPアドレス(A)であるRTPパケットを取得し、RTPパケットから音声データを取り出し、音声キュー24へ順次出力する。この結果、ゲートウェイ71が存在する場合にも、上りのパケットストリームから通話録音を行うことができる。
【0124】
以上説明した本実施の形態によれば、追従処理により、NAT装置がある環境で、局内電話端末7aがNAT解決技術を用い、上りのRTPパケットの送信先アドレス(IPアドレス(A))が、SIPメッセージの呼制御情報から取得した発呼側アドレス(グローバルIPアドレス(D))と異なっていても、上り下り双方のパケットストリームを検出し、通話録音を行うことができる。
【0125】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施の形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【0126】
上述の実施の形態では、ローカルエリアネットワーク12側の局内電話端末7aが発呼側であり、光通信ネットワーク2側の外部電話端末13が着呼側である場合について説明したが、その逆の場合にも適用可能である。その場合、ラッチ追随処理では、
図6に示すS3において、RTPストリーム部23は、上りのRTPパケットの数(A_count)がゼロか否か判定する。また、S4において、RTPストリーム部23は、下りのRTPパケットの数(B_count)が閾値を超えるか否か判定する。
【0127】
また、上述の実施の形態では、中央制御部101(
図2参照)によって、呼制御情報取得部であるSIPセッション部22(
図3参照)及び主情報収集部であるRTPストリーム部23(
図3参照)の両方を実現する場合を例に挙げて説明したが、SIPセッション部22及びRTPストリーム部23をそれぞれ異なるプロセッサで実現しても良い。
【0128】
また、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0129】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0130】
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的に(例えば、当該所定の情報の通知を行わないことによって)行われてもよい。
【0131】
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。