(57)【特許請求の範囲】
【請求項１】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、
ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるＳＩＰフィルタリングゲートウェイ。
【請求項２】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるＳＩＰフィルタリングゲートウェイ。
【請求項３】
前記サーバ許容情報記録部は、サーバ許容情報として、ＳＩＰサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、
前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成する、請求項１または２に記載のＳＩＰフィルタリングゲートウェイ。
【請求項４】
送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成する、請求項１または２に記載のＳＩＰフィルタリングゲートウェイ。
【請求項５】
前記ＳＩＰサーバに、前記ＳＩＰフィルタリングゲートウェイが複数接続されている状況において、
他のＳＩＰフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のＳＩＰフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成する、請求項１に記載のＳＩＰフィルタリングゲートウェイ。
【請求項６】
前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備える請求項１または２に記載のＳＩＰフィルタリングゲートウェイ。
【請求項７】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する工程と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する工程とを備えるＳＩＰフィルタリング方法。
【請求項８】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記コンピュータのサーバ許容情報記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ端末用メッセージを送信する工程と、を備えるＳＩＰフィルタリング方法。
【請求項９】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行う処理を実行させるＳＩＰフィルタリングプログラムであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、
前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、
前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、
ＳＩＰサーバへサーバ用メッセージを送信する処理と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、
前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理と、をコンピュータに実行させるＳＩＰフィルタリングプログラム。
【請求項１０】
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ転送するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継処理を実行させるＳＩＰフィルタリングプログラムであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、
前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、
ＳＩＰサーバへ前記サーバ用メッセージを送信する処理と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、
前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させるＳＩＰフィルタリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット電話（ＩＰ電話）サービスを提供するＳＩＰサーバに接続されたＳＩＰフィルタリングゲートウェイ、ＳＩＰフィルタリング方法およびＳＩＰフィルタリングプログラムに関する。
【背景技術】
【０００２】
インターネット電話サービス（以下、ＩＰ電話サービスという）は、一般家庭にも普及した常時接続のインターネット回線を使った電話サービスである。ＩＰ電話サービスは、データ系通信との通信設備の共用や、パケット交換通信による通信効率の向上により、固定電話と比べて安価でありながら、同等の通信サービスを提供できる、そのため、今後、ＩＰ電話サービスの利用は、爆発的に増加するとみられている。
【０００３】
ＩＰ電話システムの主流は、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を使ったものになりつつある。ＳＩＰは、単数または複数の相手とのセッションを生成、変更、切断するためのアプリケーション層制御（シグナリング）プロトコルである。図１８は、ＳＩＰを使ったＩＰ電話サービスを提供するＳＩＰシステムの構成の概略を示す図である。従来のＳＩＰシステムは、例えば、ＩＰ電話機等のＳＩＰ端末９１ａ、９１ｂと、ＳＩＰ端末間の呼制御を行うＳＩＰサーバ９３で構成される。
【０００４】
例えば、ＳＩＰ端末９１ａが、ＳＩＰ端末９１ｂと通信を行うためには、ＳＩＰ端末９１ａからＳＩＰサーバ９３にメッセージ９５を送信する。ＳＩＰサーバ９３は、ＳＩＰ端末９１ａからのメッセージ９５を、ＳＩＰ端末９１ｂへ転送する。ＳＩＰ端末９１ｂは、ＳＩＰ端末９１ａからのメッセージ９５に対して応答メッセージをＳＩＰサーバ９３に送信する。ＳＩＰサーバ９３は、応答メッセージをＳＩＰ端末９１ａへ転送する。このように、ＳＩＰ端末９１ａは、ＳＩＰサーバ９３と通信することで、通信相手であるＳＩＰ端末９１ｂを見つけ、通信パラメタの折衝を行うなどＳＩＰ端末９１ｂとのセッションを生成することができる。ＳＩＰ端末９１ａとＳＩＰ端末９１ｂ間でセッションが生成されると、音声通話などのメディア通信が開始される。
【０００５】
ＳＩＰベースのＩＰ電話システムにおいては、呼制御を行うＳＩＰサーバ９３が中心的機能を担っている。そのため、ＳＩＰサーバ９３が停止すると、ＩＰ電話サービスが継続できなくなり、致命的となる。そこで、ＳＩＰサーバ９３への攻撃に対処する必要がある。
【０００６】
ＳＩＰサーバを故意に停止させるために仕掛けられる典型的な攻撃として、不正なデータを送信する、いわゆるバッファ・オーバーフロー（Ｂｕｆｆｅｒ  Ｏｖｅｒｆｌｏｗ）攻撃がある。これは、サーバソフトウエアの瑕疵（バグ）を狙って、不正に大きなデータを送付したり、送付されたデータの整合性を検査するソフトウエアをだまして異常動作させたりするものである。この攻撃により、サーバが暴走したり、あるいは最悪の場合システムがのっとられたりする場合もある。バッファ・オーバーフロー攻撃への対策としては、ＳＩＰメッセージを厳密に検査し、不正なデータやパラメタを処理しないようにする方法が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−３２４４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、以下に挙げるような理由でこのような手法が実現できない場合がある。ＳＩＰは、クライアント＝サーバ間のみでの古典的な通信(ＣＳ通信と呼ばれる)だけでなく、ＳＩＰサーバを挟んだクライアント＝サーバ＝クライアントという経路をたどる通信を含んでいることにある。図１８に示す例では、ＳＩＰ端末９１ａが送信したメッセージは、ＳＩＰサーバ９３によって、ＳＩＰ端末９１ｂに転送される。
【０００８】
クライアント＝サーバ間のみの通信であれば、クライアントから送られてきたメッセージ中で、サーバがサポートできないパラメタを含んでいる場合は、メッセージを受け付けないか、または、パラメタを破棄することでサーバの安全を図れる。しかし、サーバがサポートできないが、送信先のクライアントで使用されるパラメタが含まれる場合がある。
【０００９】
特に、ＳＩＰは、拡張性に優れたプロトコルであるため、新機能実現のため、拡張規格が新たに追加されることが少なくない。そのため、例えば、拡張規格に準拠したパラメタが送信先ＳＩＰ端末ではサポートされているが、ＳＩＰサーバではサポートされていない場合に、送信元ＳＩＰ端末からＳＩＰサーバへ送られたメッセージの拡張パラメタが破棄されてしまうと、送信先ＳＩＰ端末で、拡張パラメタの指定により実現される機能が使えないという不便が生じてしまう。
【００１０】
そこで、本発明の目的は、ＳＩＰサーバが、送信元ＳＩＰ端末から送られてきたメッセージ中のサポートしていないデータを処理しないことで、攻撃に対するセキュリティを強化しつつも、送信先のＳＩＰ端末に、必要なデータを含むメッセージを転送することを可能にするＳＩＰフィルタリングゲートウェイ、ＳＩＰフィルタリング方法およびＳＩＰフィルタリングプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明にかかるＳＩＰフィルタリングゲートウェイは、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
【発明の効果】
【００１２】
本発明によれば、ＳＩＰサーバが、送信元ＳＩＰ端末から送られてきたメッセージ中のサポートしていないデータを処理しないことで、攻撃に対するセキュリティを強化しつつも、送信先のＳＩＰ端末に、必要なデータを含むメッセージを転送することを可能にするＳＩＰフィルタリングゲートウェイ、ＳＩＰフィルタリング方法およびＳＩＰフィルタリングプログラムを提供することを提供することができる。
【発明を実施するための最良の形態】
【００１３】
本発明にかかるＳＩＰフィルタリングゲートウェイは、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
【００１４】
前記端末通信部が前記ＳＩＰ端末から受信したオリジナルメッセージは、前記サーバ用メッセージ生成部によって生成された前記サーバ用メッセージとして、前記サーバ通信部により前記ＳＩＰサーバへ送信される。前記サーバ用メッセージ生成部は、前記ＳＩＰサーバが許容するデータで前記サーバ用メッセージを生成するので、前記ＳＩＰサーバが許容しないデータは、前記ＳＩＰサーバに送信されない。そのため、前記ＳＩＰサーバは、送信元ＳＩＰ端末から送信されたメッセージ中で、前記ＳＩＰサーバの機能ではサポートしていないデータを処理しなくてすむ。すなわち、前記ＳＩＰサーバは、安全でないデータを処理しなくてすむ。その結果、前記ＳＩＰサーバに対する攻撃を防ぎ、セキュリティを強化することができる。
【００１５】
また、前記サーバ通信部が前記ＳＩＰサーバから受信した転送メッセージは、前記端末用メッセージ生成部によって生成された前記端末用メッセージとして前記送信先ＳＩＰ端末へ送信される。前記端末用メッセージ生成部は、前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて、前記端末用メッセージを生成するので、前記端末用メッセージには、前記オリジナルメッセージに含まれるデータのうち、前記ＳＩＰサーバでは許容されないが、前記送信先端末では必要となるデータも含まれうる。その結果、前記ＳＩＰサーバでは、許容されないが、前記送信先ＳＩＰ端末では使用される可能性があるデータを、前記ＳＩＰサーバを介することなく前記送信先ＳＩＰ端末へ転送することができる。したがって、前記ＳＩＰフィルタリングゲートウェイによれば、攻撃に対するセキュリティを強化しつつも、送信先のＳＩＰ端末に、必要なデータを含むメッセージを転送することが可能になる。
【００１６】
本発明にかかるＳＩＰフィルタリングゲートウェイは、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
【００１７】
前記サーバ用メッセージ生成部は、前記ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付した前記サーバ用メッセージを生成するので、前記サーバ通信部から前記ＳＩＰサーバへ送信されるサーバ用メッセージは、サーバが許容するデータと、前記オリジナルメッセージとに分かれた構造となる。そのため、前記ＳＩＰサーバは、添付された前記オリジナルメッセージについては処理を行わずに、許容するデータについてのみ処理を行うことができる。その結果、前記ＳＩＰサーバの機能ではサポートしていないデータを処理しなくてすむ。
【００１８】
前記ＳＩＰサーバは、受信したサーバ用メッセージを送信先端末へ向けて転送メッセージとして転送するので、前記サーバ通信部が受信する転送メッセージには、前記オリジナルデータが添付されていることになる。前記端末用メッセージ生成部は、転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、前記端末用メッセージを生成する。そのため、前記端末用メッセージに、前記ＳＩＰサーバでは許容されないために処理されないデータであって、前記送信先ＳＩＰ端末で必要となるデータも含まれうる。その結果、前記ＳＩＰサーバでは、許容されないが、前記送信先ＳＩＰ端末では使用される可能性があるデータが、前記ＳＩＰサーバで処理されることなく前記送信先ＳＩＰ端末へ転送されうる。
【００１９】
本発明にかかるＳＩＰフィルタリングゲートウェイにおいて、前記サーバ許容情報記録部は、サーバ許容情報として、ＳＩＰサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成することが好ましい。
【００２０】
前記サーバ用メッセージ生成部は、前記サーバ許容情報に基づいて、ＳＩＰサーバが許容するヘッダフィールドを抽出するので、ＳＩＰサーバがサポートしているヘッダフィールド種類のヘッダフィールドであって、ヘッダフィールド値がＳＩＰサーバの許容範囲内であるヘッダフィールドが抽出される。つまり、前記サーバ用メッセージ生成部は、不必要なヘッダフィールドは除外して安全なヘッダフィールド値を持つヘッダフィールドで再構成したＳＩＰメッセージを転送する。
【００２１】
これにより、例えば、ＳＩＰサーバでサポートされている種類のヘッダフィールドにおける許容範囲外のヘッダフィールド値によって、前記ＳＩＰサーバが不具合を起こす瑕疵があっても、その許容範囲外のヘッダフィールド値を持つヘッダフィールドは前記ＳＩＰサーバで処理されないため、前記ＳＩＰサーバの安全を図ることができる。
【００２２】
また、前記ＳＩＰサーバで許容されるヘッダフィールドの種類は、前記サーバ許容情報によって決められるので、例えば、新しい規格による拡張パラメタが新たにサポートされることになった場合であっても、前記サーバ許容情報を修正することで対応することができる。すなわち、新機能の追加や仕様変更が困難なＳＩＰサーバのソフトウエアについて、仕様変更を行わず、追加された拡張パラメタに対応することができる。
【００２３】
本発明にかかるＳＩＰフィルタリングゲートウェイは、送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報記録部に記録された前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成することが好ましい。
【００２４】
前記端末用メッセージ生成部は、端末許容情報記録部の前記情報に基づいて、前記送信先ＳＩＰ端末が許容するヘッダフィールドを抽出するので、送信先ＳＩＰ端末がサポートしている種類のヘッダフィールドであって、ヘッダフィールド値が送信先ＳＩＰ端末の許容範囲内であるデータが抽出される。
【００２５】
送信先ＳＩＰ端末で許容されるヘッダフィールドの種類は、前記端末許容情報によって決められるので、例えば、新しい規格による拡張パラメタが、送信先ＳＩＰ端末で新たにサポートされることになった場合であっても、前記端末許容情報を修正することで対応することができる。
【００２６】
本発明にかかるＳＩＰフィルタリングゲートウェイは、前記ＳＩＰサーバに、前記ＳＩＰフィルタリングゲートウェイが複数接続されている状況において、他のＳＩＰフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のＳＩＰフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成することが好ましい。
【００２７】
ＳＩＰサーバに接続された複数のＳＩＰフィルタリングゲートウェイそれぞれが、前記ゲートウェイ間通信部を備えることにより、異なるＳＩＰフィルタリングゲートウェイで記録されたオリジナルメッセージを取得することができる。そのため、例えば、送信元端末からオリジナルメッセージを受信したＳＩＰフィルタリングゲートウェイと、そのオリジナルメッセージに対応する転送メッセージを受信したＳＩＰフィルタリングゲートウェイとが異なる場合であっても、前記端末用メッセージ生成部は、転送メッセージと、それに対応するオリジナルメッセージとに基づいて端末用メッセージを生成することができる。
【００２８】
本発明にかかるＳＩＰフィルタリングゲートウェイは、前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備えることが好ましい。
【００２９】
前記判定部により、不正なデータが前記ＳＩＰサーバへ送信されることを防ぐことができる。その結果、前記ＳＩＰサーバが不正なデータを処理しなくてすむようになり、前記ＳＩＰサーバの安全性が確保される。なお、不正なデータが含まれるメッセージは、例えば、ＳＩＰ仕様Ｖｅｒ．２．０に準拠していないメッセージ等である。
【００３０】
本発明にかかるＳＩＰフィルタリング方法は、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、  前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する工程と、前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する工程とを備えることが好ましい。
【００３１】
本発明にかかるＳＩＰフィルタリング方法は、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ端末用メッセージを送信する工程とを備える。
【００３２】
本発明にかかるＳＩＰフィルタリングプログラムは、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行う処理を実行させるＳＩＰフィルタリングプログラムであって、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理と、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理とをコンピュータに実行させる。
【００３３】
本発明にかかるＳＩＰフィルタリングプログラムは、送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ転送するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継処理を実行させるＳＩＰフィルタリングプログラムであって、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、ＳＩＰサーバへ前記サーバ用メッセージを送信する処理と、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させる。
【００３４】
本発明にかかるＳＩＰフィルタリングゲートウェイにおいて、前記サーバ許容情報記録部は、サーバ許容情報として、ＳＩＰサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを記録し、前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出し、前記サーバ許容情報が表すボディ部への操作をすることによって前記サーバ用メッセージを生成することが好ましい。
【００３５】
本発明にかかるＳＩＰフィルタリングゲートウェイにおいて、送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを、端末許容情報として記録する端末許容情報記録部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールドの種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出し、前記端末許容情報が表すボディ部への操作をすることによって前記端末用メッセージを生成することが好ましい。
【００３６】
以下、図面を参照して、本発明の実施の一形態を詳細に説明する。
【００３７】
（実施の形態１）
実施の形態１は、ＳＩＰフィルタリングゲートウェイを備えるＩＰ電話システムに関する。図１は、本実施形態におけるＩＰ電話システム１０の構造の概略を示す概念図である。図１に示すように、ＩＰ電話システム１０は、ＳＩＰサーバ３と、ＳＩＰサーバ３に接続されたＳＩＰフィルタリングゲートウェイ２と、ＳＩＰフィルタリングゲートウェイ２にインターネット５を介して接続されたＳＩＰ端末１ａ、１ｂで構成される。
【００３８】
ＳＩＰ端末１ａ、１ｂは、例えば、ＩＰ電話機やＩＰ電話機能を備えた端末装置等である。ＳＩＰフィルタリングゲートウェイ２（以下、単にゲートウェイ２と称する）は、例えば、サーバ等で構成されるシステムである。ゲートウェイ２を構成するサーバは、例えば、プロキシサーバと呼ばれることもある。なお、図１においては、説明を簡単にするために、ＳＩＰ端末は２台しか示していないが、実際は、多くのＳＩＰ端末がゲートウェイ２に接続される。
【００３９】
ＩＰ電話システム１０において、例えば、ＳＩＰ端末１ａが、ＳＩＰ端末１ｂに電話を掛ける場合、ＳＩＰ端末１ａは、ＳＩＰサーバ３に向けてオリジナルメッセージ７ａを送信する。オリジナルメッセージ７ａには、例えば、送信先のＳＩＰ端末１ｂを特定するための情報が含まれている。オリジナルメッセージ７ａは、ＳＩＰサーバ３に到達する前にゲートウェイ２に受信される。ゲートウェイ２は、受信したオリジナルメッセージ７ａから、ＳＩＰサーバ３がサポートするデータのみを抽出してサーバ用メッセージ７ｂを生成し、サーバ用メッセージ７ｂをＳＩＰサーバ３に転送する。サーバ用メッセージ７ｂを受信したＳＩＰサーバ３は、サーバ用メッセージ７ｂに記述されている送信先ＳＩＰ端末１ｂへ向けて転送メッセージ７ｂ２を転送する。転送メッセージ７ｂ２の内容は、サーバ用メッセージ７ｂと同じでよい。転送メッセージ７ｂ２は、ＳＩＰ端末１ｂへ到達する前にゲートウェイ２に受信される。ゲートウェイ２は、もとのオリジナルメッセージ７ａに含まれていた情報で、サーバ用メッセージ７ｂおよび転送メッセージ７ｂ２には含まれていない情報を、転送メッセージ７ｂ２に追加して端末用メッセージ７ｃを生成し、端末用メッセージ７ｃをＳＩＰ端末１ｂに送信する。
【００４０】
このように、ゲートウェイ２が、ＳＩＰサーバ３とＳＩＰ端末１ａ、１ｂとの間の通信を中継することによって、ＳＩＰサーバ３には、ＳＩＰサーバ３がサポートする安全なデータだけが送られる。さらに、ＳＩＰサーバ３ではサポートしていないが、ＳＩＰ端末１ａ、１ｂではサポートされているデータを、ＳＩＰ端末１ａ，１ｂ間で通信することができる。
【００４１】
ＩＰ電話システム１０では、システムの利用者が操作するＳＩＰ端末１ａ、１ｂは、常時接続のネットワーク回線に接続されている。通常、ＳＩＰサーバ３は、ＩＰ電話サービスの提供者によって提供される。ＳＩＰサーバ３を介するＳＩＰ呼制御通信により、送信元のＳＩＰ端末１ａが、指定した着信側ＳＩＰ端末１ｂと呼を確立すると、ＳＩＰ端末１ａとＳＩＰ端末１ｂは、ＶｏＩＰによる音声通話ができるようになる。
【００４２】
図２は、ゲートウェイ２の構成の一例を表す機能ブロック図である。ゲートウェイ２は、サーバ用メッセージ生成部６、端末用メッセージ生成部７、判定部８、サーバ通信部９、端末通信部１１、ＧＷ間通信部１７、端末情報記録部１５、端末用テンプレート記録部１３およびサーバ用テンプレート記録部１９を備える。
【００４３】
ゲートウェイ２は、ＳＩＰサーバ３およびＳＩＰ端末１ａにネットワークを介して接続されている。ＳＩＰサーバ３は、ＳＩＰ端末の位置情報を記録するＳＩＰ端末位置情報記録部３ａを備える。また、ＳＩＰサーバ３は、他のゲートウェイ２１ともネットワークを介して接続されている。
【００４４】
端末通信部１１は、ＳＩＰ端末１ａ、１ｂとのデータ通信を行う。判定部８は、端末通信部１１がＳＩＰ端末１ａ、１ｂから受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、そのオリジナルメッセージをサーバ用メッセージ生成部６に渡す。また、端末通信部１１は、ＳＩＰ端末１ａ、１ｂから受信したオリジナルメッセージに含まれるデータを端末情報記録部１５に記録する。端末情報記録部１５は、オリジナルメッセージを記録するメッセージ記録部の一例である。
【００４５】
サーバ用メッセージ生成部６は、判定部８から渡されたメッセージから、ＳＩＰサーバ３が許容するデータを抽出して、新たにサーバ用メッセージを生成し、サーバ通信部９に渡す。サーバ通信部９は、サーバ用メッセージ生成部６が生成したサーバ用メッセージをＳＩＰサーバ３へ送信する。
【００４６】
サーバ用メッセージ生成部６は、サーバ用テンプレート記録部１９に記録されている情報を用いて、判定部８から渡されたオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバ３が許容するデータを抽出する。サーバ用テンプレート記録部１９は、ＳＩＰサーバが許容するサーバ用メッセージに含まれるデータに関するサーバ許容情報を記録するサーバ許容情報記録部の一例である。
【００４７】
サーバ通信部９からのサーバ用メッセージを受信したＳＩＰサーバ３は、サーバ用メッセージに記述されている、送信先のＳＩＰ端末を特定する情報に基づいて、ＳＩＰ端末位置情報記録部３ａから送信先ＳＩＰ端末の位置を表す情報を取得する。ＳＩＰサーバ３は、取得した位置情報が表す位置に対応するゲートウェイに転送メッセージを転送する。ここで、転送メッセージの内容は、ＳＩＰサーバ３が受信したサーバ用メッセージと同じでよい。ここでは、一例として、ＳＩＰサーバ３は、ゲートウェイ２に転送メッセージを転送した場合について説明する。
【００４８】
サーバ通信部９は、ＳＩＰサーバ３から転送メッセージを受信し、端末用メッセージ生成部７へ渡す。端末用メッセージ生成部７は、ゲートウェイ２がその転送メッセージのオリジナルメッセージに含まれていたデータおよびその転送メッセージのデータを使って、端末用メッセージを生成する。すなわち、端末用メッセージ生成部７は、転送メッセージにオリジナルメッセージのデータを補完することになる。オリジナルメッセージのデータは、例えば、端末情報記録部１５に記録されているので、そのデータから転送メッセージに欠けている部分が抽出され、ＳＩＰサーバ３から受信した転送メッセージに追加される。
【００４９】
端末用メッセージ生成部７は、端末用テンプレート記録部１３の情報を用いて、ＳＩＰサーバ３から受信した転送メッセージに追加するデータの内容を決定する。端末用テンプレート記録部１３は、送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるデータに関する情報が記録された端末許容情報記録部の一例である。
【００５０】
なお、ＳＩＰサーバ３から受信した転送メッセージのオリジナルメッセージを最初に受信したのが、ゲートウェイ２ではなく、例えば、他のゲートウェイ２１である場合もあり得る。その場合、転送メッセージに対応するオリジナルメッセージは、ゲートウェイ２の端末情報記録部１５ではなく、他のゲートウェイ２１の端末情報記録部１５に記録されている。その場合、ＧＷ間通信部１７が、当該他のゲートウェイ２１の端末情報記録部から、送信元のＳＩＰ端末から受信した当初のオリジナルメッセージを取得する。
【００５１】
ゲートウェイ２、２１は、例えば、サーバ等のコンピュータ上に構築することができる。サーバ用メッセージ生成部６、端末用メッセージ生成部７、判定部８、サーバ通信部９、端末通信部１１、ＧＷ間通信部１７の機能は、コンピュータのＣＰＵが所定のプログラムを実行することによって実現される。端末情報記録部１５、端末用テンプレート記録部１３およびサーバ用テンプレート記録部１９には、コンピュータに内蔵されているハードディスク、ＲＡＭ等の記憶媒体の他、フレキシブルディスク、メモリカード等の可搬型記憶媒体や、ネットワーク上にある記憶装置内の記憶媒体等を用いることができる。
【００５２】
なお、図１および図２に示すＩＰ電話システム１０の構成は、一例に過ぎず、これらに限定されない。例えば、ゲートウェイ２は、１台のサーバで構成することもできるし、複数のサーバで機能を分散させて構成することもできる。また、ゲートウェイ２、２１をそれぞれＳＩＰサーバ３とは異なるコンピュータ上に構成することは、リスクを分散させる点で有利であるが、ＳＩＰサーバ３と同じコンピュータ上にゲートウェイ２を構築してもよい。
【００５３】
次に、ゲートウェイ２の動作について説明する。図３は、ゲートウェイ２が、メッセージを受信してから転送するまでの処理の流れの一例を示すフローチャートである。
【００５４】
サーバ通信部９または端末通信部１１が、メッセージを受信する。端末通信部１１がメッセージを受信すると、判定部８が、メッセージを解釈する（Ｓ１）。判定部８は、ＩＰ電話機等のＳＩＰ端末１ａ、１ｂから送信される、全てのメッセージについて、ＳＩＰプロトコル仕様Ｖｅｒ．２．０に準拠したメッセージであるか検査する。判定部８は、異常があればＳＩＰサーバ３へ当該メッセージを転送することなく、エラー応答が必要か否かを判断する（Ｓ７）。例えば、メッセージがリクエストメッセージであれば、エラー応答が必要と判断される。エラー応答が必要な場合は、判定部８は、送信元のＳＩＰ端末１ａへエラー応答を返す（Ｓ８）。なお、エラー応答ができない場合や、応答が適切でないと判断される場合には、当該メッセージは破棄されてもよい。
【００５５】
メッセージ検査の例としては、ＳＩＰ仕様にしたがった文法チェック、メッセージに含まれるｆｒｏｍヘッダまたはｔｏヘッダに指定するユーザＩＤの種類（番号のみなど）や長さの検査、ｆｒｏｍヘッダまたはｔｏヘッダに指定する表示名フィールドの文字種や長さの検査、通信パラメタを指定するＳＤＰデータの内容検査などが挙げられる。
【００５６】
次に、ゲートウェイ２は、受信したメッセージの転送先を判定する（Ｓ２）。転送先がＳＩＰサーバ３の場合は、サーバ用メッセージ生成部６が、受信したメッセージに基づいて、ＳＩＰサーバ３へ送るサーバ用メッセージを生成する（Ｓ３）。転送先がＳＩＰサーバ３でない場合、すなわち、転送先が端末である場合は、端末用メッセージ生成部７が、受信したメッセージを基に、ＳＩＰ端末１ａまたは１ｂへ送る端末用メッセージを生成する（Ｓ４）。これらの処理（Ｓ３、Ｓ４）の詳細については後述する。
【００５７】
次に、ゲートウェイ２は、ＳＩＰプロキシサーバの標準処理を行う（Ｓ５）。ＳＩＰプロキシサーバの標準処理として、例えば、リクエストメッセージに対してＶｉａヘッダの先頭に自ホストを通過したことを記録する、ＳＩＰアドレスを追加するなどが挙げられる。
【００５８】
最後に、サーバ通信部９または端末通信部１１が、Ｓ２で判定した転送先に、Ｓ３またはＳ４で生成されたメッセージを転送する（Ｓ６）。
（転送先を判定する処理（Ｓ２））
図４は、転送先の判定処理の一例を示すフローチャートである。図４に示すように、ゲートウェイ２は、受信したメッセージがリクエストメッセージか否かを判断する（Ｓ２１）。
【００５９】
ここで、図５を参照して、リクエストメッセージの例を説明する。図５（ａ）の左側の図は、リクエストメッセージであるオリジナルメッセージ３０の例を示す図である。オリジナルメッセージ３０では、先頭行がリクエスト行３１であり、以下の行がヘッダ部３２およびボディ部３３に分かれている。リクエスト行には、例えば、ＩＮＶＩＴＥ、ＡＣＫ等のメソッド（命令）が記述される。このように、先頭行にメソッドが記述されているメッセージは、リクエストメッセージであると判断される。
【００６０】
ヘッダ部３２には、メッセージに関する情報が、いつくかヘッダフィールドに分けて記述される。各ヘッダフィールドは、ヘッダ名＋コロン（：）＋ヘッダフィールド値の形式で記述される。図５（ａ）に示す例では、例えば、メッセージの送信者を表すｆｒｏｍヘッダ、リクエストの論理的な受信者を表すｔｏヘッダ、リクエストまたは応答のルートパスを表すｖｉａヘッダ等が記述されている。
【００６１】
ゲートウェイ２は、メッセージがリクエストである場合（図４のＳ２１でＹｅｓ）、ｔｏヘッダのアドレスは自アドレスか否かを判断する（Ｓ２２）。自アドレスか否かは、例えば、ｔｏヘッダのアドレスがゲートウェイ２のアドレスか否かにより判断される。ｔｏヘッダのアドレスが自アドレスでなければ、ゲートウェイ２は、転送先をｔｏヘッダのアドレスとする（Ｓ２４）。この場合、転送先は、サーバとなる。ｔｏヘッダのアドレスが自アドレスである場合（Ｓ２２でＹｅｓ）、送信元（ｆｒｏｍヘッダのアドレス）が端末か否かが判断される（Ｓ２３）。送信元が、端末のアドレスであれば、転送先はサーバ（Ｓ２４）、送信元が端末でなければ、転送先は、ｔｏヘッダに記述された端末となる（Ｓ２５）。
【００６２】
メッセージがリクエストでなく応答メッセージである場合（Ｓ２１でＮｏ）、ゲートウェイ２は、Ｖｉａヘッダは２以上あるか否かを判断する（Ｓ２６）。Ｖｉａヘッダが２より少ない場合（Ｓ２６でＮｏ）は、転送先はｆｒｏｍヘッダに記載された端末となる（Ｓ３０）。Ｖｉａヘッダが２以上の場合（Ｓ２６でＹｅｓ）は、ゲートウェイ２は、Ｖｉａヘッダを１行削除する。１行削除した後に、先頭となったＶｉａヘッダのアドレスが端末のアドレスを示す場合（Ｓ２８でＹｅｓ）、転送先はｆｒｏｍ行に記載された端末となる（Ｓ３０）。先頭のＶｉａヘッダのアドレスが端末のアドレスでない場合（Ｓ２８でＮｏ）、転送先は、先頭のＶｉａヘッダで示されるアドレスのサーバとなる（Ｓ２９）。
（サーバ用メッセージを生成する処理）
ここで、サーバ用メッセージ生成部６が、ゲートウェイ２が受信したオリジナルメッセージに基づいて、サーバへ送るサーバ用メッセージを生成する処理（Ｓ３）の一例について説明する。図６は、サーバ用メッセージ生成部６が、サーバ用メッセージを生成する処理（Ｓ３）の流れを示すフローチャートである。
【００６３】
サーバ用メッセージ生成部６は、ゲートウェイ２が受信したオリジナルメッセージに基づいて、メッセージを転送するサーバの種別を判定する（Ｓ３１）。サーバ用メッセージ生成部６は、例えば、サーバのアドレス情報によって、サーバの種別を判定する。サーバ用テンプレート記録部１９には、例えば、サーバ種別ごとにサーバ用テンプレート群が記録されている。
【００６４】
サーバ用メッセージ生成部６は、サーバ用テンプレート記録部１９から、メッセージを転送するサーバのサーバ種別に対応するサーバ用テンプレート群を取得する（Ｓ３２）。ここで、図７を参照して、サーバ用メッセージ生成部６がサーバ用テンプレート記録部１９から、オリジナルメッセージに対応するサーバ用テンプレートを取得する処理について説明する。
【００６５】
図７（ａ）は、オリジナルメッセージの一例を示す図である。図７（ａ）に示すオリジナルメッセージでは、説明を簡単にするため、リクエスト行とｔｏヘッダの記述のみ表示し、他の記述は省略している。
【００６６】
図７（ｂ）は、サーバ用テンプレート記録部１９に記録されているサーバ用テンプレート群の一例を表す図である。図７（ｂ）に示す例では、例えば、サーバ種別ごとにサーバ用テンプレート群Ａ〜Ｃが記録されている。例えば、サーバ用テンプレート群Ａは、アドレス情報がそれぞれ「＠ｄｏｍａｉｎＡ」であるサーバに対応したテンプレートである。サーバ用テンプレート群Ｂは、「＠ｄｏｍａｉｎＢ」であるサーバに対応したテンプレートである。サーバ用テンプレート群Ｃは、デフォルトのテンプレートである。
【００６７】
図７（ｃ）は、サーバ用テンプレート群Ａ内のデータの一部の例を示す図である。図７（ｃ）に示す例では、リクエストメッセージについてメソッドごとに記録されたテンプレートと、レスポンスメッセージについてメソッドごとに記録されたテンプレートとが含まれている。
【００６８】
図７（ｃ）中のテンプレートＡＲ１は、ＩＮＶＩＴＥメソッドのリクエストメッセージに対応するテンプレートである。テンプレートＡＲ１の＜ｒｅｑｕｅｓｔ  ｍｅｔｈｏｄ＝“ｉｎｖｉｔｅ”＞タグ内で、一例として、サーバが許容するヘッダフィールドの種類およびヘッダフィールド値の範囲が＜ｈｅｈｅａｄｅｒ＞タグにより記述されている。
【００６９】
テンプレートＡＲ６は、ＩＮＶＩＴＥメソッドのレスポンスメッセージに対応するテンプレートである。なお、図７（ｃ）においては上記テンプレートＡＲ１、ＡＲ６以外のタグは省略されている。
【００７０】
ゲートウェイ２が受信したオリジナルメッセージが図７（ａ）に示すオリジナルメッセージである場合の例について説明する。この場合、オリジナルメッセージが示す転送先サーバのアドレス情報は、「＠ｄｏｍａｉｎＡ」なので、サーバ用メッセージ生成部６は、「＠ｄｏｍａｉｎＡ」に対応するサーバ用テンプレート群Ａを抽出する。なお、対応するテンプレート群が存在しない場合は、デフォルトのテンプレート群が抽出される。
【００７１】
次に、サーバ用メッセージ生成部６は、ゲートウェイ２が受信したオリジナルメッセージのメソッドを判定する（Ｓ３３）。
【００７２】
サーバ用メッセージ生成部６は、オリジナルメッセージのメソッドがＩＮＶＩＴＥなので、例えば、図７（ｂ）に示すサーバ用テンプレート群Ａのうち、メソッドがＩＮＶＩＴＥであるテンプレートＡＲ１を選択する。このように、サーバ用メッセージ生成部６は、転送先のサーバの種別に対応するテンプレート群の中から、受信したオリジナルメッセージのメソッドに対応するテンプレートを１つ選択する。オリジナルメッセージに対応するテンプレートが存在しない場合は、エラー処理（図３のＳ７）が行われる。
【００７３】
サーバ用メッセージ生成部６は、テンプレートＡＲ１を取得すると、オリジナルメッセージの保存が必要か否かを判断する（図６のＳ３５）。サーバ用メッセージ生成部６は、オリジナルメッセージが、例えば、メソッドが、ＩＮＶＩＴＥ、ＡＣＫ等のように、ＳＩＰサーバを経由してＳＩＰ端末間で交換されるメッセージである場合には、オリジナルメッセージを端末情報記録部１５へ保存する。
【００７４】
これにより、サーバ用メッセージ生成部６がオリジナルメッセージを基に生成し、ＳＩＰサーバ３へ転送したサーバ用メッセージが、ＳＩＰサーバ３から転送メッセージとして再びゲートウェイ２へ戻ってきた場合に、保存しておいた元のオリジナルメッセージを使って、戻ってきた転送メッセージを補完することができる。また、オリジナルメッセージを元に生成されたサーバ用メッセージが、ＳＩＰサーバ３を経由して他のゲートウェイ２１へ転送メッセージとして転送された場合にも、保存された元のオリジナルメッセージを他のゲートウェイ２１に送信することで、ゲートウェイ２１に転送された転送メッセージを補完することができる。
【００７５】
このメッセージの保存期間は、ＳＩＰプロトコル仕様で定められたタイムアウト既定を基に決定することができる。保存期間が過ぎたメッセージは、順次削除されることが好ましい。保存メッセージは、端末情報記録部１５のクライアント情報の一部として管理されているが、クライアント情報も一定期間(例えば、ＲＥＧＩＳＴＥＲメソッドの有効期限)内にアクセスがなかったときに、保存メッセージと共に削除されるようになっている。
【００７６】
次に、サーバ用メッセージ生成部６は、ゲートウェイ２が受信したオリジナルメッセージから、テンプレートＡＲ１が示すパラメタを抽出して、ＳＩＰサーバ３に転送するためのサーバ用メッセージを生成する。
【００７７】
ここで、ゲートウェイ２が受信したオリジナルメッセージが、図５（ａ）の左側の図に示すオリジナルメッセージ３０である場合の例を説明する。この場合、テンプレートＡＲ１が指定するエントリ毎に、オリジナルメッセージ３０からのパラメタの抽出（Ｓ３７）し、抽出したパラメタをサーバ用メッセージへの設定する処理（Ｓ３８）が繰り返される。
【００７８】
図５（ｂ）は、テンプレートＡＲ１の一例を示す図である。図５（ｂ）に示す例では、テンプレートＡＲ１には、＜ｈｅａｄｅｒ＞タグ５１が含まれている。＜ｈｅａｄｅｒ＞タグ５１内には、ＳＩＰサーバ３が許容するパラメタを示すタグが記述されている。例えば、＜ｈｅａｄｅｒ＞タグ５１内に記述された、ｆｒｏｍタグｈ１、ｔｏタグｈ２、ｖｉａタグｈ３およびｃｓｅｑタグｈ４は、それぞれ、ｆｒｏｍヘッダ、ｔｏヘッダ、ｖｉａヘッダ、ｃｓｅｑヘッダは、ＳＩＰサーバ３で許容されるパラメタであることを意味している。すなわち、ＳＩＰサーバ３は、ＩＮＶＩＴＥリクエストのパラメタとして、ｆｒｏｍヘッダ、ｔｏヘッダ、ｖｉａヘッダ、ｃｓｅｑヘッダをサポートしていることがテンプレートＡＲ１により示される。
【００７９】
サーバ用メッセージ生成部６は、テンプレートＡＲ１の＜ｈｅａｄｅｒ＞タグ５１内によって示されるｆｒｏｍヘッダ、ｔｏヘッダ、ｖｉａヘッダおよびｃｓｅｑヘッダそれぞれのヘッダ名およびヘッダフィールド値を、オリジナルメッセージ３０から抽出して、サーバ用メッセージへ追加する。オリジナルメッセージ３０に指定されているが、テンプレートＡＲ１に含まれないヘッダは無視される。また、逆に、テンプレートＡＲ１には指定されているが、オリジナルメッセージにないヘッダも無視される。つまり、サーバ用メッセージは、テンプレートＡＲ１を基に、オリジナルメッセージ３０の少なくとも一部のパラメタ値をコピーしたデータで構成することができる。
【００８０】
図５（ａ）の右側の図は、テンプレートＡＲ１を基に、オリジナルメッセージ３０から生成されたサーバ用メッセージ４１の例を示す図である。
【００８１】
なお、テンプレートによるヘッダの指定として、ヘッダフィールドの一部のデータを抽出するように指定することも可能である。例えば、ＳＩＰ端末１ａ、１ｂが、ｆｒｏｍヘッダ、ｔｏヘッダに例えば、ＵＮＩＣＯＤＥによる漢字表記の利用者名を指定することが可能な仕様になっており、一方で、ＳＩＰサーバ３では、漢字表記の利用者名が指定された場合に、セキュリティ上の理由でこれを拒否する仕様になっている場合がある。このような場合には、相互接続のために、ｆｒｏｍヘッダおよびｔｏヘッダのヘッダフィールドのうち、利用者名パラメタｆ１は抽出せずに、ＳＩＰアドレス情報ｆ２のみを抽出するようにテンプレートで指定することができる。図５（ｂ）に示すテンプレートＡＲ１では、例えば、＜ｆｒｏｍ＞タグｈ１と＜ｔｏ＞タグｈ２中のエンティティで「ｓｔｒｉｐ＿ｄｉｓｐｎａｍｅ＝”ｙ“」と表示されている。これにより、図５（ａ）に示すサーバ用メッセージ４１のように、ｆｒｏｍヘッダに、ＳＩＰアドレス情報ｆ２のみが記述される。
【００８２】
以上の処理により生成されたサーバ用メッセージ４１は、サーバ通信部９によってＳＩＰサーバ３へ転送される。なお、サーバ用テンプレートは、図５（ｂ）に示すテンプレートＡＲ１の内容に限られない。サーバ用メッセージ生成部６は、例えば、サーバ用テンプレートにしたがって、オリジナルメッセージから、不必要なパラメタ（例えば、ヘッダやヘッダ・オプション等）は除外して安全なパラメタ値（例えば、許容されるヘッダ、ヘッダ値の範囲、添付データなど）のみを抽出してサーバ用メッセージを生成することができる。
【００８３】
（端末用メッセージを生成する処理）
ここで、端末用メッセージ生成部７が、ゲートウェイ２がＳＩＰサーバ３から受信した転送メッセージに基づいて、ＳＩＰ端末へ送るメッセージを生成する処理（図３のＳ４）の一例について説明する。図８は、端末用メッセージ生成部７が、端末へ送るメッセージを生成する処理（Ｓ４）の流れを示すフローチャートである。
【００８４】
端末用メッセージ生成部７は、ゲートウェイ２が受信したメッセージに基づいて、メッセージを転送するサーバの種別を判定する（Ｓ４１）。サーバ種別に対応する端末用テンプレート群を端末用テンプレート記録部１３から抽出する（Ｓ４２）。端末用テンプレート記録部１３に記録されている端末用テンプレートは、図７（ｂ）および図７（ｃ）に示すサーバ用テンプレートと同様に、各サーバ種別について、メソッドごとに記録されていることが好ましい。すなわち、端末用テンプレート記録部１３に記録された端末用テンプレートも、図７（ｂ）および図７（ｃ）に示すデータ構造と同様の構造にすることができる。
【００８５】
端末用メッセージ生成部７は、ゲートウェイ２が受信した転送メッセージのメソッドを判定する（Ｓ４３）。図９（ａ）の左側の図は、ゲートウェイ２が受信した転送メッセージ４２の一例を示す図である。転送メッセージ４２は、例えば、ゲートウェイ２またはゲートウェイ２１からＳＩＰサーバ３へ転送され、ＳＩＰサーバ３から送信先のＳＩＰ端末へ向けてさらに転送されたメッセージである。ここでは、送信先がＳＩＰ端末１ａである場合の例について説明する。
【００８６】
転送メッセージ４２のメソッドは、ＩＮＶＩＴＥである。したがって、端末用メッセージ生成部７は、例えば、Ｓ４２で抽出されたテンプレート群のうち、メソッドがＩＮＶＩＴＥであるテンプレートを選択する。図９（ｂ）に、端末用メッセージ生成部７が選択したテンプレート４４の一例を示す。なお、転送メッセージ４２に対応するテンプレートが存在しない場合は、エラー処理（Ｓ７）が行われる。
【００８７】
端末用メッセージ生成部７は、テンプレート４４を取得すると、転送メッセージ４２に補完が必要か否かを判断する（Ｓ４５）。端末用メッセージ生成部７は、転送メッセージ４２のメソッドが、例えば、ＩＮＶＩＴＥ、ＡＣＫ等である場合のように、ＳＩＰサーバを経由してＳＩＰ端末間で交換されるメッセージである場合には、転送メッセージ４２に、データを補完する。ＳＩＰサーバを経由してＳＩＰ端末へ向けて転送される転送メッセージ４２は、必ずゲートウェイ２または２１を経由している。ＳＩＰ端末１ａ、１ｂまたは１ｃから送信されたオリジナルメッセージは、ゲートウェイ２または２１からＳＩＰサーバ３へ転送される際に、サーバ用メッセージ生成部６によって、オリジナルメッセージから安全なデータだけが抽出されてＳＩＰサーバ３へ転送される。したがって、その時に抽出されなかったデータを補完する必要がある。オリジナルメッセージは、ゲートウェイ２または２１の端末情報記録部１５へ保存されている。
【００８８】
ここで、端末用メッセージ生成部７が、オリジナルメッセージを取得する処理（Ｓ４６）について説明する。図１０は、端末用メッセージ生成部７が、オリジナルメッセージ、すなわち、送信元ＳＩＰ端末から送信されたときのメッセージを取得する処理の流れを示す図である。
【００８９】
図１０に示すように、端末用メッセージ生成部７は、まず、送信元ＳＩＰ端末が接続されているゲートウェイを特定する（Ｓ４６１）。端末用メッセージ生成部７は、例えば、受信した転送メッセージ４２のＶｉａヘッダのヘッダフィールド値より、送信元ＳＩＰ端末が接続されているゲートウェイを表す情報を得ることができる。端末用メッセージ生成部７は、送信元ＳＩＰ端末が、送信先ＳＩＰ端末と、同じゲートウェイに接続されているか否かを判断する。例えば、図１において、送信元がＳＩＰ端末１ａであり、送信先がＳＩＰ端末１ｂである場合には、送信元ＳＩＰ端末は、送信先ＳＩＰ端末と同じゲートウェイに接続されている。一方、送信元がＳＩＰ端末１ａであり、送信先がＳＩＰ端末１ｃである場合には、送信元ＳＩＰ端末は、送信先ＳＩＰ端末と異なるゲートウェイに接続されている。
【００９０】
送信元端末が同じゲートウェイ２である場合（Ｓ４６２でＹｅｓ）、端末用メッセージ生成部７は、ゲートウェイ２のローカルな端末情報記録部１５からオリジナルメッセージを取得する。送信元端末が異なるゲートウェイ２１である場合（Ｓ４６２でＮｏ）、ＧＷ間通信部１７に、ゲートウェイ２１の端末情報記録部１５からオリジナルメッセージを取得してもらう。
【００９１】
ここで、図１１は、端末情報記録部１５に記録されている端末情報の例である。図１１に示す端末情報６０は、端末への宛先ＳＩＰアドレス６１、端末種別６２、最終アクセス時刻６３、保存リクエストのリスト６４を含む。保存リクエストのリスト６４には、ＳＩＰメッセージ管理情報６５ａ、６５ｂ、６５ｃが含まれる。例えば、ＳＩＰメッセージ管理情報６５ａには、到着時刻６５１ａ、参照カウント６５２ａ、ＳＩＰメッセージデータ６５３ａが含まれる。端末用メッセージ生成部７は、このＳＩＰメッセージデータ６５３ａを取得することによって、オリジナルメッセージを得る。
【００９２】
再び図８を参照して、端末用メッセージ生成部７は、オリジナルメッセージを取得すると、ゲートウェイ２が受信した転送メッセージ４２と、オリジナルメッセージとから、テンプレート４４が示すパラメタを抽出して、ＳＩＰ端末に転送するメッセージ（端末用メッセージ）を生成する。具体的には、テンプレート４４が指定するエントリ毎に、転送メッセージ４２およびオリジナルメッセージからのパラメタを抽出（Ｓ４７）し、抽出したパラメタを端末用メッセージへの設定する処理（Ｓ４８）が繰り返される。
【００９３】
図９（ｂ）に示す例では、テンプレート４４に含まれる＜ｈｅａｄｅｒ＞タグ５２内には、送信先ＳＩＰ端末が許容するパラメタを示すタグが記述されている。ｆｒｏｍタグｈ１、ｔｏタグｈ２、ｖｉａタグｈ３、ｃｓｅｑタグｈ４、ｕｓｅｒ−ａｇｅｎｔタグｈ５、ａｃｃｅｐｔ―ｌａｎｇｕａｇｅタグｈ６、ａｌｅｒｔ−ｉｎｆｏタグｈ７が＜ｈｅａｄｅｒ＞タグ５２内に記述されている。
【００９４】
そのため、端末用メッセージ生成部７は、ｆｒｏｍヘッダ、ｔｏヘッダ、ｖｉａヘッダ、ｃｓｅｑヘッダとそのヘッダフィールドを、転送メッセージ４２から抽出して、それぞれ端末用メッセージ４３へ追加する。また、端末用メッセージ生成部７は、ｕｓｅｒ−ａｇｅｎｔヘッダ、ａｃｃｅｐｔ―ｌａｎｇｕａｇｅヘッダ、ａｌｅｒｔ−ｉｎｆｏヘッダを、オリジナルメッセージから抽出してそれぞれ端末用メッセージ４３へ追加する。
【００９５】
このように、端末用メッセージが生成される時には、ゲートウェイ２が受信した転送メッセージ４２に含まれるパラメタの他に、送信元ＳＩＰ端末が送信した際のオリジナルのメッセージに含まれるパラメタも参照される。例えば、図５（ａ）に示したオリジナルのオリジナルメッセージ３０中のｆｒｏｍヘッダやｔｏヘッダに含まれる、利用者名パラメタｆ１は、ＳＩＰサーバ３へ転送されるときにフィルタリングの対象となって取り除かれている。そのため、ＳＩＰサーバ３からゲートウェイ２へ転送されてきた転送メッセージ４２（図９（ａ）参照）のｆｒｏｍヘッダやｔｏヘッダには、利用者名パラメタｆ１は含まれていない。そこで、例えば、テンプレート４４で、＜ｆｒｏｍ＞タグｈ１中の「ｎｏ＿ｄｉｓｐｌａｙｎａｍｅ＝“ｎ”」の記述により、利用者名パラメタの復元が指定された場合には、端末用メッセージ生成部７は、オリジナルメッセージ３０のｆｒｏｍヘッダやｔｏヘッダから、利用者名パラメタｆ１のみを抽出して復元する。
【００９６】
図９（ａ）の右側の図は、テンプレート４４を基に、転送メッセージ４２およびオリジナルメッセージ３０から生成された端末用メッセージ４３の例を示す図である。以上の処理により生成された端末用メッセージ４３は、ＳＩＰ端末へ転送される。
【００９７】
なお、本実施形態においては、オリジナルメッセージ３０のうち、テンプレート４４で示されるデータを抽出して端末用メッセージを生成する例を説明したが、必ずしもテンプレート４４を使用する必要はない。例えば、端末用メッセージ生成部７は、オリジナルメッセージ３０のうち、転送メッセージ４２に含まれていないデータを抽出して転送メッセージ４２に追加することにより、端末用メッセージを生成してもよい。また、端末用メッセージ生成部７は、オリジナルメッセージ３０をそのまま端末用メッセージにしてもよい。
【００９８】
以上のように、端末用テンプレートの記述により、ＳＩＰ端末へ送られるパラメタが制御される。例えば、ＳＩＰサーバ３にとっては、不必要なパラメタであっても、送信先のＳＩＰ端末で使用されるパラメタを、上記のように端末用テンプレートで定義することによって、ＳＩＰサーバ３には送らずに、送信先のＳＩＰ端末にのみ送信することができる。
【００９９】
また、ＩＰ電話機等のＳＩＰ端末が不正な動作をしないように、問題のあるヘッダ値やパラメタ値をフィルタリングの対象とするような端末用テンプレートを事前に定義しておくこともできる。
【０１００】
また、ＳＩＰの仕様は、新規機能実現のため、常に改版が続けられている。新たに拡張規格が追加された拡張規格に準拠したパラメタ（ヘッダやヘッダフィールド値）が、ＳＩＰ端末で指定された場合、安定性が求められるＳＩＰサーバ３で新たな拡張規格に対応するのは困難であるが、ゲートウェイ２では、比較的容易に対応できる。ゲートウェイ２は、冗長構成をとる等してシステムを一部停止させることで、比較的仕様変更が容易な構造となっているからである。例えば、端末用テンプレートを改変して、新たな拡張パラメタをＳＩＰサーバに転送しないで、ＳＩＰ端末に転送するようにすることができる。
【０１０１】
これにより、ＳＩＰサーバ３でサポートされていないため、整合性検査ができない拡張ヘッダやパラメタを、ＳＩＰサーバ３を通過させずに、ＳＩＰ端末１ａ、１ｂ、１ｃ間の通信で使用することができる。またこのとき、新機能の追加や仕様変更が困難なＳＩＰサーバ３のソフトウエアについて、仕様の変更を伴わず、システムレベルで追加された拡張パラメタに対応可能になる。
【０１０２】
新規に追加された拡張パラメタが、正しい値を取っていても、その使用によりＳＩＰサーバ３のソフトウエアが異常動作する危険性がある場合に、当該拡張パラメタをＳＩＰサーバには通さないで、転送経路上のゲートウェイ間をバイパスすることでＳＩＰ端末間の拡張パラメタを含んだメッセージ交換が可能になる。
【０１０３】
（実施の形態２）
実施の形態２は、実施の形態１におけるゲートウェイ２の変形例である。
【０１０４】
図１２は、本実施形態におけるゲートウェイ２２の構成の一例を示す機能ブロック図である。図１２において、図２に示すゲートウェイ２と同じ部分には、同じ番号を付し、その説明を省略する。図１２に示すゲートウェイ２２が、図２に示すゲートウェイ２と異なる点は、端末情報記録部１５およびＧＷ間通信部１７を備えていない点である。図２に示すゲートウェイ２では、端末通信部１１が、受信したオリジナルメッセージは、端末情報記録部１５に記録されていたが、本実施形態においては、端末通信部１１が、受信したオリジナルメッセージは、サーバ用メッセージ生成部６が生成するサーバ用メッセージに添付されてＳＩＰサーバ３へ送信される。なお、図１２中のゲートウェイ２３の構成は、ゲートウェイ２２と同様である。
【０１０５】
例えば、ＳＩＰ端末１ｃからＳＩＰ端末１ａを送信先として送信されたオリジナルメッセージは、ゲートウェイ２３のサーバ用メッセージ生成部６でサーバ用メッセージに添付されてＳＩＰサーバ３へ送信される。ＳＩＰサーバ３は、受信したサーバ用メッセージを、転送メッセージとして例えば、送信先のＳＩＰ端末１ａに接続されたゲートウェイ２２に転送する。したがって、ゲートウェイ２２のサーバ通信部９が受信する転送メッセージには、オリジナルメッセージが添付されている。端末用メッセージ生成部７は、サーバ通信部９が受信した転送メッセージと、それに添付されているオリジナルメッセージを基に端末用メッセージを生成する。
【０１０６】
図１３は、本実施形態のゲートウェイ２２、２３におけるサーバ用メッセージ生成処理の流れを示すフローチャートである。実施の形態１における図６に示す処理では、サーバ用メッセージ生成部６は、受信したオリジナルメッセージ３０を端末情報記録部１５に記録していたが（図６のＳ３６参照）、図１３に示す処理では、サーバ用メッセージ生成部６は、オリジナルメッセージ３０をサーバ用メッセージに添付する（図１３のＳ３６０）。
【０１０７】
図１４は、オリジナルメッセージ３０が添付されたサーバ用メッセージ４５の例を示す図である。オリジナルメッセージ３０は、図１４に示すサーバ用メッセージ４５のボディ部４７に添付されている。ＳＩＰサーバ３が、サーバ用メッセージ４５を受信した場合、サーバ用メッセージ４５のうち、ＳＩＰサーバ３の処理の対象となるのはヘッダ部４６に記述されたデータだけである。したがって、ボディ部４７に添付されたオリジナルメッセージ３０に不正なデータが含まれていたとしても、ＳＩＰサーバ３の処理に影響をおよぼすことほとんどない。
【０１０８】
なお、オリジナルメッセージ３０をサーバ用メッセージ４５に添付する方法は、上記のボディ部４７に添付する方法に限られない。例えば、ＭＩＭＥ標準におけるデータの外部参照情報（Ｍｅｓｓａｇｅ／Ｅｘｔｅｒｎａｌ  Ｂｏｄｙ）形式で、データの取得方法を記述することにより、間接的に、オリジナルメッセージをサーバ用メッセージに添付することができる。上記Ｍｅｓｓａｇｅ／Ｅｘｔｅｒｎａｌ  Ｂｏｄｙは、ＲＦＣ２０４６  ＭＩＭＥ  Ｐａｒｔ２で定義されているＭＩＭＥ標準の形式であり、ＨＴＴＰやＦＴＰでファイルデータを取得する方法を書くことで、データの本体を添付しないですむようにする形式である。
【０１０９】
図１５は、本実施形態のゲートウェイ２２または２３において、端末用メッセージ生成部７が、端末用メッセージを生成する処理の流れを示すフローチャートである。図１５に示すフローチャートにおいて、図８に示すフローチャートと異なる部分は、Ｓ４６０の処理である。すなわち、図８に示す処理では、端末用メッセージ生成部７は、端末情報記録部１５からオリジナルメッセージを取得していたが、図１５に示す処理では、端末用メッセージ生成部７は、ＳＩＰサーバ３から転送された転送メッセージに添付されたオリジナルメッセージを取得する（Ｓ４６０）。
【０１１０】
本実施形態において、オリジナルメッセージ３０は、図１４に示すように、サーバ用メッセージ４５に添付され、そのまま、ＳＩＰサーバ３からゲートウェイ２へ転送される。そのため、転送されてきたメッセージには、元のオリジナルメッセージ３０が添付されたままとなっている。端末用メッセージ生成部７は、転送メッセージに添付された元のオリジナルメッセージ３０を取得することができる。
【０１１１】
（実施の形態３）
実施の形態３は、ＳＩＰを用いたマルチメディア通信システムに関する。図１６は、本実施形態におけるマルチメディア通信システム１００の構造の概略を示す概念図である。図１６に示す構成においては、ＳＩＰ端末１ｄとしてＩＰ電話機ではなくパーソナルコンピュータが接続されている。
【０１１２】
本実施形態では、ＳＩＰ端末１ｄが、ビデオ通信と音声通信をサポートしているのに対して、着信側のＳＩＰ端末１ａが音声通信のみをサポートしている。すなわち、ＳＩＰ端末１ａは、ビデオ通信に関する通信パラメタを含むＩＮＶＩＴＥリクエストを拒否する仕様になっている。図１７（ａ）の左側の図は、ビデオ通信に関する通信パラメタを含むＩＮＶＩＴＥリクエストメッセージ４８の例を示す図である。ＩＮＶＩＴＥリクエストメッセージ４８には、ボディ部４８ａに、ビデオ用パラメタ２８ａおよび音声パラメタ２８ｂを含んでいる。
【０１１３】
一例として、ビデオ通信をサポートするＳＩＰ端末１ｄが、図１７（ａ）の右側に示すＩＮＶＩＴＥリクエストメッセージ４８を、ＳＩＰ端末１ａにＳＩＰサーバ３を介して送信した場合について説明する。ＩＮＶＩＴＥリクエストメッセージ４８には、ビデオ通信に関するパラメタ＜ビデオ用パラメタ＞２８ａが含まれているが、音声通信のみをサポートしているＳＩＰ端末１ａが、その動作仕様で、音声通信以外のメディア通信に関するパラメタを含むメッセージの着信を拒否するという振る舞いをする場合がある。
【０１１４】
このような場合、本実施例では、仕様の異なるＳＩＰ端末１ａ、１ｄ間で、音声通話による相互接続のみを可能にするため、ゲートウェイ２に記録されたサーバ用テンプレートで、メッセージのボディ部にあるＳＤＰ内のビデオ通信に関するパラメタ群をフィルタリングの対象として除去するテンプレートを定義しておく。この設定により、ゲートウェイ２のサーバ用メッセージ生成部６は、ＳＩＰ端末１ｄから送信されたオリジナルメッセージから、ビデオ通信に関するパラメタ群を除いたデータで、サーバ用メッセージを生成する。これにより、ゲートウェイ２を経由して、相手側端末に届くＩＮＶＩＴＥメッセージには、音声通信に関する通信パラメタのみが届けられるので、音声通話が可能になる。図１７（ａ）の右側の図は、ゲートウェイ２で、図１７（ｂ）に示すサーバ用テンプレート５３に従って、フィルタリングされて、新たに生成されたサーバ用メッセージの例を示す。すなわち、図１７（ｂ）に示すサーバ用テンプレート５３内の＜ｂｏｄｙ＞タグには、「ｓｔｒｉｐ＿ｖｉｄｅｏ＿ｓｄｐ＝“ｙ”」との記述があるので、ＩＮＶＩＴＥリクエストメッセージ４８のボディ部４８ａにある＜ビデオ用パラメタ＞２８ａは、サーバ用メッセージ４９において除去されている。そのため、ＳＩＰサーバ３を経てＳＩＰ端末１ａに受信されるメッセージには、＜ビデオ用パラメタ＞が含まれていないので、ＳＩＰ端末１ａはＳＩＰ端末１ｄとの通信を拒否することはない。  また、図１７（ｂ）に示すサーバ用テンプレート５３がゲートウェイ２で設定されると、いかなるＳＩＰ端末もＳＩＰサーバ３を介してビデオ通信をすることができなくなる。したがって、サーバ用テンプレート５３は、通信帯域を多く消費するビデオ通信を禁止するという運用ポリシーを適用する目的にも利用できる。
【０１１５】
なお、図１７（ｂ）に示すサーバ用テンプレート５３は、端末用テンプレートしても使用することができる。例えば、音声通信のみをサポートするＳＩＰ端末用の端末用テンプレートをゲートウェイ２で設定しておけば、ゲートウェイ２の端末用メッセージ生成部７は、ＳＩＰサーバから音声通信のみをサポートするＳＩＰ端末へ送信される転送メッセージから、ビデオ通信に関する通信パラメタを除いたデータで、端末用メッセージを生成する。その結果、音声通信のみをサポートするＳＩＰ端末に届くメッセージには、ビデオ通信に関する通信パラメタ指定が含まれないようにすることができる。音声通話のみをサポートとするＳＩＰ端末へのメッセージに対してのみ、ビデオ通信用パラメタを除去できる。そのため、音声通信のみをサポートするＳＩＰ端末と、ビデオ通信が可能なＳＩＰ端末とが混在する環境でも、ビデオ通信が可能なＳＩＰ端末間ではビデオと音声のマルチメディア通信を可能にし、一方が音声のみをサポートするＳＩＰ端末の場合には、音声のみでの通信を可能にする。
【０１１６】
以上の例は、サーバ用テンプレート５３に記録されたボディ部への操作を表す情報に基づいて、サーバ用メッセージ生成部６がサーバ用メッセージのボディ部を操作する例と、端末用テンプレートに記録されたボディ部への操作を表す情報に基づいて、端末用メッセージ生成部７が端末用メッセージのボディ部を操作する例について説明した。
【０１１７】
上記以外にも、ボディ部を操作して加工する方法には下記の形態が考えられる。例えば、サーバ用メッセージ生成部６が、オリジナルメッセージからサーバ用メッセージを生成する際に、サーバ用テンプレートの＜ｂｏｄｙ＞タグの指定に応じて、サーバ用メッセージにボディ部を付加するかしないかを制御することができる。ＳＩＰサーバ３では、ヘッダ部の情報があれば呼制御が実行できるため、ボディ部のデータは不要である。例えば、サーバ用テンプレートの＜ｂｏｄｙ＞タグにて、ボディ部は不要である旨が記述されていると、サーバ用メッセージ生成部６が、オリジナルメッセージからサーバ用メッセージを生成する際に、サーバ用メッセージのボディ部にはオリジナルメッセージのボディ部の内容は反映されない。これにより、オリジナルメッセージのボディ部に悪意のあるデータが組み込まれていた場合でも、ＳＩＰサーバ３側には受信されず、悪意あるデータの影響を受けずに済む。
【０１１８】
また、ボディ部のデータの扱いについては、単に添付するあるいは添付しないという制御だけでなく、データの形式（実行プログラムのデータである等）によって、添付するか否かを制御することもできる。
【０１１９】
また、端末用テンプレートに、同様にボディ部の復元方法が記述されることで、悪意あるデータがＳＩＰ端末に向けて送信されてきても、ゲートウェイ２で復元されないため、ＳＩＰ端末の誤動作や破壊などの被害を回避することが可能となる。
【０１２０】
実施の形態１〜３におけるゲートウェイによれば、ＳＩＰ仕様の通信メッセージを使った、ＳＩＰサーバに対するバッファ・オーバーフロー攻撃などを、ＳＩＰサーバに到達する前にゲートウェイで検出し、対処することが可能となる。また、ＳＩＰ仕様に追加される拡張パラメタへの対応を、ＳＩＰサーバのソフトウエアへの変更を伴わずに、ゲートウェイのソフトウエアを変更することで実現することができる。また、ＳＩＰサーバが受信を拒否する拡張パラメタについても、ゲートウェイを介してＳＩＰ端末間での引渡しが可能になる。
【０１２１】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、
ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるＳＩＰフィルタリングゲートウェイ。
（付記２）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続され、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリングゲートウェイであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、送信先ＳＩＰ端末へ端末用メッセージを送信する処理とを行う端末通信部と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、ＳＩＰサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるＳＩＰフィルタリングゲートウェイ。
（付記３）
前記サーバ許容情報記録部は、サーバ許容情報として、ＳＩＰサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、
前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成する、付記１または２に記載のＳＩＰフィルタリングゲートウェイ。
（付記４）
送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成する、付記１または２に記載のＳＩＰフィルタリングゲートウェイ。
（付記５）
前記ＳＩＰサーバに、前記ＳＩＰフィルタリングゲートウェイが複数接続されている状況において、
他のＳＩＰフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のＳＩＰフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成する、付記１に記載のＳＩＰフィルタリングゲートウェイ。
（付記６）
前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備える付記１または２に記載のＳＩＰフィルタリングゲートウェイ。
（付記７）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する工程と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する工程とを備えるＳＩＰフィルタリング方法。
（付記８）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータが、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行うＳＩＰフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記ＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先ＳＩＰ端末へ端末用メッセージを送信する工程と、を備えるＳＩＰフィルタリング方法。
（付記９）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ送信するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継を行う処理を実行させるＳＩＰフィルタリングプログラムであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、
前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、
前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、
ＳＩＰサーバへサーバ用メッセージを送信する処理と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、
前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理と、をコンピュータに実行させるＳＩＰフィルタリングプログラム。
（付記１０）
送信元ＳＩＰ端末から送信されたメッセージを受け取って送信先ＳＩＰ端末へ転送するＳＩＰサーバに接続されたコンピュータに、前記送信元ＳＩＰ端末および前記送信先ＳＩＰ端末と、前記ＳＩＰサーバとの間の通信の中継処理を実行させるＳＩＰフィルタリングプログラムであって、
送信元ＳＩＰ端末から送信されたオリジナルメッセージを受信する処理と、
前記コンピュータの記録部に予め記録されたＳＩＰサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、ＳＩＰサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、
ＳＩＰサーバへ前記サーバ用メッセージを送信する処理と、
ＳＩＰサーバが送信先ＳＩＰ端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、
前記送信先ＳＩＰ端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させるＳＩＰフィルタリングプログラム。
（付記１１）
前記サーバ許容情報記録部は、サーバ許容情報として、ＳＩＰサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを記録し、
前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出し、前記サーバ許容情報が表すボディ部への操作をすることによって前記サーバ用メッセージを生成する、付記１または２に記載のＳＩＰフィルタリングゲートウェイ。
（付記１２）
送信先ＳＩＰ端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを、端末許容情報として記録する端末許容情報記録部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールドの種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出し、前記端末許容情報が表すボディ部への操作をすることによって前記端末用メッセージを生成する、付記１または２に記載のＳＩＰフィルタリングゲートウェイ。
【産業上の利用可能性】
【０１２２】
本発明は、ＩＰ電話システム等のＳＩＰを用いた通信サービスに適用可能なゲートウェイとして利用可能である。
【図面の簡単な説明】
【０１２３】
【図１】ＩＰ電話システム１０の構造の概略を示す概念図である。
【図２】ゲートウェイ２の構成の一例を表す機能ブロック図である。
【図３】ゲートウェイ２が、メッセージを受信してから転送するまでの処理の流れの一例を示すフローチャートである。
【図４】転送先の判定処理の一例を示すフローチャートである。
【図５】（ａ）は、ゲートウェイ２が受信したオリジナルメッセージ３０およびサーバ用メッセージの一例を示す図である。（ｂ）は、サーバ用テンプレートの一例を示す図である。
【図６】サーバ用メッセージ生成部６が、サーバへ送るメッセージを生成する処理（Ｓ３）の流れを示すフローチャートである。
【図７】（ａ）は、オリジナルメッセージの一例を示す図である。（ｂ）は、サーバ用テンプレート記録部１９に記録されているサーバ用テンプレート群の一例を表す図である。（ｃ）は、サーバ用テンプレート群Ａ内のデータの一例を示す図である。
【図８】端末用メッセージ生成部７が、端末へ送るメッセージを生成する処理（Ｓ４）の流れを示すフローチャートである。
【図９】（ａ）は、ゲートウェイ２が受信した転送メッセージおよび端末用メッセージの一例を示す図である。（ｂ）は、端末用テンプレートの一例を示す図である。
【図１０】端末用メッセージ生成部７が、元のメッセージ、すなわち、送信元ＳＩＰ端末から送信されたときのメッセージを取得する処理の流れを示す図である。
【図１１】端末情報記録部１５に記録されている端末情報の例である。
【図１２】ゲートウェイ２２の構成の一例を表す機能ブロック図である。
【図１３】本実施形態のゲートウェイ２におけるサーバ用メッセージ生成処理（Ｓ３）の流れを示すフローチャートである。
【図１４】オリジナルメッセージ３０が添付されたサーバ用メッセージの例を示す図である。
【図１５】本実施形態のゲートウェイ２２における端末用メッセージ生成処理の流れを示すフローチャートである。
【図１６】マルチメディア通信システム１００の構造の概略を示す概念図である。
【図１７】本実施形態におけるマルチメディア通信システム１００の構造の概略を示す概念図である。
【図１８】ＳＩＰを使ったＩＰ電話サービスを提供するＳＩＰシステムの構成の概略を示す図である。
【符号の説明】
【０１２４】
１ａ、１ｂ  ＳＩＰ端末
２、２１、２２    ＳＩＰフィルタリングゲートウェイ
３      ＳＩＰサーバ
５      インターネット
６      サーバ用メッセージ生成部
７      端末用メッセージ生成部
８      判定部
９      サーバ通信部
１０    ＩＰ電話システム
１１    端末通信部
１３    端末用テンプレート記録部（端末許容情報記録部）
１５    端末情報記録部
１７    ＧＷ間通信部
１９    サーバ用テンプレート記録部（サーバ許容情報記録部）
３０    メッセージ
３１    リクエスト行
３２、４６    ヘッダ部
３３、４７    ボディ部
４１、４５    サーバ用メッセージ
５１、５２    ＜ｈｅａｄｅｒ＞タグ
６０    端末情報
６１    端末への宛先ＳＩＰアドレス
６２    端末種別
６３    最終アクセス時刻
６４    保存リクエストのリスト
６５ａ、６５ｂ、６５ｃ  ＳＩＰメッセージ管理情報
６５１ａ  到着時刻
６５２ａ  参照カウント
６５３ａ  ＳＩＰメッセージデータ
９１ａ、９１ｂ  ＳＩＰ端末
９３    ＳＩＰサーバ
１００  マルチメディア通信システム
【図１】
0004579119.tif 000002
【図２】
0004579119.tif 000003
【図３】
0004579119.tif 000004
【図４】
0004579119.tif 000005
【図５】
0004579119.tif 000006
【図６】
0004579119.tif 000007
【図７】
0004579119.tif 000008
【図８】
0004579119.tif 000009
【図９】
0004579119.tif 000010
【図１０】
0004579119.tif 000011
【図１１】
0004579119.tif 000012
【図１２】
0004579119.tif 000013
【図１３】
0004579119.tif 000014
【図１４】
0004579119.tif 000015
【図１５】
0004579119.tif 000016
【図１６】
0004579119.tif 000017
【図１７】
0004579119.tif 000018
【図１８】
0004579119.tif 000019