JP4579119B2 - Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム - Google Patents

Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム Download PDF

Info

Publication number
JP4579119B2
JP4579119B2 JP2005287251A JP2005287251A JP4579119B2 JP 4579119 B2 JP4579119 B2 JP 4579119B2 JP 2005287251 A JP2005287251 A JP 2005287251A JP 2005287251 A JP2005287251 A JP 2005287251A JP 4579119 B2 JP4579119 B2 JP 4579119B2
Authority
JP
Japan
Prior art keywords
message
server
sip
terminal
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005287251A
Other languages
English (en)
Other versions
JP2007103990A (ja
Inventor
真吾 藤本
明則 岩川
雅彦 村上
敬史 大野
潤 角田
政秀 野田
仁 山内
健一 堀尾
幹篤 角岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005287251A priority Critical patent/JP4579119B2/ja
Publication of JP2007103990A publication Critical patent/JP2007103990A/ja
Application granted granted Critical
Publication of JP4579119B2 publication Critical patent/JP4579119B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、インターネット電話(IP電話)サービスを提供するSIPサーバに接続されたSIPフィルタリングゲートウェイ、SIPフィルタリング方法およびSIPフィルタリングプログラムに関する。
インターネット電話サービス(以下、IP電話サービスという)は、一般家庭にも普及した常時接続のインターネット回線を使った電話サービスである。IP電話サービスは、データ系通信との通信設備の共用や、パケット交換通信による通信効率の向上により、固定電話と比べて安価でありながら、同等の通信サービスを提供できる、そのため、今後、IP電話サービスの利用は、爆発的に増加するとみられている。
IP電話システムの主流は、SIP(Session Initiation Protocol)を使ったものになりつつある。SIPは、単数または複数の相手とのセッションを生成、変更、切断するためのアプリケーション層制御(シグナリング)プロトコルである。図18は、SIPを使ったIP電話サービスを提供するSIPシステムの構成の概略を示す図である。従来のSIPシステムは、例えば、IP電話機等のSIP端末91a、91bと、SIP端末間の呼制御を行うSIPサーバ93で構成される。
例えば、SIP端末91aが、SIP端末91bと通信を行うためには、SIP端末91aからSIPサーバ93にメッセージ95を送信する。SIPサーバ93は、SIP端末91aからのメッセージ95を、SIP端末91bへ転送する。SIP端末91bは、SIP端末91aからのメッセージ95に対して応答メッセージをSIPサーバ93に送信する。SIPサーバ93は、応答メッセージをSIP端末91aへ転送する。このように、SIP端末91aは、SIPサーバ93と通信することで、通信相手であるSIP端末91bを見つけ、通信パラメタの折衝を行うなどSIP端末91bとのセッションを生成することができる。SIP端末91aとSIP端末91b間でセッションが生成されると、音声通話などのメディア通信が開始される。
SIPベースのIP電話システムにおいては、呼制御を行うSIPサーバ93が中心的機能を担っている。そのため、SIPサーバ93が停止すると、IP電話サービスが継続できなくなり、致命的となる。そこで、SIPサーバ93への攻撃に対処する必要がある。
SIPサーバを故意に停止させるために仕掛けられる典型的な攻撃として、不正なデータを送信する、いわゆるバッファ・オーバーフロー(Buffer Overflow)攻撃がある。これは、サーバソフトウエアの瑕疵(バグ)を狙って、不正に大きなデータを送付したり、送付されたデータの整合性を検査するソフトウエアをだまして異常動作させたりするものである。この攻撃により、サーバが暴走したり、あるいは最悪の場合システムがのっとられたりする場合もある。バッファ・オーバーフロー攻撃への対策としては、SIPメッセージを厳密に検査し、不正なデータやパラメタを処理しないようにする方法が開示されている(例えば、特許文献1参照)。
特開2003−324485号公報
しかしながら、以下に挙げるような理由でこのような手法が実現できない場合がある。SIPは、クライアント=サーバ間のみでの古典的な通信(CS通信と呼ばれる)だけでなく、SIPサーバを挟んだクライアント=サーバ=クライアントという経路をたどる通信を含んでいることにある。図18に示す例では、SIP端末91aが送信したメッセージは、SIPサーバ93によって、SIP端末91bに転送される。
クライアント=サーバ間のみの通信であれば、クライアントから送られてきたメッセージ中で、サーバがサポートできないパラメタを含んでいる場合は、メッセージを受け付けないか、または、パラメタを破棄することでサーバの安全を図れる。しかし、サーバがサポートできないが、送信先のクライアントで使用されるパラメタが含まれる場合がある。
特に、SIPは、拡張性に優れたプロトコルであるため、新機能実現のため、拡張規格が新たに追加されることが少なくない。そのため、例えば、拡張規格に準拠したパラメタが送信先SIP端末ではサポートされているが、SIPサーバではサポートされていない場合に、送信元SIP端末からSIPサーバへ送られたメッセージの拡張パラメタが破棄されてしまうと、送信先SIP端末で、拡張パラメタの指定により実現される機能が使えないという不便が生じてしまう。
そこで、本発明の目的は、SIPサーバが、送信元SIP端末から送られてきたメッセージ中のサポートしていないデータを処理しないことで、攻撃に対するセキュリティを強化しつつも、送信先のSIP端末に、必要なデータを含むメッセージを転送することを可能にするSIPフィルタリングゲートウェイ、SIPフィルタリング方法およびSIPフィルタリングプログラムを提供することを目的とする。
本発明にかかるSIPフィルタリングゲートウェイは、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
本発明によれば、SIPサーバが、送信元SIP端末から送られてきたメッセージ中のサポートしていないデータを処理しないことで、攻撃に対するセキュリティを強化しつつも、送信先のSIP端末に、必要なデータを含むメッセージを転送することを可能にするSIPフィルタリングゲートウェイ、SIPフィルタリング方法およびSIPフィルタリングプログラムを提供することを提供することができる。
本発明にかかるSIPフィルタリングゲートウェイは、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
前記端末通信部が前記SIP端末から受信したオリジナルメッセージは、前記サーバ用メッセージ生成部によって生成された前記サーバ用メッセージとして、前記サーバ通信部により前記SIPサーバへ送信される。前記サーバ用メッセージ生成部は、前記SIPサーバが許容するデータで前記サーバ用メッセージを生成するので、前記SIPサーバが許容しないデータは、前記SIPサーバに送信されない。そのため、前記SIPサーバは、送信元SIP端末から送信されたメッセージ中で、前記SIPサーバの機能ではサポートしていないデータを処理しなくてすむ。すなわち、前記SIPサーバは、安全でないデータを処理しなくてすむ。その結果、前記SIPサーバに対する攻撃を防ぎ、セキュリティを強化することができる。
また、前記サーバ通信部が前記SIPサーバから受信した転送メッセージは、前記端末用メッセージ生成部によって生成された前記端末用メッセージとして前記送信先SIP端末へ送信される。前記端末用メッセージ生成部は、前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて、前記端末用メッセージを生成するので、前記端末用メッセージには、前記オリジナルメッセージに含まれるデータのうち、前記SIPサーバでは許容されないが、前記送信先端末では必要となるデータも含まれうる。その結果、前記SIPサーバでは、許容されないが、前記送信先SIP端末では使用される可能性があるデータを、前記SIPサーバを介することなく前記送信先SIP端末へ転送することができる。したがって、前記SIPフィルタリングゲートウェイによれば、攻撃に対するセキュリティを強化しつつも、送信先のSIP端末に、必要なデータを含むメッセージを転送することが可能になる。
本発明にかかるSIPフィルタリングゲートウェイは、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備える。
前記サーバ用メッセージ生成部は、前記SIPサーバが許容するデータに、前記オリジナルメッセージを添付した前記サーバ用メッセージを生成するので、前記サーバ通信部から前記SIPサーバへ送信されるサーバ用メッセージは、サーバが許容するデータと、前記オリジナルメッセージとに分かれた構造となる。そのため、前記SIPサーバは、添付された前記オリジナルメッセージについては処理を行わずに、許容するデータについてのみ処理を行うことができる。その結果、前記SIPサーバの機能ではサポートしていないデータを処理しなくてすむ。
前記SIPサーバは、受信したサーバ用メッセージを送信先端末へ向けて転送メッセージとして転送するので、前記サーバ通信部が受信する転送メッセージには、前記オリジナルデータが添付されていることになる。前記端末用メッセージ生成部は、転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、前記端末用メッセージを生成する。そのため、前記端末用メッセージに、前記SIPサーバでは許容されないために処理されないデータであって、前記送信先SIP端末で必要となるデータも含まれうる。その結果、前記SIPサーバでは、許容されないが、前記送信先SIP端末では使用される可能性があるデータが、前記SIPサーバで処理されることなく前記送信先SIP端末へ転送されうる。
本発明にかかるSIPフィルタリングゲートウェイにおいて、前記サーバ許容情報記録部は、サーバ許容情報として、SIPサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成することが好ましい。
前記サーバ用メッセージ生成部は、前記サーバ許容情報に基づいて、SIPサーバが許容するヘッダフィールドを抽出するので、SIPサーバがサポートしているヘッダフィールド種類のヘッダフィールドであって、ヘッダフィールド値がSIPサーバの許容範囲内であるヘッダフィールドが抽出される。つまり、前記サーバ用メッセージ生成部は、不必要なヘッダフィールドは除外して安全なヘッダフィールド値を持つヘッダフィールドで再構成したSIPメッセージを転送する。
これにより、例えば、SIPサーバでサポートされている種類のヘッダフィールドにおける許容範囲外のヘッダフィールド値によって、前記SIPサーバが不具合を起こす瑕疵があっても、その許容範囲外のヘッダフィールド値を持つヘッダフィールドは前記SIPサーバで処理されないため、前記SIPサーバの安全を図ることができる。
また、前記SIPサーバで許容されるヘッダフィールドの種類は、前記サーバ許容情報によって決められるので、例えば、新しい規格による拡張パラメタが新たにサポートされることになった場合であっても、前記サーバ許容情報を修正することで対応することができる。すなわち、新機能の追加や仕様変更が困難なSIPサーバのソフトウエアについて、仕様変更を行わず、追加された拡張パラメタに対応することができる。
本発明にかかるSIPフィルタリングゲートウェイは、送信先SIP端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報記録部に記録された前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成することが好ましい。
前記端末用メッセージ生成部は、端末許容情報記録部の前記情報に基づいて、前記送信先SIP端末が許容するヘッダフィールドを抽出するので、送信先SIP端末がサポートしている種類のヘッダフィールドであって、ヘッダフィールド値が送信先SIP端末の許容範囲内であるデータが抽出される。
送信先SIP端末で許容されるヘッダフィールドの種類は、前記端末許容情報によって決められるので、例えば、新しい規格による拡張パラメタが、送信先SIP端末で新たにサポートされることになった場合であっても、前記端末許容情報を修正することで対応することができる。
本発明にかかるSIPフィルタリングゲートウェイは、前記SIPサーバに、前記SIPフィルタリングゲートウェイが複数接続されている状況において、他のSIPフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のSIPフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成することが好ましい。
SIPサーバに接続された複数のSIPフィルタリングゲートウェイそれぞれが、前記ゲートウェイ間通信部を備えることにより、異なるSIPフィルタリングゲートウェイで記録されたオリジナルメッセージを取得することができる。そのため、例えば、送信元端末からオリジナルメッセージを受信したSIPフィルタリングゲートウェイと、そのオリジナルメッセージに対応する転送メッセージを受信したSIPフィルタリングゲートウェイとが異なる場合であっても、前記端末用メッセージ生成部は、転送メッセージと、それに対応するオリジナルメッセージとに基づいて端末用メッセージを生成することができる。
本発明にかかるSIPフィルタリングゲートウェイは、前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備えることが好ましい。
前記判定部により、不正なデータが前記SIPサーバへ送信されることを防ぐことができる。その結果、前記SIPサーバが不正なデータを処理しなくてすむようになり、前記SIPサーバの安全性が確保される。なお、不正なデータが含まれるメッセージは、例えば、SIP仕様Ver.2.0に準拠していないメッセージ等である。
本発明にかかるSIPフィルタリング方法は、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、 前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する工程と、前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、前記コンピュータが備える端末通信部が、前記送信先SIP端末へ前記端末用メッセージを送信する工程とを備えることが好ましい。
本発明にかかるSIPフィルタリング方法は、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、前記コンピュータが備える端末通信部が、前記送信先SIP端末へ端末用メッセージを送信する工程とを備える。
本発明にかかるSIPフィルタリングプログラムは、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行う処理を実行させるSIPフィルタリングプログラムであって、送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、SIPサーバへサーバ用メッセージを送信する処理と、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、前記送信先SIP端末へ前記端末用メッセージを送信する処理とをコンピュータに実行させる。
本発明にかかるSIPフィルタリングプログラムは、送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ転送するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継処理を実行させるSIPフィルタリングプログラムであって、送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、SIPサーバへ前記サーバ用メッセージを送信する処理と、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、前記送信先SIP端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させる。
本発明にかかるSIPフィルタリングゲートウェイにおいて、前記サーバ許容情報記録部は、サーバ許容情報として、SIPサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを記録し、前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出し、前記サーバ許容情報が表すボディ部への操作をすることによって前記サーバ用メッセージを生成することが好ましい。
本発明にかかるSIPフィルタリングゲートウェイにおいて、送信先SIP端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを、端末許容情報として記録する端末許容情報記録部をさらに備え、前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールドの種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出し、前記端末許容情報が表すボディ部への操作をすることによって前記端末用メッセージを生成することが好ましい。
以下、図面を参照して、本発明の実施の一形態を詳細に説明する。
(実施の形態1)
実施の形態1は、SIPフィルタリングゲートウェイを備えるIP電話システムに関する。図1は、本実施形態におけるIP電話システム10の構造の概略を示す概念図である。図1に示すように、IP電話システム10は、SIPサーバ3と、SIPサーバ3に接続されたSIPフィルタリングゲートウェイ2と、SIPフィルタリングゲートウェイ2にインターネット5を介して接続されたSIP端末1a、1bで構成される。
SIP端末1a、1bは、例えば、IP電話機やIP電話機能を備えた端末装置等である。SIPフィルタリングゲートウェイ2(以下、単にゲートウェイ2と称する)は、例えば、サーバ等で構成されるシステムである。ゲートウェイ2を構成するサーバは、例えば、プロキシサーバと呼ばれることもある。なお、図1においては、説明を簡単にするために、SIP端末は2台しか示していないが、実際は、多くのSIP端末がゲートウェイ2に接続される。
IP電話システム10において、例えば、SIP端末1aが、SIP端末1bに電話を掛ける場合、SIP端末1aは、SIPサーバ3に向けてオリジナルメッセージ7aを送信する。オリジナルメッセージ7aには、例えば、送信先のSIP端末1bを特定するための情報が含まれている。オリジナルメッセージ7aは、SIPサーバ3に到達する前にゲートウェイ2に受信される。ゲートウェイ2は、受信したオリジナルメッセージ7aから、SIPサーバ3がサポートするデータのみを抽出してサーバ用メッセージ7bを生成し、サーバ用メッセージ7bをSIPサーバ3に転送する。サーバ用メッセージ7bを受信したSIPサーバ3は、サーバ用メッセージ7bに記述されている送信先SIP端末1bへ向けて転送メッセージ7b2を転送する。転送メッセージ7b2の内容は、サーバ用メッセージ7bと同じでよい。転送メッセージ7b2は、SIP端末1bへ到達する前にゲートウェイ2に受信される。ゲートウェイ2は、もとのオリジナルメッセージ7aに含まれていた情報で、サーバ用メッセージ7bおよび転送メッセージ7b2には含まれていない情報を、転送メッセージ7b2に追加して端末用メッセージ7cを生成し、端末用メッセージ7cをSIP端末1bに送信する。
このように、ゲートウェイ2が、SIPサーバ3とSIP端末1a、1bとの間の通信を中継することによって、SIPサーバ3には、SIPサーバ3がサポートする安全なデータだけが送られる。さらに、SIPサーバ3ではサポートしていないが、SIP端末1a、1bではサポートされているデータを、SIP端末1a,1b間で通信することができる。
IP電話システム10では、システムの利用者が操作するSIP端末1a、1bは、常時接続のネットワーク回線に接続されている。通常、SIPサーバ3は、IP電話サービスの提供者によって提供される。SIPサーバ3を介するSIP呼制御通信により、送信元のSIP端末1aが、指定した着信側SIP端末1bと呼を確立すると、SIP端末1aとSIP端末1bは、VoIPによる音声通話ができるようになる。
図2は、ゲートウェイ2の構成の一例を表す機能ブロック図である。ゲートウェイ2は、サーバ用メッセージ生成部6、端末用メッセージ生成部7、判定部8、サーバ通信部9、端末通信部11、GW間通信部17、端末情報記録部15、端末用テンプレート記録部13およびサーバ用テンプレート記録部19を備える。
ゲートウェイ2は、SIPサーバ3およびSIP端末1aにネットワークを介して接続されている。SIPサーバ3は、SIP端末の位置情報を記録するSIP端末位置情報記録部3aを備える。また、SIPサーバ3は、他のゲートウェイ21ともネットワークを介して接続されている。
端末通信部11は、SIP端末1a、1bとのデータ通信を行う。判定部8は、端末通信部11がSIP端末1a、1bから受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、そのオリジナルメッセージをサーバ用メッセージ生成部6に渡す。また、端末通信部11は、SIP端末1a、1bから受信したオリジナルメッセージに含まれるデータを端末情報記録部15に記録する。端末情報記録部15は、オリジナルメッセージを記録するメッセージ記録部の一例である。
サーバ用メッセージ生成部6は、判定部8から渡されたメッセージから、SIPサーバ3が許容するデータを抽出して、新たにサーバ用メッセージを生成し、サーバ通信部9に渡す。サーバ通信部9は、サーバ用メッセージ生成部6が生成したサーバ用メッセージをSIPサーバ3へ送信する。
サーバ用メッセージ生成部6は、サーバ用テンプレート記録部19に記録されている情報を用いて、判定部8から渡されたオリジナルメッセージに含まれるデータのうち、SIPサーバ3が許容するデータを抽出する。サーバ用テンプレート記録部19は、SIPサーバが許容するサーバ用メッセージに含まれるデータに関するサーバ許容情報を記録するサーバ許容情報記録部の一例である。
サーバ通信部9からのサーバ用メッセージを受信したSIPサーバ3は、サーバ用メッセージに記述されている、送信先のSIP端末を特定する情報に基づいて、SIP端末位置情報記録部3aから送信先SIP端末の位置を表す情報を取得する。SIPサーバ3は、取得した位置情報が表す位置に対応するゲートウェイに転送メッセージを転送する。ここで、転送メッセージの内容は、SIPサーバ3が受信したサーバ用メッセージと同じでよい。ここでは、一例として、SIPサーバ3は、ゲートウェイ2に転送メッセージを転送した場合について説明する。
サーバ通信部9は、SIPサーバ3から転送メッセージを受信し、端末用メッセージ生成部7へ渡す。端末用メッセージ生成部7は、ゲートウェイ2がその転送メッセージのオリジナルメッセージに含まれていたデータおよびその転送メッセージのデータを使って、端末用メッセージを生成する。すなわち、端末用メッセージ生成部7は、転送メッセージにオリジナルメッセージのデータを補完することになる。オリジナルメッセージのデータは、例えば、端末情報記録部15に記録されているので、そのデータから転送メッセージに欠けている部分が抽出され、SIPサーバ3から受信した転送メッセージに追加される。
端末用メッセージ生成部7は、端末用テンプレート記録部13の情報を用いて、SIPサーバ3から受信した転送メッセージに追加するデータの内容を決定する。端末用テンプレート記録部13は、送信先SIP端末が受信する端末用メッセージに含むことができるデータに関する情報が記録された端末許容情報記録部の一例である。
なお、SIPサーバ3から受信した転送メッセージのオリジナルメッセージを最初に受信したのが、ゲートウェイ2ではなく、例えば、他のゲートウェイ21である場合もあり得る。その場合、転送メッセージに対応するオリジナルメッセージは、ゲートウェイ2の端末情報記録部15ではなく、他のゲートウェイ21の端末情報記録部15に記録されている。その場合、GW間通信部17が、当該他のゲートウェイ21の端末情報記録部から、送信元のSIP端末から受信した当初のオリジナルメッセージを取得する。
ゲートウェイ2、21は、例えば、サーバ等のコンピュータ上に構築することができる。サーバ用メッセージ生成部6、端末用メッセージ生成部7、判定部8、サーバ通信部9、端末通信部11、GW間通信部17の機能は、コンピュータのCPUが所定のプログラムを実行することによって実現される。端末情報記録部15、端末用テンプレート記録部13およびサーバ用テンプレート記録部19には、コンピュータに内蔵されているハードディスク、RAM等の記憶媒体の他、フレキシブルディスク、メモリカード等の可搬型記憶媒体や、ネットワーク上にある記憶装置内の記憶媒体等を用いることができる。
なお、図1および図2に示すIP電話システム10の構成は、一例に過ぎず、これらに限定されない。例えば、ゲートウェイ2は、1台のサーバで構成することもできるし、複数のサーバで機能を分散させて構成することもできる。また、ゲートウェイ2、21をそれぞれSIPサーバ3とは異なるコンピュータ上に構成することは、リスクを分散させる点で有利であるが、SIPサーバ3と同じコンピュータ上にゲートウェイ2を構築してもよい。
次に、ゲートウェイ2の動作について説明する。図3は、ゲートウェイ2が、メッセージを受信してから転送するまでの処理の流れの一例を示すフローチャートである。
サーバ通信部9または端末通信部11が、メッセージを受信する。端末通信部11がメッセージを受信すると、判定部8が、メッセージを解釈する(S1)。判定部8は、IP電話機等のSIP端末1a、1bから送信される、全てのメッセージについて、SIPプロトコル仕様Ver.2.0に準拠したメッセージであるか検査する。判定部8は、異常があればSIPサーバ3へ当該メッセージを転送することなく、エラー応答が必要か否かを判断する(S7)。例えば、メッセージがリクエストメッセージであれば、エラー応答が必要と判断される。エラー応答が必要な場合は、判定部8は、送信元のSIP端末1aへエラー応答を返す(S8)。なお、エラー応答ができない場合や、応答が適切でないと判断される場合には、当該メッセージは破棄されてもよい。
メッセージ検査の例としては、SIP仕様にしたがった文法チェック、メッセージに含まれるfromヘッダまたはtoヘッダに指定するユーザIDの種類(番号のみなど)や長さの検査、fromヘッダまたはtoヘッダに指定する表示名フィールドの文字種や長さの検査、通信パラメタを指定するSDPデータの内容検査などが挙げられる。
次に、ゲートウェイ2は、受信したメッセージの転送先を判定する(S2)。転送先がSIPサーバ3の場合は、サーバ用メッセージ生成部6が、受信したメッセージに基づいて、SIPサーバ3へ送るサーバ用メッセージを生成する(S3)。転送先がSIPサーバ3でない場合、すなわち、転送先が端末である場合は、端末用メッセージ生成部7が、受信したメッセージを基に、SIP端末1aまたは1bへ送る端末用メッセージを生成する(S4)。これらの処理(S3、S4)の詳細については後述する。
次に、ゲートウェイ2は、SIPプロキシサーバの標準処理を行う(S5)。SIPプロキシサーバの標準処理として、例えば、リクエストメッセージに対してViaヘッダの先頭に自ホストを通過したことを記録する、SIPアドレスを追加するなどが挙げられる。
最後に、サーバ通信部9または端末通信部11が、S2で判定した転送先に、S3またはS4で生成されたメッセージを転送する(S6)。
(転送先を判定する処理(S2))
図4は、転送先の判定処理の一例を示すフローチャートである。図4に示すように、ゲートウェイ2は、受信したメッセージがリクエストメッセージか否かを判断する(S21)。
ここで、図5を参照して、リクエストメッセージの例を説明する。図5(a)の左側の図は、リクエストメッセージであるオリジナルメッセージ30の例を示す図である。オリジナルメッセージ30では、先頭行がリクエスト行31であり、以下の行がヘッダ部32およびボディ部33に分かれている。リクエスト行には、例えば、INVITE、ACK等のメソッド(命令)が記述される。このように、先頭行にメソッドが記述されているメッセージは、リクエストメッセージであると判断される。
ヘッダ部32には、メッセージに関する情報が、いつくかヘッダフィールドに分けて記述される。各ヘッダフィールドは、ヘッダ名+コロン(:)+ヘッダフィールド値の形式で記述される。図5(a)に示す例では、例えば、メッセージの送信者を表すfromヘッダ、リクエストの論理的な受信者を表すtoヘッダ、リクエストまたは応答のルートパスを表すviaヘッダ等が記述されている。
ゲートウェイ2は、メッセージがリクエストである場合(図4のS21でYes)、toヘッダのアドレスは自アドレスか否かを判断する(S22)。自アドレスか否かは、例えば、toヘッダのアドレスがゲートウェイ2のアドレスか否かにより判断される。toヘッダのアドレスが自アドレスでなければ、ゲートウェイ2は、転送先をtoヘッダのアドレスとする(S24)。この場合、転送先は、サーバとなる。toヘッダのアドレスが自アドレスである場合(S22でYes)、送信元(fromヘッダのアドレス)が端末か否かが判断される(S23)。送信元が、端末のアドレスであれば、転送先はサーバ(S24)、送信元が端末でなければ、転送先は、toヘッダに記述された端末となる(S25)。
メッセージがリクエストでなく応答メッセージである場合(S21でNo)、ゲートウェイ2は、Viaヘッダは2以上あるか否かを判断する(S26)。Viaヘッダが2より少ない場合(S26でNo)は、転送先はfromヘッダに記載された端末となる(S30)。Viaヘッダが2以上の場合(S26でYes)は、ゲートウェイ2は、Viaヘッダを1行削除する。1行削除した後に、先頭となったViaヘッダのアドレスが端末のアドレスを示す場合(S28でYes)、転送先はfrom行に記載された端末となる(S30)。先頭のViaヘッダのアドレスが端末のアドレスでない場合(S28でNo)、転送先は、先頭のViaヘッダで示されるアドレスのサーバとなる(S29)。
(サーバ用メッセージを生成する処理)
ここで、サーバ用メッセージ生成部6が、ゲートウェイ2が受信したオリジナルメッセージに基づいて、サーバへ送るサーバ用メッセージを生成する処理(S3)の一例について説明する。図6は、サーバ用メッセージ生成部6が、サーバ用メッセージを生成する処理(S3)の流れを示すフローチャートである。
サーバ用メッセージ生成部6は、ゲートウェイ2が受信したオリジナルメッセージに基づいて、メッセージを転送するサーバの種別を判定する(S31)。サーバ用メッセージ生成部6は、例えば、サーバのアドレス情報によって、サーバの種別を判定する。サーバ用テンプレート記録部19には、例えば、サーバ種別ごとにサーバ用テンプレート群が記録されている。
サーバ用メッセージ生成部6は、サーバ用テンプレート記録部19から、メッセージを転送するサーバのサーバ種別に対応するサーバ用テンプレート群を取得する(S32)。ここで、図7を参照して、サーバ用メッセージ生成部6がサーバ用テンプレート記録部19から、オリジナルメッセージに対応するサーバ用テンプレートを取得する処理について説明する。
図7(a)は、オリジナルメッセージの一例を示す図である。図7(a)に示すオリジナルメッセージでは、説明を簡単にするため、リクエスト行とtoヘッダの記述のみ表示し、他の記述は省略している。
図7(b)は、サーバ用テンプレート記録部19に記録されているサーバ用テンプレート群の一例を表す図である。図7(b)に示す例では、例えば、サーバ種別ごとにサーバ用テンプレート群A〜Cが記録されている。例えば、サーバ用テンプレート群Aは、アドレス情報がそれぞれ「@domainA」であるサーバに対応したテンプレートである。サーバ用テンプレート群Bは、「@domainB」であるサーバに対応したテンプレートである。サーバ用テンプレート群Cは、デフォルトのテンプレートである。
図7(c)は、サーバ用テンプレート群A内のデータの一部の例を示す図である。図7(c)に示す例では、リクエストメッセージについてメソッドごとに記録されたテンプレートと、レスポンスメッセージについてメソッドごとに記録されたテンプレートとが含まれている。
図7(c)中のテンプレートAR1は、INVITEメソッドのリクエストメッセージに対応するテンプレートである。テンプレートAR1の<request method=“invite”>タグ内で、一例として、サーバが許容するヘッダフィールドの種類およびヘッダフィールド値の範囲が<heheader>タグにより記述されている。
テンプレートAR6は、INVITEメソッドのレスポンスメッセージに対応するテンプレートである。なお、図7(c)においては上記テンプレートAR1、AR6以外のタグは省略されている。
ゲートウェイ2が受信したオリジナルメッセージが図7(a)に示すオリジナルメッセージである場合の例について説明する。この場合、オリジナルメッセージが示す転送先サーバのアドレス情報は、「@domainA」なので、サーバ用メッセージ生成部6は、「@domainA」に対応するサーバ用テンプレート群Aを抽出する。なお、対応するテンプレート群が存在しない場合は、デフォルトのテンプレート群が抽出される。
次に、サーバ用メッセージ生成部6は、ゲートウェイ2が受信したオリジナルメッセージのメソッドを判定する(S33)。
サーバ用メッセージ生成部6は、オリジナルメッセージのメソッドがINVITEなので、例えば、図7(b)に示すサーバ用テンプレート群Aのうち、メソッドがINVITEであるテンプレートAR1を選択する。このように、サーバ用メッセージ生成部6は、転送先のサーバの種別に対応するテンプレート群の中から、受信したオリジナルメッセージのメソッドに対応するテンプレートを1つ選択する。オリジナルメッセージに対応するテンプレートが存在しない場合は、エラー処理(図3のS7)が行われる。
サーバ用メッセージ生成部6は、テンプレートAR1を取得すると、オリジナルメッセージの保存が必要か否かを判断する(図6のS35)。サーバ用メッセージ生成部6は、オリジナルメッセージが、例えば、メソッドが、INVITE、ACK等のように、SIPサーバを経由してSIP端末間で交換されるメッセージである場合には、オリジナルメッセージを端末情報記録部15へ保存する。
これにより、サーバ用メッセージ生成部6がオリジナルメッセージを基に生成し、SIPサーバ3へ転送したサーバ用メッセージが、SIPサーバ3から転送メッセージとして再びゲートウェイ2へ戻ってきた場合に、保存しておいた元のオリジナルメッセージを使って、戻ってきた転送メッセージを補完することができる。また、オリジナルメッセージを元に生成されたサーバ用メッセージが、SIPサーバ3を経由して他のゲートウェイ21へ転送メッセージとして転送された場合にも、保存された元のオリジナルメッセージを他のゲートウェイ21に送信することで、ゲートウェイ21に転送された転送メッセージを補完することができる。
このメッセージの保存期間は、SIPプロトコル仕様で定められたタイムアウト既定を基に決定することができる。保存期間が過ぎたメッセージは、順次削除されることが好ましい。保存メッセージは、端末情報記録部15のクライアント情報の一部として管理されているが、クライアント情報も一定期間(例えば、REGISTERメソッドの有効期限)内にアクセスがなかったときに、保存メッセージと共に削除されるようになっている。
次に、サーバ用メッセージ生成部6は、ゲートウェイ2が受信したオリジナルメッセージから、テンプレートAR1が示すパラメタを抽出して、SIPサーバ3に転送するためのサーバ用メッセージを生成する。
ここで、ゲートウェイ2が受信したオリジナルメッセージが、図5(a)の左側の図に示すオリジナルメッセージ30である場合の例を説明する。この場合、テンプレートAR1が指定するエントリ毎に、オリジナルメッセージ30からのパラメタの抽出(S37)し、抽出したパラメタをサーバ用メッセージへの設定する処理(S38)が繰り返される。
図5(b)は、テンプレートAR1の一例を示す図である。図5(b)に示す例では、テンプレートAR1には、<header>タグ51が含まれている。<header>タグ51内には、SIPサーバ3が許容するパラメタを示すタグが記述されている。例えば、<header>タグ51内に記述された、fromタグh1、toタグh2、viaタグh3およびcseqタグh4は、それぞれ、fromヘッダ、toヘッダ、viaヘッダ、cseqヘッダは、SIPサーバ3で許容されるパラメタであることを意味している。すなわち、SIPサーバ3は、INVITEリクエストのパラメタとして、fromヘッダ、toヘッダ、viaヘッダ、cseqヘッダをサポートしていることがテンプレートAR1により示される。
サーバ用メッセージ生成部6は、テンプレートAR1の<header>タグ51内によって示されるfromヘッダ、toヘッダ、viaヘッダおよびcseqヘッダそれぞれのヘッダ名およびヘッダフィールド値を、オリジナルメッセージ30から抽出して、サーバ用メッセージへ追加する。オリジナルメッセージ30に指定されているが、テンプレートAR1に含まれないヘッダは無視される。また、逆に、テンプレートAR1には指定されているが、オリジナルメッセージにないヘッダも無視される。つまり、サーバ用メッセージは、テンプレートAR1を基に、オリジナルメッセージ30の少なくとも一部のパラメタ値をコピーしたデータで構成することができる。
図5(a)の右側の図は、テンプレートAR1を基に、オリジナルメッセージ30から生成されたサーバ用メッセージ41の例を示す図である。
なお、テンプレートによるヘッダの指定として、ヘッダフィールドの一部のデータを抽出するように指定することも可能である。例えば、SIP端末1a、1bが、fromヘッダ、toヘッダに例えば、UNICODEによる漢字表記の利用者名を指定することが可能な仕様になっており、一方で、SIPサーバ3では、漢字表記の利用者名が指定された場合に、セキュリティ上の理由でこれを拒否する仕様になっている場合がある。このような場合には、相互接続のために、fromヘッダおよびtoヘッダのヘッダフィールドのうち、利用者名パラメタf1は抽出せずに、SIPアドレス情報f2のみを抽出するようにテンプレートで指定することができる。図5(b)に示すテンプレートAR1では、例えば、<from>タグh1と<to>タグh2中のエンティティで「strip_dispname=”y“」と表示されている。これにより、図5(a)に示すサーバ用メッセージ41のように、fromヘッダに、SIPアドレス情報f2のみが記述される。
以上の処理により生成されたサーバ用メッセージ41は、サーバ通信部9によってSIPサーバ3へ転送される。なお、サーバ用テンプレートは、図5(b)に示すテンプレートAR1の内容に限られない。サーバ用メッセージ生成部6は、例えば、サーバ用テンプレートにしたがって、オリジナルメッセージから、不必要なパラメタ(例えば、ヘッダやヘッダ・オプション等)は除外して安全なパラメタ値(例えば、許容されるヘッダ、ヘッダ値の範囲、添付データなど)のみを抽出してサーバ用メッセージを生成することができる。
(端末用メッセージを生成する処理)
ここで、端末用メッセージ生成部7が、ゲートウェイ2がSIPサーバ3から受信した転送メッセージに基づいて、SIP端末へ送るメッセージを生成する処理(図3のS4)の一例について説明する。図8は、端末用メッセージ生成部7が、端末へ送るメッセージを生成する処理(S4)の流れを示すフローチャートである。
端末用メッセージ生成部7は、ゲートウェイ2が受信したメッセージに基づいて、メッセージを転送するサーバの種別を判定する(S41)。サーバ種別に対応する端末用テンプレート群を端末用テンプレート記録部13から抽出する(S42)。端末用テンプレート記録部13に記録されている端末用テンプレートは、図7(b)および図7(c)に示すサーバ用テンプレートと同様に、各サーバ種別について、メソッドごとに記録されていることが好ましい。すなわち、端末用テンプレート記録部13に記録された端末用テンプレートも、図7(b)および図7(c)に示すデータ構造と同様の構造にすることができる。
端末用メッセージ生成部7は、ゲートウェイ2が受信した転送メッセージのメソッドを判定する(S43)。図9(a)の左側の図は、ゲートウェイ2が受信した転送メッセージ42の一例を示す図である。転送メッセージ42は、例えば、ゲートウェイ2またはゲートウェイ21からSIPサーバ3へ転送され、SIPサーバ3から送信先のSIP端末へ向けてさらに転送されたメッセージである。ここでは、送信先がSIP端末1aである場合の例について説明する。
転送メッセージ42のメソッドは、INVITEである。したがって、端末用メッセージ生成部7は、例えば、S42で抽出されたテンプレート群のうち、メソッドがINVITEであるテンプレートを選択する。図9(b)に、端末用メッセージ生成部7が選択したテンプレート44の一例を示す。なお、転送メッセージ42に対応するテンプレートが存在しない場合は、エラー処理(S7)が行われる。
端末用メッセージ生成部7は、テンプレート44を取得すると、転送メッセージ42に補完が必要か否かを判断する(S45)。端末用メッセージ生成部7は、転送メッセージ42のメソッドが、例えば、INVITE、ACK等である場合のように、SIPサーバを経由してSIP端末間で交換されるメッセージである場合には、転送メッセージ42に、データを補完する。SIPサーバを経由してSIP端末へ向けて転送される転送メッセージ42は、必ずゲートウェイ2または21を経由している。SIP端末1a、1bまたは1cから送信されたオリジナルメッセージは、ゲートウェイ2または21からSIPサーバ3へ転送される際に、サーバ用メッセージ生成部6によって、オリジナルメッセージから安全なデータだけが抽出されてSIPサーバ3へ転送される。したがって、その時に抽出されなかったデータを補完する必要がある。オリジナルメッセージは、ゲートウェイ2または21の端末情報記録部15へ保存されている。
ここで、端末用メッセージ生成部7が、オリジナルメッセージを取得する処理(S46)について説明する。図10は、端末用メッセージ生成部7が、オリジナルメッセージ、すなわち、送信元SIP端末から送信されたときのメッセージを取得する処理の流れを示す図である。
図10に示すように、端末用メッセージ生成部7は、まず、送信元SIP端末が接続されているゲートウェイを特定する(S461)。端末用メッセージ生成部7は、例えば、受信した転送メッセージ42のViaヘッダのヘッダフィールド値より、送信元SIP端末が接続されているゲートウェイを表す情報を得ることができる。端末用メッセージ生成部7は、送信元SIP端末が、送信先SIP端末と、同じゲートウェイに接続されているか否かを判断する。例えば、図1において、送信元がSIP端末1aであり、送信先がSIP端末1bである場合には、送信元SIP端末は、送信先SIP端末と同じゲートウェイに接続されている。一方、送信元がSIP端末1aであり、送信先がSIP端末1cである場合には、送信元SIP端末は、送信先SIP端末と異なるゲートウェイに接続されている。
送信元端末が同じゲートウェイ2である場合(S462でYes)、端末用メッセージ生成部7は、ゲートウェイ2のローカルな端末情報記録部15からオリジナルメッセージを取得する。送信元端末が異なるゲートウェイ21である場合(S462でNo)、GW間通信部17に、ゲートウェイ21の端末情報記録部15からオリジナルメッセージを取得してもらう。
ここで、図11は、端末情報記録部15に記録されている端末情報の例である。図11に示す端末情報60は、端末への宛先SIPアドレス61、端末種別62、最終アクセス時刻63、保存リクエストのリスト64を含む。保存リクエストのリスト64には、SIPメッセージ管理情報65a、65b、65cが含まれる。例えば、SIPメッセージ管理情報65aには、到着時刻651a、参照カウント652a、SIPメッセージデータ653aが含まれる。端末用メッセージ生成部7は、このSIPメッセージデータ653aを取得することによって、オリジナルメッセージを得る。
再び図8を参照して、端末用メッセージ生成部7は、オリジナルメッセージを取得すると、ゲートウェイ2が受信した転送メッセージ42と、オリジナルメッセージとから、テンプレート44が示すパラメタを抽出して、SIP端末に転送するメッセージ(端末用メッセージ)を生成する。具体的には、テンプレート44が指定するエントリ毎に、転送メッセージ42およびオリジナルメッセージからのパラメタを抽出(S47)し、抽出したパラメタを端末用メッセージへの設定する処理(S48)が繰り返される。
図9(b)に示す例では、テンプレート44に含まれる<header>タグ52内には、送信先SIP端末が許容するパラメタを示すタグが記述されている。fromタグh1、toタグh2、viaタグh3、cseqタグh4、user−agentタグh5、accept―languageタグh6、alert−infoタグh7が<header>タグ52内に記述されている。
そのため、端末用メッセージ生成部7は、fromヘッダ、toヘッダ、viaヘッダ、cseqヘッダとそのヘッダフィールドを、転送メッセージ42から抽出して、それぞれ端末用メッセージ43へ追加する。また、端末用メッセージ生成部7は、user−agentヘッダ、accept―languageヘッダ、alert−infoヘッダを、オリジナルメッセージから抽出してそれぞれ端末用メッセージ43へ追加する。
このように、端末用メッセージが生成される時には、ゲートウェイ2が受信した転送メッセージ42に含まれるパラメタの他に、送信元SIP端末が送信した際のオリジナルのメッセージに含まれるパラメタも参照される。例えば、図5(a)に示したオリジナルのオリジナルメッセージ30中のfromヘッダやtoヘッダに含まれる、利用者名パラメタf1は、SIPサーバ3へ転送されるときにフィルタリングの対象となって取り除かれている。そのため、SIPサーバ3からゲートウェイ2へ転送されてきた転送メッセージ42(図9(a)参照)のfromヘッダやtoヘッダには、利用者名パラメタf1は含まれていない。そこで、例えば、テンプレート44で、<from>タグh1中の「no_displayname=“n”」の記述により、利用者名パラメタの復元が指定された場合には、端末用メッセージ生成部7は、オリジナルメッセージ30のfromヘッダやtoヘッダから、利用者名パラメタf1のみを抽出して復元する。
図9(a)の右側の図は、テンプレート44を基に、転送メッセージ42およびオリジナルメッセージ30から生成された端末用メッセージ43の例を示す図である。以上の処理により生成された端末用メッセージ43は、SIP端末へ転送される。
なお、本実施形態においては、オリジナルメッセージ30のうち、テンプレート44で示されるデータを抽出して端末用メッセージを生成する例を説明したが、必ずしもテンプレート44を使用する必要はない。例えば、端末用メッセージ生成部7は、オリジナルメッセージ30のうち、転送メッセージ42に含まれていないデータを抽出して転送メッセージ42に追加することにより、端末用メッセージを生成してもよい。また、端末用メッセージ生成部7は、オリジナルメッセージ30をそのまま端末用メッセージにしてもよい。
以上のように、端末用テンプレートの記述により、SIP端末へ送られるパラメタが制御される。例えば、SIPサーバ3にとっては、不必要なパラメタであっても、送信先のSIP端末で使用されるパラメタを、上記のように端末用テンプレートで定義することによって、SIPサーバ3には送らずに、送信先のSIP端末にのみ送信することができる。
また、IP電話機等のSIP端末が不正な動作をしないように、問題のあるヘッダ値やパラメタ値をフィルタリングの対象とするような端末用テンプレートを事前に定義しておくこともできる。
また、SIPの仕様は、新規機能実現のため、常に改版が続けられている。新たに拡張規格が追加された拡張規格に準拠したパラメタ(ヘッダやヘッダフィールド値)が、SIP端末で指定された場合、安定性が求められるSIPサーバ3で新たな拡張規格に対応するのは困難であるが、ゲートウェイ2では、比較的容易に対応できる。ゲートウェイ2は、冗長構成をとる等してシステムを一部停止させることで、比較的仕様変更が容易な構造となっているからである。例えば、端末用テンプレートを改変して、新たな拡張パラメタをSIPサーバに転送しないで、SIP端末に転送するようにすることができる。
これにより、SIPサーバ3でサポートされていないため、整合性検査ができない拡張ヘッダやパラメタを、SIPサーバ3を通過させずに、SIP端末1a、1b、1c間の通信で使用することができる。またこのとき、新機能の追加や仕様変更が困難なSIPサーバ3のソフトウエアについて、仕様の変更を伴わず、システムレベルで追加された拡張パラメタに対応可能になる。
新規に追加された拡張パラメタが、正しい値を取っていても、その使用によりSIPサーバ3のソフトウエアが異常動作する危険性がある場合に、当該拡張パラメタをSIPサーバには通さないで、転送経路上のゲートウェイ間をバイパスすることでSIP端末間の拡張パラメタを含んだメッセージ交換が可能になる。
(実施の形態2)
実施の形態2は、実施の形態1におけるゲートウェイ2の変形例である。
図12は、本実施形態におけるゲートウェイ22の構成の一例を示す機能ブロック図である。図12において、図2に示すゲートウェイ2と同じ部分には、同じ番号を付し、その説明を省略する。図12に示すゲートウェイ22が、図2に示すゲートウェイ2と異なる点は、端末情報記録部15およびGW間通信部17を備えていない点である。図2に示すゲートウェイ2では、端末通信部11が、受信したオリジナルメッセージは、端末情報記録部15に記録されていたが、本実施形態においては、端末通信部11が、受信したオリジナルメッセージは、サーバ用メッセージ生成部6が生成するサーバ用メッセージに添付されてSIPサーバ3へ送信される。なお、図12中のゲートウェイ23の構成は、ゲートウェイ22と同様である。
例えば、SIP端末1cからSIP端末1aを送信先として送信されたオリジナルメッセージは、ゲートウェイ23のサーバ用メッセージ生成部6でサーバ用メッセージに添付されてSIPサーバ3へ送信される。SIPサーバ3は、受信したサーバ用メッセージを、転送メッセージとして例えば、送信先のSIP端末1aに接続されたゲートウェイ22に転送する。したがって、ゲートウェイ22のサーバ通信部9が受信する転送メッセージには、オリジナルメッセージが添付されている。端末用メッセージ生成部7は、サーバ通信部9が受信した転送メッセージと、それに添付されているオリジナルメッセージを基に端末用メッセージを生成する。
図13は、本実施形態のゲートウェイ22、23におけるサーバ用メッセージ生成処理の流れを示すフローチャートである。実施の形態1における図6に示す処理では、サーバ用メッセージ生成部6は、受信したオリジナルメッセージ30を端末情報記録部15に記録していたが(図6のS36参照)、図13に示す処理では、サーバ用メッセージ生成部6は、オリジナルメッセージ30をサーバ用メッセージに添付する(図13のS360)。
図14は、オリジナルメッセージ30が添付されたサーバ用メッセージ45の例を示す図である。オリジナルメッセージ30は、図14に示すサーバ用メッセージ45のボディ部47に添付されている。SIPサーバ3が、サーバ用メッセージ45を受信した場合、サーバ用メッセージ45のうち、SIPサーバ3の処理の対象となるのはヘッダ部46に記述されたデータだけである。したがって、ボディ部47に添付されたオリジナルメッセージ30に不正なデータが含まれていたとしても、SIPサーバ3の処理に影響をおよぼすことほとんどない。
なお、オリジナルメッセージ30をサーバ用メッセージ45に添付する方法は、上記のボディ部47に添付する方法に限られない。例えば、MIME標準におけるデータの外部参照情報(Message/External Body)形式で、データの取得方法を記述することにより、間接的に、オリジナルメッセージをサーバ用メッセージに添付することができる。上記Message/External Bodyは、RFC2046 MIME Part2で定義されているMIME標準の形式であり、HTTPやFTPでファイルデータを取得する方法を書くことで、データの本体を添付しないですむようにする形式である。
図15は、本実施形態のゲートウェイ22または23において、端末用メッセージ生成部7が、端末用メッセージを生成する処理の流れを示すフローチャートである。図15に示すフローチャートにおいて、図8に示すフローチャートと異なる部分は、S460の処理である。すなわち、図8に示す処理では、端末用メッセージ生成部7は、端末情報記録部15からオリジナルメッセージを取得していたが、図15に示す処理では、端末用メッセージ生成部7は、SIPサーバ3から転送された転送メッセージに添付されたオリジナルメッセージを取得する(S460)。
本実施形態において、オリジナルメッセージ30は、図14に示すように、サーバ用メッセージ45に添付され、そのまま、SIPサーバ3からゲートウェイ2へ転送される。そのため、転送されてきたメッセージには、元のオリジナルメッセージ30が添付されたままとなっている。端末用メッセージ生成部7は、転送メッセージに添付された元のオリジナルメッセージ30を取得することができる。
(実施の形態3)
実施の形態3は、SIPを用いたマルチメディア通信システムに関する。図16は、本実施形態におけるマルチメディア通信システム100の構造の概略を示す概念図である。図16に示す構成においては、SIP端末1dとしてIP電話機ではなくパーソナルコンピュータが接続されている。
本実施形態では、SIP端末1dが、ビデオ通信と音声通信をサポートしているのに対して、着信側のSIP端末1aが音声通信のみをサポートしている。すなわち、SIP端末1aは、ビデオ通信に関する通信パラメタを含むINVITEリクエストを拒否する仕様になっている。図17(a)の左側の図は、ビデオ通信に関する通信パラメタを含むINVITEリクエストメッセージ48の例を示す図である。INVITEリクエストメッセージ48には、ボディ部48aに、ビデオ用パラメタ28aおよび音声パラメタ28bを含んでいる。
一例として、ビデオ通信をサポートするSIP端末1dが、図17(a)の右側に示すINVITEリクエストメッセージ48を、SIP端末1aにSIPサーバ3を介して送信した場合について説明する。INVITEリクエストメッセージ48には、ビデオ通信に関するパラメタ<ビデオ用パラメタ>28aが含まれているが、音声通信のみをサポートしているSIP端末1aが、その動作仕様で、音声通信以外のメディア通信に関するパラメタを含むメッセージの着信を拒否するという振る舞いをする場合がある。
このような場合、本実施例では、仕様の異なるSIP端末1a、1d間で、音声通話による相互接続のみを可能にするため、ゲートウェイ2に記録されたサーバ用テンプレートで、メッセージのボディ部にあるSDP内のビデオ通信に関するパラメタ群をフィルタリングの対象として除去するテンプレートを定義しておく。この設定により、ゲートウェイ2のサーバ用メッセージ生成部6は、SIP端末1dから送信されたオリジナルメッセージから、ビデオ通信に関するパラメタ群を除いたデータで、サーバ用メッセージを生成する。これにより、ゲートウェイ2を経由して、相手側端末に届くINVITEメッセージには、音声通信に関する通信パラメタのみが届けられるので、音声通話が可能になる。図17(a)の右側の図は、ゲートウェイ2で、図17(b)に示すサーバ用テンプレート53に従って、フィルタリングされて、新たに生成されたサーバ用メッセージの例を示す。すなわち、図17(b)に示すサーバ用テンプレート53内の<body>タグには、「strip_video_sdp=“y”」との記述があるので、INVITEリクエストメッセージ48のボディ部48aにある<ビデオ用パラメタ>28aは、サーバ用メッセージ49において除去されている。そのため、SIPサーバ3を経てSIP端末1aに受信されるメッセージには、<ビデオ用パラメタ>が含まれていないので、SIP端末1aはSIP端末1dとの通信を拒否することはない。 また、図17(b)に示すサーバ用テンプレート53がゲートウェイ2で設定されると、いかなるSIP端末もSIPサーバ3を介してビデオ通信をすることができなくなる。したがって、サーバ用テンプレート53は、通信帯域を多く消費するビデオ通信を禁止するという運用ポリシーを適用する目的にも利用できる。
なお、図17(b)に示すサーバ用テンプレート53は、端末用テンプレートしても使用することができる。例えば、音声通信のみをサポートするSIP端末用の端末用テンプレートをゲートウェイ2で設定しておけば、ゲートウェイ2の端末用メッセージ生成部7は、SIPサーバから音声通信のみをサポートするSIP端末へ送信される転送メッセージから、ビデオ通信に関する通信パラメタを除いたデータで、端末用メッセージを生成する。その結果、音声通信のみをサポートするSIP端末に届くメッセージには、ビデオ通信に関する通信パラメタ指定が含まれないようにすることができる。音声通話のみをサポートとするSIP端末へのメッセージに対してのみ、ビデオ通信用パラメタを除去できる。そのため、音声通信のみをサポートするSIP端末と、ビデオ通信が可能なSIP端末とが混在する環境でも、ビデオ通信が可能なSIP端末間ではビデオと音声のマルチメディア通信を可能にし、一方が音声のみをサポートするSIP端末の場合には、音声のみでの通信を可能にする。
以上の例は、サーバ用テンプレート53に記録されたボディ部への操作を表す情報に基づいて、サーバ用メッセージ生成部6がサーバ用メッセージのボディ部を操作する例と、端末用テンプレートに記録されたボディ部への操作を表す情報に基づいて、端末用メッセージ生成部7が端末用メッセージのボディ部を操作する例について説明した。
上記以外にも、ボディ部を操作して加工する方法には下記の形態が考えられる。例えば、サーバ用メッセージ生成部6が、オリジナルメッセージからサーバ用メッセージを生成する際に、サーバ用テンプレートの<body>タグの指定に応じて、サーバ用メッセージにボディ部を付加するかしないかを制御することができる。SIPサーバ3では、ヘッダ部の情報があれば呼制御が実行できるため、ボディ部のデータは不要である。例えば、サーバ用テンプレートの<body>タグにて、ボディ部は不要である旨が記述されていると、サーバ用メッセージ生成部6が、オリジナルメッセージからサーバ用メッセージを生成する際に、サーバ用メッセージのボディ部にはオリジナルメッセージのボディ部の内容は反映されない。これにより、オリジナルメッセージのボディ部に悪意のあるデータが組み込まれていた場合でも、SIPサーバ3側には受信されず、悪意あるデータの影響を受けずに済む。
また、ボディ部のデータの扱いについては、単に添付するあるいは添付しないという制御だけでなく、データの形式(実行プログラムのデータである等)によって、添付するか否かを制御することもできる。
また、端末用テンプレートに、同様にボディ部の復元方法が記述されることで、悪意あるデータがSIP端末に向けて送信されてきても、ゲートウェイ2で復元されないため、SIP端末の誤動作や破壊などの被害を回避することが可能となる。
実施の形態1〜3におけるゲートウェイによれば、SIP仕様の通信メッセージを使った、SIPサーバに対するバッファ・オーバーフロー攻撃などを、SIPサーバに到達する前にゲートウェイで検出し、対処することが可能となる。また、SIP仕様に追加される拡張パラメタへの対応を、SIPサーバのソフトウエアへの変更を伴わずに、ゲートウェイのソフトウエアを変更することで実現することができる。また、SIPサーバが受信を拒否する拡張パラメタについても、ゲートウェイを介してSIP端末間での引渡しが可能になる。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、
送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、
SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、
SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるSIPフィルタリングゲートウェイ。
(付記2)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、
送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、
SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、
前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるSIPフィルタリングゲートウェイ。
(付記3)
前記サーバ許容情報記録部は、サーバ許容情報として、SIPサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、
前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成する、付記1または2に記載のSIPフィルタリングゲートウェイ。
(付記4)
送信先SIP端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成する、付記1または2に記載のSIPフィルタリングゲートウェイ。
(付記5)
前記SIPサーバに、前記SIPフィルタリングゲートウェイが複数接続されている状況において、
他のSIPフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のSIPフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成する、付記1に記載のSIPフィルタリングゲートウェイ。
(付記6)
前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備える付記1または2に記載のSIPフィルタリングゲートウェイ。
(付記7)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、
前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する工程と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先SIP端末へ前記端末用メッセージを送信する工程とを備えるSIPフィルタリング方法。
(付記8)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、
前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、
前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、
前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、
前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
前記コンピュータが備える端末通信部が、前記送信先SIP端末へ端末用メッセージを送信する工程と、を備えるSIPフィルタリング方法。
(付記9)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行う処理を実行させるSIPフィルタリングプログラムであって、
送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、
前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、
前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、
SIPサーバへサーバ用メッセージを送信する処理と、
SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、
前記送信先SIP端末へ前記端末用メッセージを送信する処理と、をコンピュータに実行させるSIPフィルタリングプログラム。
(付記10)
送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ転送するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継処理を実行させるSIPフィルタリングプログラムであって、
送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、
前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、
SIPサーバへ前記サーバ用メッセージを送信する処理と、
SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、
前記送信先SIP端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させるSIPフィルタリングプログラム。
(付記11)
前記サーバ許容情報記録部は、サーバ許容情報として、SIPサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを記録し、
前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す前記許容範囲内である、ヘッダフィールドを抽出し、前記サーバ許容情報が表すボディ部への操作をすることによって前記サーバ用メッセージを生成する、付記1または2に記載のSIPフィルタリングゲートウェイ。
(付記12)
送信先SIP端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報と、ボディ部への操作を表す情報とを、端末許容情報として記録する端末許容情報記録部をさらに備え、
前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールドの種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出し、前記端末許容情報が表すボディ部への操作をすることによって前記端末用メッセージを生成する、付記1または2に記載のSIPフィルタリングゲートウェイ。
本発明は、IP電話システム等のSIPを用いた通信サービスに適用可能なゲートウェイとして利用可能である。
IP電話システム10の構造の概略を示す概念図である。 ゲートウェイ2の構成の一例を表す機能ブロック図である。 ゲートウェイ2が、メッセージを受信してから転送するまでの処理の流れの一例を示すフローチャートである。 転送先の判定処理の一例を示すフローチャートである。 (a)は、ゲートウェイ2が受信したオリジナルメッセージ30およびサーバ用メッセージの一例を示す図である。(b)は、サーバ用テンプレートの一例を示す図である。 サーバ用メッセージ生成部6が、サーバへ送るメッセージを生成する処理(S3)の流れを示すフローチャートである。 (a)は、オリジナルメッセージの一例を示す図である。(b)は、サーバ用テンプレート記録部19に記録されているサーバ用テンプレート群の一例を表す図である。(c)は、サーバ用テンプレート群A内のデータの一例を示す図である。 端末用メッセージ生成部7が、端末へ送るメッセージを生成する処理(S4)の流れを示すフローチャートである。 (a)は、ゲートウェイ2が受信した転送メッセージおよび端末用メッセージの一例を示す図である。(b)は、端末用テンプレートの一例を示す図である。 端末用メッセージ生成部7が、元のメッセージ、すなわち、送信元SIP端末から送信されたときのメッセージを取得する処理の流れを示す図である。 端末情報記録部15に記録されている端末情報の例である。 ゲートウェイ22の構成の一例を表す機能ブロック図である。 本実施形態のゲートウェイ2におけるサーバ用メッセージ生成処理(S3)の流れを示すフローチャートである。 オリジナルメッセージ30が添付されたサーバ用メッセージの例を示す図である。 本実施形態のゲートウェイ22における端末用メッセージ生成処理の流れを示すフローチャートである。 マルチメディア通信システム100の構造の概略を示す概念図である。 本実施形態におけるマルチメディア通信システム100の構造の概略を示す概念図である。 SIPを使ったIP電話サービスを提供するSIPシステムの構成の概略を示す図である。
符号の説明
1a、1b SIP端末
2、21、22 SIPフィルタリングゲートウェイ
3 SIPサーバ
5 インターネット
6 サーバ用メッセージ生成部
7 端末用メッセージ生成部
8 判定部
9 サーバ通信部
10 IP電話システム
11 端末通信部
13 端末用テンプレート記録部(端末許容情報記録部)
15 端末情報記録部
17 GW間通信部
19 サーバ用テンプレート記録部(サーバ許容情報記録部)
30 メッセージ
31 リクエスト行
32、46 ヘッダ部
33、47 ボディ部
41、45 サーバ用メッセージ
51、52 <header>タグ
60 端末情報
61 端末への宛先SIPアドレス
62 端末種別
63 最終アクセス時刻
64 保存リクエストのリスト
65a、65b、65c SIPメッセージ管理情報
651a 到着時刻
652a 参照カウント
653a SIPメッセージデータ
91a、91b SIP端末
93 SIPサーバ
100 マルチメディア通信システム

Claims (10)

  1. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、
    送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、
    SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
    前記端末通信部が受信したオリジナルメッセージを記録するメッセージ記録部と、
    SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
    前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、サーバ用メッセージを生成するサーバ用メッセージ生成部と、
    前記サーバ通信部が受信した転送メッセージと、前記メッセージ記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるSIPフィルタリングゲートウェイ。
  2. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続され、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリングゲートウェイであって、
    送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、送信先SIP端末へ端末用メッセージを送信する処理とを行う端末通信部と、
    SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、SIPサーバへサーバ用メッセージを送信する処理とを行うサーバ通信部と、
    SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を記録するサーバ許容情報記録部と、
    前記端末通信部が受信したオリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを、前記サーバ許容情報記録部に記録された前記サーバ許容情報に基づいて抽出し、抽出したデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成するサーバ用メッセージ生成部と、
    前記サーバ通信部が受信した転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて、端末用メッセージを生成する端末用メッセージ生成部とを備えるSIPフィルタリングゲートウェイ。
  3. 前記サーバ許容情報記録部は、サーバ許容情報として、SIPサーバが受信するサーバ用メッセージに含むことができるヘッダフィールドの種類およびヘッダフィールド値の許容範囲を表す情報を記録し、
    前記サーバ用メッセージ生成部は、前記オリジナルメッセージに含まれるヘッダフィールドのうち、前記サーバ許容情報に含まれるヘッダフィールド種類であって、ヘッダフィールド値が、前記サーバ許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記サーバ用メッセージを生成する、請求項1または2に記載のSIPフィルタリングゲートウェイ。
  4. 送信先SIP端末が受信する端末用メッセージに含むことができるヘッダフィールドの種類、およびヘッダフィールド値の許容範囲を表す情報が、端末許容情報として記録された端末許容情報記録部をさらに備え、
    前記端末用メッセージ生成部は、前記転送メッセージと、前記転送メッセージに対応するオリジナルメッセージとに含まれるヘッダフィールドのうち、前記端末許容情報が表すヘッダフィールド種類であって、ヘッダフィールド値が、前記端末許容情報が表す許容範囲内である、ヘッダフィールドを抽出することによって前記端末用メッセージを生成する、請求項1または2に記載のSIPフィルタリングゲートウェイ。
  5. 前記SIPサーバに、前記SIPフィルタリングゲートウェイが複数接続されている状況において、
    他のSIPフィルタリングゲートウェイのメッセージ記録部に記録されたオリジナルメッセージを取得するゲートウェイ間通信部をさらに備え、
    前記端末用メッセージ生成部は、前記転送メッセージに対応するオリジナルメッセージが他のSIPフィルタリングゲートウェイのメッセージ記録部にある場合、前記ゲートウェイ間通信部が取得した前記オリジナルメッセージのうち前記転送メッセージに含まれていないデータと、前記転送メッセージとに基づいて端末用メッセージを生成する、請求項1に記載のSIPフィルタリングゲートウェイ。
  6. 前記端末通信部が受信したオリジナルメッセージに不正なデータが含まれているかを判定し、不正なデータが含まれていない場合に、前記オリジナルメッセージを前記サーバ用メッセージ生成部に渡す判定部をさらに備える請求項1または2に記載のSIPフィルタリングゲートウェイ。
  7. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、
    前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、
    前記コンピュータが備える端末通信部が、前記オリジナルメッセージを前記コンピュータの記録部へ記録する工程と、
    前記コンピュータが備えるサーバ用メッセージ生成部が、前記記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する工程と、
    前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、
    前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する工程と、
    前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
    前記コンピュータが備える端末通信部が、前記送信先SIP端末へ前記端末用メッセージを送信する工程とを備えるSIPフィルタリング方法。
  8. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータが、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行うSIPフィルタリング方法であって、
    前記コンピュータが備える端末通信部が、送信元SIP端末から送信されたオリジナルメッセージを受信する工程と、
    前記コンピュータが備えるサーバ用メッセージ生成部が、前記コンピュータのサーバ許容情報記録部に予め記録された前記SIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する工程と、
    前記コンピュータが備えるサーバ通信部が、SIPサーバへサーバ用メッセージを送信する工程と、
    前記コンピュータが備えるサーバ通信部が、SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
    前記コンピュータが備える端末用メッセージ生成部が、前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する工程と、
    前記コンピュータが備える端末通信部が、前記送信先SIP端末へ端末用メッセージを送信する工程と、を備えるSIPフィルタリング方法。
  9. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ送信するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継を行う処理を実行させるSIPフィルタリングプログラムであって、
    送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、
    前記オリジナルメッセージを前記コンピュータの記録部へ記録する処理と、
    前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータを抽出して、サーバ用メッセージを生成する処理と、
    SIPサーバへサーバ用メッセージを送信する処理と、
    SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
    前記転送メッセージと、前記記録部に記録された、前記転送メッセージに対応するオリジナルメッセージのうち前記転送メッセージに含まれていないデータと基づいて端末用メッセージを生成する処理と、
    前記送信先SIP端末へ前記端末用メッセージを送信する処理と、をコンピュータに実行させるSIPフィルタリングプログラム。
  10. 送信元SIP端末から送信されたメッセージを受け取って送信先SIP端末へ転送するSIPサーバに接続されたコンピュータに、前記送信元SIP端末および前記送信先SIP端末と、前記SIPサーバとの間の通信の中継処理を実行させるSIPフィルタリングプログラムであって、
    送信元SIP端末から送信されたオリジナルメッセージを受信する処理と、
    前記コンピュータの記録部に予め記録されたSIPサーバが許容するサーバ用メッセージのデータに関するサーバ許容情報を用いて、前記オリジナルメッセージに含まれるデータのうち、SIPサーバが許容するデータに、前記オリジナルメッセージを添付データとして付加した構成のデータをサーバ用メッセージとして生成する処理と、
    SIPサーバへ前記サーバ用メッセージを送信する処理と、
    SIPサーバが送信先SIP端末へ向けて送信する転送メッセージを受信する処理と、
    前記転送メッセージと、前記転送メッセージに添付されたオリジナルメッセージのうち前記転送メッセージに含まれていないデータとに基づいて端末用メッセージを生成する処理と、
    前記送信先SIP端末へ前記端末用メッセージを送信する処理とを前記コンピュータに実行させるSIPフィルタリングプログラム。
JP2005287251A 2005-09-30 2005-09-30 Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム Expired - Fee Related JP4579119B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005287251A JP4579119B2 (ja) 2005-09-30 2005-09-30 Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005287251A JP4579119B2 (ja) 2005-09-30 2005-09-30 Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム

Publications (2)

Publication Number Publication Date
JP2007103990A JP2007103990A (ja) 2007-04-19
JP4579119B2 true JP4579119B2 (ja) 2010-11-10

Family

ID=38030544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005287251A Expired - Fee Related JP4579119B2 (ja) 2005-09-30 2005-09-30 Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム

Country Status (1)

Country Link
JP (1) JP4579119B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE505018T1 (de) * 2008-03-31 2011-04-15 Mitsubishi Electric Corp Behandlung von empfangenen datennachrichten eines textbasierten protokolls

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320341A (ja) * 2003-04-15 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> ネットワーク間のパケット中継方法及びシステム
JP2005198156A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> Sip−algの呼状態管理方法
JP2005198181A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> Sip通信制御装置
JP2005204216A (ja) * 2004-01-19 2005-07-28 Nippon Telegr & Teleph Corp <Ntt> 複数nat/fw装置接続に対応したsip−algの呼関連リソース管理方法及びそのsip−alg
JP2005210273A (ja) * 2004-01-21 2005-08-04 Ricoh Co Ltd ネットワーク通信装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320341A (ja) * 2003-04-15 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> ネットワーク間のパケット中継方法及びシステム
JP2005198156A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> Sip−algの呼状態管理方法
JP2005198181A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> Sip通信制御装置
JP2005204216A (ja) * 2004-01-19 2005-07-28 Nippon Telegr & Teleph Corp <Ntt> 複数nat/fw装置接続に対応したsip−algの呼関連リソース管理方法及びそのsip−alg
JP2005210273A (ja) * 2004-01-21 2005-08-04 Ricoh Co Ltd ネットワーク通信装置

Also Published As

Publication number Publication date
JP2007103990A (ja) 2007-04-19

Similar Documents

Publication Publication Date Title
US8996657B2 (en) Systems and methods for multiplexing network channels
US7792924B2 (en) Using a mobile phone to remotely control a computer via an overlay network
JP5307884B2 (ja) ダイレクトアクセス及びセキュリティ評価共有を可能とするためのハードウェアインターフェース
EP2339808B1 (en) Method, media gateway and system for managing filtering rules
JP2007142675A (ja) 通信装置、通信方法および通信プログラム
US6966003B1 (en) System and method for switching security associations
US20100250731A1 (en) Systems and methods for application identification
US7631350B2 (en) Transmitting data across firewalls
WO2009028342A1 (ja) サービス提供システム、フィルタリング装置、フィルタリング方法及びメッセージ確認方法
JP4579119B2 (ja) Sipフィルタリングゲートウェイ、sipフィルタリング方法およびsipフィルタリングプログラム
JP2015091125A (ja) アプリケーションインターフェイスを将来のアプリケーション用に拡張するための方法
US20080092206A1 (en) Security protocol control apparatus and security protocol control method
JP2006050006A (ja) ネットワーク接続設定装置及びネットワーク接続設定方法
CN101695028B (zh) 一种简单网络管理协议配置方法及装置
US7660900B2 (en) System and method for connecting client to host
JP2009272668A (ja) ゲートウェイ装置、VoIP網相互接続システム、通信方法、及びプログラム
US7729289B2 (en) Method, system and computer program product for routing information across firewalls
CN111404827A (zh) 一种数据包处理方法、装置及电子设备和存储介质
JP5587085B2 (ja) 通信システム、制御装置及び制御プログラム
US11444832B2 (en) Integrating proxies from third party libraries within an integration environment
US20100023641A1 (en) Communication terminal, terminal, communication system, communication method and program
EP4002102A1 (en) Integrating proxies from third party libraries within an integration environment
JP6913132B2 (ja) データ送信補助方法
KR101896551B1 (ko) 분리망 연계 시스템 및 그 제어방법
JP2011254556A (ja) 送信装置、通信システム及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100825

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees