(57)【要約】【課題】試験用治具端末が生成するメッセージを試験シナリオを必要とすることなく加工できるようにして、SIPアプリケーションの動作試験にかかる手間を軽減する。【解決手段】試験装置１内のSIPメッセージ加工条件テーブル１１１に、加工対象となるSIPメッセージについて、メッセージマッチ条件、加工対象及び加工内容を予め記憶しておく。そして、被試験端末３及び治具端末２からそれぞれSIPメッセージ及びそのレスポンスを受信した場合に、上記SIPメッセージ加工条件テーブル１１１に記憶されたメッセージマッチ条件をもとに当該受信されたSIPメッセージ又はそのレスポンスが加工対象か否かを判定し、加工対象の場合に上記記憶された加工対象及び加工内容の指定情報をもとに、上記受信されたSIPメッセージ又はそのレスポンスを加工処理して、治具端末２又は被試験端末３へ向けて送信する。【選択図】図１
2015133552.tif 000002
【特許請求の範囲】
【請求項１】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信可能に接続された通信試験装置であって、
前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に用いるSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージ中の加工対象部位を指定する加工対象情報と、加工内容を指定する加工内容情報とを含む加工条件情報を記憶する加工条件記憶手段と、
SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に用いるSIPメッセージであるか否かを、前記加工条件記憶手段に記憶されたメッセージ特定情報に基づいて判定する判定手段と、
前記判定手段により前記被試験端末の試験に用いるSIPメッセージが特定された場合に、前記加工条件記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定のSIPメッセージ中の加工対象部位を加工することにより、試験用メッセージを生成する手段と、
前記生成された試験用メッセージを前記被試験端末又は治具端末へ送信する手段と
を具備することを特徴とする通信試験装置。
【請求項２】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置と、前記被試験端末、治具端末及び通信試験装置との間で通信が可能に接続されたメディアデータ加工装置とを備える通信試験システムであって、
前記通信試験装置は、
前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、前記メディアデータ加工装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を記憶する第１の記憶手段と、
SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に関係するSIPメッセージであるか否かを、前記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定する判定手段と、
前記判定手段により前記被試験端末の試験に関係するSIPメッセージが特定された場合に、前記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を前記メディアデータ加工装置のアドレス情報に変更する手段と、
前記変更されたSIPメッセージを前記被試験端末又は治具端末へ送信する手段と
を備え、
前記メディアデータ加工装置は、
メディアデータ中の加工対象部位を指定する加工対象情報と、前記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を記憶する第２の記憶手段と、
前記被試験端末又は治具端末から自己のメディアデータ加工装置を送信先とするメディアデータを受信した場合に、前記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成する生成手段と、
前記生成された試験用のメディアデータを前記治具端末又は被試験端末へ送信する手段と
を備えることを特徴とする通信試験システム。
【請求項３】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置であって、
前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、前記自己の通信試験装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を記憶する第１の記憶手段と、
メディアデータ中の加工対象部位を指定する加工対象情報と、前記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を記憶する第２の記憶手段と、
SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に関係するSIPメッセージであるか否かを、前記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定する判定手段と、
前記判定手段により前記被試験端末の試験に関係するSIPメッセージが特定された場合に、前記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を、自己の通信試験装置のアドレス情報に変更する変更手段と、
前記変更されたSIPメッセージを前記被試験端末又は治具端末へ送信する手段と、
前記被試験端末又は治具端末から自己の通信試験装置を送信先とするメディアデータを受信した場合に、前記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成する手段と、
前記生成された試験用のメディアデータを前記治具端末又は被試験端末へ送信する手段と
を具備することを特徴とする通信試験装置。
【請求項４】
前記変更手段は、
前記被試験端末の試験に関係するSIPメッセージが受信されるごとに、自己の通信試験装置のIPアドレスと、メディアデータを受信するためのポート番号をランダムに生成し設定する手段と、
前記第１の記憶手段に記憶された加工対象情報に基づいて、前記受信されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を、前記ランダムに生成し設定されたIPアドレス及びポート番号に変更する手段と
を備えることを特徴とする請求項３記載の通信試験装置。
【請求項５】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信可能に接続された通信試験装置が実行する通信試験方法であって、
前記通信試験装置が、前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に用いるSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージ中の加工対象部位を指定する加工対象情報と、加工内容を指定する加工内容情報とを含む加工条件情報を加工条件記憶手段に記憶させる過程と、
前記通信試験装置が、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に用いるSIPメッセージであるか否かを、前記加工条件記憶手段に記憶されたメッセージ特定情報に基づいて判定する過程と、
前記通信試験装置が、前記判定過程において前記被試験端末の試験に用いるSIPメッセージが特定された場合に、前記加工条件記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定のSIPメッセージ中の加工対象部位を加工することにより、試験用メッセージを生成する過程と、
前記生成された試験用メッセージを前記被試験端末又は治具端末へ送信する過程と
を具備することを特徴とする通信試験方法。
【請求項６】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置と、前記被試験端末、治具端末及び通信試験装置との間で通信が可能に接続されたメディアデータ加工装置とを備える通信試験システムが実行する通信試験方法であって、
前記通信試験装置が、前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、前記メディアデータ加工装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を第１の記憶手段に記憶させる過程と、
前記通信試験装置が、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に関係するSIPメッセージであるか否かを、前記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定する過程と、
前記通信試験装置が、前記判定過程において前記被試験端末の試験に関係するSIPメッセージが特定された場合に、前記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を前記メディアデータ加工装置のアドレス情報に変更する過程と、
前記通信試験装置が、前記変更されたSIPメッセージを前記被試験端末又は治具端末へ送信する過程と、
前記メディアデータ加工装置が、メディアデータ中の加工対象部位を指定する加工対象情報と、前記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を第２の記憶手段に記憶させる過程と、
前記メディアデータ加工装置が、前記被試験端末又は治具端末から自己のメディアデータ加工装置を送信先とするメディアデータを受信した場合に、前記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成する過程と、
前記メディアデータ加工装置が、前記生成された試験用のメディアデータを前記治具端末又は被試験端末へ送信する過程と
を具備することを特徴とする通信試験方法。
【請求項７】
各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置が実行する通信試験方法であって、
前記通信試験装置が、前記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、前記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、前記自己の通信試験装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を第１の記憶手段に記憶させる過程と、
前記通信試験装置が、メディアデータ中の加工対象部位を指定する加工対象情報と、前記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を第２の記憶手段に記憶させる過程と、
前記通信試験装置が、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが前記被試験端末の試験に関係するSIPメッセージであるか否かを、前記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定する過程と、
前記通信試験装置が、前記判定過程において前記被試験端末の試験に関係するSIPメッセージが特定された場合に、前記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を、自己の通信試験装置のアドレス情報に変更する過程と、
前記通信試験装置が、前記変更されたSIPメッセージを前記被試験端末又は治具端末へ送信する過程と、
前記通信試験装置が、前記被試験端末又は治具端末から自己の通信試験装置を送信先とするメディアデータを受信した場合に、前記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、前記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成する過程と、
前記通信試験装置が、前記生成された試験用のメディアデータを前記治具端末又は被試験端末へ送信する過程と
を具備することを特徴とする通信試験方法。
【請求項８】
請求項５乃至７の何れかに記載の通信試験方法が具備する各過程において実行される処理を、前記通信試験装置又は通信試験システムが具備するコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被試験端末と治具端末との間で、SIP（Session Initiation Protocol）アプリケーションの動作試験を行うための通信試験方法、装置及びプログラムに関する。
【背景技術】
【０００２】
IP（Internet Protocol）電話等、通信を行うアプリケーションにおいて、通信に先だって、相手との通信における各種パラメータのネゴシエーション、ファイアウォール制御を含むネットワーク経路上の通信路の確立が必要となる場合がある。そのためのプロトコルとしてSIP（Session Initiation Protocol）が広く利用されている。
【０００３】
SIPアプリケーション間において、メディア通信に利用するプロトコル、コーデック、パラメータ等に加えて、受信用のIPアドレスやポート番号のネゴシエーションを行うためにSDP(Session Description Protocol)が利用される。SIPの詳細についてはRFC3261（Request For Comment 3261; http://www.ietf.org/rfc/rfc3261.txt）を、SDPの詳細についてはRFC4566（Request For Comment 4566; http://www.ietf.org/rfc/rfc4566.txt）を参照。
【０００４】
SIPアプリケーションが実行するメディア通信は、音声や映像に限定されておらず、多種多様なデータ通信を行うことが可能である。また、SIPアプリケーションでは、通常、電話番号を使い簡単な操作で相手を指定することができる。そのため、多種多様なメディア通信機能を取り込んだSIPアプリケーションの開発がなされている。
【０００５】
SIPアプリケーションの開発においては、しばしば既存アプリケーションや新規アプリケーションとの相互接続性を確認する必要に迫られる。特に、メディア通信の内容がデータ通信である場合には、データのフォーマットの一部を変更しても正常に動作するかどうか、といった内容の確認試験が行われており、SIPアプリケーションの動作試験を効率的に行うことが求められている。
【０００６】
そこで、以下のような技術が提案されている。すなわち、先ず予め準備した試験シナリオに基づいて通信メッセージを生成し、被試験端末との間でその通信メッセージの送受信を行い、通信ログを取得する。次に、通信ログに記録された通信メッセージの仕様が、予め準備したルールが適合するか否かを判定する。更に、複数の被試験端末から得られた上記の通信ログを比較し、差分及び判定結果を合わせて表示する（例えば特許文献１を参照）。
【０００７】
また、その他の関連技術として、透過型プロキシと呼ばれる技術が提案されている。透過型プロキシは、機器同士が通信を行うネットワーク経路上に設置され、それぞれの通信機器に存在を意識されることなく、IPパケット等に含まれるメッセージの加工を行った上で中継するものである。具体的な例としては、透過型プロキシとして動作可能なsquidといったHTTPプロキシが知られている（例えば非特許文献１を参照）。透過型プロキシは、予め設定された特定の宛先アドレスが設定されたIPパケットに対して動作する。例えば、透過型HTTPプロキシの場合には、通常、宛先ポート番号が“80”であるIPパケットに対して動作するように設定される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４７６３７５１号
【非特許文献】
【０００９】
【非特許文献１】「squid による透過型プロキシ」、インターネット＜URL:http://archive.linux.or.jp/JF/JFdocs/TransparentProxy.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところが、特許文献１に記載された検査装置を利用する場合、試験用の治具端末を模擬するかたちで当該検査装置が被試験端末と通信を行うことになる。そのため、試験用治具端末が送信する通信メッセージを準備しておくと共に、被試験端末から受信した通信メッセージに応じて、準備しておいた通信メッセージを被試験端末に対して送信するための試験シナリオを準備しておく必要がある。また、試験用の治具端末が複数あり、被試験端末に対して送信する通信メッセージに個別の差異が存在する場合、それぞれの試験用の治具端末を模擬するための試験シナリオを、個別の試験用治具端末に合わせて準備しなければならない。
【００１１】
また、非特許文献１に記載された従来の透過型プロキシには以下のような課題があった。すなわち、SIPアプリケーションの場合、メディア通信に利用するIPアドレスやポート番号は、毎回の通信において同一である保証はない。このため、確実にプロキシ機能を動作させることは困難である。
【００１２】
また、従来の透過型プロキシは、予め設定したポート番号宛てのパケットに対してプロキシ機能を動作させるため、SIPアプリケーションが行うメディア通信でない場合、SIPを使わず単独で開始したメディア通信である場合であっても、プロキシ機能が動作してしまう。さらに、SIPアプリケーションとしてではなく、被試験端末もしくは他の端末上でメディア通信モジュールが単独で行う通信に対しても、プロキシ機能が動作してしまう。
【００１３】
すなわち、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合で、治具端末が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してもプロキシ機能が動作してしまう。例えば、メディア通信の内容がHTTPサーバへのアクセスである場合、SIPアプリケーションが行うメディア通信であるか否かに拘わらず、“80”番ポート宛のTCPパケットに対してプロキシ機能が動作してしまう。
【００１４】
この発明は上記事情に着目してなされたもので、その第１の目的は、試験用の治具端末が生成するメッセージを、試験シナリオを用いることなく加工できるようにし、これによりSIPアプリケーションの動作試験にかかる手間を軽減して試験を簡易に行えるようにした通信試験方法、装置及びプログラムを提供することにある。
【００１５】
第２の目的は、メディア通信に利用するIPアドレスやポート番号が毎回の通信において同一ではない場合でも確実にプロキシ機能を動作させ、かつSIPを使わず単独で開始したメディア通信や、SIPアプリケーションとしてではなく被試験端末もしくは他の端末上でメディア通信モジュールが単独で行う通信に対してはプロキシ機能が動作しないようにした通信試験方法、装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記第１の目的を達成するためにこの発明の第１の観点は、以下のような手段を講じたものである。  
すなわち、各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信可能に接続された通信試験装置にあって、当該通信試験装置に加工条件記憶手段を設ける。この加工条件記憶手段には、上記被試験端末と治具端末との間で転送される、当該被試験端末の試験に用いるSIPメッセージを特定するメッセージ特定情報と、上記SIPメッセージ中の加工対象部位を指定する加工対象情報と、加工内容を指定する加工内容情報とを含む加工条件情報を記憶させる。そして、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが上記被試験端末の試験に用いるSIPメッセージであるか否かを、上記加工条件記憶手段に記憶されたメッセージ特定情報に基づいて判定し、試験に用いるSIPメッセージが特定された場合に、上記加工条件記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、上記特定のSIPメッセージ中の加工対象部位を加工することにより、試験用メッセージを生成し、当該生成された試験用メッセージを上記被試験端末又は治具端末へ送信する。
【００１７】
上記第２の目的を達成するためにこの発明の第２の観点は、各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置と、上記被試験端末、治具端末及び通信試験装置との間で通信が可能に接続されたメディアデータ加工装置とを備える通信試験システムに係るもので、以下のような手段を講じたものである。  
すなわち、上記通信試験装置には第１の記憶手段が設けられる。当該第１の記憶手段には、上記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、上記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、上記メディアデータ加工装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を記憶させる。そして、通信試験装置において、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが上記被試験端末の試験に関係するSIPメッセージであるか否かを上記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定する。この判定の結果、試験に関係するSIPメッセージが特定された場合に、上記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、上記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を上記メディアデータ加工装置のアドレス情報に変更し、この変更されたSIPメッセージを上記被試験端末又は治具端末へ送信する。
一方、上記メディアデータ加工装置には第２の記憶手段が設けられる。この第２の記憶手段には、メディアデータ中の加工対象部位を指定する加工対象情報と、上記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を記憶させる。そして、メディアデータ加工装置において、上記被試験端末又は治具端末から自己のメディアデータ加工装置を送信先とするメディアデータを受信した場合に、上記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、上記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成し、この生成された試験用のメディアデータを上記治具端末又は被試験端末へ送信する。
【００１８】
上記第２の目的を達成するためにこの発明の第３の観点は、以下のような手段を講じたものである。  
すなわち、各々SIP（Session Initiation Protocol）アプリケーションを使用した通信機能を有する被試験端末及び治具端末との間で通信が可能に接続された通信試験装置にあって、第１の記憶手段と、第２の記憶手段を設ける。第１の記憶手段には、上記被試験端末と治具端末との間で転送される、当該被試験端末の試験に関係するSIPメッセージを特定するメッセージ特定情報と、上記SIPメッセージに含まれるメディアデータ通信用のアドレス情報を加工対象として指定する加工対象情報と、上記自己の通信試験装置のアドレス情報を加工内容として指定する加工内容情報とを含む加工条件情報を記憶させる。第２の記憶手段には、メディアデータ中の加工対象部位を指定する加工対象情報と、上記加工対象部位の加工内容を指定する加工内容情報とを少なくとも含むメディアデータ加工条件情報を記憶させる。  
そして、SIPメッセージを受信した場合に、当該受信されたSIPメッセージが上記被試験端末の試験に関係するSIPメッセージであるか否かを、上記第１の記憶手段に記憶されたメッセージ特定情報に基づいて判定し、試験に関係するSIPメッセージが特定された場合に、上記第１の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、上記特定されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を、自己の通信試験装置のアドレス情報に変更し、この変更されたSIPメッセージを上記被試験端末又は治具端末へ送信する。  
また、上記被試験端末又は治具端末から自己の通信試験装置を送信先とするメディアデータを受信した場合には、上記第２の記憶手段に記憶された加工対象情報及び加工内容情報に基づいて、上記受信されたメディアデータの加工対象部位を加工することにより、試験用のメディアデータを生成し、この生成された試験用のメディアデータを上記治具端末又は被試験端末へ送信する。
【００１９】
上記この発明の第３の観点においては、上記被試験端末の試験に関係するSIPメッセージが受信されるごとに、自己の通信試験装置のIPアドレスと、メディアデータを受信するためのポート番号をランダムに生成して設定し、上記第１の記憶手段に記憶された加工対象情報に基づいて、上記受信されたSIPメッセージに含まれるメディアデータ通信用のアドレス情報を、上記ランダムに生成し設定されたIPアドレス及びポート番号に変更することも考えられる。
【発明の効果】
【００２０】
この発明の第１の観点によれば、通信試験装置の加工条件記憶手段にSIPメッセージの必要な部分のみを変更するための情報を設定しておくだけで、加工対象のSIPメッセージに対し確実に加工処理を行うことが可能となる。このため、被試験端末が受信するSIPメッセージの一部のみに変更を加えた場合の被試験端末の挙動を調べたい場合に、変更を加えない他のSIPメッセージも含めて、一連のSIPメッセージを送受信するための試験シナリオを事前に準備しておく必要がなくなり、これにより試験を行うシステム管理者の作業負担を大幅に軽減することが可能となる。また、被試験端末以外の端末が行う通信には影響を及ぼさずに必要な試験を行うことが可能となる。
【００２１】
この発明の第２及び第３の観点によれば、メディア通信に利用するIPアドレスやポート番号が毎回の通信において異なる場合でも、またSIPを使わず単独で通信を開始したメディア通信であっても、確実にプロキシ機能を発揮させることができる。さらに、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合とで、治具端末２が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してはプロキシ機能が動作しないようにすることができる。
【００２２】
さらに、試験装置上のIPアドレスおよびメディアデータ加工処理部上のポート番号を動的にかつランダムに設定することで、IPアドレス及びポート番号の情報を試験ごとに異ならせることができ、被試験端末及び治具端末の試験ごとの通信ログデータがある場合に、通信ログデータを区別することが容易になる。また、被試験端末が複数ある場合に、被試験端末ごとに、メディアデータ加工処理部が利用するIPアドレスおよびポート番号を異なる値を設定することができ、これにより被試験端末３ごとの試験を並行して実行することが可能になる。
【図面の簡単な説明】
【００２３】
【図１】この発明の第１の実施形態に係る通信試験装置の構成を、治具端末及び被試験端末の構成と共に示す機能ブロック図。
【図２】図１に示した被試験端末と治具端末との間における通信シーケンスの第１の例を示す図。
【図３】図１に示した被試験端末と治具端末との間における通信シーケンスの第２の例を示す図。
【図４】図１に示した試験装置の処理手順と処理内容を示すフローチャート。
【図５】図１に示した試験装置が備えるSIPメッセージ加工条件テーブルの一例を示す図。
【図６】図１に示した試験装置による加工前のSIPメッセージの第１の例を示す図。
【図７】図１に示した試験装置による加工後のSIPメッセージの第１の例を示す図。
【図８】図１に示した試験装置による加工前のSIPメッセージの第２の例を示す図。
【図９】図１に示した試験装置による加工後のSIPメッセージの第２の例を示す図。
【図１０】この発明の第２の実施形態に係る通信試験装置及びメディアデータ加工装置の構成を、治具端末及び被試験端末の構成と共に示す機能ブロック図。
【図１１】図１０に示した被試験端末と治具端末との間における通信シーケンスの例を示す図。
【図１２】図１０に示した試験装置が備えるSIPメッセージ加工条件テーブルの一例を示す図。
【図１３】図１０に示した試験装置による加工前のSIPメッセージの第１の例を示す図。
【図１４】図１０に示した試験装置による加工後のSIPメッセージの第１の例を示す図。
【図１５】図１０に示した試験装置による加工前のSIPメッセージの第２の例を示す図。
【図１６】図１に示した試験装置による加工後のSIPメッセージの第２の例を示す図。
【図１７】図１０に示したメディアデータ加工装置の処理手順と処理内容を示すフローチャート。
【図１８】図１０に示したメディアデータ加工装置が備えるメディアデータ加工条件テーブルの第１の例を示す図。
【図１９】図１０に示したメディアデータ加工装置による加工前のメディアデータの第１の例を示す図。
【図２０】図１０に示したメディアデータ加工装置による加工後のメディアデータの第１の例を示す図。
【図２１】図１０に示したメディアデータ加工装置が備えるメディアデータ加工条件テーブルの第２の例を示す図。
【図２２】図１０に示したメディアデータ加工装置による加工前のメディアデータの第２の例を示す図。
【図２３】図１０に示したメディアデータ加工装置による加工後のメディアデータの第２の例を示す図。
【図２４】図１０に示したメディアデータ加工装置が備えるメディアデータ加工条件テーブルの第３の例を示す図。
【図２５】図１０に示したメディアデータ加工装置による加工前のメディアデータの第３の例を示す図。
【図２６】図１０に示したメディアデータ加工装置による加工後のメディアデータの第３の例を示す図。
【図２７】この発明の第３の実施形態に係る通信試験装置の構成を、治具端末及び被試験端末の構成と共に示す機能ブロック図。
【図２８】図２７に示した被試験端末と治具端末との間における通信シーケンスの例を示す図。
【図２９】図２７に示した試験装置の処理手順と処理内容を示すフローチャート。
【図３０】図２７に示した試験装置が備えるSIPメッセージ加工条件テーブルの一例を示す図。
【図３１】図２７に示した試験装置による加工前のSIPメッセージの第１の例を示す図。
【図３２】図２７に示した試験装置による加工後のSIPメッセージの第１の例を示す図。
【図３３】図２７に示した試験装置による加工前のSIPメッセージの第２の例を示す図。
【図３４】図２７に示した試験装置による加工後のSIPメッセージの第２の例を示す図。
【図３５】図２７に示した試験装置が備えるメディアデータ加工処理用IPアドレステーブルの一例を示す図。
【図３６】図２７に示した試験装置が備えるメディアデータ加工管理テーブルの一例を示す図。
【図３７】図２７に示した試験装置が備えるコネクション管理テーブルの一例を示す図。
【発明を実施するための形態】
【００２４】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
［第１の実施形態］
この発明の第１の実施形態は、被試験端末と治具端末との間で、追加番号を取得した場合の被試験端末の挙動を確認する試験を行うために、上記被試験端末及び治具端末との間で通信が可能な試験装置を設ける。そして、この試験装置にSIPメッセージの加工条件を記憶したメモリテーブルを設けることで、上記被試験端末及び治具端末から送信されたSIPメッセージのうち特定のSIPメッセージのみを加工対象として選択し、当該選択されたSIPメッセージに対し試験に必要な加工処理を行うことで上記試験のためのSIPメッセージを生成し、当該生成された試験用メッセージを上記被試験端末と治具端末との間で中継するようにしたものである。
【００２５】
（構成）
図１は、この発明の第１の実施形態に係る試験装置の機能構成を、被試験端末及び治具端末の機能構成と共に示したブロック図である。  
同図において、被試験端末３は試験装置１及びハブ（ＨＵＢ）４を介して治具端末２に接続される。被試験端末３及び治具端末２は、SIPメッセージの送受信にUDPプロトコルの“5060”番ポートを利用するものとする。また、被試験端末３及び治具端末２はIPアドレスを持つが、試験装置１はインタフェースＸ１３とインタフェースＹ１４が後述するIPパケット転送処理部１２を介してブリッジ接続され、IPアドレスを持たないものとする。
【００２６】
なお、被試験端末３はハブ４を介して試験装置１に接続してもよいし、また治具端末３は試験装置１に対しハブ４を介さずに直接又はネットワークを介して接続するようにしてもよい。
【００２７】
治具端末２は、SIP通信部２１１及びメディア通信部２１２を有するSIPアプリケーション処理部２１と、インタフェースＢ２２を備えている。また被試験端末３も、上記治具端末２と同様にSIP通信部３１１及びメディア通信部３１２を有するSIPアプリケーション処理部３１と、インタフェースＡ３２を備えている。SIP通信部２１１，３１１は、SIPプロトコルに従いSIPメッセージの生成及び送受信を行う。メディア通信部２１２，３１２は、SIPプロトコルに従いメディアデータの生成及び送受信を行う。
【００２８】
試験装置１は、SIPメッセージ加工処理部１１と、IPパケット転送処理部１２と、インタフェースＸ１３及びインタフェースＹ１４を備えている。このうちSIPメッセージ加工処理部１１は、SIPメッセージ加工条件テーブル１１１及びSIPメッセージ加工制御部１１２を有している。
【００２９】
IPパケット転送処理部１２は、被試験端末３又は治具端末２が送出したIPパケットを、インタフェースＸ１３又はインタフェースＹ１４を介して受信し、上記受信したIPパケットがSIPパケットであるか否かを判定する。そして、SIPパケットであれば当該SIPパケットをSIPメッセージ加工制御部１１２に渡し、SIPパケットでなければそのまま転送する機能を有している。
【００３０】
SIPメッセージ加工条件テーブル１１１には、加工対象となるSIPメッセージを指定する条件を指定する「メッセージマッチ条件」と、SIPメッセージにおける加工対象部分を指定する「加工対象」と、加工方法を指定する「加工内容」が記憶される。図５はその一例を示すものである。なお、図５に示した例では、「メッセージマッチ条件」一つに対して、「加工対象」及び「加工内容」の組を一つ関連付けた場合を例示しているが、「メッセージマッチ条件」一つに対して、「加工対象」及び「加工内容」の組を複数関連付けてもよい。
【００３１】
SIPメッセージ加工制御部１１２は、上記SIPメッセージ加工条件テーブル１１１を参照して、被試験端末３及び治具端末２から送信されたSIPメッセージを加工する。加工するSIPメッセージとしては、REGISTERリクエスト及びREGISTERリクエストに対する200レスポンスがある。なお、加工するSIPメッセージには、その他のSIPメッセージも適用可能である。また、加工処理の種類は、「加工対象」を「加工内容」で置き換える処理が挙げられるが、「加工対象」を削除する処理や、メッセージ全体を特定のメッセージに置き換える処理も実行可能である。
【００３２】
図５に示したSIPメッセージ加工条件について以下に詳しく説明する。すなわち、「メッセージマッチ条件」として、SIPメッセージの種別と、SIPメッセージが格納されるIPヘッダに記載されるIPアドレスの条件を設定している。第１の実施形態のネットワークに、試験装置１、被試験端末３及び治具端末２以外に、SIP通信を行う他の端末が接続されている場合には、「メッセージマッチ条件」に、Fromヘッダ、Toヘッダ、Contactヘッダ、Viaヘッダなどの被試験端末のIPアドレスを含むヘッダを含む条件を加えることで、他の端末が行うSIP通信に影響を与えないようにすることが可能である。また、リクエストとレスポンスとを関連付けてSIPメッセージの加工処理を行う場合には、リクエストを処理する際に、Call-IDヘッダやViaヘッダなどのSIP呼を特定する情報や、SIPトランザクションを特定する値をそのリクエストから取得する。そして、レスポンスに対応するSIPメッセージ加工条件テーブル１１１のレコードの「メッセージマッチ条件」に、それらの値が同値である条件を追加すればよい。
【００３３】
図５の例では、REGISTERリクエストに対する200レスポンスに含まれるP-Associated-URIヘッダを対象として、同ヘッダに追加番号に対応する文字列追加の加工を行う、という内容のレコード「１」と、REGISTERリクエストに含まれるContactヘッダを対象として、同ヘッダの直後にSupportedヘッダを追加する加工を行う、という内容のレコード「２」を記載している。なお、REGISTERリクエスト、REGISTERリクエストに対するレスポンスのどちらを加工するかによって、いずれか一方のレコードのみを含めておくこともできる。
【００３４】
SIPメッセージ加工条件テーブル１１１に記憶されたレコード「１」の「メッセージマッチ条件」では、SIPメッセージがREGISTERに対する200レスポンスであること、そのSIPメッセージの送信先IPアドレスが被試験端末のIPアドレスである“192.168.1.2”であることを条件として指定している。なお、SIPリクエストにはINVITEリクエストなどのREGISTERリクエスト以外のリクエストも存在するが、SIPメッセージの先頭行に記述されているリクエスト種別で判別することができる。SIPレスポンスの場合には、CSeqヘッダに記述されているリクエスト種別により、対象のSIPリクエスト種別を判別することができる。
【００３５】
レコード「１」の「加工対象」では、P-Associated-URIヘッダを指定し、「加工内容」に同ヘッダに追加番号情報である、<sip:0311111111@10.0.0.1>を追加する内容を指定している。この例では、「加工対象」を固定文字列で指定しているが、正規表現を用いれば、ランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
【００３６】
SIPメッセージ加工条件テーブル１１１に記載されたレコード「２」の「メッセージマッチ条件」では、SIPメッセージがREGISTERリクエストであること、そのSIPメッセージの送信元IPアドレスが被試験端末３のIPアドレスである“192.168.1.2”であることを条件として指定している。レコード「２」の「加工対象」では、Contactヘッダを指定し、「加工内容」に同ヘッダの直後にSupportedヘッダを追加する内容を指定している。
【００３７】
（動作）
次に、以上のように構成された試験装置１の動作を説明する。図４はその動作手順と内容を示すフローチャートである。  
ここでは、被試験端末３が治具端末２に対してREGISTERリクエストを送信し、治具端末２からのレスポンスを試験装置１が加工することにより被試験端末３に追加番号を取得させる場合（図２のシーケンス１）と、被試験端末３が送出するREGISTERリクエストを変更した場合に、治具端末２のレスポンス及びそのレスポンスを受信した被試験端末３がどのような挙動をとるのかを試験する場合（図３のシーケンス２）についてそれぞれ説明する。
【００３８】
被試験端末３又は治具端末２からIPパケットが送信されると、試験装置１のIPパケット転送処理部１２はステップＳ１１により、上記IPパケットをインタフェースＸ１３又はインタフェースＹ１４を通して受信する。例えば、いま図２に示すように被試験端末３が治具端末２に対しREGISTERリクエストのIPパケットを送信したとすると、試験装置１のIPパケット転送処理部１２は当該REGISTERリクエストのIPパケットをインタフェースＸ１３を通して受信する。また、図３に示すように治具端末２が被試験端末３に対してレスポンスのIPパケットを返送すると、当該レスポンスのIPパケットをインタフェースＹ１４を通して受信する。REGISTERリクエストの例を図８に、またREGISTERリクエストに対するレスポンスの例を図６にそれぞれ示す。
【００３９】
続いてIPパケット転送処理部１２は、上記受信されたIPパケットがSIPパケットであるか否かをステップＳ１２により判定する。例えば、受信されたIPパケットがUDPパケットであり、その宛先ポート番号が“5060”番である場合には、当該IPパケットをSIPパケットと判定する。同様に、被試験端末３が“5060”番以外のポート番号を利用している場合には、そのポート番号宛てのパケットをSIPパケットと判定する。例えば、被試験端末３から送信されたREGISTERリクエストについては、SIPパケットと判定する。
【００４０】
SIPパケットと判定するとIPパケット転送処理部１２は、当該SIPパケットをSIPメッセージ加工制御部１１２に渡す。SIPメッセージ加工制御部１１２は、ステップＳ１３において、上記SIPメッセージ加工条件テーブル１１１を参照し、同テーブル１１１のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップＳ１７に進み、レコードが空でなければステップＳ１４に進む。
【００４１】
ステップＳ１４においてSIPメッセージ加工制御部１１２は、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを一つ選択し、IPパケット転送処理部１２から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。その判定の結果、マッチした場合にはステップＳ１５に進み、マッチしなかった場合にはSIPメッセージ加工条件テーブル１１１の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
【００４２】
ステップＳ１５においてSIPメッセージ加工制御部１１２は、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図５に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
【００４３】
例えば、図５に示すSIPメッセージ加工条件テーブル１１１のレコード「１」によれば、図６のREGISTERリクエストに対する200レスポンスに対して、図７に示すようにP-Associated-URIとして記述された<sip:3@192.168.1.1>に、<sip:0311111111@10.0.1.1>を追加する処理が行われる。またレコード「２」によれば、図８に示すREGISTERリクエストに対して、図９に示すようにContact:<sip:random123@192.168.1.2>;expires=3600の次の行にSupported:pathを追加する処理が行われる。
【００４４】
最後にSIPメッセージ加工制御部１１２は、ステップＳ１６により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
【００４５】
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部１２はステップＳ１７により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末３から送信されたREGISTERリクエストのIPパケットをインタフェースＸ１３を介して受信した場合には、その加工処理後のIPパケットをインタフェースＹ１４から治具端末２に向け送信する。これに対し、治具端末２から送信されたREGISTERに対するレスポンスのIPパケットをインタフェースＹ１４を介して受信した場合には、加工処理後のIPパケットをインタフェースＸ１３から被試験端末３に向けて送信する。
【００４６】
（効果）
以上詳述したように第１の実施形態では、試験装置１内のSIPメッセージ加工条件テーブル１１１に、加工対象となるSIPメッセージについて、当該SIPメッセージを指定する条件を表す「メッセージマッチ条件」と、SIPメッセージにおける加工対象部分を指定する「加工対象」と、加工方法を指定する「加工内容」を予め記憶しておく。そして、被試験端末３及び治具端末２からそれぞれSIPメッセージ及びそのレスポンスを受信した場合に、上記SIPメッセージ加工条件テーブル１１１に記憶された「メッセージマッチ条件」をもとに当該受信されたSIPメッセージ又はそのレスポンスが加工対象か否かを判定し、加工対象の場合に、上記SIPメッセージ加工条件テーブル１１１に記憶された「加工対象」及び「加工内容」による指定情報をもとに上記受信されたSIPメッセージ又はそのレスポンスを加工処理し、治具端末２又は被試験端末３へ向けて送信するようにしている。
【００４７】
したがって、試験装置１において、SIPメッセージ加工条件テーブル１１１にSIPメッセージの必要な部分のみを書き換えるための情報を設定しておくだけで、加工対象のSIPメッセージに対し確実に加工処理することが可能となる。このため、被試験端末３が受信するSIPメッセージの一部のみに変更を加えた場合の被試験端末３の挙動を調べたい場合に、変更を加えない他のSIPメッセージも含めて、一連のSIPメッセージを送受信するための試験シナリオを事前に準備しておく必要がなくなり、これにより試験を行うシステム管理者の作業負担を大幅に軽減することが可能となる。また、被試験端末３以外の端末が行う通信には影響を及ぼさずに必要な試験を行うことが可能となる。
【００４８】
［第２の実施形態］
この発明の第２の実施形態は、試験装置とメディアデータ加工装置を独立して設け、被試験端末と治具端末の間で伝送されるメディアデータに変更を加えた場合の被試験端末の挙動を確認する試験を行う際に、試験に使用する特定のSIPメッセージの宛先情報を試験装置で加工処理することでメディアデータをメディアデータ加工装置へ転送させ、メディアデータ加工装置において上記メディアデータに対し試験のために必要な加工処理を行った上で宛先の端末へ中継転送するようにしたものである。
【００４９】
より具体的には、被試験端末が治具端末に対して送信するSIPメッセージ及び治具端末が被試験端末に対して送信するSIPメッセージ中のSDP情報に含まれる特定メディア通信の宛先を表すIPアドレス及びポート番号をメディアデータ加工処理部が利用するIPアドレスとポート番号に書き換え、これにより以後被試験端末及び治具端末から送信されたメディアデータをメディアデータ加工装置に転送させ、当該メディアデータ加工装置において上記メディアデータに対し試験のために必要な加工処理を行い、この加工処理後のメディアデータを宛先となる端末へ中継転送するようにしたものである。
【００５０】
（構成）
図１０は、この発明の第２の実施形態に係る試験装置及びメディアデータ加工装置の機能構成を、被試験端末及び治具端末の機能構成と共に示したブロック図である。なお、同図において前記図１と同一部分には同一符号を付して詳しい説明は省略する。
【００５１】
同図において、被試験端末３及び治具端末２はそれぞれIPアドレスを持ち、相互にネットワークを介してIP通信が可能となっている。試験装置１とメディアデータ加工装置５は、被試験端末３及び治具端末２に対しハブ４を介して接続される。メディアデータ加工装置５は、被試験端末３及び治具端末２の双方とIP通信が可能な位置に接続されると共に、被試験端末３及び治具端末２の双方と通信なIPアドレスを有している。
【００５２】
例えば、被試験端末３はIPアドレス“192.168.10.30”を持ち、治具端末２はIPアドレス“192.168.10.40”を持つ。また、メディアデータ加工装置５はIPアドレスとして“192.168.10.77”を持ち、これによりメディアデータ加工装置５は被試験端末３及び治具端末２との間でそれぞれIP通信が可能になっている。また、SIPメッセージの送受信を行うために、被試験端末３及び治具端末２は何れもUDPプロトコルの“5060”番ポートを利用する。また、メディアデータの送受信を行うために、被試験端末３はTCPプロトコルの“53030”番ポート、治具端末２は“54040”番ポートを利用する。これに対し、メディアデータ加工装置５は、被試験端末３と治具端末２との間のメディアデータの伝送を中継するために、“57740”番ポートを利用して被試験端末３とメディアデータの伝送を行い、“57730”番ポートを利用して治具端末２とメディアデータの伝送を行う。
【００５３】
なお、被試験端末３及び治具端末２は、試験装置１及びメディアデータ加工装置５に対しハブ４を介して接続する以外に、ネットワーク上にSIPサーバが存在する場合には、このSIPサーバを介してSIP通信が可能な状態に接続する構成であっても構わない。
【００５４】
ところで、試験装置１のSIPメッセージ加工条件テーブル１１１には、複数のレコードが記憶される。各レコードは、何れも「メッセージマッチ条件」、「加工対象」及び「加工内容」を含む。図１２はその一例を示すもので、レコード「１」として、被試験端末３が送出するINVITEリクエストに含まれるSDP情報中のメディア記述部を加工するための情報が記憶され、レコード「２」として治具端末２が送出する上記INVITEリクエストに対する200レスポンスに含まれるSDP情報中のメディア記述部を加工するための情報が記憶される。
【００５５】
SDP情報中のメディア記述部には、m=行の設定値として、media部がapplication、proto部がTCP、fmt部がvnd.example.messagingに設定されている。なお、試験の内容に応じて、media部がaudioやvideoである場合にはproto部やfmt部が異なっても構わない。
【００５６】
SIPメッセージ加工条件テーブル１１１のレコード「１」に含まれる「メッセージマッチ条件」には、図１２に示すようにIPパケットの送信元の条件として、被試験端末３のIPアドレスが設定される。「加工対象」には、INVITEリクエストに含まれるSDP情報中のm=application行が設定される。本実施形態では、被試験端末３がメディア通信に利用するポート番号に合わせてm=行のport部を“53030”としている。なお、本実施形態とは異なり、被試験端末３がRFC4145記載のようにport部に“9”を設定する場合など、実際に被試験端末３がメディアの送受信に利用するポート番号が事前にはわからない場合には、port部が任意の数値でマッチする正規表現を用いればよい。
【００５７】
レコード「１」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するための情報が設定される。変更後のm=行のport部には、治具端末２が送出するメディアデータのIPパケットを受信するための、メディアデータ加工装置５のメディアデータ入出力部５３上のポート番号“57730”が設定される。追加されるc=行のconnection-address部には、メディアデータ加工装置５のIPアドレスが設定される。なお、加工前のSDP情報が、被試験端末３がm=行の後にc=行を記述したINVITEメッセージを送出する場合には、レコード「１」の「加工対象」においてm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部をメディアデータ加工装置５のIPアドレスに変更するように設定すればよい。
【００５８】
レコード「２」に含まれる「メッセージマッチ条件」には、IPパケットの送信先の条件として、被試験端末３のIPアドレスが設定される。「加工対象」には、INVITEリクエストに対する200レスポンスに含まれるSDP情報中のm=application行が設定される。例えば、治具端末２がメディア通信に利用するポート番号に合わせてm=行のport部は“54040”に設定される。レコード「２」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加する情報が設定される。変更後のm=行のport部は、被試験端末３が送出するメディアデータのIPパケットを受信するために、メディアデータ加工装置５のメディアデータ入出力部５３上のポート番号である“57740”が設定される。追加されるc=行のconnection-address部には、メディアデータ加工装置５のIPアドレス“192.168.10.77”が設定される。
【００５９】
なお、加工前のSDP情報が、治具端末２がm=行の後にc=行を記述したレスポンスを送出する場合には、レコード「２」の「加工対象」としてm=行の後にc=行を追加した情報を設定し、「加工内容」にはそのc=行のconnection-address部をメディアデータ加工装置５のIPアドレスに変更するように設定すればよい。
【００６０】
SIPメッセージ加工制御部１１２は、上記SIPメッセージ加工条件テーブル１１１に記憶された各レコードを参照することで、メッセージマッチ条件にマッチするSIPメッセージに含まれるSDP情報に対して、「加工対象」により指定された部分を「加工内容」において指定された内容に加工する。そして、この加工処理により、被試験端末３及び治具端末２から送出されたメディアデータの送信先をメディアデータ加工装置５に変更する。
【００６１】
一方、メディアデータ加工装置５は、記憶部５１と、メディアデータ加工制御部５２と、メディアデータ入出力部５３と、ユーザインタフェース部５４と、インタフェースＣ５５を備えている。
【００６２】
記憶部５１には、メディアデータ加工条件テーブル５１１と、コネクション管理テーブル５１２と、一つ又は複数のメディアデータ加工管理テーブル５１３が設けられている。メディアデータ加工条件テーブル５１１には、複数のレコードが記憶される。各レコードは、いずれも「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含む。
【００６３】
このうち先ず「ユーザデータ入力対象フラグ」は、メディアデータ加工装置５が、受信したメディアデータ中に「加工対象」により指定されたデータ部分を発見した場合に、ユーザがデータを加工するためにデータ入力を受け付けるか否かを決める情報であり、trueの場合には受け付け、falseの場合には受け付けない。
【００６４】
次に「加工方法」は、メディアデータの加工方法を指定するものであり、文字列等の置換を行うデータ置換、メディアデータの出力を一定時間遅延させる出力遅延などがある。「加工付加情報」は、「加工方法」に依存する情報であり、データ置換を行う場合には置換データ、出力遅延を行う場合には遅延時間となる。メディアデータ加工条件テーブルの例を図１８、図２１及び図２４に示す。図１８及び図２１はデータ置換の加工を行う場合の例を、図２４は出力遅延の加工を行う場合の例をそれぞれ示す。
【００６５】
メディアデータ加工管理テーブル５１３には、被試験端末３から送出されたメディアデータをメディアデータ加工装置５が受信するためのコネクション、加工の際に参照するメディアデータ加工条件テーブル５１１、加工されたメディアデータをメディアデータ加工装置５から治具端末２へ向けて送信するためのコネクションを表す情報が設定される。同様に、治具端末２から送出されたメディアデータをメディアデータ加工装置５が受信するためのコネクション、加工の際に参照するメディアデータ加工条件テーブル５１１、メディアデータ加工装置５から被試験端末３へ、加工したメディアデータを送信するためのコネクションを表す情報も設定される。
【００６６】
個々のコネクションはコネクション管理テーブル５１２で管理され、コネクションごとに、メディアデータ加工装置５上のローカルIPアドレスとローカルポート番号、被試験端末上又は治具端末上のリモートIPアドレスとリモートポート番号などの情報が保持される。図２６にコネクション管理テーブル５１２の一例を示す。
【００６７】
すなわち、レコード「１」は、被試験端末３とメディアデータ加工装置５との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「１」のTCPコネクションは内部的にC1で参照する。「ローカルIPアドレス」には、メディアデータ加工装置５のIPアドレスである“192.168.10.77”が設定される。「ローカルポート番号」には“57740”が設定される。「リモートIPアドレス」には、被試験端末３のIPアドレスである“192.168.10.30”が設定される。「リモートポート番号」には、被試験端末３がメディアデータの送受信に利用するポート番号である“53030”が設定される。
【００６８】
レコード「２」は、治具端末２とメディアデータ加工装置５との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。レコード「２」のTCPコネクションは、内部的にC2で参照する。「ローカルIPアドレス」には、メディアデータ加工装置５のIPアドレスである“192.168.10.77”が設定される。「ローカルポート番号」には“57730”が設定される。
【００６９】
これにより、図１２に示すSIPメッセージ加工条件テーブル５１１において定義されたレコード「１」に基づくSIPメッセージの加工処理により、治具端末２は被試験端末３がメディアデータの送受信に利用するIPアドレスとTCPポート番号を“192.168.10.77”の“57730”番ポートと認識する。「リモートIPアドレス」には、被試験端末３のIPアドレスである“192.168.10.40”が設定される。「リモートポート番号」には、被試験端末３がメディアデータの送受信に利用するポート番号である“54040”が設定される。
【００７０】
なお、被試験端末３及び治具端末２はメディアデータの送信と受信に別々のTCPコネクションを利用しても構わない。しかし、本実施形態では送受信合わせて１つのTCPコネクションを利用するため、被試験端末３とメディアデータ加工装置５との間、及び治具端末２とメディアデータ加工装置５との間のそれぞれにおいて、メディアデータの送受信に利用されるTCPコネクションは１つずつである。
【００７１】
また、本実施形態では、被試験端末３がメディアデータの送受信に利用するIPアドレスとポート番号が既知であることを前提としているが、被試験端末３がRFC4145記載のようにport部に“9”を設定する場合や、port部に設定する数値が事前には分からない場合には、「リモートポート番号」及び「リモートIPアドレス」を予め設定しなくても構わない。その場合には、TCPセッションが確立された際に、相手のIPアドレスとポート番号を取得して当該フィールドに設定する。
【００７２】
メディアデータ加工管理テーブル５１３には、具体的には以下のような情報が設定される。図２５はその一例を示すものである。すなわち、先ずレコード「１」は、被試験端末３が送出するメディアパケットのIPパケットを受信して加工し、治具端末２へ送信するために必要な情報を含んでいる。「受信TCPコネクション」には、図２６で示したコネクション管理テーブル５１２上においてC1で参照されるTCPコネクションが設定され、同様に「送信TCPコネクション」には図２６で示したコネクション管理テーブル５１２上においてC2で参照されるTCPコネクションが設定される。「メディアデータ加工条件テーブル」の項目には、所望する試験内容に合わせて、対応するメディアデータ加工条件が設定される。
【００７３】
次にレコード「２」は、治具端末２が送出するメディアパケットのIPパケットを受信して加工し、被試験端末３へ送信するために必要な情報を含んでいる。「受信TCPコネクション」には、図２６で示したコネクション管理テーブル５１２上においてC2で参照されるTCPコネクションが設定され、同様に「送信TCPコネクション」には図２６で示したコネクション管理テーブル５１２上においてC1で参照されるTCPコネクションが設定される。「メディアデータ加工条件テーブル」の項目には、所望する試験内容に合わせて、対応するメディアデータ加工条件が設定される。
【００７４】
メディアデータ加工制御部５２は、被試験端末３及び治具端末２が送出したメディアデータのIPパケットをインタフェースＣ５５及びメディアデータ入出力部５３を通して受信し、当該受信されたIPパケットがどのコネクションで受信されたかを判定することにより、コネクション管理テーブル５１２の対応レコードを選択する。そして、メディアデータ加工条件テーブル５１１を参照し、メディアデータ入出力部５３から受け取ったメディアデータが加工対象の部位を含むか否かを判定する。この判定の結果、加工対象の部位を含む場合には、メディアデータ加工条件テーブル５１１の加工付加情報にしたがって加工対象のメディアデータを加工処理する。
【００７５】
（動作）
次に、以上のように構成された試験装置１及びメディアデータ加工装置５の動作を説明する。  
ここでは、図１１に示すように、被試験端末３が治具端末２に対しINVITEリクエストを送信した場合、及び治具端末２が被試験端末３に対し上記INVITEリクエストに対する200レスポンスを返送した場合に、試験装置１が当該INVITEリクエスト及び200レスポンス中のSDP情報に含まれる特定メディア通信の宛先IPアドレス及びポート番号を、メディアデータ加工装置５が利用するIPアドレス及びポート番号に書き換える。これにより、以後被試験端末３及び治具端末２から送信されるメディアデータをメディアデータ加工装置５へ転送させ、メディアデータ加工装置５において上記メディアデータに対し試験のために必要な加工処理を行う場合を例にとって説明する。
【００７６】
なお、図１１ではINVITEリクエストと、INVITEリクエストに対する200レスポンスとの間の、暫定レスポンスメッセージ等は省略している。また、この例では、試験装置１が加工するSIPメッセージとして、INVITEリクエストと、当該INVITEリクエストに対する200レスポンスを対象とする場合を例にとって説明するが、UPDATEリクエストなどのSDP情報を含む他のSIPメッセージの場合であっても適用可能である。
【００７７】
（１）試験装置１の動作
先ず、試験装置１では以下のような動作が実行される。なお、この第２の実施形態における試験装置１の動作手順は、第１の実施形態で述べた試験装置１の動作手順と同一であるため、図４を用いて説明する。
【００７８】
被試験端末３からINVITEリクエストが送信されると、試験装置１のIPパケット転送処理部１２はステップＳ１１により、上記INVITEリクエストをインタフェースＸ１３を通して受信する。また、治具端末２が被試験端末３に対して200レスポンスを返送すると、当該200レスポンスをインタフェースＹ１４を通して受信する。
【００７９】
続いてIPパケット転送処理部１２は、上記受信されたINVITEリクエスト又は200レスポンスがSIPパケットであるか否かをステップＳ１２で判定し、SIPパケットと判定すると当該SIPパケットをSIPメッセージ加工制御部１１２に渡す。SIPメッセージ加工制御部１１２は、ステップＳ１３において、SIPメッセージ加工条件テーブル１１１を参照し、同テーブル１１１のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップＳ１７に進み、レコードが空でなければステップＳ１４に進む。
【００８０】
ステップＳ１４においてSIPメッセージ加工制御部１１２は、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを一つ選択し、IPパケット転送処理部１２から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。例えば、レコード「１」であれば、受信したSIPメッセージがINVITEリクエストであり、かつIPパケットの送信元アドレスが“192.168.10.30”であるか否か、つまり送信元が被試験端末３であるか否かを判定する。またレコード「２」であれば、受信したSIPメッセージがINVITEリクエストに対する200レスポンスであり、かつIPパケットの送信先アドレスが“192.168.10.30”であるか否か、つまり送信先が被試験端末３であるか否かを判定する。
【００８１】
その判定の結果、マッチした場合にはステップＳ１５に進み、マッチしなかった場合にはSIPメッセージ加工条件テーブル１１１の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
【００８２】
受信されたSIPメッセージがメッセージマッチ条件にマッチすると、SIPメッセージ加工制御部１１２はステップＳ１５において、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図１２に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
【００８３】
例えば、図１２に示すSIPメッセージ加工条件テーブル１１１のレコード「１」によれば、図１３のINVITEリクエストのSDP情報に対して、図１４に示すようにc=IN IP4 192.168.10.77を追加する処理が行われる。またレコード「２」によれば、図１５に示すINVITEリクエストに対する200レスポンスのSDP情報に対し、図１６に示すようにc=IN IP4 192.168.10.77を追加する処理が行われる。すなわち、何れの場合もメディアデータ加工装置５のIPアドレスを追加する処理が行われる。
【００８４】
最後にSIPメッセージ加工制御部１１２は、ステップＳ１６により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
【００８５】
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部１２はステップＳ１７により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末３からINVITEリクエストをインタフェースＸ１３を介して受信した場合には、その加工処理後のINVITEリクエストをインタフェースＹ１４から治具端末２に向け送信する。これに対し、治具端末２から送信されたINVITEリクエストに対する200レスポンスをインタフェースＹ１４を介して受信した場合には、加工処理後の200レスポンスをインタフェースＸ１３から被試験端末３に向けて送信する。
【００８６】
（２）メディアデータ加工装置５の動作
次にメディアデータ加工装置５では以下のような動作が実行される。図１７はその手順と内容を示すフローチャートである。  
被試験端末３からメディアデータのIPパケットが送信されると、このIPパケットの送信先情報にはメディアデータ加工装置５のIPアドレス及びポート番号（“57740”番ポート）が設定されているため、当該IPパケットはメディアデータ加工装置５においてインタフェースＣ５５を介してメディアデータ入出力部５３で受信される（ステップＳ２１）。
【００８７】
IPパケットが受信されると、メディアデータ加工制御部５２がステップＳ２２において、上記受信されたIPパケットがどのコネクションで受信されたかを判定して、コネクション管理テーブル５１２の対応するレコードを選択する。本実施形態では、メディアデータはTCPで送受信されるため、メディアデータ加工装置５がメディアデータのTCPパケットを受信する際に、TCPコネクションが存在しない場合には、TCPコネクションが新たに確立される。
【００８８】
この場合、コネクション管理テーブル５１２の「ローカルIPアドレス」、「ローカルポート番号」、「リモートIPアドレス」及び「リモートポート番号」のすべてに合致するレコードを選択する。合致するレコードが無い場合には、「ローカルIPアドレス」、「ローカルポート番号」及び「リモートIPアドレス」のすべてが合致し、「リモートポート番号」のみが空欄であるようなレコードを選択し、その上で「リモートポート番号」に当該TCPコネクションのリモートポート番号を設定する。それでも合致するレコードが無い場合には、「ローカルIPアドレス」及び「ローカルポート番号」のすべてが合致し、「リモートIPアドレス」と「リモートポート番号」が空欄であるようなレコードを選択した上で、「リモートIPアドレス」と「リモートポート番号」に当該TCPコネクションのリモートIPアドレスとリモートポート番号を設定する。
【００８９】
例えば、被試験端末３が送出したメディアデータをメディアデータ加工装置５が受け取った場合には、図２５に示すメディアデータ加工管理テーブル５１３のレコード「１」が選択される。また、治具端末２が送出したメディアデータをメディアデータ加工装置５が受け取った場合には、図２５に示すメディアデータ加工管理テーブル５１３のレコード「２」が選択される。
【００９０】
メディアデータ入出力部５３からメディアデータを受け取ると、メディアデータ加工制御部５２はステップＳ２３において、当該受け取ったメディアデータをメディアデータ表示部５４２に出力し表示させる。表示方法としては、メディアデータがテキストデータや映像である場合には、ディスプレイ等の画面に可視情報として表示させ、メディアデータが音声である場合にはスピーカ等から可聴音として出力させる方法を用いる。なお、他の表示方法としては、予め特定のメディアデータとその表示方法（画面に表示又は強調して表示する、ＢＥＥＰ音を鳴らすなど）を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示を行う、という方法も考えられる。
【００９１】
次にメディアデータ加工制御部５２は、ステップＳ２４において、メディアデータ加工条件テーブル５１１を参照し、メディアデータ入出力部５３から受け取ったメディアデータが加工対象を含むか否かを判定する。この場合、参照するメディアデータ加工条件テーブル５１１は、ステップＳ２２で選択されたメディアデータ加工管理テーブル５１３の対応レコードを参照して決定される。
【００９２】
メディアデータ加工条件テーブル５１１は、図１８や図２１、図２４に例示するように、「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含んでいる。「加工対象」を含む場合はステップＳ２５に進み、それ以外の場合にはステップＳ２８に進む。
【００９３】
ステップＳ２５に移行するとメディアデータ加工制御部５２は、ユーザデータ入力部５４１を通してユーザの入力を受け付けるか否かを判定する。この判定は、メディアデータ加工条件テーブル５１１の「ユーザデータ入力対象フラグ」が“true”であるか“false”であるかにより行われる。
【００９４】
「ユーザデータ入力対象フラグ」が“true”であれば、メディアデータ加工制御部５２はステップＳ２６において、ユーザデータ入力部５４１を通してユーザの入力を受け付ける。この状態で、ユーザが目的とする試験内容に基づいて対象のメディアデータに対して任意の加工を行うための情報を入力したとする。そうするとメディアデータ加工制御部５２は、当該入力されたデータによりメディアデータを加工する。その加工例としては、一部の文字列等のデータを書き換える、すべての文字列等のデータを書き換える、メディアデータをすべて削除する、等が考えられる。また、メディアデータ自体の加工は行わず、ユーザ入力待ち状態を一定時間維持することで当該メディアデータの出力を遅延させることも可能である。
【００９５】
これに対し「ユーザデータ入力対象フラグ」が“false”だったり、また「ユーザデータ入力対象フラグ」が存在しない場合には、メディアデータ加工制御部５２はステップＳ２７に移行し、ここでメディアデータ加工条件テーブル５１１に設定された「加工付加情報」に従い、対象のメディアデータを加工処理する。
【００９６】
例えば、メディアデータ加工条件テーブル５１１の設定情報が図１８に示すものだった場合には、図１９に示すように<ContentLayerCapability>〜</ContentLayerCapability>内に<File>〜</File>を含むメディアデータに対して、その直後に<VideoTel />を挿入する加工を行う。この結果、加工後のメディアデータは図２０に示すようになる。
【００９７】
また、メディアデータ加工条件テーブル５１１の設定情報が図２１に示すものだった場合には、図２２に示すように<CancelShareContent>〜</CancelShareContent>内の<sid>abc123def</sid>を<sid>456xyz789</sid>にデータ置換する処理を行う。この結果、加工後のメディアデータは図２３に示すようになる。
【００９８】
さらに、メディアデータ加工条件テーブル５１１の設定情報が図２４に示すものだった場合には、<KeepAlive />を含むメディアデータの出力を60秒遅延させる。
【００９９】
上記ステップＳ２６又はステップＳ２７によるメディアデータの加工処理が終了すると、メディアデータ加工制御部５２は、ステップＳ２８において、上記加工処理後のメディアデータをメディアデータ表示部５４２に表示させる。表示方法としては、ステップＳ２３で加工処理前の受信メディアデータを表示させる場合と同様に、加工処理後のメディアデータがテキストデータや映像である場合にはディスプレイ等の画面に可視情報として出力し表示させ、またメディアデータが音声である場合にはスピーカ等に可聴音として出力する方法が考えられる。
【０１００】
なお、予め特定のメディアデータとその表示方法（画面に表示又は強調して表示する、ＢＥＥＰ音を鳴らすなど）を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示行う、ということも考えられる。また、先に述べたステップＳ２３及びステップＳ２８による加工処理前及び加工処理後のメディアデータの表示処理は省略することも可能である。
【０１０１】
最後にメディアデータ加工制御部５２は、ステップＳ２９において、先に選択されたメディアデータ加工管理テーブル５１３のレコードを参照し、メディアデータの送信に必要な情報を取得した上で、上記加工処理されたメディアデータをIPパケット化し、メディアデータ入出力部５３からインタフェースＣ５５を介して被試験端末３又は治具端末２へ送出する。
【０１０２】
なお、このIPパケットの送信に際しては、図２５に示したメディアデータ加工管理テーブル５１３の「送信TCPコネクション」を参照して、送信に利用するTCPコネクションを決定する。また、メディアデータを送信する際に、TCPコネクションが存在しない場合には図２６のコネクション管理テーブル５１２を参照して、送信元と送信先のIPアドレスとポート番号を取得し、メディアデータ加工装置５が新規にTCPコネクションを確立する。
【０１０３】
（効果）
以上詳述したように第２の実施形態では、試験装置１とは独立してメディアデータ加工装置５を設けている。そして、試験装置１において、被試験端末３から送信されたSIPメッセージ、及び治具端末２から返送された上記SIPメッセージに対するレスポンスのSDP情報に含まれる特定メディア通信の宛先を表すIPアドレス及びポート番号を、メディアデータ加工処理部が利用するIPアドレスとポート番号に書き換え、これにより以後被試験端末３及び治具端末２から送信されるメディアデータをメディアデータ加工装置５に転送させる。そして、メディアデータ加工装置において、上記転送されたメディアデータに対し、ユーザが入力した情報又はメディアデータ加工条件テーブル５１１に予め設定された加工付加情報に従い、試験のために必要な加工処理を行い、この加工処理後のメディアデータを宛先となる端末へ向けて中継転送するようにしている。
【０１０４】
したがって、メディア通信に利用するIPアドレスやポート番号が毎回の通信において異なる場合でも、またSIPを使わず単独で通信を開始したメディア通信であっても、確実にプロキシ機能を発揮させることができる。さらに、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合とで、治具端末２が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してはプロキシ機能が動作しないようにすることができる。
【０１０５】
［第３の実施形態］
この発明の第３の実施形態は、試験装置内にメディアデータ加工装置の機能を設け、被試験端末と治具端末との間で伝送されるメディアデータに変更を加えた場合の被試験端末の挙動を確認する試験を行う際に、試験に使用する特定のSIPメッセージの宛先情報を、試験装置において動的に設定されるIPアドレス及びポート番号となるように置換することで、以後被試験端末及び治具端末から送信されるメディアデータを試験装置宛てに転送させる。そして、当該試験装置内に設けられたメディアデータ加工装置により、上記メディアデータに対し試験のために必要な加工処理を行った上で宛先の端末へ中継転送するようにしたものである。
【０１０６】
図２８は本実施形態におけるSIPメッセージ及びメディアデータの通信シーケンスを示すものである。同図では、被試験端末３がSIPメッセージとしてINVITEリクエストを送信した後、治具端末２が当該INVITEリクエストに対し200レスポンスを返送し、以後被試験端末３と治具端末２との間でメディアデータのIPパケットを伝送する場合を例示している。なお、INVITEリクエストと、INVITEリクエストに対する200レスポンスの間の暫定レスポンスメッセージ等は省略している。また、SIPメッセージとしては、INVITEリクエストとそのレスポンス以外に、UPDATEリクエストなどのSDP情報を含む他のSIPメッセージを適用することも可能である。
【０１０７】
（構成）
図２７は、この発明の第３の実施形態に係る試験装置の機能構成を、被試験端末及び治具端末の機能構成と共に示すブロック図である。なお、同図において前記図１及び図１０と同一部分には同一符号を付して詳しい説明は省略する。
【０１０８】
図２７において、被試験端末３及び治具端末２はそれぞれIPアドレスを持ち、相互にネットワークを介してIP通信が可能となっている。試験装置１０は、被試験端末３及び治具端末２に対しハブ４を介して接続され、被試験端末３及び治具端末２の双方と通信なIPアドレスを有している。
【０１０９】
例えば、被試験端末３はIPアドレス“192.168.10.33”を持ち、治具端末２はIPアドレス“192.168.10.44”を持つ。また、試験装置１０はインタフェースＸ１３とインタフェースＹ１４が後述するIPパケット転送処理部１２を介してブリッジ接続されると同時に、IPアドレスとして“192.168.10.90”を持ち、これにより被試験端末３及び治具端末２との間でそれぞれIP通信が可能になっている。また、SIPメッセージの送受信を行うために、被試験端末３及び治具端末２は何れもUDPプロトコルの“5060”番ポートを利用する。
【０１１０】
また、メディアデータを伝送するために、被試験端末３はTCPの53333番ポートを、治具端末２はTCPの54444番ポートを利用するようになっている。但し、本実施形態では、試験前に事前に分っているのはTCPを利用するということだけで、ポート番号については事前には分からないものとして説明を行う。
【０１１１】
これに対し、試験装置１０は、被試験端末３と治具端末２との間のメディアデータの伝送を中継するために、“59040”番ポートを利用して被試験端末３とメディアデータの伝送を行い、“59030”番ポートを利用して治具端末２とメディアデータの伝送を行う。
【０１１２】
なお、被試験端末３及び治具端末２は、試験装置１０に対しハブ４を介して接続する以外に、ネットワーク上にSIPサーバが存在する場合には、このSIPサーバを介してSIP通信が可能な状態に接続する構成であっても構わない。
【０１１３】
ところで試験装置１０は、被試験端末３と治具端末２との間で伝送されるSIPメッセージの加工処理を行う際に、試験装置１０のIPアドレスと、メディアデータ入出力部５３上のポート番号を動的に設定する機能を有する。
【０１１４】
すなわち、先に述べた第１及び第２の実施形態では試験装置１のIPアドレスの設定が必ずしも必要なかったのに対し、第３の実施形態では試験装置１０はIPアドレスの設定が必要である点が異なる。具体的には、図１及び図１０に示した試験装置１では、インタフェースＸ１３とインタフェースＹ１４がIPパケット転送処理部１２を介してブリッジ接続され、SIPパケット以外は無加工で片方のインタフェースから他方のインタフェースに通過させる。これに対し、第３の実施形態の試験装置１０ではインタフェースＸ１３とインタフェースＹ１４がIPパケット転送処理部１２を介してブリッジ接続される点は同じであるものの、IPパケット転送処理部１２がルーティング機能部１２１を備え、試験装置１０がメディアデータのIPパケットを送受信するためのIPアドレス及びポート番号を持つことで、メディアデータのIPパケットの受信、加工処理及び送信を行う点が異なる。
【０１１５】
ルーティング機能部１２１は、送信先のIPアドレスごとに、ネクストホップのIPアドレスや利用するインタフェース情報を管理するルーティングテーブルと、ARPテーブル等を保持する。そして、IPパケットを送信する際に、必要に応じてイーサネット（登録商標）のMACアドレス解決等を行い、インタフェースＸ１３もしくはインタフェースＹ１４を通してIPパケットを送信する。
【０１１６】
第３の実施形態は、第２の実施形態と同様に、被試験端末３と治具端末２との間で伝送されるメディアデータに変更を加えた場合の被試験端末３の挙動を確認する試験を行うものである。対象となるメディアデータに関して、対応するSIPメッセージのSDP情報内のメディア記述部は、m=行の設定値として、media部がapplication、proto部がTCP、fmt部がvnd.example.messagingであることを前提として説明するが、試験の内容に応じてmedia部やproto部やfmt部は異なっても構わない。
【０１１７】
また、第３の実施形態では、被試験端末３が治具端末２に対して送信したINVITEリクエストに含まれるSDP情報と、治具端末２から返送されたレスポンスに含まれるSDP情報を、試験装置１０が加工することで、被試験端末３のメディアデータの送信先アドレス及び治具端末２のメディアデータの送信先アドレスを何れも試験装置１０のIPアドレスに置換する。そして、以後被試験端末３及び治具端末２から送信されるメディアデータを試験装置１０で受信し、当該試験装置１０内のメディアデータ加工処理部５０で試験に必要なデータに加工した後、治具端末２及び被試験端末３へ転送することで、メディアデータの変更に関する被試験端末３の挙動を確認するための試験を可能にしている。
【０１１８】
なお、第３の実施形態では、被試験端末３がSIPメッセージとしてINVITEリクエストを送出して治具端末２との間の通信を開始するが、治具端末２から被試験端末３にINVITEリクエストを送出して通信を開始することも可能である。
【０１１９】
試験装置１０のSIPメッセージ加工処理部１１０は、SIPメッセージ加工条件テーブル１１１及びSIPメッセージ加工制御部１１２に加え、メディアデータ加工処理用IPアドレステーブル１１３を備えている。メディアデータ加工処理用IPアドレステーブル１１３は、メディアデータを試験装置１０が備えるメディアデータ加工処理部５０で加工するために、試験装置１０上に設定するIPアドレスとポート番号を被試験端末３ごとに保持する。
【０１２０】
SIPメッセージ加工制御部１１２は、SIPメッセージを加工する際に、当該SIPメッセージを送出した被試験端末３を特定し、上記メディアデータ加工処理用IPアドレステーブル１１３を参照して、メディアデータを送受信するために利用するIPアドレス及びポート番号を試験装置１０に設定する。図３５に上記メディアデータ加工処理用IPアドレステーブル１１３の一例を示す。
【０１２１】
すなわち、メディアデータ加工処理用IPアドレステーブル１１３には複数のレコードが記憶され、各レコードは「被試験端末IPアドレス」、「治具端末IPアドレス」、「利用IPアドレス」、「被試験端末送受信用ポート番号」及び「治具端末送受信用ポート番号」を含んでいる。
【０１２２】
「被試験端末IPアドレス」は、被試験端末３を特定するための情報として利用する。「治具端末IPアドレス」は、治具端末２を特定するための情報として利用する。「利用IPアドレス」には、試験装置１０に設定するIPアドレスが設定される。「被試験端末送受信用ポート番号」には、被試験端末３とのメディアデータの送受信を行うために利用するポート番号を設定される。「治具端末送受信用ポート番号」には、治具端末２とのメディアデータの送受信を行うために利用するポート番号が設定される。
【０１２３】
被試験端末３および治具端末２は、メディアデータの送受信に１つのTCPコネクションを利用する。このため、メディアデータ加工処理用IPアドレステーブル１１３には「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」を保持させるようにしている。しかし、被試験端末３および治具端末２が、メディアデータの送信と受信で異なるTCPコネクションを利用する場合には、「被試験端末受信用ポート番号」、「被試験端末送信用ポート番号」、「治具端末受信用ポート番号」及び「治具端末送信用ポート番号」を保持させる。メディアデータの送受信にUDPを利用する場合についても同様である。
【０１２４】
図２７に示したシステムは、被試験端末３が１つだけの場合を示しており、この場合当該被試験端末３に対しては図３５に示すメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」が対応付けられる。「被試験端末IPアドレス」には、被試験端末３のIPアドレスである“192.168.10.33”が設定される。「利用IPアドレス」には、被試験端末３と治具端末２の双方と互いに通信可能なIPアドレスが設定される。例えば、被試験端末３と治具端末２の双方と互いに通信可能であることを前提として、“192.168.10.90”を設定する。なお、条件を満たす限りにおいてランダムなIPアドレスを設定しても構わない。
【０１２５】
「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」には、互いに異なる２つのポート番号として“59030”と“59040”を設定しているが、メディアデータ加工処理用IPアドレステーブル１１３の他のレコードの「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」も含めて、重複しない限りはランダムな値を設定しても構わない。
【０１２６】
次に、SIPメッセージ加工条件テーブル１１１は、メディアデータ加工処理用IPアドレステーブル１１３の設定内容に合わせて構築される。メディアデータ加工処理用IPアドレステーブル１１３の内容に変更が生じた場合には、SIPメッセージ加工条件テーブル１１１の変更も必要になる。
【０１２７】
SIPメッセージ加工条件テーブル１１１の各レコードは、第２の実施形態と同様に、「メッセージマッチ条件」、「加工対象」及び「加工内容」を含む。SIPメッセージ加工制御部１１２は、メッセージマッチ条件にマッチするSIPメッセージに対して、「加工対象」で指定された部分を「加工内容」で指定された内容に加工する。
【０１２８】
また、SIPメッセージ加工条件テーブル１１１の各レコードは、上記のフィールドに加えて、メディアデータ加工処理用IPアドレステーブル１１３の対応レコードへの参照情報である「メディアデータ加工処理用IPアドレステーブル参照レコード」と、SIPメッセージの送信先端末の情報である「送信先端末」を含む。
【０１２９】
例えば、図２８の通信シーケンスに示したとおり、試験装置１０内のSIPメッセージ加工制御部１１２は、被試験端末３と治具端末２の間で送受信されるSIPメッセージを加工し、試験装置１０内のメディアデータ加工制御部５２は、被試験端末３と治具端末２の間で送受信されるメディアデータの中継および加工を行う。
【０１３０】
特に、SIPメッセージ加工制御部１１２が行うSIPメッセージの加工処理は、SIPメッセージに含まれるSDP情報の加工を行うものであり、その加工によって被試験端末３及び治具端末２がメディアデータを送信する際の送信先アドレスが試験装置１０になるように変更する。具体的には、被試験端末３が送出するINVITEリクエストに含まれるSDP情報と、治具端末２が送出する当該リクエストに対する200レスポンスに含まれるSDP情報を加工するために、図３０に示したレコード「１」とレコード「２」の情報をSIPメッセージ加工条件テーブル１１１に格納する。
【０１３１】
SIPメッセージ加工条件テーブル１１１には、被試験端末３と治具端末２のセットごとに、INVITEリクエストの加工を行うためのレコードと、200レスポンスの加工を行うためのレコードが記憶される。また、それらのレコードに保持するIPアドレスやポート番号の情報は、メディアデータ加工処理用IPアドレステーブル１１３に合わせる。本例では、被試験端末３および治具端末２はそれぞれ一つだけであり、図３５に示すメディアデータ加工処理用IPアドレステーブル１１３には、その被試験端末３と治具端末２に対応する１つのレコードが含まれている。
【０１３２】
またSIPメッセージ加工条件テーブル１１１には、図３０に示すように、その被試験端末３が送出するINVITEリクエストを加工するためのレコード「１」と、被試験端末３が受信する200レスポンスを加工するためのレコード「２」が含まれている。レコード「１」に含まれる「メッセージマッチ条件」には、IPパケットの送信元の条件として、被試験端末３のIPアドレスが設定される。この被試験端末３のIPアドレスとしては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」に記憶された「被試験端末IPアドレス」と同じ“192.168.10.33”が設定される。
【０１３３】
レコード「１」に含まれる「加工対象」には、INVITEリクエストに含まれるSDP情報内のm=application行が設定される。なお、被試験端末３がRFC4145記載のようにport部に“9”を設定し、実際に被試験端末３がメディアの送受信に利用するポート番号が事前にはわからないことが前提である。port部に“9”以外が設定される場合にも、それに対応できるようにport部が任意の数値でマッチする正規表現を用いる。
【０１３４】
レコード「１」に含まれる「加工内容」は、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するものである。変更後のm=行のport部は、治具端末２が送出するメディアデータのIPパケットを受信するための、試験装置１０のメディアデータ入出力部５３上のポート番号を設定する。このポート番号としては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「治具端末送受信用ポート番号」と同じ“59030”を設定する。追加されるc=行のconnection-address部には、試験装置１０のIPアドレスを設定する。この試験装置１０のIPアドレスとしては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「利用IPアドレス」と同じ“192.168.10.90”を設定する。
【０１３５】
なお、加工前のSDP情報が図３１とは異なり、被試験端末３がm=行の後にc=行を記述したINVITEメッセージを送出する場合には、レコード「１」の「加工対象」にm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部を試験装置１０のIPアドレスに変更するようにすればよい。
【０１３６】
レコード「１」に含まれる「メディアデータ加工用IPアドレステーブル参照レコード」には、図３５のメディアデータ加工用IPアドレステーブル１１３のレコード「１」を設定する。レコード「１」に含まれる「送信先端末」には、治具端末２であることを示す情報を設定する。
【０１３７】
図３０のSIPメッセージ加工条件テーブル１１１のレコード「２」に含まれる「メッセージマッチ条件」には、IPパケットの送信先の条件として、被試験端末３のIPアドレスを設定する。この被試験端末３のIPアドレスとしては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「被試験端末IPアドレス」と同じ“192.168.10.33”を設定する。
【０１３８】
レコード「２」に含まれる「加工対象」には、INVITEリクエストに対する200レスポンスに含まれるSDP情報内のm=application行が設定される。例えば、実際に治具端末がメディアの送受信に利用するポート番号が事前にはわからない前提であるため、port部が任意の数値でマッチする正規表現を用いる。
【０１３９】
レコード「２」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するための情報が設定される。変更後のm=行のport部には、被試験端末３が送出するメディアデータのIPパケットを受信するための、試験装置１０のメディアデータ入出力部５３上のポート番号が設定される。このポート番号としては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「被試験端末送受信用ポート番号」と同じ“59040”が設定される。追加されるc=行のconnection-address部には、試験装置１０のIPアドレスが設定される。この試験装置１０のIPアドレスとしては、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。
【０１４０】
なお、加工前のSDP情報が図３３とは異なり、治具端末２がm=行の後にc=行を記述したレスポンスを送出する場合には、レコード「２」の「加工対象」にm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部を試験装置１０のIPアドレスに変更するようにすればよい。
【０１４１】
レコード「２」に含まれる「メディアデータ加工用IPアドレステーブル参照レコード」には、図３５のメディアデータ加工用IPアドレステーブル１１３のレコード「１」が設定される。レコード「２」に含まれる「送信先端末」には、被試験端末３であることを示す情報が設定される。
【０１４２】
試験装置１０は、上記SIPメッセージ加工条件テーブル１１１を予め用意することにより、INVITEリクエストに含まれる図３１のSDP情報を図３２に示すSDP情報に加工し、また同リクエストに対する200レスポンスに含まれる図３３のSDP情報を図３４に示すSDP情報に加工する。
【０１４３】
メディアデータ加工管理テーブル５１３を図３６に、またコネクション管理テーブル５１２を図３７にそれぞれ示す。同図において、「ローカルIPアドレス」と「ローカルポート番号」は試験装置１０上のものである。また、コネクション管理テーブル５１２は、メディアデータ加工処理用IPアドレステーブル１１３の内容に合わせて構築する。メディアデータ加工処理用IPアドレステーブル１１３の内容に変更が生じた場合には、コネクション管理テーブル５１２の変更も行う。
【０１４４】
コネクション管理テーブル５１２の各レコードは、第２の実施形態で示したフィールドに加えて、対応するメディアデータ加工処理用IPアドレステーブル１１３のレコードの参照である「メディアデータ加工処理用IPアドレス参照レコード」と、コネクションの対向端末の情報である「対向端末」を含む。
【０１４５】
コネクション管理テーブルのレコード「１」は、被試験端末３と試験装置２との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「１」のTCPコネクションは内部的にC1で参照する。レコード「１」の「ローカルIPアドレス」には、図３５に示したメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。
【０１４６】
また、レコード「１」の「ローカルポート番号」には“59040”が設定される。これは、図３０のSIPメッセージ加工条件テーブル１１１のレコード「２」に基づくSIPメッセージの加工処理により被試験端末３は、治具端末２がメディアデータの送受信に利用するIPアドレスとTCPポート番号を“192.168.10.90”の“59040”番ポートと認識するためである。
【０１４７】
レコード「１」の「リモートIPアドレス」には、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「被試験端末IPアドレス」と同じ“192.168.10.33”が設定される。本実施形態では、被試験端末３がメディアデータの送受信に利用するポート番号は、事前にわからない。このため、レコード「１」の「リモートポート番号」は初期状態では空となっている。そして、実際にTCPコネクションが確立された段階で、相手の端末が利用するポート番号を取得して本フィールドに設定する。
【０１４８】
レコード「１」の「メディアデータ加工処理用IPアドレステーブル参照レコード」には、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」が設定される。またレコード「１」の「対向端末」には、被試験端末３であることを示す情報が設定される。
【０１４９】
一方、レコード「２」は、治具端末２と試験装置１０との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「２」のTCPコネクションは内部的にC2で参照する。
【０１５０】
レコード「２」の「ローカルIPアドレス」には、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。また、レコード「１」の「ローカルポート番号」には“59030”が設定される。これは、図３０のSIPメッセージ加工条件テーブル１１１のレコード「１」に基づくSIPメッセージの加工処理により治具端末２は、被試験端末３がメディアデータの送受信に利用するIPアドレスとTCPポート番号を、“192.168.10.90”の“59030”番ポートと認識するためである。
【０１５１】
レコード「２」の「リモートIPアドレス」には、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」の「治具端末IPアドレス」と同じ“192.168.10.44”が設定される。第３の実施形態では、治具端末２がメディアデータの送受信に利用するポート番号は事前にわからない。このため、レコード「２」の「リモートポート番号」は初期状態では空である。実際にTCPコネクションが確立された段階で、相手の端末が利用するポート番号を取得して本フィールドに設定する。
【０１５２】
レコード「２」の「メディアデータ加工処理用IPアドレステーブル参照レコード」には、図３５のメディアデータ加工処理用IPアドレステーブル１１３のレコード「１」が設定される。レコード「２」の「対向端末」には、治具端末２であることを示す情報が設定される。
【０１５３】
（動作）
次に、以上のように構成された試験装置１０の動作を説明する。図２９はその動作手順と内容を示すフローチャートである。  
本実施形態の試験装置１０は、メディアデータ加工処理部５０が利用するIPアドレスおよびポート番号を、毎回ランダムな値に設定する。そして、そのためにSIPメッセージ加工処理部１１０が加工対象のINVITEメッセージを受け取った際に、被試験端末３がアクセス可能なランダムなIPアドレス１つと、互いに異なるポート番号２つを生成し、SIPメッセージ加工条件テーブル１１１にそれらの値を反映するとともに、IPパケット転送処理部１２とメディアデータ加工処理部５０に通知する。
【０１５４】
生成する互いに異なる２つのポート番号は、それぞれ被試験端末３と治具端末２のメディアデータの送信先であり、SIPメッセージ加工条件テーブル１１１へのIPアドレスおよびポート番号の設定は、図１２に示したレコード「１」及びレコード「２」のように、INVITEリクエストとそのリクエストに対応する200レスポンスに対してセットで行う。例えば、IPアドレスが“192.168.10.90”、ポート番号が“59040”、“59030”である場合には、SIPメッセージ加工条件テーブル１１１は図３０のようになる。
【０１５５】
（１）試験装置１の動作
先ず、試験装置１では以下のような動作が実行される。  
被試験端末３からINVITEリクエストが送信されると、試験装置１０のIPパケット転送処理部１２はステップＳ３１により、上記INVITEリクエストをインタフェースＸ１３を通して受信する。また、治具端末２が被試験端末３に対して200レスポンスを返送すると、当該200レスポンスをインタフェースＹ１４を通して受信する。
【０１５６】
次にIPパケット転送処理部１２は、ステップＳ３２により、上記受信されたIPパケットの宛先IPアドレスが、試験装置１０に設定されたIPアドレスであるか否かを判定する。この場合、INVITEリクエスト及び200レスポンスの何れも宛先は試験装置１０ではないので、ステップＳ３３に進む。なお、試験装置１０にIPアドレスが設定されていない場合にもステップＳ３３に進む。
【０１５７】
IPパケット転送処理部１２は、ステップＳ３３において、上記受信されたINVITEリクエスト又は200レスポンスがSIPパケットであるか否かを判定し、SIPパケットと判定すると当該SIPパケットをSIPメッセージ加工制御部１１２に渡す。SIPメッセージ加工制御部１１２は、ステップＳ３４において、SIPメッセージ加工条件テーブル１１１を参照し、同テーブル１１１のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップＳ３９に進み、レコードが空でなければステップＳ３５に進む。
【０１５８】
ステップＳ３５においてSIPメッセージ加工制御部１１２は、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを一つ選択し、IPパケット転送処理部１２から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。例えば、レコード「１」であれば、受信したSIPメッセージがINVITEリクエストであり、かつIPパケットの送信元アドレスが“192.168.10.33”であるか否か、つまり送信元が被試験端末３であるか否かを判定する。またレコード「２」であれば、受信したSIPメッセージがINVITEリクエストに対する200レスポンスであり、かつIPパケットの送信先アドレスが“192.168.10.33”であるか否か、つまり送信先が被試験端末３であるか否かを判定する。
【０１５９】
その判定の結果、条件がマッチしなかった場合にはSIPメッセージ加工条件テーブル１１１の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル１１１に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
【０１６０】
受信されたSIPメッセージがメッセージマッチ条件にマッチすると、SIPメッセージ加工制御部１１２はステップＳ３６において、IPパケット転送処理部１２とメディアデータ加工制御部５２に、試験装置１０のIPアドレスおよびメディアデータ入出力部５３上のポート番号を通知する。
【０１６１】
例えば、SIPメッセージ加工制御部１１２が、被試験端末３が送出したINVITEリクエストに含まれるm=行のport部の変更とc=行の追加を行う際に、m=行の変更後のport部のポート番号と、追加するc=行に含まれるIPアドレスを、IPパケット転送処理部１２およびメディアデータ加工制御部５２に通知する。ここで通知されるIPアドレスとポート番号は、対応するメディアデータ加工処理用IPアドレステーブル１１３のレコードに含まれる「利用IPアドレス」と「治具端末送受信用ポート番号」である。特にポート番号の通知については、治具端末２とのメディアデータの送受信用のポート番号である情報も通知される。
【０１６２】
また、治具端末２が送出したINVITEリクエストに対する200レスポンスを受信した場合には、当該レスポンスに含まれるm=行のport部の変更とc=行の追加を行う際に、m=行の変更後のport部のポート番号と、追加するc=行に含まれるIPアドレスを、IPパケット転送処理部１２およびメディアデータ加工制御部５２に通知する。ここで通知されるIPアドレスとポート番号は、対応するメディアデータ加工処理用IPアドレステーブル１１３のレコードに含まれる「利用IPアドレス」と「被試験端末送受信用ポート番号」である。特にポート番号の通知については、被試験端末３とのメディアデータの送受信用のポート番号である情報も通知される。
【０１６３】
上記IPアドレス情報を受け取ると、IPパケット転送処理部１２はルーティング機能部１２１がそのIPアドレスを保存する。このIPアドレスは、以後被試験端末３及び治具端末２からのメディアデータを受信したときに、その宛先が試験装置１０であるか否かを上記ステップＳ３２で判定する際に使用する。また、上記ポート番号情報を受け取ると、メディアデータ加工処理部５０は、上記受け取った治具端末２との間のメディアデータ送受信用のポート番号と、被試験端末３との間のメディアデータ送受信用のポート番号をメディアデータ入出力部５３にそれぞれ設定する。これにより、以後治具端末２及び被試験端末３との間でメディアデータの送受信が可能となる。
【０１６４】
なお、上記ステップＳ３６におけるIPアドレスおよびポート番号の通知処理は、SIPメッセージ加工制御部１１２がSIPメッセージの加工処理を行う際に、試験装置１０のIPアドレスおよびメディアデータ入出力部５３上のポート番号を新規に設定もしくは変更する場合に必要な処理である。これに対し、試験装置１０のIPアドレスおよびメディアデータ入出力部５３上のポート番号を新規設定もしくは変更しない場合には不要であり、この場合は処理を何も行わずにステップＳ３７に進む。
【０１６５】
また、被試験端末３および治具端末２との間のメディアデータの加工および転送に利用する試験装置１０のIPアドレスと、メディアデータ入出力部５３上のポート番号をランダムな値に設定する場合には、当該ステップＳ３６の最初に、メディアデータ加工処理用IPアドレステーブル１１３のレコードを更新すればよい。
【０１６６】
具体的には、被試験端末３が送出したINVITEリクエストを処理する際に、当該テーブル１１３の「被試験端末IPアドレス」にINVITEリクエストのIPパケットの送信元IPアドレスを設定すると共に、「治具端末IPアドレス」にINVITEリクエストのIPパケットの送信先IPアドレスを設定し、さらに「利用IPアドレス」にランダムに生成したIPアドレスを設定すると共に、「被試験端末送受信用ポート番号」と「治具端末用ポート番号」にランダムに生成したポート番号を設定すればよい。
【０１６７】
また、上記メディアデータ加工処理用IPアドレステーブル１１３の更新に伴い、当該テーブル１１３のレコードに対応する、SIPメッセージ加工処理用IPテーブル１１１とコネクション管理テーブル５１２を更新する。
【０１６８】
このうち、先ずSIPメッセージ加工処理用IPテーブル１１１については、「メディア加工処理用IPアドレステーブル参照レコード」の更新に応じて、対応するレコードの「加工内容」を更新する。例えば、「送信先端末」が治具端末２であるレコードについては、m=行のport部にメディア加工処理用IPアドレステーブル１１３の「治具端末送受信用ポート番号」の値を設定し、c=行のconnection-address部にメディア加工処理用IPアドレステーブル１１３の「利用IPアドレス」の値を設定する。これに対し「送信先端末」が被試験端末３であるレコードについては、m=行のport部にメディア加工処理用IPアドレステーブル１１３の「被試験端末送受信用ポート番号」の値を設定し、c=行のconnection-address部にメディア加工処理用IPアドレステーブル１１３の「利用IPアドレス」の値を設定する。
【０１６９】
コネクション管理テーブルについては、「メディア加工処理用IPアドレステーブル参照レコード」の更新に応じて、対応するレコードを更新する。例えば、「対向端末」が被試験端末３であるレコードについては、「ローカルIPアドレス」にメディア加工処理用IPアドレステーブル１１３の「利用IPアドレス」の値を設定し、「ローカルポート番号」にメディア加工処理用IPアドレステーブル１１３の「被試験端末送受信用ポート番号」の値を設定する。「対向端末」が治具端末２であるレコードについては、「ローカルIPアドレス」にメディア加工処理用IPアドレステーブル１１３の「利用IPアドレス」の値を設定し、「ローカルポート番号」にメディア加工処理用IPアドレステーブル１１３の「治具端末送受信用ポート番号」の値を設定する。
【０１７０】
次に、SIPメッセージ加工制御部１１２はステップＳ３７において、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図３０に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
【０１７１】
例えば、図３０に示すSIPメッセージ加工条件テーブル１１１のレコード「１」によれば、図３１のINVITEリクエストのSDP情報に対して、図３２に示すようにm=application * TCP vnd.example.messagingをm=application 59030 TCP vnd.example.messaging に変更し、さらに次行にc=IN IP4 192.168.10.90を追加する処理が行われる。またレコード「２」によれば、図３３に示すINVITEリクエストに対する200レスポンスのSDP情報に対し、図３４に示すようにm=application * TCP vnd.example.messagingをm=application 59040 TCP vnd.example.messaging に変更し、さらに次行にc=IN IP4 192.168.10.90を追加する処理が行われる。すなわち、何れの場合も試験装置１０内のメディアデータ入出力部５３に設定されたポート番号と試験装置１０のIPアドレスを追加する処理が行われる。
【０１７２】
最後にSIPメッセージ加工制御部１１２は、ステップＳ３８により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
【０１７３】
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部１２はステップＳ３９により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末３からINVITEリクエストをインタフェースＸ１３を介して受信した場合には、その加工処理後のINVITEリクエストをインタフェースＹ１４から治具端末２に向け送信する。これに対し、治具端末２から送信されたINVITEリクエストに対する200レスポンスをインタフェースＹ１４を介して受信した場合には、加工処理後の200レスポンスをインタフェースＸ１３から被試験端末３に向けて送信する。
【０１７４】
（２）メディアデータ加工処理部５０の動作
次に、メディアデータ加工処理部５０では以下のような動作が実行される。すなわち、被試験端末３からメディアデータのIPパケットが送信され、このIPパケットの送信先情報に試験装置１０のIPアドレス及びポート番号（“57740”番ポート）が設定されていると、当該IPパケットはメディアデータ加工処理部５０のメディアデータ入出力部５３により受信される。
【０１７５】
上記メディアデータのIPパケットが受信されるとメディアデータ加工制御部５２は、先ずステップＳ４１において、受信されたIPパケットの宛先ポート番号に、被試験端末３または治具端末２とのメディアデータの送受信用に設定されたメディアデータ加工処理部上のポート番号が存在するかどうかを判定する。そして、対応するポート番号が存在する場合にはステップＳ４２に進む。対応するポートが存在しない場合には、ICMPエラーメッセージを生成してステップＳ４９に進み、当該エラーメッセージを送信元の被試験端末３へ送信する。
【０１７６】
IPパケットが受信されると、メディアデータ加工制御部５２がステップＳ４２において、上記受信されたIPパケットがどのコネクションで受信されたかを判定して、コネクション管理テーブル５１２の対応するレコードを選択する。本実施形態では、メディアデータはTCPで送受信されるため、メディアデータ加工処理部５０がメディアデータのTCPパケットを受信する際に、TCPコネクションが存在しない場合には、TCPコネクションが新たに確立される。
【０１７７】
この場合、コネクション管理テーブル５１２の「ローカルIPアドレス」、「ローカルポート番号」、「リモートIPアドレス」及び「リモートポート番号」のすべてに合致するレコードを選択する。合致するレコードが無い場合には、「ローカルIPアドレス」、「ローカルポート番号」及び「リモートIPアドレス」のすべてが合致し、「リモートポート番号」のみが空欄であるようなレコードを選択し、その上で「リモートポート番号」に当該TCPコネクションのリモートポート番号を設定する。それでも合致するレコードが無い場合には、「ローカルIPアドレス」及び「ローカルポート番号」のすべてが合致し、「リモートIPアドレス」と「リモートポート番号」が空欄であるようなレコードを選択した上で、「リモートIPアドレス」と「リモートポート番号」に当該TCPコネクションのリモートIPアドレスとリモートポート番号を設定する。
【０１７８】
例えば、被試験端末３が送出したメディアデータをメディアデータ加工処理部５０が受け取った場合には、図３６に示すメディアデータ加工管理テーブル５１３のレコード「１」が選択される。また、治具端末２が送出したメディアデータをメディアデータ加工処理部５０が受け取った場合には、図３６に示すメディアデータ加工管理テーブル５１３のレコード「２」が選択される。
【０１７９】
メディアデータ入出力部５３からメディアデータを受け取ると、メディアデータ加工制御部５２はステップＳ４３において、当該受け取ったメディアデータをメディアデータ表示部５４２に出力し表示させる。表示方法としては、メディアデータがテキストデータや映像である場合には、ディスプレイ等の画面に可視情報として表示させ、メディアデータが音声である場合にはスピーカ等から可聴音として出力させる方法を用いる。なお、他の表示方法としては、予め特定のメディアデータとその表示方法（画面に表示又は強調して表示する、ＢＥＥＰ音を鳴らすなど）を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示を行う、という方法も考えられる。
【０１８０】
続いてメディアデータ加工制御部５２は、ステップＳ４４において、メディアデータ加工条件テーブル５１１を参照し、メディアデータ入出力部５３から受け取ったメディアデータが加工対象を含むか否かを判定する。この場合、参照するメディアデータ加工条件テーブル５１１は、ステップＳ４２で選択されたメディアデータ加工管理テーブル５１３の対応レコードを参照して決定される。
【０１８１】
メディアデータ加工条件テーブル５１１は、「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含んでいる。「加工対象」を含む場合はステップＳ４５に進み、それ以外の場合にはステップＳ４８に進む。
【０１８２】
ステップＳ４５に移行するとメディアデータ加工制御部５２は、ユーザデータ入力部５４１を通してユーザの入力を受け付けるか否かを判定する。この判定は、メディアデータ加工条件テーブル５１１の「ユーザデータ入力対象フラグ」が“true”であるか“false”であるかにより行われる。
【０１８３】
「ユーザデータ入力対象フラグ」が“true”であれば、メディアデータ加工制御部５２はステップＳ４６において、ユーザデータ入力部５４１を通してユーザの入力を受け付ける。この状態で、ユーザが目的とする試験内容に基づいて対象のメディアデータに対して任意の加工を行うための情報を入力したとする。そうするとメディアデータ加工制御部５２は、当該入力されたデータによりメディアデータを加工する。その加工例としては、一部の文字列等のデータを書き換える、すべての文字列等のデータを書き換える、メディアデータをすべて削除する、等が考えられる。また、メディアデータ自体の加工は行わず、ユーザ入力待ち状態を一定時間維持することで当該メディアデータの出力を遅延させることも可能である。
【０１８４】
これに対し「ユーザデータ入力対象フラグ」が“false”だったり、また「ユーザデータ入力対象フラグ」が存在しない場合には、メディアデータ加工制御部５２はステップＳ４７に移行し、ここでメディアデータ加工条件テーブル５１１に設定された「加工付加情報」に従い、対象のメディアデータを加工処理する。このメディアデータに対する加工処理の具体例については、第２の実施形態と同一であるため例示は省略する。
【０１８５】
上記ステップＳ４６又はステップＳ４７によるメディアデータの加工処理が終了すると、メディアデータ加工制御部５２は、ステップＳ４８において、上記加工処理後のメディアデータをメディアデータ表示部５４２に表示させる。表示方法としては、ステップＳ４３で加工処理前の受信メディアデータを表示させる場合と同様に、加工処理後のメディアデータがテキストデータや映像である場合にはディスプレイ等の画面に可視情報として出力し表示させ、またメディアデータが音声である場合にはスピーカ等に可聴音として出力する方法が考えられる。
【０１８６】
なお、予め特定のメディアデータとその表示方法（画面に表示又は強調して表示する、ＢＥＥＰ音を鳴らすなど）を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示行う、ということも考えられる。また、先に述べたステップＳ４３及びステップＳ４８による加工処理前及び加工処理後のメディアデータの表示処理は省略することも可能である。
【０１８７】
最後にメディアデータ加工制御部５２は、ステップＳ４９において、先に選択されたメディアデータ加工管理テーブル５１３のレコードを参照し、メディアデータの送信に必要な情報を取得した上で、上記加工処理されたメディアデータをIPパケット化する。そして、IPパケット転送処理部１２のルーティング機能部１２１が、上記生成されたIPパケットを、自身のルーティング情報にもとづいて、インタフェースＸ１３もしくはインタフェースＹ１４から被試験端末３又は治具端末２へ向け送出する。
【０１８８】
（効果）
以上詳述したように第３の実施形態では、試験装置１０内にメディアデータ加工処理部５０を設け、試験に使用する特定のSIPメッセージの送信先情報を、試験装置１０に設定されたIPアドレスと、メディアデータ加工処理部５０のメディアデータ入出力部５３に設定されたポート番号となるように置換することで、以後被試験端末３及び治具端末２から送信されるメディアデータのIPパケットを試験装置１０で受信してメディアデータ加工処理部５０に転送させる。そして、当該メディアデータ加工処理部５０により、上記受信されたメディアデータのIPパケットに対し試験のために必要な加工処理を行った後、当該加工処理後のメディアデータのIPパケットをIPパケット転送処理部１２により治具端末２及び被試験端末３に向け送信するようにしている。
【０１８９】
したがって、第２の実施形態と同様に、メディア通信に利用するIPアドレスやポート番号が毎回の通信において異なる場合でも、またSIPを使わず単独で通信を開始したメディア通信であっても、確実にプロキシ機能を発揮させることができる。また、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合とで、治具端末２が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してはプロキシ機能が動作しないようにすることができる。
【０１９０】
さらに、試験装置１０上のIPアドレスおよびメディアデータ入出力部５３上のポート番号を動的にかつランダムに設定するようにしている。このようにすることで、IPアドレス及びポート番号の情報を試験ごとに異ならせることができ、被試験端末３及び治具端末２の試験ごとの通信ログデータがある場合に、通信ログデータを区別することが容易になる。また、被試験端末３が複数ある場合に、被試験端末３ごとに、メディアデータ加工処理部５０が利用するIPアドレスおよびポート番号を異なる値を設定することができ、これにより被試験端末３ごとの試験を並行して実行することが可能になる。
【０１９１】
［その他の実施形態］
なお、この発明は上記各実施形態に限定されるものではない。例えば、第３の実施形態ではSIPメッセージ加工処理部１１０及びIPパケット転送処理部１２に、メディアデータ加工処理部５０を単に追加した場合を例にとって説明した。しかしそれに限らず、SIPメッセージ加工処理部１１０内のテーブル１１１，１１３と、メディアデータ加工処理部５０内のテーブル５１１〜５１３を、１つの記憶ユニットに集約して設けたり、SIPメッセージ加工制御部１１２とメディアデータ加工制御部５２１の処理機能を１つのプロセッサにより実現するようにしてもよい。
【０１９２】
その他、各テーブルに記憶する各管理データの構成や、加工対象とその加工内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【０１９３】
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１９４】
１，１０…試験装置、２…治具端末、３…被試験端末、４…ハブ、５…メディアデータ加工装置、１１，１１０…SIPメッセージ加工処理部、１１１…SIPメッセージ加工条件テーブル、１１２…SIPメッセージ加工制御部、１２…IPパケット転送処理部、１３，１４…試験装置のインタフェース、２１…治具端末のSIPアプリケーション処理部、２１１…SIP通信部、２１２…メディア通信部、２２…治具端末のインタフェース、３１…被試験端末のSIPアプリケーション処理部、３１１…SIP通信部、３１２…メディア通信部、３２…被試験端末のインタフェース、５０…メディアデータ加工処理部、５１…メディアデータ加工装置の記憶部、５１１…メディアデータ加工条件テーブル、５１２…コネクション管理テーブル、５１３…メディアデータ加工管理テーブル、５２…メディアデータ加工制御部、５２１…タイマ、５３…メディアデータ入出力部、５４…メディアデータ加工装置のユーザインタフェース部、５４１…ユーザデータ入力部、５４２…メディアデータ表示部、５５…メディアデータ加工装置のインタフェース。
【図１】
2015133552.tif 000003
【図２】
2015133552.tif 000004
【図３】
2015133552.tif 000005
【図４】
2015133552.tif 000006
【図５】
2015133552.tif 000007
【図６】
2015133552.tif 000008
【図７】
2015133552.tif 000009
【図８】
2015133552.tif 000010
【図９】
2015133552.tif 000011
【図１０】
2015133552.tif 000012
【図１１】
2015133552.tif 000013
【図１２】
2015133552.tif 000014
【図１３】
2015133552.tif 000015
【図１４】
2015133552.tif 000016
【図１５】
2015133552.tif 000017
【図１６】
2015133552.tif 000018
【図１７】
2015133552.tif 000019
【図１８】
2015133552.tif 000020
【図１９】
2015133552.tif 000021
【図２０】
2015133552.tif 000022
【図２１】
2015133552.tif 000023
【図２２】
2015133552.tif 000024
【図２３】
2015133552.tif 000025
【図２４】
2015133552.tif 000026
【図２５】
2015133552.tif 000027
【図２６】
2015133552.tif 000028
【図２７】
2015133552.tif 000029
【図２８】
2015133552.tif 000030
【図２９】
2015133552.tif 000031
【図３０】
2015133552.tif 000032
【図３１】
2015133552.tif 000033
【図３２】
2015133552.tif 000034
【図３３】
2015133552.tif 000035
【図３４】
2015133552.tif 000036
【図３５】
2015133552.tif 000037
【図３６】
2015133552.tif 000038
【図３７】
2015133552.tif 000039