(57)【要約】【課題】ＶｏＩＰを使用したＩＰ電話の環境で通話セッション毎に必要なＩＰパケットを保存する処理を、システム負荷を軽減しながら高速に実行する。【解決手段】本発明のパケットロギングシステムは、ＩＰ電話の接続を中継するスイッチングハブを介して受信されるデータからＶｏＩＰパケットを抽出して第１のテンポラリＤＢ８１に一時保存する第１のログ保存部６１と、ＶｏＩＰパケットからシグナリングパケットを抽出する第１のパケット抽出部６２と、シグナリングパケットから音声ストリーム情報を判別して第１の記憶装置から音声ストリームパケットを抽出する第２のパケット抽出部６３と、抽出されたシグナリングパケットと音声ストリームパケットとを関連付け、セッション毎に第２の記憶装置８２に保存するログ保存部６５で構成される。【選択図】      図２
2005223594.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰ電話の接続を中継するハブを介して受信されるデータからＶｏＩＰパケットを抽出して第１の記憶装置に一時保存する第１のパケット保存部と、
前記第１の記憶装置に保存されたＶｏＩＰパケットからシグナリングパケットを抽出する第１のパケット抽出部と、
前記抽出されたシグナリングパケットから音声ストリーム情報を判別して前記第１の記憶装置から音声ストリームパケットを抽出する第２のパケット抽出部と、
前記抽出されたシグナリングパケットと音声ストリームパケットとを関連付け、セッション毎に第２の記憶装置に保存するログ保存部と、
を備えたことを特徴とするパケットロギングシステム。
【請求項２】
前記ログ保存部は、
前記第１のパケット抽出部により抽出されたシグナリングパケットのスタート、エンドを判別して、前記第２の記憶装置における記憶領域の確保と閉鎖を行い、前記第２のパケット抽出部により抽出された音声ストリームパケットを判別して前記第２の記憶装置の確保された記憶領域へログ保存を開始することを特徴とする請求項１に記載のパケットロギングシステム。
【請求項３】
前記第１の記憶装置に未抽出の音声ストリームパケットが残存した場合、当該残存する音声ストリームパケットのヘッダ情報を参照し、セッションが同じで複数あるパケットを抽出して同一セッションの音声ストリームパケットとして前記第２の記憶装置に追加保存するシグナリングパケット補間部と、
を備えたことを特徴とする請求項１または２に記載のパケットロギングシステム。
【請求項４】
音声ストリームパケットが一部ロストしていた場合、前記第１の記憶装置に残存する音声ストリームパケットのヘッダ情報を参照し、ロストしたパケットの前後のシーケンス番号に相当する音声ストリームパケットを読み出し、当該前後の音声ストリームパケットをコピーして前記ロストしたパケットのシーケンス番号を割当て、前記コピーした音声ストリームパケットを前記第２の記憶装置に追加保存する音声ストリームパケット補間部と、
を備えたことを特徴とする請求項１または２に記載のパケットロギングシステム。
【請求項５】
ＩＰ環境における電話プロトコルを使用してＩＰ電話のログを取得するパケットロギングシステムに用いられるプログラムであって、
前記ＩＰ電話の接続を中継するハブを介して受信されるデータからＶｏＩＰパケットを抽出して第１の記憶装置に一時保存する処理と、
前記第１の記憶装置に保存されたＶｏＩＰパケットからシグナリングパケットを抽出する処理と、
前記抽出されたシグナリングパケットから音声ストリーム情報を判別して前記第１の記憶装置から音声ストリームパケットを抽出する処理と、
前記抽出されたシグナリングパケットと音声ストリームパケットとを関連付け、セッション毎に第２の記憶装置に保存する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶｏＩＰ（ＩＰ環境における電話プロトコル）を使用してＩＰ電話のログを取得する用途に用いて好適な、パケットロギングシステムおよびプログラムに関する。
【背景技術】
【０００２】
通信コストの低減を目的にＶｏＩＰ（Voice over Internet Protocol）電話が普及し、コンピュータと電話／音声通信を融合するＣＴＩ（Computer Telephony Information）システムへの応用が注目されるようになった。
【０００３】
例えば、コールセンタにおいて電話のログを取得するシステムの一つに、Ａｄｖａｎｃｅｄ Ｍｅｄｉａ社の「Ａｍｉ Ｖｏｉｃｅ Ｃａｌｌ Ｓｃｒｉｂｅｒ」が知られている。本システムは、通話録音装置で録音された音声を認識し、認識結果と発話毎に分割された音声を保存するサーバを基本構成とする（例えば、非特許文献１参照）。
また、ログイット社のＮｉｃｅＬｏｇ（登録商標）も知られている。当該製品は、ＶｏＩＰ録音を可能にした記録装置であって、ＩＰパケット中のＨ．３２３情報をスニファーすることによって音声データを記録する、あるいは、ネットワーク上に多地点会議装置（ＭＣＵ）を配置しておき、そのＭＣＵからＨ．３２３情報を取得することによって音声データを記録する（例えば、非特許文献２参照）。
【非特許文献１】http://advanced-media.co.jp/prooducts/1502.html＜インターネット＞２００４年１月１５日閲覧、「Ａｍｉ Ｖｏｉｃｅ ｓｅｒｉｅｓ製品情報」
【非特許文献２】http://www.logit.co.jp/products/nicelog/voip.html＜インターネット＞２００４年１月１５日閲覧、ログイット株式会社Ｐｒｏｄｕｃｔｓ［製品紹介］「ＶｏＩＰ録音を可能にした最新のＩＰレコーディング」
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記したＶｏＩＰを使用したＩＰ電話環境において、ロギングサーバは本来のセッションに関与していないため、ステートフルな動作が難しく、また、ＩＰパケットのロスト、再送による重複パケットを判別しなければならず、余計な処理が増え、従って、システムにかかる負荷は無視できない。
また、図８に示されるように、ＶｏＩＰでは、呼制御、通信情報、ＲＴＰ（Real Time Transport Protocol）接続のための情報等に関するシグナリングの転送は、ＴＣＰ（Transmission Control Protocol）を使用するため、ＩＰパケットは完全に相手側に送信される。しかしながら、音声の転送はＵＤＰ（User Datagram Protocol）を使用するため、ＩＰパケットを完全に相手側に送信することは保証されず、従って送信途中でＩＰパケットを失う（ロストする）ことが多々ある。また、ＩＰパケットの取得および保存する処理が遅いとアプリケーションが追随できず、一層、ＩＰパケットをロストする可能性が高くなる。このようにＩＰパケットがロストしたことによって不足すると音声認識の精度が低下する。
【０００５】
本発明は上記諸々の事情に鑑みてなされたものであり、ＶｏＩＰを使用したＩＰ電話の環境で通話ログを取得し、後の工程で音声を抽出し認識を行いテキスト化したときに通話セッション毎に必要なＩＰパケットを保存する処理を、システム負荷を軽減しながら高速に実行可能な、パケットロギングシステムおよびプログラムを提供することを目的とする。
また、ＩＰパケットの一部がロストしたとき、そのロストしたＩＰパケットを補間することで、音声認識に与える影響を回避したパケットロギングシステムおよびプログラムを提供することも目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために本発明のパケットロギングシステムは、ＩＰ電話の接続を中継するハブを介して受信されるデータからＶｏＩＰパケットを抽出して第１の記憶装置に一時保存する第１のパケット保存部と、前記第１の記憶装置に保存されたＶｏＩＰパケットからシグナリングパケットを抽出する第１のパケット抽出部と、前記抽出されたシグナリングパケットから音声ストリーム情報を判別して前記第１の記憶装置から音声ストリームパケットを抽出する第２のパケット抽出部と、前記抽出されたシグナリングパケットと音声ストリームパケットを関連付け、通話セッション毎に第２の記憶装置に保存するログ保存部と、を備えたことを特徴とする。
【０００７】
また、本発明において、前記ログ保存部は、前記第１のパケット抽出部により抽出されたシグナリングパケットのスタートエンドを判別して、前記第２の記憶装置における記憶領域の確保と閉鎖を行い、前記第２のパケット抽出部により抽出されたストリームパケットを判別して前記第２の記憶装置の確保された記憶領域へログ保存を開始することを特徴とする。
【０００８】
また、本発明において、前記第１の記憶装置に未抽出の音声ストリームパケットが残存した場合、当該残存する音声ストリームパケットのヘッダ情報を参照し、セッションが同じで複数あるパケットを抽出して同一セッションの音声ストリームパケットとして前記第２の記憶装置に追加保存するシグナリングパケット補間部と、を備えたことを特徴とする。
【０００９】
また、本発明において、音声ストリームパケットが一部ロストしていた場合、前記第１の記憶装置に残存する音声ストリームパケットのヘッダ情報を参照し、ロストしたパケットの前後のシーケンス番号に相当する音声ストリームパケットを読み出し、当該前後の音声ストリームパケットをコピーして前記ロストしたパケットのシーケンス番号を割当て、前記コピーした音声ストリームパケットを前記第２の記憶装置に追加保存する音声ストリームパケット補間部と、を備えたことを特徴とする。
【００１０】
上記した課題を解決するために本発明は、ＩＰ環境における電話プロトコルを使用してＩＰ電話のログを取得するパケットロギングシステムに用いられるプログラムであって、前記ＩＰ電話の接続を中継するハブを介して受信されるデータからＶｏＩＰパケットを抽出して第１の記憶装置に一時保存する処理と、前記第１の記憶装置に保存されたＶｏＩＰパケットからシグナリングパケットを抽出する処理と、前記抽出されたシグナリングパケットから音声ストリーム情報を判別して前記第１の記憶装置から音声ストリームパケットを抽出する処理と、前記抽出されたシグナリングパケットと音声ストリームパケットを関連付け、セッション毎に第２の記憶装置に保存する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１のパケット抽出部が、受信したＶｏＩＰパケットの全てを第１の記憶装置（データベース）に保存するため、受信時の処理を少なくでき、データベースを利用することで、システムは遅延書き込み等の制御から解放されるため、処理にかかる負荷を軽減しながら高速な保存処理を実現できる。また、第２のパケット抽出部が、第１の記憶装置からシグナリングパケットを抽出し、当該シグナリングパケットからストリームパケットを抽出でき、また、ログ保存部が、シグナリングパケットと音声ストリームとを関連付けることで、後の工程で音声ストリームを抽出して音声認識を行い、音声認識されたテキストと音声とを対応付けて保存できるように通話セッション毎に必要なパケットを整理して保存する処理を実現でき、このことにより、パケットロストによって音声認識に与える悪影響を極力回避できる。
【００１２】
また、ログ保存部が、シグナリングパケットのスタートエンドを判別して第２の記憶装置の領域確保を行い、抽出された音声ストリームパケットを判別してログ保存を開始することで、電話の通話セッション毎に必要なパケットを整理して保存することができる。更に、通話セッション毎に整理して保存する際、ＩＰパケットの一部がロストしたとき、シグナリングパケット補間部、あるいは音声ストリームパケット補間部が、第１の記憶装置に保存したＶｏＩＰパケットに基づきそれぞれで所管するロストしたパケットを追加保存することでＩＰパケットの一部がロストしても音声認識に与える影響を回避したパケットロギングシステムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明実施形態におけるパケットロギングシステムの構成を示す図である。ここでは、ＶｏＩＰを利用したＩＰ電話の接続環境におけるコールセンタのネットワーク構築例が示されている。
【００１４】
図１において、符号１、２は、互いに送信元、送信先となるＩＰ電話であり、両者は、ＩＰ／ＰＳＴＮ（Public Switched Telephone Network）網３を介して接続される。符号４は、ＧＷ（Gate Way）／ルータであり、ＩＰ電話１、２間の通信を中継する。また、ＧＷ／ルータ４とＩＰ電話２間にはスイッチングハブ５が接続され、当該スイッチングハブ５は、ＩＰ電話１、２間の通信データを取り込み、そしてその通信データはロギングサーバ６によってスニッフィングされ、採取された通信データのログはデータベース（ＤＢ８）へ保存される。また、符号７は、音声認識サーバであり、ＤＢ８に保存されたログを読み込んで音声認識（音声テキスト変換）を行い、その結果であるテキストデータと音声データとを通話セッション毎に対応づけてＤＢ８に保存する。
なお、符号９は、検索用ＰＣであり、テキストをキーにＤＢ８を参照して必要な音声データを検索して再生することができる。
【００１５】
図２は、図１に示すロギングサーバ６の内部構成の一例を示すブロック図である。ここでは本発明と関係するブロックのみ抽出して示されている。ロギングサーバ６は、ログ保存部（ＶｏＩＰ）６１と、テンポラリＤＢ８１と、パケット抽出部（シグナリング）６２と、パケット抽出部（音声ストリーム）６３と、セッション識別部６４と、ログ保存部６５と、パケット補間部（シグナリング／音声ストリーム）６６と、ログＤＢ８２で構成される。
【００１６】
ログ保存部６１は、ＩＰ電話１、２の接続を中継するスイッチングハブ５を介して受信されるデータからＶｏＩＰパケットを抽出してテンポラリＤＢ８１に一時保存する。また、パケット抽出部６２は、テンポラリＤＢ８１に保存されたＶｏＩＰパケットからシグナリングパケットを抽出し、パケット抽出部６３は、抽出されたシグナリングパケットから音声ストリーム情報を判別してテンポラリＤＢ８１から音声ストリームパケットを抽出する。
セッション識別部６４は、通話セッションの識別処理を行いログ保存部６５へその識別情報を供給する。ログ保存部６５は、パケット抽出部６２で抽出されたシグナリングパケットと、パケット抽出部６３で抽出された音声ストリームパケットとをセッション識別部で識別された識別情報に基づき関連付け、セッション毎にログＤＢ８２に保存する。
【００１７】
なお、ログ保存部６５は、パケット抽出部６２により抽出されたシグナリングパケットのスタート、エンドを判別して、ログＤＢ８２における記憶領域の確保と閉鎖を行い、パケット抽出部６３により抽出された音声ストリームパケットを判別してログＤＢ８２に確保された記憶領域へログ保存を開始する。
一方、パケット補間部６６は、テンポラリＤＢ８１に未抽出の音声ストリームパケットが残存した場合、当該残存する音声ストリームパケットのヘッダ情報を参照し、セッションが同じで複数あるパケットを抽出して同一セッションの音声ストリームパケットとしてログＤＢ８２に追加保存する。また、音声ストリームパケットが一部ロストしていた場合、テンポラリＤＢ８１に残存する音声ストリームパケットのヘッダ情報を参照し、ロストしたパケットの前後のシーケンス番号に相当する音声ストリームパケットを読み出し、当該前後の音声ストリームパケットをコピーしてロストしたパケットのシーケンス番号を割当て、コピーした音声ストリームパケットをログＤＢ８２に追加保存する。
【００１８】
図３は、本発明実施形態の基本動作を説明するために引用したフローチャートであり、図４、図５にロギング処理の詳細動作が示されている。図４、図５は、本発明のフログラムの処理手順も示している。
また、図６〜図８は、いずれも動作概念図であり、図３〜図５に示すフローチャートの理解を助ける意味で引用した。
以下、図３〜図８を参照しながら図１、図２に示す本発明実施形態の動作について詳細に説明する。
【００１９】
まず、図３に示すフローチャートを参照して図１に示す本発明実施形態のパケットロギングシステムの基本動作から説明する。
まず、ＩＰ電話１、２間で通話が行われる（Ｓ３１）。このとき、ログサーバ６によるロギング処理が開始され、採取された通話ログをログＤＢ８に保存する（Ｓ３２）。ロギング処理の詳細は、図４、図５に示すフローチャートを参照しながら後述する。そして、音声認識サーバ７による音声テキスト変換が行われ（Ｓ３３）、通話セッション毎、認識されたテキストと音声と対応づけられた音声−テキスト対応テーブルが作成され、ＤＢ８に格納される（Ｓ３４）。
一方、テキストをキーにした検索要求があったときに（Ｓ３５、Ｙｅｓ）ＤＢ８に格納された音声−テキスト対応テーブルを検索して対応する音声を再生する（Ｓ３６）。
【００２０】
以下、図１、図２に示すロギングサーバ６によるロギング処理の詳細を、図４、図５に示すフローチャート、ならびに図６〜図８に示す動作概念図を参照しながら詳細に説明する。
【００２１】
図４に示すフローチャートにおいて、まず、ログ保存部６１は、ＩＰ電話１、２の接続を中継するスイッチングハブ５を介して受信されるデータからＶｏＩＰパケットを抽出してテンポラリＤＢ８１に一時保存する（Ｓ５１、Ｓ５２）。
次に、パケット抽出部６２は、テンポラリＤＢ８１に保存されたＶｏＩＰパケットからシグナリングパケットを抽出してパケット抽出部６３、およびセッション識別部６４へ供給する（Ｓ５３）。パケット抽出部６３は、ログ保存部６１により抽出され保存されたシグナリングパケットから音声ストリーム情報を判別し、更にテンポラリＤＢ８１から音声ストリームパケットを抽出してログ保存部６５へ供給する（Ｓ５４）。このときログ保存部６５は、抽出されたシグナリングパケットと音声ストリームパケットとを、セッション識別部６４によって識別された識別情報に基づき関連付け、セッション毎ログＤＢ８２に保存する（Ｓ５５）。
【００２２】
テンポラリＤＢ８１に保存されたＶｏＩＰパケットの判別処理の詳細を図５に示す。図５に示すフローチャートおいて、まず、パケット抽出部６２、６３は、テンポラリＤＢ８１に保存された全ＶｏＩＰパケットの判別を開始する（Ｓ４１）。そして、ログ保存部６５は、シグナリングと音声ストリーム、およびその他データの分類を行い（Ｓ４２）、パケット抽出部６２により抽出されたシグナリングパケットのスタート、エンドを判別して（Ｓ４３）、ログＤＢ８２における記憶領域の確保と閉鎖を行い（Ｓ４４、Ｓ４５）、また、パケット抽出部６３により抽出された音声ストリームパケットを判別して先にログＤＢ８２の確保された記憶領域へログ保存を開始する（Ｓ４７）。
なお、Ｓ４３の処理において、シグナリングパケットがその他データである場合は適切な処理を行い（Ｓ４６）、また、Ｓ４２の処理において、保存データがシグナリングパケットでも音声ストリームパケットにも該当しないその他データである場合は破棄する（Ｓ４８）。
【００２３】
図７に、ログＤＢ８２に対しセッション毎に保存されるＶｏＩＰパケットのデータ構造の一例が示されている。
図７に示されるように、セッション（＃０〜＃ｎ）毎、シグナリングでやりとりしたデータ、およびＲＴＰヘッダ付きの音声ストリームパケットが上り（アップストリーム）、下り（ダウンストリーム）毎タイムスタンプ付きで保存される。
【００２４】
説明を図４のフローチャートに戻す。以上のようにログＤＢ８２に抽出した音声ストリームパケットをセッション毎に保存した後、テンポラリＤＢ８１から未だ抽出されていない音声ストリームパケットが残った場合（Ｓ５６“有り”）、シグナリングパケットがロストしていたことになる（Ｓ５７“シグナリリング”）。
このとき、パケット補間部６６は、音声ストリームのＲＴＰヘッダ中、ＳＳＲ（Synchronization Source）値が同一で複数あるものを抽出し（Ｓ５８）、同一セッションのデータとしてログＤＢ８２に追加保存する（Ｓ５９）。また、音声ストリームパケットが一部ロストしていた場合は（Ｓ５７“音声ストリーム”）、テンポラリＤＢ８１に残存する音声ストリームパケットのヘッダ情報を参照し、ロストした前後のシーケンスＮｏ．のデータを取得する（Ｓ６０）。そして、データに誤差が少ない場合は、前後のデータをコピーし（Ｓ６１）、ロストしたシーケンスＮｏ．を割当てて追加保存する（Ｓ６２）。
【００２５】
図６に、上記した本発明のパケットロギングシステムによるログ保存のための処理が概念的に示されている。図６に示されるように、ロギングサーバ６は、受信したデータ（シグナリングパケット、音声ストリームパケット、その他データ）の全てをＤＢ８に一時保存し（ａ）、更に、上記した手順に従いＤＢ８からセッション毎に必要なパケットを抽出し、同じくＤＢ８に保存する（ｂ）。最後に、音声認識サーバ７によって認識結果であるテキストを付与してＤＢ８に追加保存して終了となる。
【００２６】
このことにより、システム負荷を減らし、採取したＩＰパケットを高速に保存処理することができ、ＩＰパケットロストが音声認識に与える影響を極力回避できる。また、シグナリングパケットやその他音声ストリームパケットの一部がロストしてもその影響を補正できる。
なお、上記した本発明実施形態では、ＶｏＩＰパケットのロギング処理と、認識処理をそれぞれロギングサーバ６、音声認識サーバ９が機能分散して協働して実現する構成についてのみ説明したが、性能さえ許せばＤＢ８を管理する単一のサーバ（図示せず）で実現しても良い。
【００２７】
また、図２に示す、ログ保存部（ＶｏＩＰ）６１、パケット抽出部（シグナリング）６２、パケット抽出部（音声ストリーム）６３、セッション識別部６４、ログ保存部６５、パケット補間部（シグナリング／音声ストリーム）６６のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明のパケットロギングシステムを実現することができる。ここでいうコンピュータシステムとは、ＯＳ（Operating System）や周辺機器等のハードウェアを含む。
【００２８】
また、「コンピュータシステム」は、ＷＷＷ（World Wide Web）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００２９】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３０】
【図１】本発明実施形態の構成例を示す図である。
【図２】図１に示すロギングサーバの内部構成を示すプロック図である。
【図３】本発明実施形態の基本動作を示すフローチャートである。
【図４】本発明実施形態によるログ保存処理の流れを示すフローチャートである。
【図５】本発明実施形態による保存データの判別処理の流れを示すフローチャートである。
【図６】本発明実施形態によるログ保存処理の動作概念図である。
【図７】本発明実施形態によりログＤＢに保存されるデータの構造の一例を示す図である。
【図８】ＶｏＩＰの概要を説明するために引用した図である。
【符号の説明】
【００３１】
１、２…ＩＰ電話、３…ＩＰ／ＰＳＴＮ網、４…ＧＷ／ルータ、５…スイッチングハブ、６…ロギングサーバ、７…音声認識サーバ、８…データベース（ＤＢ）、９…検索用ＰＣ、６１…ログ保存部（ＶｏＩＰ）、６２…パケット抽出部（シグナリング）、６３…パケット抽出部（音声ストリーム）、６４…セッション識別部、６５…ログ保存部、６６…パケット補間部（シグナリング／音声ストリーム）、８１…テンポラリＤＢ、８２…ログＤＢ
【図１】
2005223594.tif 000003
【図２】
2005223594.tif 000004
【図３】
2005223594.tif 000005
【図４】
2005223594.tif 000006
【図５】
2005223594.tif 000007
【図６】
2005223594.tif 000008
【図７】
2005223594.tif 000009
【図８】
2005223594.tif 000010