以下、図面を参照してこの発明に係わる実施形態を説明する。
[第1の実施形態]
この発明の第1の実施形態は、被試験端末と治具端末との間で、追加番号を取得した場合の被試験端末の挙動を確認する試験を行うために、上記被試験端末及び治具端末との間で通信が可能な試験装置を設ける。そして、この試験装置にSIPメッセージの加工条件を記憶したメモリテーブルを設けることで、上記被試験端末及び治具端末から送信されたSIPメッセージのうち特定のSIPメッセージのみを加工対象として選択し、当該選択されたSIPメッセージに対し試験に必要な加工処理を行うことで上記試験のためのSIPメッセージを生成し、当該生成された試験用メッセージを上記被試験端末と治具端末との間で中継するようにしたものである。
(構成)
図1は、この発明の第1の実施形態に係る試験装置の機能構成を、被試験端末及び治具端末の機能構成と共に示したブロック図である。
同図において、被試験端末3は試験装置1及びハブ(HUB)4を介して治具端末2に接続される。被試験端末3及び治具端末2は、SIPメッセージの送受信にUDPプロトコルの“5060”番ポートを利用するものとする。また、被試験端末3及び治具端末2はIPアドレスを持つが、試験装置1はインタフェースX13とインタフェースY14が後述するIPパケット転送処理部12を介してブリッジ接続され、IPアドレスを持たないものとする。
なお、被試験端末3はハブ4を介して試験装置1に接続してもよいし、また治具端末3は試験装置1に対しハブ4を介さずに直接又はネットワークを介して接続するようにしてもよい。
治具端末2は、SIP通信部211及びメディア通信部212を有するSIPアプリケーション処理部21と、インタフェースB22を備えている。また被試験端末3も、上記治具端末2と同様にSIP通信部311及びメディア通信部312を有するSIPアプリケーション処理部31と、インタフェースA32を備えている。SIP通信部211,311は、SIPプロトコルに従いSIPメッセージの生成及び送受信を行う。メディア通信部212,312は、SIPプロトコルに従いメディアデータの生成及び送受信を行う。
試験装置1は、SIPメッセージ加工処理部11と、IPパケット転送処理部12と、インタフェースX13及びインタフェースY14を備えている。このうちSIPメッセージ加工処理部11は、SIPメッセージ加工条件テーブル111及びSIPメッセージ加工制御部112を有している。
IPパケット転送処理部12は、被試験端末3又は治具端末2が送出したIPパケットを、インタフェースX13又はインタフェースY14を介して受信し、上記受信したIPパケットがSIPパケットであるか否かを判定する。そして、SIPパケットであれば当該SIPパケットをSIPメッセージ加工制御部112に渡し、SIPパケットでなければそのまま転送する機能を有している。
SIPメッセージ加工条件テーブル111には、加工対象となるSIPメッセージを指定する条件を指定する「メッセージマッチ条件」と、SIPメッセージにおける加工対象部分を指定する「加工対象」と、加工方法を指定する「加工内容」が記憶される。図5はその一例を示すものである。なお、図5に示した例では、「メッセージマッチ条件」一つに対して、「加工対象」及び「加工内容」の組を一つ関連付けた場合を例示しているが、「メッセージマッチ条件」一つに対して、「加工対象」及び「加工内容」の組を複数関連付けてもよい。
SIPメッセージ加工制御部112は、上記SIPメッセージ加工条件テーブル111を参照して、被試験端末3及び治具端末2から送信されたSIPメッセージを加工する。加工するSIPメッセージとしては、REGISTERリクエスト及びREGISTERリクエストに対する200レスポンスがある。なお、加工するSIPメッセージには、その他のSIPメッセージも適用可能である。また、加工処理の種類は、「加工対象」を「加工内容」で置き換える処理が挙げられるが、「加工対象」を削除する処理や、メッセージ全体を特定のメッセージに置き換える処理も実行可能である。
図5に示したSIPメッセージ加工条件について以下に詳しく説明する。すなわち、「メッセージマッチ条件」として、SIPメッセージの種別と、SIPメッセージが格納されるIPヘッダに記載されるIPアドレスの条件を設定している。第1の実施形態のネットワークに、試験装置1、被試験端末3及び治具端末2以外に、SIP通信を行う他の端末が接続されている場合には、「メッセージマッチ条件」に、Fromヘッダ、Toヘッダ、Contactヘッダ、Viaヘッダなどの被試験端末のIPアドレスを含むヘッダを含む条件を加えることで、他の端末が行うSIP通信に影響を与えないようにすることが可能である。また、リクエストとレスポンスとを関連付けてSIPメッセージの加工処理を行う場合には、リクエストを処理する際に、Call-IDヘッダやViaヘッダなどのSIP呼を特定する情報や、SIPトランザクションを特定する値をそのリクエストから取得する。そして、レスポンスに対応するSIPメッセージ加工条件テーブル111のレコードの「メッセージマッチ条件」に、それらの値が同値である条件を追加すればよい。
図5の例では、REGISTERリクエストに対する200レスポンスに含まれるP-Associated-URIヘッダを対象として、同ヘッダに追加番号に対応する文字列追加の加工を行う、という内容のレコード「1」と、REGISTERリクエストに含まれるContactヘッダを対象として、同ヘッダの直後にSupportedヘッダを追加する加工を行う、という内容のレコード「2」を記載している。なお、REGISTERリクエスト、REGISTERリクエストに対するレスポンスのどちらを加工するかによって、いずれか一方のレコードのみを含めておくこともできる。
SIPメッセージ加工条件テーブル111に記憶されたレコード「1」の「メッセージマッチ条件」では、SIPメッセージがREGISTERに対する200レスポンスであること、そのSIPメッセージの送信先IPアドレスが被試験端末のIPアドレスである“192.168.1.2”であることを条件として指定している。なお、SIPリクエストにはINVITEリクエストなどのREGISTERリクエスト以外のリクエストも存在するが、SIPメッセージの先頭行に記述されているリクエスト種別で判別することができる。SIPレスポンスの場合には、CSeqヘッダに記述されているリクエスト種別により、対象のSIPリクエスト種別を判別することができる。
レコード「1」の「加工対象」では、P-Associated-URIヘッダを指定し、「加工内容」に同ヘッダに追加番号情報である、<sip:0311111111@10.0.0.1>を追加する内容を指定している。この例では、「加工対象」を固定文字列で指定しているが、正規表現を用いれば、ランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
SIPメッセージ加工条件テーブル111に記載されたレコード「2」の「メッセージマッチ条件」では、SIPメッセージがREGISTERリクエストであること、そのSIPメッセージの送信元IPアドレスが被試験端末3のIPアドレスである“192.168.1.2”であることを条件として指定している。レコード「2」の「加工対象」では、Contactヘッダを指定し、「加工内容」に同ヘッダの直後にSupportedヘッダを追加する内容を指定している。
(動作)
次に、以上のように構成された試験装置1の動作を説明する。図4はその動作手順と内容を示すフローチャートである。
ここでは、被試験端末3が治具端末2に対してREGISTERリクエストを送信し、治具端末2からのレスポンスを試験装置1が加工することにより被試験端末3に追加番号を取得させる場合(図2のシーケンス1)と、被試験端末3が送出するREGISTERリクエストを変更した場合に、治具端末2のレスポンス及びそのレスポンスを受信した被試験端末3がどのような挙動をとるのかを試験する場合(図3のシーケンス2)についてそれぞれ説明する。
被試験端末3又は治具端末2からIPパケットが送信されると、試験装置1のIPパケット転送処理部12はステップS11により、上記IPパケットをインタフェースX13又はインタフェースY14を通して受信する。例えば、いま図2に示すように被試験端末3が治具端末2に対しREGISTERリクエストのIPパケットを送信したとすると、試験装置1のIPパケット転送処理部12は当該REGISTERリクエストのIPパケットをインタフェースX13を通して受信する。また、図3に示すように治具端末2が被試験端末3に対してレスポンスのIPパケットを返送すると、当該レスポンスのIPパケットをインタフェースY14を通して受信する。REGISTERリクエストの例を図8に、またREGISTERリクエストに対するレスポンスの例を図6にそれぞれ示す。
続いてIPパケット転送処理部12は、上記受信されたIPパケットがSIPパケットであるか否かをステップS12により判定する。例えば、受信されたIPパケットがUDPパケットであり、その宛先ポート番号が“5060”番である場合には、当該IPパケットをSIPパケットと判定する。同様に、被試験端末3が“5060”番以外のポート番号を利用している場合には、そのポート番号宛てのパケットをSIPパケットと判定する。例えば、被試験端末3から送信されたREGISTERリクエストについては、SIPパケットと判定する。
SIPパケットと判定するとIPパケット転送処理部12は、当該SIPパケットをSIPメッセージ加工制御部112に渡す。SIPメッセージ加工制御部112は、ステップS13において、上記SIPメッセージ加工条件テーブル111を参照し、同テーブル111のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップS17に進み、レコードが空でなければステップS14に進む。
ステップS14においてSIPメッセージ加工制御部112は、SIPメッセージ加工条件テーブル111に記憶されたレコードを一つ選択し、IPパケット転送処理部12から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。その判定の結果、マッチした場合にはステップS15に進み、マッチしなかった場合にはSIPメッセージ加工条件テーブル111の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル111に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
ステップS15においてSIPメッセージ加工制御部112は、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図5に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
例えば、図5に示すSIPメッセージ加工条件テーブル111のレコード「1」によれば、図6のREGISTERリクエストに対する200レスポンスに対して、図7に示すようにP-Associated-URIとして記述された<sip:3@192.168.1.1>に、<sip:0311111111@10.0.1.1>を追加する処理が行われる。またレコード「2」によれば、図8に示すREGISTERリクエストに対して、図9に示すようにContact:<sip:random123@192.168.1.2>;expires=3600の次の行にSupported:pathを追加する処理が行われる。
最後にSIPメッセージ加工制御部112は、ステップS16により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部12はステップS17により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末3から送信されたREGISTERリクエストのIPパケットをインタフェースX13を介して受信した場合には、その加工処理後のIPパケットをインタフェースY14から治具端末2に向け送信する。これに対し、治具端末2から送信されたREGISTERに対するレスポンスのIPパケットをインタフェースY14を介して受信した場合には、加工処理後のIPパケットをインタフェースX13から被試験端末3に向けて送信する。
(効果)
以上詳述したように第1の実施形態では、試験装置1内のSIPメッセージ加工条件テーブル111に、加工対象となるSIPメッセージについて、当該SIPメッセージを指定する条件を表す「メッセージマッチ条件」と、SIPメッセージにおける加工対象部分を指定する「加工対象」と、加工方法を指定する「加工内容」を予め記憶しておく。そして、被試験端末3及び治具端末2からそれぞれSIPメッセージ及びそのレスポンスを受信した場合に、上記SIPメッセージ加工条件テーブル111に記憶された「メッセージマッチ条件」をもとに当該受信されたSIPメッセージ又はそのレスポンスが加工対象か否かを判定し、加工対象の場合に、上記SIPメッセージ加工条件テーブル111に記憶された「加工対象」及び「加工内容」による指定情報をもとに上記受信されたSIPメッセージ又はそのレスポンスを加工処理し、治具端末2又は被試験端末3へ向けて送信するようにしている。
したがって、試験装置1において、SIPメッセージ加工条件テーブル111にSIPメッセージの必要な部分のみを書き換えるための情報を設定しておくだけで、加工対象のSIPメッセージに対し確実に加工処理することが可能となる。このため、被試験端末3が受信するSIPメッセージの一部のみに変更を加えた場合の被試験端末3の挙動を調べたい場合に、変更を加えない他のSIPメッセージも含めて、一連のSIPメッセージを送受信するための試験シナリオを事前に準備しておく必要がなくなり、これにより試験を行うシステム管理者の作業負担を大幅に軽減することが可能となる。また、被試験端末3以外の端末が行う通信には影響を及ぼさずに必要な試験を行うことが可能となる。
[第2の実施形態]
この発明の第2の実施形態は、試験装置とメディアデータ加工装置を独立して設け、被試験端末と治具端末の間で伝送されるメディアデータに変更を加えた場合の被試験端末の挙動を確認する試験を行う際に、試験に使用する特定のSIPメッセージの宛先情報を試験装置で加工処理することでメディアデータをメディアデータ加工装置へ転送させ、メディアデータ加工装置において上記メディアデータに対し試験のために必要な加工処理を行った上で宛先の端末へ中継転送するようにしたものである。
より具体的には、被試験端末が治具端末に対して送信するSIPメッセージ及び治具端末が被試験端末に対して送信するSIPメッセージ中のSDP情報に含まれる特定メディア通信の宛先を表すIPアドレス及びポート番号をメディアデータ加工処理部が利用するIPアドレスとポート番号に書き換え、これにより以後被試験端末及び治具端末から送信されたメディアデータをメディアデータ加工装置に転送させ、当該メディアデータ加工装置において上記メディアデータに対し試験のために必要な加工処理を行い、この加工処理後のメディアデータを宛先となる端末へ中継転送するようにしたものである。
(構成)
図10は、この発明の第2の実施形態に係る試験装置及びメディアデータ加工装置の機能構成を、被試験端末及び治具端末の機能構成と共に示したブロック図である。なお、同図において前記図1と同一部分には同一符号を付して詳しい説明は省略する。
同図において、被試験端末3及び治具端末2はそれぞれIPアドレスを持ち、相互にネットワークを介してIP通信が可能となっている。試験装置1とメディアデータ加工装置5は、被試験端末3及び治具端末2に対しハブ4を介して接続される。メディアデータ加工装置5は、被試験端末3及び治具端末2の双方とIP通信が可能な位置に接続されると共に、被試験端末3及び治具端末2の双方と通信なIPアドレスを有している。
例えば、被試験端末3はIPアドレス“192.168.10.30”を持ち、治具端末2はIPアドレス“192.168.10.40”を持つ。また、メディアデータ加工装置5はIPアドレスとして“192.168.10.77”を持ち、これによりメディアデータ加工装置5は被試験端末3及び治具端末2との間でそれぞれIP通信が可能になっている。また、SIPメッセージの送受信を行うために、被試験端末3及び治具端末2は何れもUDPプロトコルの“5060”番ポートを利用する。また、メディアデータの送受信を行うために、被試験端末3はTCPプロトコルの“53030”番ポート、治具端末2は“54040”番ポートを利用する。これに対し、メディアデータ加工装置5は、被試験端末3と治具端末2との間のメディアデータの伝送を中継するために、“57740”番ポートを利用して被試験端末3とメディアデータの伝送を行い、“57730”番ポートを利用して治具端末2とメディアデータの伝送を行う。
なお、被試験端末3及び治具端末2は、試験装置1及びメディアデータ加工装置5に対しハブ4を介して接続する以外に、ネットワーク上にSIPサーバが存在する場合には、このSIPサーバを介してSIP通信が可能な状態に接続する構成であっても構わない。
ところで、試験装置1のSIPメッセージ加工条件テーブル111には、複数のレコードが記憶される。各レコードは、何れも「メッセージマッチ条件」、「加工対象」及び「加工内容」を含む。図12はその一例を示すもので、レコード「1」として、被試験端末3が送出するINVITEリクエストに含まれるSDP情報中のメディア記述部を加工するための情報が記憶され、レコード「2」として治具端末2が送出する上記INVITEリクエストに対する200レスポンスに含まれるSDP情報中のメディア記述部を加工するための情報が記憶される。
SDP情報中のメディア記述部には、m=行の設定値として、media部がapplication、proto部がTCP、fmt部がvnd.example.messagingに設定されている。なお、試験の内容に応じて、media部がaudioやvideoである場合にはproto部やfmt部が異なっても構わない。
SIPメッセージ加工条件テーブル111のレコード「1」に含まれる「メッセージマッチ条件」には、図12に示すようにIPパケットの送信元の条件として、被試験端末3のIPアドレスが設定される。「加工対象」には、INVITEリクエストに含まれるSDP情報中のm=application行が設定される。本実施形態では、被試験端末3がメディア通信に利用するポート番号に合わせてm=行のport部を“53030”としている。なお、本実施形態とは異なり、被試験端末3がRFC4145記載のようにport部に“9”を設定する場合など、実際に被試験端末3がメディアの送受信に利用するポート番号が事前にはわからない場合には、port部が任意の数値でマッチする正規表現を用いればよい。
レコード「1」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するための情報が設定される。変更後のm=行のport部には、治具端末2が送出するメディアデータのIPパケットを受信するための、メディアデータ加工装置5のメディアデータ入出力部53上のポート番号“57730”が設定される。追加されるc=行のconnection-address部には、メディアデータ加工装置5のIPアドレスが設定される。なお、加工前のSDP情報が、被試験端末3がm=行の後にc=行を記述したINVITEメッセージを送出する場合には、レコード「1」の「加工対象」においてm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部をメディアデータ加工装置5のIPアドレスに変更するように設定すればよい。
レコード「2」に含まれる「メッセージマッチ条件」には、IPパケットの送信先の条件として、被試験端末3のIPアドレスが設定される。「加工対象」には、INVITEリクエストに対する200レスポンスに含まれるSDP情報中のm=application行が設定される。例えば、治具端末2がメディア通信に利用するポート番号に合わせてm=行のport部は“54040”に設定される。レコード「2」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加する情報が設定される。変更後のm=行のport部は、被試験端末3が送出するメディアデータのIPパケットを受信するために、メディアデータ加工装置5のメディアデータ入出力部53上のポート番号である“57740”が設定される。追加されるc=行のconnection-address部には、メディアデータ加工装置5のIPアドレス“192.168.10.77”が設定される。
なお、加工前のSDP情報が、治具端末2がm=行の後にc=行を記述したレスポンスを送出する場合には、レコード「2」の「加工対象」としてm=行の後にc=行を追加した情報を設定し、「加工内容」にはそのc=行のconnection-address部をメディアデータ加工装置5のIPアドレスに変更するように設定すればよい。
SIPメッセージ加工制御部112は、上記SIPメッセージ加工条件テーブル111に記憶された各レコードを参照することで、メッセージマッチ条件にマッチするSIPメッセージに含まれるSDP情報に対して、「加工対象」により指定された部分を「加工内容」において指定された内容に加工する。そして、この加工処理により、被試験端末3及び治具端末2から送出されたメディアデータの送信先をメディアデータ加工装置5に変更する。
一方、メディアデータ加工装置5は、記憶部51と、メディアデータ加工制御部52と、メディアデータ入出力部53と、ユーザインタフェース部54と、インタフェースC55を備えている。
記憶部51には、メディアデータ加工条件テーブル511と、コネクション管理テーブル512と、一つ又は複数のメディアデータ加工管理テーブル513が設けられている。メディアデータ加工条件テーブル511には、複数のレコードが記憶される。各レコードは、いずれも「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含む。
このうち先ず「ユーザデータ入力対象フラグ」は、メディアデータ加工装置5が、受信したメディアデータ中に「加工対象」により指定されたデータ部分を発見した場合に、ユーザがデータを加工するためにデータ入力を受け付けるか否かを決める情報であり、trueの場合には受け付け、falseの場合には受け付けない。
次に「加工方法」は、メディアデータの加工方法を指定するものであり、文字列等の置換を行うデータ置換、メディアデータの出力を一定時間遅延させる出力遅延などがある。「加工付加情報」は、「加工方法」に依存する情報であり、データ置換を行う場合には置換データ、出力遅延を行う場合には遅延時間となる。メディアデータ加工条件テーブルの例を図18、図21及び図24に示す。図18及び図21はデータ置換の加工を行う場合の例を、図24は出力遅延の加工を行う場合の例をそれぞれ示す。
メディアデータ加工管理テーブル513には、被試験端末3から送出されたメディアデータをメディアデータ加工装置5が受信するためのコネクション、加工の際に参照するメディアデータ加工条件テーブル511、加工されたメディアデータをメディアデータ加工装置5から治具端末2へ向けて送信するためのコネクションを表す情報が設定される。同様に、治具端末2から送出されたメディアデータをメディアデータ加工装置5が受信するためのコネクション、加工の際に参照するメディアデータ加工条件テーブル511、メディアデータ加工装置5から被試験端末3へ、加工したメディアデータを送信するためのコネクションを表す情報も設定される。
個々のコネクションはコネクション管理テーブル512で管理され、コネクションごとに、メディアデータ加工装置5上のローカルIPアドレスとローカルポート番号、被試験端末上又は治具端末上のリモートIPアドレスとリモートポート番号などの情報が保持される。図26にコネクション管理テーブル512の一例を示す。
すなわち、レコード「1」は、被試験端末3とメディアデータ加工装置5との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「1」のTCPコネクションは内部的にC1で参照する。「ローカルIPアドレス」には、メディアデータ加工装置5のIPアドレスである“192.168.10.77”が設定される。「ローカルポート番号」には“57740”が設定される。「リモートIPアドレス」には、被試験端末3のIPアドレスである“192.168.10.30”が設定される。「リモートポート番号」には、被試験端末3がメディアデータの送受信に利用するポート番号である“53030”が設定される。
レコード「2」は、治具端末2とメディアデータ加工装置5との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。レコード「2」のTCPコネクションは、内部的にC2で参照する。「ローカルIPアドレス」には、メディアデータ加工装置5のIPアドレスである“192.168.10.77”が設定される。「ローカルポート番号」には“57730”が設定される。
これにより、図12に示すSIPメッセージ加工条件テーブル511において定義されたレコード「1」に基づくSIPメッセージの加工処理により、治具端末2は被試験端末3がメディアデータの送受信に利用するIPアドレスとTCPポート番号を“192.168.10.77”の“57730”番ポートと認識する。「リモートIPアドレス」には、被試験端末3のIPアドレスである“192.168.10.40”が設定される。「リモートポート番号」には、被試験端末3がメディアデータの送受信に利用するポート番号である“54040”が設定される。
なお、被試験端末3及び治具端末2はメディアデータの送信と受信に別々のTCPコネクションを利用しても構わない。しかし、本実施形態では送受信合わせて1つのTCPコネクションを利用するため、被試験端末3とメディアデータ加工装置5との間、及び治具端末2とメディアデータ加工装置5との間のそれぞれにおいて、メディアデータの送受信に利用されるTCPコネクションは1つずつである。
また、本実施形態では、被試験端末3がメディアデータの送受信に利用するIPアドレスとポート番号が既知であることを前提としているが、被試験端末3がRFC4145記載のようにport部に“9”を設定する場合や、port部に設定する数値が事前には分からない場合には、「リモートポート番号」及び「リモートIPアドレス」を予め設定しなくても構わない。その場合には、TCPセッションが確立された際に、相手のIPアドレスとポート番号を取得して当該フィールドに設定する。
メディアデータ加工管理テーブル513には、具体的には以下のような情報が設定される。図25はその一例を示すものである。すなわち、先ずレコード「1」は、被試験端末3が送出するメディアパケットのIPパケットを受信して加工し、治具端末2へ送信するために必要な情報を含んでいる。「受信TCPコネクション」には、図26で示したコネクション管理テーブル512上においてC1で参照されるTCPコネクションが設定され、同様に「送信TCPコネクション」には図26で示したコネクション管理テーブル512上においてC2で参照されるTCPコネクションが設定される。「メディアデータ加工条件テーブル」の項目には、所望する試験内容に合わせて、対応するメディアデータ加工条件が設定される。
次にレコード「2」は、治具端末2が送出するメディアパケットのIPパケットを受信して加工し、被試験端末3へ送信するために必要な情報を含んでいる。「受信TCPコネクション」には、図26で示したコネクション管理テーブル512上においてC2で参照されるTCPコネクションが設定され、同様に「送信TCPコネクション」には図26で示したコネクション管理テーブル512上においてC1で参照されるTCPコネクションが設定される。「メディアデータ加工条件テーブル」の項目には、所望する試験内容に合わせて、対応するメディアデータ加工条件が設定される。
メディアデータ加工制御部52は、被試験端末3及び治具端末2が送出したメディアデータのIPパケットをインタフェースC55及びメディアデータ入出力部53を通して受信し、当該受信されたIPパケットがどのコネクションで受信されたかを判定することにより、コネクション管理テーブル512の対応レコードを選択する。そして、メディアデータ加工条件テーブル511を参照し、メディアデータ入出力部53から受け取ったメディアデータが加工対象の部位を含むか否かを判定する。この判定の結果、加工対象の部位を含む場合には、メディアデータ加工条件テーブル511の加工付加情報にしたがって加工対象のメディアデータを加工処理する。
(動作)
次に、以上のように構成された試験装置1及びメディアデータ加工装置5の動作を説明する。
ここでは、図11に示すように、被試験端末3が治具端末2に対しINVITEリクエストを送信した場合、及び治具端末2が被試験端末3に対し上記INVITEリクエストに対する200レスポンスを返送した場合に、試験装置1が当該INVITEリクエスト及び200レスポンス中のSDP情報に含まれる特定メディア通信の宛先IPアドレス及びポート番号を、メディアデータ加工装置5が利用するIPアドレス及びポート番号に書き換える。これにより、以後被試験端末3及び治具端末2から送信されるメディアデータをメディアデータ加工装置5へ転送させ、メディアデータ加工装置5において上記メディアデータに対し試験のために必要な加工処理を行う場合を例にとって説明する。
なお、図11ではINVITEリクエストと、INVITEリクエストに対する200レスポンスとの間の、暫定レスポンスメッセージ等は省略している。また、この例では、試験装置1が加工するSIPメッセージとして、INVITEリクエストと、当該INVITEリクエストに対する200レスポンスを対象とする場合を例にとって説明するが、UPDATEリクエストなどのSDP情報を含む他のSIPメッセージの場合であっても適用可能である。
(1)試験装置1の動作
先ず、試験装置1では以下のような動作が実行される。なお、この第2の実施形態における試験装置1の動作手順は、第1の実施形態で述べた試験装置1の動作手順と同一であるため、図4を用いて説明する。
被試験端末3からINVITEリクエストが送信されると、試験装置1のIPパケット転送処理部12はステップS11により、上記INVITEリクエストをインタフェースX13を通して受信する。また、治具端末2が被試験端末3に対して200レスポンスを返送すると、当該200レスポンスをインタフェースY14を通して受信する。
続いてIPパケット転送処理部12は、上記受信されたINVITEリクエスト又は200レスポンスがSIPパケットであるか否かをステップS12で判定し、SIPパケットと判定すると当該SIPパケットをSIPメッセージ加工制御部112に渡す。SIPメッセージ加工制御部112は、ステップS13において、SIPメッセージ加工条件テーブル111を参照し、同テーブル111のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップS17に進み、レコードが空でなければステップS14に進む。
ステップS14においてSIPメッセージ加工制御部112は、SIPメッセージ加工条件テーブル111に記憶されたレコードを一つ選択し、IPパケット転送処理部12から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。例えば、レコード「1」であれば、受信したSIPメッセージがINVITEリクエストであり、かつIPパケットの送信元アドレスが“192.168.10.30”であるか否か、つまり送信元が被試験端末3であるか否かを判定する。またレコード「2」であれば、受信したSIPメッセージがINVITEリクエストに対する200レスポンスであり、かつIPパケットの送信先アドレスが“192.168.10.30”であるか否か、つまり送信先が被試験端末3であるか否かを判定する。
その判定の結果、マッチした場合にはステップS15に進み、マッチしなかった場合にはSIPメッセージ加工条件テーブル111の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル111に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
受信されたSIPメッセージがメッセージマッチ条件にマッチすると、SIPメッセージ加工制御部112はステップS15において、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図12に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
例えば、図12に示すSIPメッセージ加工条件テーブル111のレコード「1」によれば、図13のINVITEリクエストのSDP情報に対して、図14に示すようにc=IN IP4 192.168.10.77を追加する処理が行われる。またレコード「2」によれば、図15に示すINVITEリクエストに対する200レスポンスのSDP情報に対し、図16に示すようにc=IN IP4 192.168.10.77を追加する処理が行われる。すなわち、何れの場合もメディアデータ加工装置5のIPアドレスを追加する処理が行われる。
最後にSIPメッセージ加工制御部112は、ステップS16により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部12はステップS17により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末3からINVITEリクエストをインタフェースX13を介して受信した場合には、その加工処理後のINVITEリクエストをインタフェースY14から治具端末2に向け送信する。これに対し、治具端末2から送信されたINVITEリクエストに対する200レスポンスをインタフェースY14を介して受信した場合には、加工処理後の200レスポンスをインタフェースX13から被試験端末3に向けて送信する。
(2)メディアデータ加工装置5の動作
次にメディアデータ加工装置5では以下のような動作が実行される。図17はその手順と内容を示すフローチャートである。
被試験端末3からメディアデータのIPパケットが送信されると、このIPパケットの送信先情報にはメディアデータ加工装置5のIPアドレス及びポート番号(“57740”番ポート)が設定されているため、当該IPパケットはメディアデータ加工装置5においてインタフェースC55を介してメディアデータ入出力部53で受信される(ステップS21)。
IPパケットが受信されると、メディアデータ加工制御部52がステップS22において、上記受信されたIPパケットがどのコネクションで受信されたかを判定して、コネクション管理テーブル512の対応するレコードを選択する。本実施形態では、メディアデータはTCPで送受信されるため、メディアデータ加工装置5がメディアデータのTCPパケットを受信する際に、TCPコネクションが存在しない場合には、TCPコネクションが新たに確立される。
この場合、コネクション管理テーブル512の「ローカルIPアドレス」、「ローカルポート番号」、「リモートIPアドレス」及び「リモートポート番号」のすべてに合致するレコードを選択する。合致するレコードが無い場合には、「ローカルIPアドレス」、「ローカルポート番号」及び「リモートIPアドレス」のすべてが合致し、「リモートポート番号」のみが空欄であるようなレコードを選択し、その上で「リモートポート番号」に当該TCPコネクションのリモートポート番号を設定する。それでも合致するレコードが無い場合には、「ローカルIPアドレス」及び「ローカルポート番号」のすべてが合致し、「リモートIPアドレス」と「リモートポート番号」が空欄であるようなレコードを選択した上で、「リモートIPアドレス」と「リモートポート番号」に当該TCPコネクションのリモートIPアドレスとリモートポート番号を設定する。
例えば、被試験端末3が送出したメディアデータをメディアデータ加工装置5が受け取った場合には、図25に示すメディアデータ加工管理テーブル513のレコード「1」が選択される。また、治具端末2が送出したメディアデータをメディアデータ加工装置5が受け取った場合には、図25に示すメディアデータ加工管理テーブル513のレコード「2」が選択される。
メディアデータ入出力部53からメディアデータを受け取ると、メディアデータ加工制御部52はステップS23において、当該受け取ったメディアデータをメディアデータ表示部542に出力し表示させる。表示方法としては、メディアデータがテキストデータや映像である場合には、ディスプレイ等の画面に可視情報として表示させ、メディアデータが音声である場合にはスピーカ等から可聴音として出力させる方法を用いる。なお、他の表示方法としては、予め特定のメディアデータとその表示方法(画面に表示又は強調して表示する、BEEP音を鳴らすなど)を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示を行う、という方法も考えられる。
次にメディアデータ加工制御部52は、ステップS24において、メディアデータ加工条件テーブル511を参照し、メディアデータ入出力部53から受け取ったメディアデータが加工対象を含むか否かを判定する。この場合、参照するメディアデータ加工条件テーブル511は、ステップS22で選択されたメディアデータ加工管理テーブル513の対応レコードを参照して決定される。
メディアデータ加工条件テーブル511は、図18や図21、図24に例示するように、「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含んでいる。「加工対象」を含む場合はステップS25に進み、それ以外の場合にはステップS28に進む。
ステップS25に移行するとメディアデータ加工制御部52は、ユーザデータ入力部541を通してユーザの入力を受け付けるか否かを判定する。この判定は、メディアデータ加工条件テーブル511の「ユーザデータ入力対象フラグ」が“true”であるか“false”であるかにより行われる。
「ユーザデータ入力対象フラグ」が“true”であれば、メディアデータ加工制御部52はステップS26において、ユーザデータ入力部541を通してユーザの入力を受け付ける。この状態で、ユーザが目的とする試験内容に基づいて対象のメディアデータに対して任意の加工を行うための情報を入力したとする。そうするとメディアデータ加工制御部52は、当該入力されたデータによりメディアデータを加工する。その加工例としては、一部の文字列等のデータを書き換える、すべての文字列等のデータを書き換える、メディアデータをすべて削除する、等が考えられる。また、メディアデータ自体の加工は行わず、ユーザ入力待ち状態を一定時間維持することで当該メディアデータの出力を遅延させることも可能である。
これに対し「ユーザデータ入力対象フラグ」が“false”だったり、また「ユーザデータ入力対象フラグ」が存在しない場合には、メディアデータ加工制御部52はステップS27に移行し、ここでメディアデータ加工条件テーブル511に設定された「加工付加情報」に従い、対象のメディアデータを加工処理する。
例えば、メディアデータ加工条件テーブル511の設定情報が図18に示すものだった場合には、図19に示すように<ContentLayerCapability>〜</ContentLayerCapability>内に<File>〜</File>を含むメディアデータに対して、その直後に<VideoTel />を挿入する加工を行う。この結果、加工後のメディアデータは図20に示すようになる。
また、メディアデータ加工条件テーブル511の設定情報が図21に示すものだった場合には、図22に示すように<CancelShareContent>〜</CancelShareContent>内の<sid>abc123def</sid>を<sid>456xyz789</sid>にデータ置換する処理を行う。この結果、加工後のメディアデータは図23に示すようになる。
さらに、メディアデータ加工条件テーブル511の設定情報が図24に示すものだった場合には、<KeepAlive />を含むメディアデータの出力を60秒遅延させる。
上記ステップS26又はステップS27によるメディアデータの加工処理が終了すると、メディアデータ加工制御部52は、ステップS28において、上記加工処理後のメディアデータをメディアデータ表示部542に表示させる。表示方法としては、ステップS23で加工処理前の受信メディアデータを表示させる場合と同様に、加工処理後のメディアデータがテキストデータや映像である場合にはディスプレイ等の画面に可視情報として出力し表示させ、またメディアデータが音声である場合にはスピーカ等に可聴音として出力する方法が考えられる。
なお、予め特定のメディアデータとその表示方法(画面に表示又は強調して表示する、BEEP音を鳴らすなど)を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示行う、ということも考えられる。また、先に述べたステップS23及びステップS28による加工処理前及び加工処理後のメディアデータの表示処理は省略することも可能である。
最後にメディアデータ加工制御部52は、ステップS29において、先に選択されたメディアデータ加工管理テーブル513のレコードを参照し、メディアデータの送信に必要な情報を取得した上で、上記加工処理されたメディアデータをIPパケット化し、メディアデータ入出力部53からインタフェースC55を介して被試験端末3又は治具端末2へ送出する。
なお、このIPパケットの送信に際しては、図25に示したメディアデータ加工管理テーブル513の「送信TCPコネクション」を参照して、送信に利用するTCPコネクションを決定する。また、メディアデータを送信する際に、TCPコネクションが存在しない場合には図26のコネクション管理テーブル512を参照して、送信元と送信先のIPアドレスとポート番号を取得し、メディアデータ加工装置5が新規にTCPコネクションを確立する。
(効果)
以上詳述したように第2の実施形態では、試験装置1とは独立してメディアデータ加工装置5を設けている。そして、試験装置1において、被試験端末3から送信されたSIPメッセージ、及び治具端末2から返送された上記SIPメッセージに対するレスポンスのSDP情報に含まれる特定メディア通信の宛先を表すIPアドレス及びポート番号を、メディアデータ加工処理部が利用するIPアドレスとポート番号に書き換え、これにより以後被試験端末3及び治具端末2から送信されるメディアデータをメディアデータ加工装置5に転送させる。そして、メディアデータ加工装置において、上記転送されたメディアデータに対し、ユーザが入力した情報又はメディアデータ加工条件テーブル511に予め設定された加工付加情報に従い、試験のために必要な加工処理を行い、この加工処理後のメディアデータを宛先となる端末へ向けて中継転送するようにしている。
したがって、メディア通信に利用するIPアドレスやポート番号が毎回の通信において異なる場合でも、またSIPを使わず単独で通信を開始したメディア通信であっても、確実にプロキシ機能を発揮させることができる。さらに、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合とで、治具端末2が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してはプロキシ機能が動作しないようにすることができる。
[第3の実施形態]
この発明の第3の実施形態は、試験装置内にメディアデータ加工装置の機能を設け、被試験端末と治具端末との間で伝送されるメディアデータに変更を加えた場合の被試験端末の挙動を確認する試験を行う際に、試験に使用する特定のSIPメッセージの宛先情報を、試験装置において動的に設定されるIPアドレス及びポート番号となるように置換することで、以後被試験端末及び治具端末から送信されるメディアデータを試験装置宛てに転送させる。そして、当該試験装置内に設けられたメディアデータ加工装置により、上記メディアデータに対し試験のために必要な加工処理を行った上で宛先の端末へ中継転送するようにしたものである。
図28は本実施形態におけるSIPメッセージ及びメディアデータの通信シーケンスを示すものである。同図では、被試験端末3がSIPメッセージとしてINVITEリクエストを送信した後、治具端末2が当該INVITEリクエストに対し200レスポンスを返送し、以後被試験端末3と治具端末2との間でメディアデータのIPパケットを伝送する場合を例示している。なお、INVITEリクエストと、INVITEリクエストに対する200レスポンスの間の暫定レスポンスメッセージ等は省略している。また、SIPメッセージとしては、INVITEリクエストとそのレスポンス以外に、UPDATEリクエストなどのSDP情報を含む他のSIPメッセージを適用することも可能である。
(構成)
図27は、この発明の第3の実施形態に係る試験装置の機能構成を、被試験端末及び治具端末の機能構成と共に示すブロック図である。なお、同図において前記図1及び図10と同一部分には同一符号を付して詳しい説明は省略する。
図27において、被試験端末3及び治具端末2はそれぞれIPアドレスを持ち、相互にネットワークを介してIP通信が可能となっている。試験装置10は、被試験端末3及び治具端末2に対しハブ4を介して接続され、被試験端末3及び治具端末2の双方と通信なIPアドレスを有している。
例えば、被試験端末3はIPアドレス“192.168.10.33”を持ち、治具端末2はIPアドレス“192.168.10.44”を持つ。また、試験装置10はインタフェースX13とインタフェースY14が後述するIPパケット転送処理部12を介してブリッジ接続されると同時に、IPアドレスとして“192.168.10.90”を持ち、これにより被試験端末3及び治具端末2との間でそれぞれIP通信が可能になっている。また、SIPメッセージの送受信を行うために、被試験端末3及び治具端末2は何れもUDPプロトコルの“5060”番ポートを利用する。
また、メディアデータを伝送するために、被試験端末3はTCPの53333番ポートを、治具端末2はTCPの54444番ポートを利用するようになっている。但し、本実施形態では、試験前に事前に分っているのはTCPを利用するということだけで、ポート番号については事前には分からないものとして説明を行う。
これに対し、試験装置10は、被試験端末3と治具端末2との間のメディアデータの伝送を中継するために、“59040”番ポートを利用して被試験端末3とメディアデータの伝送を行い、“59030”番ポートを利用して治具端末2とメディアデータの伝送を行う。
なお、被試験端末3及び治具端末2は、試験装置10に対しハブ4を介して接続する以外に、ネットワーク上にSIPサーバが存在する場合には、このSIPサーバを介してSIP通信が可能な状態に接続する構成であっても構わない。
ところで試験装置10は、被試験端末3と治具端末2との間で伝送されるSIPメッセージの加工処理を行う際に、試験装置10のIPアドレスと、メディアデータ入出力部53上のポート番号を動的に設定する機能を有する。
すなわち、先に述べた第1及び第2の実施形態では試験装置1のIPアドレスの設定が必ずしも必要なかったのに対し、第3の実施形態では試験装置10はIPアドレスの設定が必要である点が異なる。具体的には、図1及び図10に示した試験装置1では、インタフェースX13とインタフェースY14がIPパケット転送処理部12を介してブリッジ接続され、SIPパケット以外は無加工で片方のインタフェースから他方のインタフェースに通過させる。これに対し、第3の実施形態の試験装置10ではインタフェースX13とインタフェースY14がIPパケット転送処理部12を介してブリッジ接続される点は同じであるものの、IPパケット転送処理部12がルーティング機能部121を備え、試験装置10がメディアデータのIPパケットを送受信するためのIPアドレス及びポート番号を持つことで、メディアデータのIPパケットの受信、加工処理及び送信を行う点が異なる。
ルーティング機能部121は、送信先のIPアドレスごとに、ネクストホップのIPアドレスや利用するインタフェース情報を管理するルーティングテーブルと、ARPテーブル等を保持する。そして、IPパケットを送信する際に、必要に応じてイーサネット(登録商標)のMACアドレス解決等を行い、インタフェースX13もしくはインタフェースY14を通してIPパケットを送信する。
第3の実施形態は、第2の実施形態と同様に、被試験端末3と治具端末2との間で伝送されるメディアデータに変更を加えた場合の被試験端末3の挙動を確認する試験を行うものである。対象となるメディアデータに関して、対応するSIPメッセージのSDP情報内のメディア記述部は、m=行の設定値として、media部がapplication、proto部がTCP、fmt部がvnd.example.messagingであることを前提として説明するが、試験の内容に応じてmedia部やproto部やfmt部は異なっても構わない。
また、第3の実施形態では、被試験端末3が治具端末2に対して送信したINVITEリクエストに含まれるSDP情報と、治具端末2から返送されたレスポンスに含まれるSDP情報を、試験装置10が加工することで、被試験端末3のメディアデータの送信先アドレス及び治具端末2のメディアデータの送信先アドレスを何れも試験装置10のIPアドレスに置換する。そして、以後被試験端末3及び治具端末2から送信されるメディアデータを試験装置10で受信し、当該試験装置10内のメディアデータ加工処理部50で試験に必要なデータに加工した後、治具端末2及び被試験端末3へ転送することで、メディアデータの変更に関する被試験端末3の挙動を確認するための試験を可能にしている。
なお、第3の実施形態では、被試験端末3がSIPメッセージとしてINVITEリクエストを送出して治具端末2との間の通信を開始するが、治具端末2から被試験端末3にINVITEリクエストを送出して通信を開始することも可能である。
試験装置10のSIPメッセージ加工処理部110は、SIPメッセージ加工条件テーブル111及びSIPメッセージ加工制御部112に加え、メディアデータ加工処理用IPアドレステーブル113を備えている。メディアデータ加工処理用IPアドレステーブル113は、メディアデータを試験装置10が備えるメディアデータ加工処理部50で加工するために、試験装置10上に設定するIPアドレスとポート番号を被試験端末3ごとに保持する。
SIPメッセージ加工制御部112は、SIPメッセージを加工する際に、当該SIPメッセージを送出した被試験端末3を特定し、上記メディアデータ加工処理用IPアドレステーブル113を参照して、メディアデータを送受信するために利用するIPアドレス及びポート番号を試験装置10に設定する。図35に上記メディアデータ加工処理用IPアドレステーブル113の一例を示す。
すなわち、メディアデータ加工処理用IPアドレステーブル113には複数のレコードが記憶され、各レコードは「被試験端末IPアドレス」、「治具端末IPアドレス」、「利用IPアドレス」、「被試験端末送受信用ポート番号」及び「治具端末送受信用ポート番号」を含んでいる。
「被試験端末IPアドレス」は、被試験端末3を特定するための情報として利用する。「治具端末IPアドレス」は、治具端末2を特定するための情報として利用する。「利用IPアドレス」には、試験装置10に設定するIPアドレスが設定される。「被試験端末送受信用ポート番号」には、被試験端末3とのメディアデータの送受信を行うために利用するポート番号を設定される。「治具端末送受信用ポート番号」には、治具端末2とのメディアデータの送受信を行うために利用するポート番号が設定される。
被試験端末3および治具端末2は、メディアデータの送受信に1つのTCPコネクションを利用する。このため、メディアデータ加工処理用IPアドレステーブル113には「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」を保持させるようにしている。しかし、被試験端末3および治具端末2が、メディアデータの送信と受信で異なるTCPコネクションを利用する場合には、「被試験端末受信用ポート番号」、「被試験端末送信用ポート番号」、「治具端末受信用ポート番号」及び「治具端末送信用ポート番号」を保持させる。メディアデータの送受信にUDPを利用する場合についても同様である。
図27に示したシステムは、被試験端末3が1つだけの場合を示しており、この場合当該被試験端末3に対しては図35に示すメディアデータ加工処理用IPアドレステーブル113のレコード「1」が対応付けられる。「被試験端末IPアドレス」には、被試験端末3のIPアドレスである“192.168.10.33”が設定される。「利用IPアドレス」には、被試験端末3と治具端末2の双方と互いに通信可能なIPアドレスが設定される。例えば、被試験端末3と治具端末2の双方と互いに通信可能であることを前提として、“192.168.10.90”を設定する。なお、条件を満たす限りにおいてランダムなIPアドレスを設定しても構わない。
「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」には、互いに異なる2つのポート番号として“59030”と“59040”を設定しているが、メディアデータ加工処理用IPアドレステーブル113の他のレコードの「被試験端末送受信用ポート番号」と「治具端末送受信用ポート番号」も含めて、重複しない限りはランダムな値を設定しても構わない。
次に、SIPメッセージ加工条件テーブル111は、メディアデータ加工処理用IPアドレステーブル113の設定内容に合わせて構築される。メディアデータ加工処理用IPアドレステーブル113の内容に変更が生じた場合には、SIPメッセージ加工条件テーブル111の変更も必要になる。
SIPメッセージ加工条件テーブル111の各レコードは、第2の実施形態と同様に、「メッセージマッチ条件」、「加工対象」及び「加工内容」を含む。SIPメッセージ加工制御部112は、メッセージマッチ条件にマッチするSIPメッセージに対して、「加工対象」で指定された部分を「加工内容」で指定された内容に加工する。
また、SIPメッセージ加工条件テーブル111の各レコードは、上記のフィールドに加えて、メディアデータ加工処理用IPアドレステーブル113の対応レコードへの参照情報である「メディアデータ加工処理用IPアドレステーブル参照レコード」と、SIPメッセージの送信先端末の情報である「送信先端末」を含む。
例えば、図28の通信シーケンスに示したとおり、試験装置10内のSIPメッセージ加工制御部112は、被試験端末3と治具端末2の間で送受信されるSIPメッセージを加工し、試験装置10内のメディアデータ加工制御部52は、被試験端末3と治具端末2の間で送受信されるメディアデータの中継および加工を行う。
特に、SIPメッセージ加工制御部112が行うSIPメッセージの加工処理は、SIPメッセージに含まれるSDP情報の加工を行うものであり、その加工によって被試験端末3及び治具端末2がメディアデータを送信する際の送信先アドレスが試験装置10になるように変更する。具体的には、被試験端末3が送出するINVITEリクエストに含まれるSDP情報と、治具端末2が送出する当該リクエストに対する200レスポンスに含まれるSDP情報を加工するために、図30に示したレコード「1」とレコード「2」の情報をSIPメッセージ加工条件テーブル111に格納する。
SIPメッセージ加工条件テーブル111には、被試験端末3と治具端末2のセットごとに、INVITEリクエストの加工を行うためのレコードと、200レスポンスの加工を行うためのレコードが記憶される。また、それらのレコードに保持するIPアドレスやポート番号の情報は、メディアデータ加工処理用IPアドレステーブル113に合わせる。本例では、被試験端末3および治具端末2はそれぞれ一つだけであり、図35に示すメディアデータ加工処理用IPアドレステーブル113には、その被試験端末3と治具端末2に対応する1つのレコードが含まれている。
またSIPメッセージ加工条件テーブル111には、図30に示すように、その被試験端末3が送出するINVITEリクエストを加工するためのレコード「1」と、被試験端末3が受信する200レスポンスを加工するためのレコード「2」が含まれている。レコード「1」に含まれる「メッセージマッチ条件」には、IPパケットの送信元の条件として、被試験端末3のIPアドレスが設定される。この被試験端末3のIPアドレスとしては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」に記憶された「被試験端末IPアドレス」と同じ“192.168.10.33”が設定される。
レコード「1」に含まれる「加工対象」には、INVITEリクエストに含まれるSDP情報内のm=application行が設定される。なお、被試験端末3がRFC4145記載のようにport部に“9”を設定し、実際に被試験端末3がメディアの送受信に利用するポート番号が事前にはわからないことが前提である。port部に“9”以外が設定される場合にも、それに対応できるようにport部が任意の数値でマッチする正規表現を用いる。
レコード「1」に含まれる「加工内容」は、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するものである。変更後のm=行のport部は、治具端末2が送出するメディアデータのIPパケットを受信するための、試験装置10のメディアデータ入出力部53上のポート番号を設定する。このポート番号としては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「治具端末送受信用ポート番号」と同じ“59030”を設定する。追加されるc=行のconnection-address部には、試験装置10のIPアドレスを設定する。この試験装置10のIPアドレスとしては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「利用IPアドレス」と同じ“192.168.10.90”を設定する。
なお、加工前のSDP情報が図31とは異なり、被試験端末3がm=行の後にc=行を記述したINVITEメッセージを送出する場合には、レコード「1」の「加工対象」にm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部を試験装置10のIPアドレスに変更するようにすればよい。
レコード「1」に含まれる「メディアデータ加工用IPアドレステーブル参照レコード」には、図35のメディアデータ加工用IPアドレステーブル113のレコード「1」を設定する。レコード「1」に含まれる「送信先端末」には、治具端末2であることを示す情報を設定する。
図30のSIPメッセージ加工条件テーブル111のレコード「2」に含まれる「メッセージマッチ条件」には、IPパケットの送信先の条件として、被試験端末3のIPアドレスを設定する。この被試験端末3のIPアドレスとしては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「被試験端末IPアドレス」と同じ“192.168.10.33”を設定する。
レコード「2」に含まれる「加工対象」には、INVITEリクエストに対する200レスポンスに含まれるSDP情報内のm=application行が設定される。例えば、実際に治具端末がメディアの送受信に利用するポート番号が事前にはわからない前提であるため、port部が任意の数値でマッチする正規表現を用いる。
レコード「2」に含まれる「加工内容」には、「加工対象」のm=行のport部を変更し、かつm=行の直後にc=行を追加するための情報が設定される。変更後のm=行のport部には、被試験端末3が送出するメディアデータのIPパケットを受信するための、試験装置10のメディアデータ入出力部53上のポート番号が設定される。このポート番号としては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「被試験端末送受信用ポート番号」と同じ“59040”が設定される。追加されるc=行のconnection-address部には、試験装置10のIPアドレスが設定される。この試験装置10のIPアドレスとしては、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。
なお、加工前のSDP情報が図33とは異なり、治具端末2がm=行の後にc=行を記述したレスポンスを送出する場合には、レコード「2」の「加工対象」にm=行の後にc=行を追加し、「加工内容」にそのc=行のconnection-address部を試験装置10のIPアドレスに変更するようにすればよい。
レコード「2」に含まれる「メディアデータ加工用IPアドレステーブル参照レコード」には、図35のメディアデータ加工用IPアドレステーブル113のレコード「1」が設定される。レコード「2」に含まれる「送信先端末」には、被試験端末3であることを示す情報が設定される。
試験装置10は、上記SIPメッセージ加工条件テーブル111を予め用意することにより、INVITEリクエストに含まれる図31のSDP情報を図32に示すSDP情報に加工し、また同リクエストに対する200レスポンスに含まれる図33のSDP情報を図34に示すSDP情報に加工する。
メディアデータ加工管理テーブル513を図36に、またコネクション管理テーブル512を図37にそれぞれ示す。同図において、「ローカルIPアドレス」と「ローカルポート番号」は試験装置10上のものである。また、コネクション管理テーブル512は、メディアデータ加工処理用IPアドレステーブル113の内容に合わせて構築する。メディアデータ加工処理用IPアドレステーブル113の内容に変更が生じた場合には、コネクション管理テーブル512の変更も行う。
コネクション管理テーブル512の各レコードは、第2の実施形態で示したフィールドに加えて、対応するメディアデータ加工処理用IPアドレステーブル113のレコードの参照である「メディアデータ加工処理用IPアドレス参照レコード」と、コネクションの対向端末の情報である「対向端末」を含む。
コネクション管理テーブルのレコード「1」は、被試験端末3と試験装置2との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「1」のTCPコネクションは内部的にC1で参照する。レコード「1」の「ローカルIPアドレス」には、図35に示したメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。
また、レコード「1」の「ローカルポート番号」には“59040”が設定される。これは、図30のSIPメッセージ加工条件テーブル111のレコード「2」に基づくSIPメッセージの加工処理により被試験端末3は、治具端末2がメディアデータの送受信に利用するIPアドレスとTCPポート番号を“192.168.10.90”の“59040”番ポートと認識するためである。
レコード「1」の「リモートIPアドレス」には、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「被試験端末IPアドレス」と同じ“192.168.10.33”が設定される。本実施形態では、被試験端末3がメディアデータの送受信に利用するポート番号は、事前にわからない。このため、レコード「1」の「リモートポート番号」は初期状態では空となっている。そして、実際にTCPコネクションが確立された段階で、相手の端末が利用するポート番号を取得して本フィールドに設定する。
レコード「1」の「メディアデータ加工処理用IPアドレステーブル参照レコード」には、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」が設定される。またレコード「1」の「対向端末」には、被試験端末3であることを示す情報が設定される。
一方、レコード「2」は、治具端末2と試験装置10との間でメディアデータの送受信に利用するTCPコネクションの情報を保持する。このレコード「2」のTCPコネクションは内部的にC2で参照する。
レコード「2」の「ローカルIPアドレス」には、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「利用IPアドレス」と同じ“192.168.10.90”が設定される。また、レコード「1」の「ローカルポート番号」には“59030”が設定される。これは、図30のSIPメッセージ加工条件テーブル111のレコード「1」に基づくSIPメッセージの加工処理により治具端末2は、被試験端末3がメディアデータの送受信に利用するIPアドレスとTCPポート番号を、“192.168.10.90”の“59030”番ポートと認識するためである。
レコード「2」の「リモートIPアドレス」には、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」の「治具端末IPアドレス」と同じ“192.168.10.44”が設定される。第3の実施形態では、治具端末2がメディアデータの送受信に利用するポート番号は事前にわからない。このため、レコード「2」の「リモートポート番号」は初期状態では空である。実際にTCPコネクションが確立された段階で、相手の端末が利用するポート番号を取得して本フィールドに設定する。
レコード「2」の「メディアデータ加工処理用IPアドレステーブル参照レコード」には、図35のメディアデータ加工処理用IPアドレステーブル113のレコード「1」が設定される。レコード「2」の「対向端末」には、治具端末2であることを示す情報が設定される。
(動作)
次に、以上のように構成された試験装置10の動作を説明する。図29はその動作手順と内容を示すフローチャートである。
本実施形態の試験装置10は、メディアデータ加工処理部50が利用するIPアドレスおよびポート番号を、毎回ランダムな値に設定する。そして、そのためにSIPメッセージ加工処理部110が加工対象のINVITEメッセージを受け取った際に、被試験端末3がアクセス可能なランダムなIPアドレス1つと、互いに異なるポート番号2つを生成し、SIPメッセージ加工条件テーブル111にそれらの値を反映するとともに、IPパケット転送処理部12とメディアデータ加工処理部50に通知する。
生成する互いに異なる2つのポート番号は、それぞれ被試験端末3と治具端末2のメディアデータの送信先であり、SIPメッセージ加工条件テーブル111へのIPアドレスおよびポート番号の設定は、図12に示したレコード「1」及びレコード「2」のように、INVITEリクエストとそのリクエストに対応する200レスポンスに対してセットで行う。例えば、IPアドレスが“192.168.10.90”、ポート番号が“59040”、“59030”である場合には、SIPメッセージ加工条件テーブル111は図30のようになる。
(1)試験装置1の動作
先ず、試験装置1では以下のような動作が実行される。
被試験端末3からINVITEリクエストが送信されると、試験装置10のIPパケット転送処理部12はステップS31により、上記INVITEリクエストをインタフェースX13を通して受信する。また、治具端末2が被試験端末3に対して200レスポンスを返送すると、当該200レスポンスをインタフェースY14を通して受信する。
次にIPパケット転送処理部12は、ステップS32により、上記受信されたIPパケットの宛先IPアドレスが、試験装置10に設定されたIPアドレスであるか否かを判定する。この場合、INVITEリクエスト及び200レスポンスの何れも宛先は試験装置10ではないので、ステップS33に進む。なお、試験装置10にIPアドレスが設定されていない場合にもステップS33に進む。
IPパケット転送処理部12は、ステップS33において、上記受信されたINVITEリクエスト又は200レスポンスがSIPパケットであるか否かを判定し、SIPパケットと判定すると当該SIPパケットをSIPメッセージ加工制御部112に渡す。SIPメッセージ加工制御部112は、ステップS34において、SIPメッセージ加工条件テーブル111を参照し、同テーブル111のレコードが空であるか否かを判定する。この判定の結果、レコードが空きであればステップS39に進み、レコードが空でなければステップS35に進む。
ステップS35においてSIPメッセージ加工制御部112は、SIPメッセージ加工条件テーブル111に記憶されたレコードを一つ選択し、IPパケット転送処理部12から送られた上記SIPメッセージが上記選択されたレコードの「メッセージマッチ条件」にマッチする否かを判定する。例えば、レコード「1」であれば、受信したSIPメッセージがINVITEリクエストであり、かつIPパケットの送信元アドレスが“192.168.10.33”であるか否か、つまり送信元が被試験端末3であるか否かを判定する。またレコード「2」であれば、受信したSIPメッセージがINVITEリクエストに対する200レスポンスであり、かつIPパケットの送信先アドレスが“192.168.10.33”であるか否か、つまり送信先が被試験端末3であるか否かを判定する。
その判定の結果、条件がマッチしなかった場合にはSIPメッセージ加工条件テーブル111の次のレコードを選択して、その「メッセージマッチ条件」にマッチする否かを判定する。以下同様に、SIPメッセージ加工条件テーブル111に記憶されたレコードを順次選択し、上記「メッセージマッチ条件」にマッチするか否かを判定する。
受信されたSIPメッセージがメッセージマッチ条件にマッチすると、SIPメッセージ加工制御部112はステップS36において、IPパケット転送処理部12とメディアデータ加工制御部52に、試験装置10のIPアドレスおよびメディアデータ入出力部53上のポート番号を通知する。
例えば、SIPメッセージ加工制御部112が、被試験端末3が送出したINVITEリクエストに含まれるm=行のport部の変更とc=行の追加を行う際に、m=行の変更後のport部のポート番号と、追加するc=行に含まれるIPアドレスを、IPパケット転送処理部12およびメディアデータ加工制御部52に通知する。ここで通知されるIPアドレスとポート番号は、対応するメディアデータ加工処理用IPアドレステーブル113のレコードに含まれる「利用IPアドレス」と「治具端末送受信用ポート番号」である。特にポート番号の通知については、治具端末2とのメディアデータの送受信用のポート番号である情報も通知される。
また、治具端末2が送出したINVITEリクエストに対する200レスポンスを受信した場合には、当該レスポンスに含まれるm=行のport部の変更とc=行の追加を行う際に、m=行の変更後のport部のポート番号と、追加するc=行に含まれるIPアドレスを、IPパケット転送処理部12およびメディアデータ加工制御部52に通知する。ここで通知されるIPアドレスとポート番号は、対応するメディアデータ加工処理用IPアドレステーブル113のレコードに含まれる「利用IPアドレス」と「被試験端末送受信用ポート番号」である。特にポート番号の通知については、被試験端末3とのメディアデータの送受信用のポート番号である情報も通知される。
上記IPアドレス情報を受け取ると、IPパケット転送処理部12はルーティング機能部121がそのIPアドレスを保存する。このIPアドレスは、以後被試験端末3及び治具端末2からのメディアデータを受信したときに、その宛先が試験装置10であるか否かを上記ステップS32で判定する際に使用する。また、上記ポート番号情報を受け取ると、メディアデータ加工処理部50は、上記受け取った治具端末2との間のメディアデータ送受信用のポート番号と、被試験端末3との間のメディアデータ送受信用のポート番号をメディアデータ入出力部53にそれぞれ設定する。これにより、以後治具端末2及び被試験端末3との間でメディアデータの送受信が可能となる。
なお、上記ステップS36におけるIPアドレスおよびポート番号の通知処理は、SIPメッセージ加工制御部112がSIPメッセージの加工処理を行う際に、試験装置10のIPアドレスおよびメディアデータ入出力部53上のポート番号を新規に設定もしくは変更する場合に必要な処理である。これに対し、試験装置10のIPアドレスおよびメディアデータ入出力部53上のポート番号を新規設定もしくは変更しない場合には不要であり、この場合は処理を何も行わずにステップS37に進む。
また、被試験端末3および治具端末2との間のメディアデータの加工および転送に利用する試験装置10のIPアドレスと、メディアデータ入出力部53上のポート番号をランダムな値に設定する場合には、当該ステップS36の最初に、メディアデータ加工処理用IPアドレステーブル113のレコードを更新すればよい。
具体的には、被試験端末3が送出したINVITEリクエストを処理する際に、当該テーブル113の「被試験端末IPアドレス」にINVITEリクエストのIPパケットの送信元IPアドレスを設定すると共に、「治具端末IPアドレス」にINVITEリクエストのIPパケットの送信先IPアドレスを設定し、さらに「利用IPアドレス」にランダムに生成したIPアドレスを設定すると共に、「被試験端末送受信用ポート番号」と「治具端末用ポート番号」にランダムに生成したポート番号を設定すればよい。
また、上記メディアデータ加工処理用IPアドレステーブル113の更新に伴い、当該テーブル113のレコードに対応する、SIPメッセージ加工処理用IPテーブル111とコネクション管理テーブル512を更新する。
このうち、先ずSIPメッセージ加工処理用IPテーブル111については、「メディア加工処理用IPアドレステーブル参照レコード」の更新に応じて、対応するレコードの「加工内容」を更新する。例えば、「送信先端末」が治具端末2であるレコードについては、m=行のport部にメディア加工処理用IPアドレステーブル113の「治具端末送受信用ポート番号」の値を設定し、c=行のconnection-address部にメディア加工処理用IPアドレステーブル113の「利用IPアドレス」の値を設定する。これに対し「送信先端末」が被試験端末3であるレコードについては、m=行のport部にメディア加工処理用IPアドレステーブル113の「被試験端末送受信用ポート番号」の値を設定し、c=行のconnection-address部にメディア加工処理用IPアドレステーブル113の「利用IPアドレス」の値を設定する。
コネクション管理テーブルについては、「メディア加工処理用IPアドレステーブル参照レコード」の更新に応じて、対応するレコードを更新する。例えば、「対向端末」が被試験端末3であるレコードについては、「ローカルIPアドレス」にメディア加工処理用IPアドレステーブル113の「利用IPアドレス」の値を設定し、「ローカルポート番号」にメディア加工処理用IPアドレステーブル113の「被試験端末送受信用ポート番号」の値を設定する。「対向端末」が治具端末2であるレコードについては、「ローカルIPアドレス」にメディア加工処理用IPアドレステーブル113の「利用IPアドレス」の値を設定し、「ローカルポート番号」にメディア加工処理用IPアドレステーブル113の「治具端末送受信用ポート番号」の値を設定する。
次に、SIPメッセージ加工制御部112はステップS37において、上記受信されたSIPメッセージのうち「加工対象」となる部位に対し、「加工内容」に示される加工処理を行う。なお、「加工対象」が見つからない場合には加工を行わない。「加工対象」の検索は文字列マッチングにより行われる。図30に示す例では「加工対象」を固定文字列で指定しているが、正規表現を用いればランダム文字列を含むSIPヘッダを「加工対象」に指定することができる。
例えば、図30に示すSIPメッセージ加工条件テーブル111のレコード「1」によれば、図31のINVITEリクエストのSDP情報に対して、図32に示すようにm=application * TCP vnd.example.messagingをm=application 59030 TCP vnd.example.messaging に変更し、さらに次行にc=IN IP4 192.168.10.90を追加する処理が行われる。またレコード「2」によれば、図33に示すINVITEリクエストに対する200レスポンスのSDP情報に対し、図34に示すようにm=application * TCP vnd.example.messagingをm=application 59040 TCP vnd.example.messaging に変更し、さらに次行にc=IN IP4 192.168.10.90を追加する処理が行われる。すなわち、何れの場合も試験装置10内のメディアデータ入出力部53に設定されたポート番号と試験装置10のIPアドレスを追加する処理が行われる。
最後にSIPメッセージ加工制御部112は、ステップS38により、SIPパケットに含まれるUDPヘッダやIPヘッダ等のチェックサム値を再計算し、加工処理前のIPパケット内の当該値を書き換える。
そうしてSIPパケットのメッセージ加工処理が終了すると、IPパケット転送処理部12はステップS39により、上記加工処理後のIPパケットを加工前のIPパケットを受信したインタフェースとは別のもう一方のインタフェースを通して送信する。例えば、被試験端末3からINVITEリクエストをインタフェースX13を介して受信した場合には、その加工処理後のINVITEリクエストをインタフェースY14から治具端末2に向け送信する。これに対し、治具端末2から送信されたINVITEリクエストに対する200レスポンスをインタフェースY14を介して受信した場合には、加工処理後の200レスポンスをインタフェースX13から被試験端末3に向けて送信する。
(2)メディアデータ加工処理部50の動作
次に、メディアデータ加工処理部50では以下のような動作が実行される。すなわち、被試験端末3からメディアデータのIPパケットが送信され、このIPパケットの送信先情報に試験装置10のIPアドレス及びポート番号(“57740”番ポート)が設定されていると、当該IPパケットはメディアデータ加工処理部50のメディアデータ入出力部53により受信される。
上記メディアデータのIPパケットが受信されるとメディアデータ加工制御部52は、先ずステップS41において、受信されたIPパケットの宛先ポート番号に、被試験端末3または治具端末2とのメディアデータの送受信用に設定されたメディアデータ加工処理部上のポート番号が存在するかどうかを判定する。そして、対応するポート番号が存在する場合にはステップS42に進む。対応するポートが存在しない場合には、ICMPエラーメッセージを生成してステップS49に進み、当該エラーメッセージを送信元の被試験端末3へ送信する。
IPパケットが受信されると、メディアデータ加工制御部52がステップS42において、上記受信されたIPパケットがどのコネクションで受信されたかを判定して、コネクション管理テーブル512の対応するレコードを選択する。本実施形態では、メディアデータはTCPで送受信されるため、メディアデータ加工処理部50がメディアデータのTCPパケットを受信する際に、TCPコネクションが存在しない場合には、TCPコネクションが新たに確立される。
この場合、コネクション管理テーブル512の「ローカルIPアドレス」、「ローカルポート番号」、「リモートIPアドレス」及び「リモートポート番号」のすべてに合致するレコードを選択する。合致するレコードが無い場合には、「ローカルIPアドレス」、「ローカルポート番号」及び「リモートIPアドレス」のすべてが合致し、「リモートポート番号」のみが空欄であるようなレコードを選択し、その上で「リモートポート番号」に当該TCPコネクションのリモートポート番号を設定する。それでも合致するレコードが無い場合には、「ローカルIPアドレス」及び「ローカルポート番号」のすべてが合致し、「リモートIPアドレス」と「リモートポート番号」が空欄であるようなレコードを選択した上で、「リモートIPアドレス」と「リモートポート番号」に当該TCPコネクションのリモートIPアドレスとリモートポート番号を設定する。
例えば、被試験端末3が送出したメディアデータをメディアデータ加工処理部50が受け取った場合には、図36に示すメディアデータ加工管理テーブル513のレコード「1」が選択される。また、治具端末2が送出したメディアデータをメディアデータ加工処理部50が受け取った場合には、図36に示すメディアデータ加工管理テーブル513のレコード「2」が選択される。
メディアデータ入出力部53からメディアデータを受け取ると、メディアデータ加工制御部52はステップS43において、当該受け取ったメディアデータをメディアデータ表示部542に出力し表示させる。表示方法としては、メディアデータがテキストデータや映像である場合には、ディスプレイ等の画面に可視情報として表示させ、メディアデータが音声である場合にはスピーカ等から可聴音として出力させる方法を用いる。なお、他の表示方法としては、予め特定のメディアデータとその表示方法(画面に表示又は強調して表示する、BEEP音を鳴らすなど)を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示を行う、という方法も考えられる。
続いてメディアデータ加工制御部52は、ステップS44において、メディアデータ加工条件テーブル511を参照し、メディアデータ入出力部53から受け取ったメディアデータが加工対象を含むか否かを判定する。この場合、参照するメディアデータ加工条件テーブル511は、ステップS42で選択されたメディアデータ加工管理テーブル513の対応レコードを参照して決定される。
メディアデータ加工条件テーブル511は、「加工対象」、「ユーザデータ入力対象フラグ」、「加工方法」及び「加工付加情報」を含んでいる。「加工対象」を含む場合はステップS45に進み、それ以外の場合にはステップS48に進む。
ステップS45に移行するとメディアデータ加工制御部52は、ユーザデータ入力部541を通してユーザの入力を受け付けるか否かを判定する。この判定は、メディアデータ加工条件テーブル511の「ユーザデータ入力対象フラグ」が“true”であるか“false”であるかにより行われる。
「ユーザデータ入力対象フラグ」が“true”であれば、メディアデータ加工制御部52はステップS46において、ユーザデータ入力部541を通してユーザの入力を受け付ける。この状態で、ユーザが目的とする試験内容に基づいて対象のメディアデータに対して任意の加工を行うための情報を入力したとする。そうするとメディアデータ加工制御部52は、当該入力されたデータによりメディアデータを加工する。その加工例としては、一部の文字列等のデータを書き換える、すべての文字列等のデータを書き換える、メディアデータをすべて削除する、等が考えられる。また、メディアデータ自体の加工は行わず、ユーザ入力待ち状態を一定時間維持することで当該メディアデータの出力を遅延させることも可能である。
これに対し「ユーザデータ入力対象フラグ」が“false”だったり、また「ユーザデータ入力対象フラグ」が存在しない場合には、メディアデータ加工制御部52はステップS47に移行し、ここでメディアデータ加工条件テーブル511に設定された「加工付加情報」に従い、対象のメディアデータを加工処理する。このメディアデータに対する加工処理の具体例については、第2の実施形態と同一であるため例示は省略する。
上記ステップS46又はステップS47によるメディアデータの加工処理が終了すると、メディアデータ加工制御部52は、ステップS48において、上記加工処理後のメディアデータをメディアデータ表示部542に表示させる。表示方法としては、ステップS43で加工処理前の受信メディアデータを表示させる場合と同様に、加工処理後のメディアデータがテキストデータや映像である場合にはディスプレイ等の画面に可視情報として出力し表示させ、またメディアデータが音声である場合にはスピーカ等に可聴音として出力する方法が考えられる。
なお、予め特定のメディアデータとその表示方法(画面に表示又は強調して表示する、BEEP音を鳴らすなど)を指定し、指定されたメディアデータを受信した場合に限り指定された方法で表示行う、ということも考えられる。また、先に述べたステップS43及びステップS48による加工処理前及び加工処理後のメディアデータの表示処理は省略することも可能である。
最後にメディアデータ加工制御部52は、ステップS49において、先に選択されたメディアデータ加工管理テーブル513のレコードを参照し、メディアデータの送信に必要な情報を取得した上で、上記加工処理されたメディアデータをIPパケット化する。そして、IPパケット転送処理部12のルーティング機能部121が、上記生成されたIPパケットを、自身のルーティング情報にもとづいて、インタフェースX13もしくはインタフェースY14から被試験端末3又は治具端末2へ向け送出する。
(効果)
以上詳述したように第3の実施形態では、試験装置10内にメディアデータ加工処理部50を設け、試験に使用する特定のSIPメッセージの送信先情報を、試験装置10に設定されたIPアドレスと、メディアデータ加工処理部50のメディアデータ入出力部53に設定されたポート番号となるように置換することで、以後被試験端末3及び治具端末2から送信されるメディアデータのIPパケットを試験装置10で受信してメディアデータ加工処理部50に転送させる。そして、当該メディアデータ加工処理部50により、上記受信されたメディアデータのIPパケットに対し試験のために必要な加工処理を行った後、当該加工処理後のメディアデータのIPパケットをIPパケット転送処理部12により治具端末2及び被試験端末3に向け送信するようにしている。
したがって、第2の実施形態と同様に、メディア通信に利用するIPアドレスやポート番号が毎回の通信において異なる場合でも、またSIPを使わず単独で通信を開始したメディア通信であっても、確実にプロキシ機能を発揮させることができる。また、SIPアプリケーションとしてメディア通信を行う場合と、メディア通信モジュールが単独で行うメディア通信を行う場合とで、治具端末2が同一のポート番号を利用するケースにおいては、試験対象外のメディア通信に対してはプロキシ機能が動作しないようにすることができる。
さらに、試験装置10上のIPアドレスおよびメディアデータ入出力部53上のポート番号を動的にかつランダムに設定するようにしている。このようにすることで、IPアドレス及びポート番号の情報を試験ごとに異ならせることができ、被試験端末3及び治具端末2の試験ごとの通信ログデータがある場合に、通信ログデータを区別することが容易になる。また、被試験端末3が複数ある場合に、被試験端末3ごとに、メディアデータ加工処理部50が利用するIPアドレスおよびポート番号を異なる値を設定することができ、これにより被試験端末3ごとの試験を並行して実行することが可能になる。
[その他の実施形態]
なお、この発明は上記各実施形態に限定されるものではない。例えば、第3の実施形態ではSIPメッセージ加工処理部110及びIPパケット転送処理部12に、メディアデータ加工処理部50を単に追加した場合を例にとって説明した。しかしそれに限らず、SIPメッセージ加工処理部110内のテーブル111,113と、メディアデータ加工処理部50内のテーブル511〜513を、1つの記憶ユニットに集約して設けたり、SIPメッセージ加工制御部112とメディアデータ加工制御部521の処理機能を1つのプロセッサにより実現するようにしてもよい。
その他、各テーブルに記憶する各管理データの構成や、加工対象とその加工内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。