(57)【特許請求の範囲】
【請求項１】
クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバソフトウエアが導入されたHTTPサーバ装置と、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバソフトウエアが導入されたSIPサーバ装置とを相互接続して通信する通信システムにおいて、
前記HTTPサーバ装置は、該HTTPサーバ装置から前記SIPサーバへSIPにてメッセージを送信する第１の送信手段と、
前記SIPサーバ装置から該HTTPサーバ装置へSIPにて送信されるメッセージを受信する第１の受信手段と、
前記SIPによるメッセージを処理するSIP処理手段と、
前記メッセージのうち、該HTTPサーバ装置にて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、
前記SIPサーバ装置は、該SIPサーバ装置から前記HTTPサーバ装置へSIPにてメッセージを送信する第２の送信手段と、
前記HTTPサーバ装置から該SIPサーバ装置へSIPにて送信されるメッセージを受信する第２の受信手段と、
前記ルールに基づいて前記HTTPサーバ装置の処理可能なSIPのリクエストを判定するための判定手段と、
SIPによるメッセージを解析して処理する解析処理手段と、
前記SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含むことを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、前記第２の送信手段は、前記第１の受信手段に前記記憶管理手段にて記憶されているルールを要求し、該要求に応じて前記HTTPサーバ装置から取得したルールに基づいて前記判定手段の判定内容を生成する初期化を行うことを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムにおいて、前記SIPサーバ装置から前記HTTPサーバ装置へSIPによる通信を行うトランザクションの際に、前記判定手段のルールに基づいて前記HTTPサーバ装置がSIPによるリクエストを処理可能か否かを判定し、処理可能の場合に前記第２の送信手段は、SIPのリクエストを前記第１の受信手段に送信し、処理不能と判定した場合には、前記解析処理手段にてSIPのリクエストを処理することを特徴とする通信システム。
【請求項４】
請求項１に記載の通信システムにおいて、前記HTTPサーバ装置から前記SIPサーバへリクエストを送信するトランザクションの際に、前記第１の送信手段はSIPによるリクエストを前記第２の受信手段に送信し、
該第２の受信手段は、前記リクエストのトランザクションに対応する識別情報を前記記憶手段に格納し、前記リクエストを前記解析処理手段に受け渡し、
前記解析処理手段は、前記リクエストを処理することを特徴とする通信システム。
【請求項５】
請求項４に記載の通信システムにおいて、前記HTTPサーバ装置へ前記トランザクションにおけるレスポンスを送信する際に、前記第２の送信手段は、前記トランザクションに対応する識別情報が前記記憶手段に格納されているか否かを判定し、該判定結果に従って前記レスポンスの送信を制御することを特徴とする通信システム。
【請求項６】
クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバソフトウエアが導入されたHTTPサーバ装置と、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバソフトウエアが導入されたSIPサーバ装置とを相互接続して通信する通信方法において、
前記HTTPサーバ装置は、該HTTPサーバ装置から前記SIPサーバ装置へSIPにてメッセージを送信する第１の送信手段と、前記SIPサーバ装置から該HTTPサーバ装置へSIPにて送信されるメッセージを受信する第１の受信手段と、前記SIPによるメッセージを処理するSIP処理手段と、前記メッセージのうち、該HTTPサーバ装置にて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、
前記SIPサーバ装置は、該SIPサーバ装置から前記HTTPサーバ装置へSIPにてメッセージを送信する第２の送信手段と、前記HTTPサーバ装置から該SIPサーバ装置へSIPにて送信されるメッセージを受信する第２の受信手段と、前記ルールに基づいて前記HTTPサーバ装置の処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、前記SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含み、該方法は、
前記第２の送信手段から前記第１の受信手段に対し、前記記憶管理手段にて記憶されているルールを要求する工程と、
前記要求に応じて前記HTTPサーバ装置から取得したルールに基づいて前記判定手段の判定内容を生成する工程とを含むことを特徴とする通信方法。
【請求項７】
請求項６に記載の通信方法において、該方法は、前記SIPサーバ装置から前記HTTPサーバ装置へSIPによる通信を行うトランザクションの際に、前記判定手段のルールに基づいて前記HTTPサーバ装置がSIPによるリクエストを処理可能か否かを判定する工程と、
前記リクエストを処理可能の場合に前記第２の送信手段は、SIPのリクエストを前記第１の受信手段に送信する工程と、
前記リクエストを処理不能と判定した場合は前記解析処理手段はSIPのリクエストを処理する工程とを含むことを特徴とする通信方法。
【請求項８】
請求項６に記載の通信方法において、前記HTTPサーバ装置から前記SIPサーバ装置へリクエストを送信するトランザクションの際に、前記第１の送信手段はSIPによるリクエストを前記第２の受信手段に送信する工程と、
前記リクエストのトランザクションに対応する識別情報を前記記憶手段に格納し、さらに前記リクエストを前記解析処理手段に受け渡す工程と、
前記リクエストを前記解析処理手段が処理する工程とを含むことを特徴とする通信方法。
【請求項９】
請求項８に記載の通信方法において、前記HTTPサーバ装置へ前記トランザクションにおけるレスポンスを送信する際に、前記第２の送信手段は、前記トランザクションに対応する識別情報が前記記憶手段に格納されているか否かを判定する工程と、
該判定結果に従って前記レスポンスの送信を制御する工程とを含むことを特徴とする通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、使用するプロトコルが異なるサーバ間を相互接続する通信システムに係り、たとえば、それぞれ異なるプロトコルにて運用されているHTTPサーバとSIPサーバとを相互接続する通信システムに関するものである。
【０００２】
【従来の技術】
近年、情報通信の基盤はIPネットワークに移行してきている。情報ネットワークと通信ネットワークとが融合して、様々なサービスが提供されることが期待され、またその必要性が高まっている。
【０００３】
非特許文献１および非特許文献２に記載のHTTP(Hypertext Transfer Protocol)は、クライアント・サーバ方式で通信するためのプロトコルである。WebブラウザなどのHTTPのリクエストを発行することのできるクライアントが処理をサーバに依頼し、HTTPのリクエストを解釈することができるサーバが処理を受け付ける。このようなサーバはWebサーバまたはHTTPサーバなどと呼ばれる。Webサーバは、必要に応じてネットワーク上の資源と通信して、その結果をHTTPのレスポンスとしてクライアントに返送する。
【０００４】
また、非特許文献３に記載のSIP(Session Initiation Protocol)は、IPネットワーク上の通信をセッションとして、セッションの開始および終了等を行うための呼制御プロトコルである。端末間は対等であり、端末間にて双方向の通信を行うことができる。SIPのメッセージは、リクエストとレスポンスとがあり、SIPはインターネット技術の標準化組織であるIETF(Internet Engineering Task Force)で標準化されている。
【０００５】
【非特許文献１】
T. Berners-Lee 他  "Hypertext Transfer Protocol/1.0 -- HTTP/1.0"、[online]、1996年5月、Network Working Group、Request for Comments: 1945 (RFC-1945)、Category: Informational、[平成15年4月9日検索]、インターネット＜URL:http//www.w3c.org/Protocols/rfc1945/rfc1945＞
【非特許文献２】
R. Fielding 他  "Hypertext Transfer Protocol/1.1 -- HTTP/1.1"、[online]、1997年1月、Network Working Group、Request for Comments: 2068 (RFC-2068)、Category: Standards Track、[平成15年4月9日検索]、インターネット＜URL:http//www.w3c.org/Protocols/rfc2068/rfc2068＞
【非特許文献３】
J. Rosenberg 他  "SIP: Session Initiation Protocol"、[online]、2002年6月、Internet Engineering Task Force(IETF) Network Working Group、Request for Comments: 3261 (RFC-3261)、Obsoletes: 2543、Category: Standards Track、[平成15年4月9日検索]、インターネット＜URL:http//www.ietf.org/rfc/rfc3261.txt＞。
【０００６】
【発明が解決しようとする課題】
しかしながら従来のHTTPサーバとSIPサーバとが通信する通信システムでは、たとえばHTTPサーバがSIPを使用して任意のSIPサーバまたはSIP端末と通信する場合、HTTPサーバは、SIPのメッセージ（以下、SIPメッセージと称する）を解釈し、これらを適切に処理する機能をサーバ内に備える必要がある。
【０００７】
この場合、SIPメッセージを解釈して適切に処理する機能をHTTPサーバ内に実装するコストが増大する。たとえばソケットなどを用いてSIP端末およびSIPサーバ間でSIPメッセージを送受信する機能や、SIP端末およびSIPサーバから受信したSIPメッセージを解析する機能や、SIPサーバとして正しくSIPメッセージを処理する機能をHTTPサーバに備える必要があった。またこの機能を実装した場合、HTTPサーバとしての処理性能が低下するという問題が発生する。
【０００８】
同様にSIPサーバでは、SIPサーバがHTTPクライアントの機能を備える必要があり、この場合、HTTPクライアントの機能をSIPサーバに実装する必要があってコストが増大し、HTTPクライアント機能を実装した場合、SIPサーバとしての処理性能が低下する可能性がある。
【０００９】
本発明はこのような従来技術の欠点を解消し、異なるプロトコルで運用されるサーバ間を相互接続する通信システムで、たとえば、HTTPサーバおよびSIPサーバがそれぞれ他方のサーバ機能を実装することなく、それぞれが互いに機能を利用し合うことのできる通信システムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は上述の課題を解決するために、クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバと、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバとを相互接続して通信する通信システムにおいて、HTTPサーバは、HTTPサーバからSIPサーバへSIPにてメッセージを送信する第１の送信手段と、SIPサーバからHTTPサーバへSIPにて送信されるメッセージを受信する第１の受信手段と、SIPによるメッセージを処理するSIP処理手段と、メッセージのうち、HTTPサーバにて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、SIPサーバは、SIPサーバからHTTPサーバへSIPにてメッセージを送信する第２の送信手段と、HTTPサーバからSIPサーバへSIPにて送信されるメッセージを受信する第２の受信手段と、ルールに基づいてHTTPサーバの処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含むことを特徴とする。
【００１１】
この場合、第２の送信手段は、第１の受信手段に記憶管理手段にて記憶されているルールを要求し、この要求に応じてHTTPサーバから取得したルールに基づいて判定手段の判定内容を生成する初期化を行うとよい。さらに、SIPサーバからHTTPサーバへSIPによる通信を行うトランザクションの際に、判定手段のルールに基づいてHTTPサーバがSIPによるリクエストを処理可能か否かを判定し、処理可能の場合に第２の送信手段は、SIPのリクエストを第１の受信手段に送信し、処理不能と判定した場合には、解析処理手段にてSIPのリクエストを処理するとよい。
【００１２】
また、HTTPサーバからSIPサーバへリクエストを送信するトランザクションの際に、第１の送信手段はSIPによるリクエストを第２の受信手段に送信し、第２の受信手段は、リクエストのトランザクションに対応する識別情報を記憶手段に格納しリクエストを解析処理手段に受け渡し、解析処理手段は、リクエストを処理するとよい。さらに、HTTPサーバへトランザクションにおけるレスポンスを送信する際に、第２の送信手段は、トランザクションに対応する識別情報が記憶手段に格納されているか否かを判定し、判定結果に従ってレスポンスの送信を制御するとよい。
【００１３】
また、本発明は上述の課題を解決するために、クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバと、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバとを相互接続して通信する通信方法において、HTTPサーバは、HTTPサーバからSIPサーバへSIPにてメッセージを送信する第１の送信手段と、SIPサーバからHTTPサーバへSIPにて送信されるメッセージを受信する第１の受信手段と、SIPによるメッセージを処理するSIP処理手段と、メッセージのうち、HTTPサーバにて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、SIPサーバは、SIPサーバからHTTPサーバへSIPにてメッセージを送信する第２の送信手段と、HTTPサーバからSIPサーバへSIPにて送信されるメッセージを受信する第２の受信手段と、ルールに基づいてHTTPサーバの処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含み、この方法は、第２の送信手段から第１の受信手段に対し、記憶管理手段にて記憶されているルールを要求する工程と、要求に応じてHTTPサーバから取得したルールに基づいて判定手段の判定内容を生成する工程とを含むことを特徴とする。
【００１４】
この場合、SIPサーバからHTTPサーバへSIPによる通信を行うトランザクションの際に、判定手段のルールに基づいてHTTPサーバがSIPによるリクエストを処理可能か否かを判定する工程と、リクエストを処理可能の場合に第２の送信手段は、SIPのリクエストを第１の受信手段に送信する工程と、リクエストを処理不能と判定した場合は解析処理手段はSIPのリクエストを処理する工程とを含むとよい。
【００１５】
また、HTTPサーバからSIPサーバへリクエストを送信するトランザクションの際に、第１の送信手段はSIPによるリクエストを第２の受信手段に送信する工程と、リクエストのトランザクションに対応する識別情報を記憶手段に格納し、さらにリクエストを解析処理手段に受け渡す工程と、リクエストを解析処理手段が処理する工程とを含むとよい。この場合さらに、HTTPサーバへトランザクションにおけるレスポンスを送信する際に、第２の送信手段は、トランザクションに対応する識別情報が記憶手段に格納されているか否かを判定する工程と、この判定結果に従ってレスポンスの送信を制御する工程とを含むとよい。
【００１６】
【発明の実施の形態】
次に添付図面を参照して本発明による通信システムの実施例を詳細に説明する。
【００１７】
図２を参照すると、LAN 200は、インタネーットプロトコルによるパケット通信が行われるIPネットワークに接続され、LAN 200にはHTTPサーバ210とSIPサーバ220とを含む通信システム230が接続され、さらに、HTTPサーバ210のクライアントになるパソコン240,242が接続され、SIPによる呼制御を行うSIP端末として表示付電話機244,246などがLAN 200に接続されている。
【００１８】
本発明では、HTTPサーバ210およびSIPサーバ220間に２対の通信モジュールを装備し、HTTPサーバ210がSIPメッセージを送信する場合には、一方の１対の通信モジュールを利用してSIPサーバ220に対し処理を依頼し、SIPサーバ220がHTTPサーバ210と通信する場合には、すでにSIPサーバ220にて解析されたSIPメッセージを他方の１対の通信モジュールを利用してHTTPサーバ210に送信する通信システム230が構築されている。このような構成によって、HTTPサーバ210およびSIPサーバ220がそれぞれSIPサーバ220、HTTPサーバ210の機能を実装することなく、それぞれが互いに機能を利用し合うことができる。
【００１９】
本実施例におけるHTTPは、たとえば、RFC-1945およびRFC-2068にて示されたHTTP/1.0およびHTTP/1.1の規定に準拠するプロトコルを採用している。また、SIPは、たとえば、RFC-3261に示されたSIP2.0の規定に準拠するプロトコルを採用している。また、通信システム230にはIPアドレス[192.168.0.1]が設定され、パソコン240,242にはそれぞれIPアドレス[192.168.0.3],[192.168.0.4]が設定され、表示付電話機244,246にはそれぞれIPアドレス[192.168.0.2],[192.168.0.5]が設定されているものとして説明する。
【００２０】
SIPメッセージのうちリクエスト（以下、SIPリクエストと称する）は、図３に示すようなSIPリクエスト・メッセージフォーマットにて構成される。図示するように、SIPリクエスト300は、第一行目にリクエスト行302が配置され、リクエスト行302には、"INVITE"などのリクエストの種類を表すメソッド名と、リクエストの宛先を表すリクエストURIと、プロトコルバージョン（たとえば"SIP2.0"）とが一行に記述されて行末は改行記号で区切られる。
【００２１】
次行にはヘッダ行304が配置され、複数行を使用して、たとえば、各種ヘッダ、コールIDおよびメッセージボディに関する情報等とが記述される。ヘッダ行304の各行の行末にはそれぞれ改行が配置される。ヘッダ行304の最終行の次行には空白行306が配置されて、次のメッセージ・ボディ308とヘッダ行304とが分離される。
【００２２】
SIPメッセージのうちレスポンス（以下、SIPレスポンスと称する）は、図４に示すようなSIPレスポンス・メッセージフォーマットにて構成される。図示するように、SIPレスポンス400は、第一行目にステータス行402が配置され、ステータス行402には、プロトコルバージョンと、ステータスコードと、理由フレーズとが一行に記述されて、行末は改行記号で区切られる。
【００２３】
次行にはヘッダ行404が配置され、複数行を使用して、たとえば、たとえば、各種ヘッダ、コールIDおよびメッセージボディに関する情報等とが記述される。ヘッダ行404の各行の行末にはそれぞれ改行が配置される。ヘッダ行404の最終行の次行には空白行406が配置されて、次のメッセージ・ボディ408とヘッダ行404とを分離する。なお、メッセージ・ボディ408はオプションであるため存在しない場合があり、この場合空白行406を配置しない。
【００２４】
HTTPサーバ210およびSIPサーバ220の詳細構成を図１に示す。HTTPサーバ210は、基本的には、HTTPによるリクエスト（以下、HTTPリクエストと称する）を受信するモジュール10と、HTTPリクエストを構文解析してデータ構造を生成するモジュール12と、設定ファイルにて設定されたプログラムモジュールを起動させ、またHTTPリクエストのデータ構造に対応するプログラムモジュールを読み出して動作させる起動モジュール14と、HTTPリクエストに記述されるURL (Uniform Resource Locater)とプログラムモジュールとを関連付けて、呼び出すプログラムモジュールを対応させる関連付モジュール16と、HTTPによるレスポンス（以下、HTTPレスポンスと称する）を送信するモジュール18とを含む。
【００２５】
さらに本実施例では、HTTPサーバ210とSIPサーバとが連携するために、HTTPサーバ210は、SIPサーバ220内の送信モジュール122から送信されるSIPメッセージを受信する受信モジュール100と、判定ファイル102と、SIPメッセージをSIPサーバ220内の受信モジュール120に送信する送信モジュール104と、SIPメッセージを処理するSIP処理モジュール106とを含む。判定ファイル102は、HTTPサーバにて受付可能なSIPリクエストを判定するためのルール108を記述して記憶管理する。
【００２６】
SIP処理モジュール106は、起動モジュール14および受信モジュール104によって呼び出されて起動し、受信モジュール100にて受信したSIPメッセージを処理し、また、HTTPサーバ210からSIPサーバ220へ送信するSIPメッセージを送信モジュール104に受け渡す処理を行う。SIP処理モジュール106は、たとえば、HTTPメッセージをSIPメッセージに変換する機能を有している。
【００２７】
SIPサーバ220は、送信モジュール104に接続され送信モジュール104から送信されるSIPメッセージを受信する受信モジュール120と、受信モジュール100に接続されSIPメッセージを受信モジュール100に送信する送信モジュール122と、受信モジュール120および送信モジュール122に接続され、SIPメッセージを送受信しSIPメッセージを解析し処理するSIP解析処理モジュール124と、HTTPサーバ210からSIPサーバ220に送信されたSIPリクエストのトランザクションを固有に特定できる識別子(ID)を管理するID管理テーブル126と、SIPリクエストを受け付けて送信するか否かを判定する判定モジュール128とを含む。本実施例における識別子(ID)は、RFC-3261に準拠するSIPサーバ220では、たとえば、SIPメッセージ内に記述されるViaヘッダのbranchタグを識別子(ID)としてID管理テーブル126に格納される。これに限らず識別子(ID)は、SIPトランザクションにおけるSIPリクエストとSIPレスポンスとを一意に特定することができるIDであればよい。
【００２８】
SIP解析処理モジュール124は、特に図示しないが、SIP端末から送信されるSIPメッセージを受信するモジュールと、SIPメッセージを構文解析してデータ構造を生成するモジュールと、SIPメッセージに応じたモジュールにSIPメッセージを受け渡すモジュールと、SIPメッセージを処理するモジュールと、新しく生成したSIPメッセージをSIP端末に送信するモジュールとを含み、端末の代理としてセッションを制御するプロキシサーバ機能を実現している。SIP解析処理モジュール124は、SIPサーバ220からHTTPサーバ210へSIPメッセージを受け渡す際に、そのSIPメッセージをHTTPサーバ210にて処理可能な場合に、SIPメッセージを送信モジュール122に受け渡すことにより、HTTPサーバ210とSIPサーバ220とが連携して動作することができる。SIPメッセージをHTTPサーバ210にて処理不能な場合には、SIPメッセージに対するSIPサーバ220での処理は終了する。
【００２９】
以上のような構成で、本実施例における通信システム230の動作を説明する。なお、以下の説明において各動作に直接関係のある処理ブロックをそれぞれ図示している。
【００３０】
まず、通信システム230の初期化動作を図５を参照して説明する。図示するようにSIPサーバ220において送信モジュール122は、HTTPサーバ210で受付可能なSIPリクエストを判定するルール108を要求するメッセージをHTTPサーバ210の受信モジュール100に送信する（S500）。要求メッセージを受け取った受信モジュール100は、判定ファイル102からルール108を取得して（S502）、SIPサーバ220の送信モジュール122に返送する（S504）。送信モジュール122は、HTTPサーバ210から返送されたルール108に基づいて、HTTPサーバ210で受付可能なSIPリクエストを判定するための判定内容を含む判定モジュール128を生成する（S506）。
【００３１】
この結果、後述するように、SIPサーバ220は、生成された判定モジュール128により、HTTPサーバ210で処理可能なSIPリクエストをあらかじめ判定することができるので、HTTPサーバ210で処理不能なSIPリクエストをHTTPサーバ210に送信するトランザクションを防止することができる。
【００３２】
次にHTTPサーバ210とSIPサーバ220との初期設定が完了した状態における通信システム230の動作を説明する。まず、SIPサーバ220からHTTPサーバ210へSIPリクエストを送信するトランザクションのシステム動作を図６を参照して説明する。同図に示すように、たとえばSIP端末244からSIPサーバ220へ送信されたSIPリクエスト（S600）は、SIP解析処理モジュール124で処理される。SIP解析処理モジュール124は、SIPリクエストを送信モジュール122に受け渡す（S602）。送信モジュール122は、判定モジュール128へSIPリクエストを受け渡し（S604）、判定モジュール128は、このSIPリクエストをHTTPサーバ210に送信するか否かを判定する。
【００３３】
この場合、このSIPリクエストをHTTPサーバ210にて処理可能であると判定されると、送信モジュール122は、SIPリクエストをHTTPサーバ210の受信モジュール100に送信する（S606）。逆に、HTTPサーバ210にて処理不能であると判定された場合には、SIP解析処理モジュール124でSIPリクエストを処理させる（S608）。
【００３４】
HTTPサーバ210の受信モジュール100では、受信したSIPリクエストをSIP処理モジュール106に受け渡し（S610）、SIP処理モジュール106では、あらかじめ指定された処理方法に従ってSIPリクエストを処理する。
【００３５】
次に、SIPサーバ220からHTTPサーバ210へSIPレスポンスを送信するトランザクションの動作を図７を参照して説明する。SIP端末244からSIPサーバ220へ送信されたSIPレスポンス（S700）は、SIP解析処理モジュール124で解析処理される。SIP解析処理モジュール124は、SIPレスポンスを送信モジュール122に渡す（S702）。送信モジュール122は、SIPレスポンスのトランザクションに対応する識別子(ID)がID管理テーブル126に存在するか否かを判定する（S704）。
【００３６】
トランザクションに対応する識別子(ID)がID管理テーブル126に存在した場合には、送信モジュール122は、HTTPサーバ210の受信モジュール100にSIPレスポンスを送信する（S706）。
【００３７】
さらに、送信モジュール122は、SIPレスポンスが最終応答（応答コードが２００番台のレスポンス）である場合には、識別子(ID)をID管理テーブル126から削除する（S708）。また、ID管理テーブル126に格納されている識別子(ID)に対応する最終応答が一定期間内に得られない場合には、自動的にID管理テーブル126からその識別子(ID)を削除する。
【００３８】
SIPレスポンスに対応する識別子(ID)がID管理テーブル126に存在しない場合には送信モジュール122は、SIPメッセージ解析処理モジュール124にてSIPレスポンスを処理させる（S710）。このように送信モジュール122は、トランザクションに対応する識別子(ID)がID管理テーブル126に格納されているか否かに応じてSIPレスポンスの送信を制御する機能を有している。
【００３９】
HTTPサーバ210の受信モジュール100では、受信したSIPレスポンスをSIP処理モジュール106に受け渡し（S712）、SIP処理モジュール106では、あらかじめ指定された処理方法に従ってSIPレスポンスを処理する。
【００４０】
次に、HTTPサーバ210からSIPサーバ220へSIPリクエストを送信するトランザクションの通信システム230の動作を図８を参照して説明すると、HTTPサーバ210のSIP処理モジュール106は、送信モジュール104へSIPリクエストを渡す（S800）。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPリクエストを送信する（S802）。
【００４１】
SIPリクエストを受信した受信モジュール120は、SIPリクエストのトランザクションの識別子(ID)をID管理テーブル126に格納し（S804）、SIP解析処理モジュール124にSIPリクエストを送信する（S806）。SIP解析処理モジュール124はこのSIPリクエストを処理する。
【００４２】
次に、HTTPサーバ210からSIPサーバ220へSIPレスポンスを送信するトランザクションの動作を図９を参照して説明すると、HTTPサーバ210のSIP処理モジュール106は、送信モジュール104へSIPレスポンスを渡す（S900）。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPレスポンスを送信する（S902）。受信モジュール120は、SIP解析処理モジュール124にSIPレスポンスを送信する（S904）。SIP解析処理モジュール124はこのSIPレスポンスを処理する。
【００４３】
以上のように、SIPサーバ220とHTTPサーバ210とには、互いにSIPメッセージを交換するための２対の通信モジュールが導入されて、互いに連携してSIPメッセージやHTTPのメッセージを処理することができる。具体的には、HTTPサーバ210が直接SIPサーバとしてのSIPメッセージを送受信し、解析し、処理する機能を備えない構成であってもSIPメッセージを処理でき、また、SIPサーバ220がHTTPのメッセージを解析および処理する機構を備えなくてもHTTPサーバ210と通信できる。
【００４４】
また、SIPサーバ220に、SIPリクエスト受付判定を行う判定モジュール128を導入しているので、HTTPサーバ210にて処理可能なSIPリクエストをSIPサーバ220であらかじめ判定することができ、このような構成により、HTTPサーバにて処理不能なSIPリクエストをHTTPサーバ210に送る動作を防止することができる。
【００４５】
また、SIPサーバ220に識別子(ID)を管理するID管理テーブル126を導入することにより、HTTPサーバ210にて処理可能なSIPレスポンスをSIPサーバであらかじめ判定することができる。このような構成により、HTTPサーバ210にて処理不能な無効なSIPレスポンスをHTTPサーバ210に送る動作を防止することができる。
【００４６】
さらに具体的動作例を以下に説明する。図５に示した初期化動作が完了している状態である。HTTPサーバ210に対応するクライエントとしてたとえばIPアドレスが"192.168.0.3"が設定されたパソコン240からIPアドレスが"192.168.0.2"が設定された表示付電話機244へテキストメッセージを送信する場合の動作例を説明する。
【００４７】
パソコン240ではWebブラウザが起動しており、WebサーバのあるURLにアクセスする。Webブラウザに表示付電話機244へのリンクが表示されて、そのリンクを選択するとテキストメッセージを入力および送信するためのダイアログがパソコン240に表示される。
【００４８】
ダイアログに所望のテキストメッセージとしてたとえば「Hello」を入力して送信する際にパソコン240は、たとえば図10に例示するようなHTTPリクエストを作成してHTTPサーバ210に送信する。
【００４９】
IPアドレスが"192.168.0.1"が設定されたHTTPサーバ210のモジュール10は、このHTTPリクエストを受信し、モジュール12は、このHTTPリクエストを解析し、関連付モジュール16にて関連付けられて対応するプログラムモジュールに処理を依頼する。
【００５０】
ここで起動モジュール14は、依頼するモジュールとして、SIPメッセージを処理するSIP処理モジュール106を呼び出して起動し、SIP処理モジュール106は、HTTPリクエストに基づいて、たとえば図11に例示するようなSIPリクエストを生成して、SIPリクエストを送信モジュール104に受け渡す。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPリクエストを送信する。
【００５１】
SIPサーバ220は、受信したSIPリクエストに基づいて宛先を解決し、IPアドレス"192.168.0.2"が設定された表示付電話機244へSIPリクエストを送信する。また、SIPサーバ220は、このトランザクションのIDをID管理テーブル126に格納する。
【００５２】
表示付電話機244は、SIPリクエストに従って文字「hello」を画面表示し、たとえば図12に例示するようなSIPレスポンスをSIPサーバ220に送信する。
【００５３】
SIPサーバ220の送信モジュール122は、ID管理テーブル126に格納されているIDを確認すると、HTTPサーバ210の受信モジュール100へSIPレスポンスを送信し、受信モジュール100は、SIP処理モジュールに結果のSIPレスポンスを受け渡す。SIP処理モジュール106は、たとえば図12に例示するようなHTTPレスポンスをSIPレスポンスに基づいて生成し、モジュール18は生成したHTTPレスポンスをパソコン240に送信する。パソコン240側ではこのHTTPレスポンスに基づいて、HTTPリクエストによる「Hello」が表示付電話機244に正常に送られたか否かを認識することができる。
【００５４】
【発明の効果】
このように本発明によれば、第１の送信手段と第２の受信手段とを１対の通信手段とし、第１の受信手段と第２の送信手段とを１対の通信手段とし、これら２対の通信手段により、SIPによるメッセージやHTTPによるメッセージをHTTPサーバとSIPサーバとが互いに機能を利用し合って相互に連携して処理することができる。
【００５５】
また、HTTPサーバのルールに基づいてHTTPサーバにて処理可能なSIPによるメッセージをSIPサーバにてあらかじめ判定することができるので受付不能なSIPのリクエストおよびレスポンスのメッセージを送信することを防止することができる。
【図面の簡単な説明】
【図１】通信システムの機能構成を示すブロック図である。
【図２】本発明が適用された通信システムのネットワーク構成を示す図である。
【図３】  SIPリクエスト・メッセージフォーマットを示す図である。
【図４】  SIPレスポンス・メッセージフォーマットを示す図である。
【図５】通信システムの初期化動作を説明する図である。
【図６】  SIPサーバからHTTPサーバへSIPリクエストを送信する動作を説明する図である。
【図７】  SIPサーバからHTTPサーバへSIPレスポンスを送信する動作を説明する図である。
【図８】  HTTPサーバからSIPサーバへSIPリクエストを送信する動作を説明する図である。
【図９】  HTTPサーバからSIPサーバへSIPレスポンスを送信する動作を説明する図である。
【図１０】  HTTPリクエストの一例を示す図である。
【図１１】  HTTPレスポンスの一例を示す図である。
【図１２】  SIPレスポンスの一例を示す図である。
【図１３】  SIPリクエストの一例を示す図である。
【符号の説明】
100,120  受信モジュール
102  判定ファイル
104,122  送信モジュール
106  SIP処理モジュール
108  ルール
124  SIP解析処理モジュール
126  ID管理テーブル
128  判定モジュール
210  HTTPサーバ（Webサーバ）
220  SIPサーバ
230  通信システム
240,242  パソコン
244,246  表示付電話機（SIP端末）
【図１】
0004196738.tif 000002
【図２】
0004196738.tif 000003
【図３】
0004196738.tif 000004
【図４】
0004196738.tif 000005
【図５】
0004196738.tif 000006
【図６】
0004196738.tif 000007
【図７】
0004196738.tif 000008
【図８】
0004196738.tif 000009
【図９】
0004196738.tif 000010
【図１０】
0004196738.tif 000011
【図１１】
0004196738.tif 000012
【図１２】
0004196738.tif 000013
【図１３】
0004196738.tif 000014