JP4196738B2 - Communications system - Google Patents

Communications system Download PDF

Info

Publication number
JP4196738B2
JP4196738B2 JP2003159505A JP2003159505A JP4196738B2 JP 4196738 B2 JP4196738 B2 JP 4196738B2 JP 2003159505 A JP2003159505 A JP 2003159505A JP 2003159505 A JP2003159505 A JP 2003159505A JP 4196738 B2 JP4196738 B2 JP 4196738B2
Authority
JP
Japan
Prior art keywords
sip
request
server device
http server
http
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
JP2003159505A
Other languages
Japanese (ja)
Other versions
JP2004362236A (en
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003159505A priority Critical patent/JP4196738B2/en
Publication of JP2004362236A publication Critical patent/JP2004362236A/en
Application granted granted Critical
Publication of JP4196738B2 publication Critical patent/JP4196738B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、使用するプロトコルが異なるサーバ間を相互接続する通信システムに係り、たとえば、それぞれ異なるプロトコルにて運用されているHTTPサーバとSIPサーバとを相互接続する通信システムに関するものである。
【0002】
【従来の技術】
近年、情報通信の基盤はIPネットワークに移行してきている。情報ネットワークと通信ネットワークとが融合して、様々なサービスが提供されることが期待され、またその必要性が高まっている。
【0003】
非特許文献1および非特許文献2に記載のHTTP(Hypertext Transfer Protocol)は、クライアント・サーバ方式で通信するためのプロトコルである。WebブラウザなどのHTTPのリクエストを発行することのできるクライアントが処理をサーバに依頼し、HTTPのリクエストを解釈することができるサーバが処理を受け付ける。このようなサーバはWebサーバまたはHTTPサーバなどと呼ばれる。Webサーバは、必要に応じてネットワーク上の資源と通信して、その結果をHTTPのレスポンスとしてクライアントに返送する。
【0004】
また、非特許文献3に記載のSIP(Session Initiation Protocol)は、IPネットワーク上の通信をセッションとして、セッションの開始および終了等を行うための呼制御プロトコルである。端末間は対等であり、端末間にて双方向の通信を行うことができる。SIPのメッセージは、リクエストとレスポンスとがあり、SIPはインターネット技術の標準化組織であるIETF(Internet Engineering Task Force)で標準化されている。
【0005】
【非特許文献1】
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>
【非特許文献2】
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>
【非特許文献3】
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>。
【0006】
【発明が解決しようとする課題】
しかしながら従来のHTTPサーバとSIPサーバとが通信する通信システムでは、たとえばHTTPサーバがSIPを使用して任意のSIPサーバまたはSIP端末と通信する場合、HTTPサーバは、SIPのメッセージ(以下、SIPメッセージと称する)を解釈し、これらを適切に処理する機能をサーバ内に備える必要がある。
【0007】
この場合、SIPメッセージを解釈して適切に処理する機能をHTTPサーバ内に実装するコストが増大する。たとえばソケットなどを用いてSIP端末およびSIPサーバ間でSIPメッセージを送受信する機能や、SIP端末およびSIPサーバから受信したSIPメッセージを解析する機能や、SIPサーバとして正しくSIPメッセージを処理する機能をHTTPサーバに備える必要があった。またこの機能を実装した場合、HTTPサーバとしての処理性能が低下するという問題が発生する。
【0008】
同様にSIPサーバでは、SIPサーバがHTTPクライアントの機能を備える必要があり、この場合、HTTPクライアントの機能をSIPサーバに実装する必要があってコストが増大し、HTTPクライアント機能を実装した場合、SIPサーバとしての処理性能が低下する可能性がある。
【0009】
本発明はこのような従来技術の欠点を解消し、異なるプロトコルで運用されるサーバ間を相互接続する通信システムで、たとえば、HTTPサーバおよびSIPサーバがそれぞれ他方のサーバ機能を実装することなく、それぞれが互いに機能を利用し合うことのできる通信システムを提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明は上述の課題を解決するために、クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバと、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバとを相互接続して通信する通信システムにおいて、HTTPサーバは、HTTPサーバからSIPサーバへSIPにてメッセージを送信する第1の送信手段と、SIPサーバからHTTPサーバへSIPにて送信されるメッセージを受信する第1の受信手段と、SIPによるメッセージを処理するSIP処理手段と、メッセージのうち、HTTPサーバにて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、SIPサーバは、SIPサーバからHTTPサーバへSIPにてメッセージを送信する第2の送信手段と、HTTPサーバからSIPサーバへSIPにて送信されるメッセージを受信する第2の受信手段と、ルールに基づいてHTTPサーバの処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含むことを特徴とする。
【0011】
この場合、第2の送信手段は、第1の受信手段に記憶管理手段にて記憶されているルールを要求し、この要求に応じてHTTPサーバから取得したルールに基づいて判定手段の判定内容を生成する初期化を行うとよい。さらに、SIPサーバからHTTPサーバへSIPによる通信を行うトランザクションの際に、判定手段のルールに基づいてHTTPサーバがSIPによるリクエストを処理可能か否かを判定し、処理可能の場合に第2の送信手段は、SIPのリクエストを第1の受信手段に送信し、処理不能と判定した場合には、解析処理手段にてSIPのリクエストを処理するとよい。
【0012】
また、HTTPサーバからSIPサーバへリクエストを送信するトランザクションの際に、第1の送信手段はSIPによるリクエストを第2の受信手段に送信し、第2の受信手段は、リクエストのトランザクションに対応する識別情報を記憶手段に格納しリクエストを解析処理手段に受け渡し、解析処理手段は、リクエストを処理するとよい。さらに、HTTPサーバへトランザクションにおけるレスポンスを送信する際に、第2の送信手段は、トランザクションに対応する識別情報が記憶手段に格納されているか否かを判定し、判定結果に従ってレスポンスの送信を制御するとよい。
【0013】
また、本発明は上述の課題を解決するために、クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバと、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバとを相互接続して通信する通信方法において、HTTPサーバは、HTTPサーバからSIPサーバへSIPにてメッセージを送信する第1の送信手段と、SIPサーバからHTTPサーバへSIPにて送信されるメッセージを受信する第1の受信手段と、SIPによるメッセージを処理するSIP処理手段と、メッセージのうち、HTTPサーバにて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、SIPサーバは、SIPサーバからHTTPサーバへSIPにてメッセージを送信する第2の送信手段と、HTTPサーバからSIPサーバへSIPにて送信されるメッセージを受信する第2の受信手段と、ルールに基づいてHTTPサーバの処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含み、この方法は、第2の送信手段から第1の受信手段に対し、記憶管理手段にて記憶されているルールを要求する工程と、要求に応じてHTTPサーバから取得したルールに基づいて判定手段の判定内容を生成する工程とを含むことを特徴とする。
【0014】
この場合、SIPサーバからHTTPサーバへSIPによる通信を行うトランザクションの際に、判定手段のルールに基づいてHTTPサーバがSIPによるリクエストを処理可能か否かを判定する工程と、リクエストを処理可能の場合に第2の送信手段は、SIPのリクエストを第1の受信手段に送信する工程と、リクエストを処理不能と判定した場合は解析処理手段はSIPのリクエストを処理する工程とを含むとよい。
【0015】
また、HTTPサーバからSIPサーバへリクエストを送信するトランザクションの際に、第1の送信手段はSIPによるリクエストを第2の受信手段に送信する工程と、リクエストのトランザクションに対応する識別情報を記憶手段に格納し、さらにリクエストを解析処理手段に受け渡す工程と、リクエストを解析処理手段が処理する工程とを含むとよい。この場合さらに、HTTPサーバへトランザクションにおけるレスポンスを送信する際に、第2の送信手段は、トランザクションに対応する識別情報が記憶手段に格納されているか否かを判定する工程と、この判定結果に従ってレスポンスの送信を制御する工程とを含むとよい。
【0016】
【発明の実施の形態】
次に添付図面を参照して本発明による通信システムの実施例を詳細に説明する。
【0017】
図2を参照すると、LAN 200は、インタネーットプロトコルによるパケット通信が行われるIPネットワークに接続され、LAN 200にはHTTPサーバ210とSIPサーバ220とを含む通信システム230が接続され、さらに、HTTPサーバ210のクライアントになるパソコン240,242が接続され、SIPによる呼制御を行うSIP端末として表示付電話機244,246などがLAN 200に接続されている。
【0018】
本発明では、HTTPサーバ210およびSIPサーバ220間に2対の通信モジュールを装備し、HTTPサーバ210がSIPメッセージを送信する場合には、一方の1対の通信モジュールを利用してSIPサーバ220に対し処理を依頼し、SIPサーバ220がHTTPサーバ210と通信する場合には、すでにSIPサーバ220にて解析されたSIPメッセージを他方の1対の通信モジュールを利用してHTTPサーバ210に送信する通信システム230が構築されている。このような構成によって、HTTPサーバ210およびSIPサーバ220がそれぞれSIPサーバ220、HTTPサーバ210の機能を実装することなく、それぞれが互いに機能を利用し合うことができる。
【0019】
本実施例における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]が設定されているものとして説明する。
【0020】
SIPメッセージのうちリクエスト(以下、SIPリクエストと称する)は、図3に示すようなSIPリクエスト・メッセージフォーマットにて構成される。図示するように、SIPリクエスト300は、第一行目にリクエスト行302が配置され、リクエスト行302には、"INVITE"などのリクエストの種類を表すメソッド名と、リクエストの宛先を表すリクエストURIと、プロトコルバージョン(たとえば"SIP2.0")とが一行に記述されて行末は改行記号で区切られる。
【0021】
次行にはヘッダ行304が配置され、複数行を使用して、たとえば、各種ヘッダ、コールIDおよびメッセージボディに関する情報等とが記述される。ヘッダ行304の各行の行末にはそれぞれ改行が配置される。ヘッダ行304の最終行の次行には空白行306が配置されて、次のメッセージ・ボディ308とヘッダ行304とが分離される。
【0022】
SIPメッセージのうちレスポンス(以下、SIPレスポンスと称する)は、図4に示すようなSIPレスポンス・メッセージフォーマットにて構成される。図示するように、SIPレスポンス400は、第一行目にステータス行402が配置され、ステータス行402には、プロトコルバージョンと、ステータスコードと、理由フレーズとが一行に記述されて、行末は改行記号で区切られる。
【0023】
次行にはヘッダ行404が配置され、複数行を使用して、たとえば、たとえば、各種ヘッダ、コールIDおよびメッセージボディに関する情報等とが記述される。ヘッダ行404の各行の行末にはそれぞれ改行が配置される。ヘッダ行404の最終行の次行には空白行406が配置されて、次のメッセージ・ボディ408とヘッダ行404とを分離する。なお、メッセージ・ボディ408はオプションであるため存在しない場合があり、この場合空白行406を配置しない。
【0024】
HTTPサーバ210およびSIPサーバ220の詳細構成を図1に示す。HTTPサーバ210は、基本的には、HTTPによるリクエスト(以下、HTTPリクエストと称する)を受信するモジュール10と、HTTPリクエストを構文解析してデータ構造を生成するモジュール12と、設定ファイルにて設定されたプログラムモジュールを起動させ、またHTTPリクエストのデータ構造に対応するプログラムモジュールを読み出して動作させる起動モジュール14と、HTTPリクエストに記述されるURL (Uniform Resource Locater)とプログラムモジュールとを関連付けて、呼び出すプログラムモジュールを対応させる関連付モジュール16と、HTTPによるレスポンス(以下、HTTPレスポンスと称する)を送信するモジュール18とを含む。
【0025】
さらに本実施例では、HTTPサーバ210とSIPサーバとが連携するために、HTTPサーバ210は、SIPサーバ220内の送信モジュール122から送信されるSIPメッセージを受信する受信モジュール100と、判定ファイル102と、SIPメッセージをSIPサーバ220内の受信モジュール120に送信する送信モジュール104と、SIPメッセージを処理するSIP処理モジュール106とを含む。判定ファイル102は、HTTPサーバにて受付可能なSIPリクエストを判定するためのルール108を記述して記憶管理する。
【0026】
SIP処理モジュール106は、起動モジュール14および受信モジュール104によって呼び出されて起動し、受信モジュール100にて受信したSIPメッセージを処理し、また、HTTPサーバ210からSIPサーバ220へ送信するSIPメッセージを送信モジュール104に受け渡す処理を行う。SIP処理モジュール106は、たとえば、HTTPメッセージをSIPメッセージに変換する機能を有している。
【0027】
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であればよい。
【0028】
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での処理は終了する。
【0029】
以上のような構成で、本実施例における通信システム230の動作を説明する。なお、以下の説明において各動作に直接関係のある処理ブロックをそれぞれ図示している。
【0030】
まず、通信システム230の初期化動作を図5を参照して説明する。図示するように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)。
【0031】
この結果、後述するように、SIPサーバ220は、生成された判定モジュール128により、HTTPサーバ210で処理可能なSIPリクエストをあらかじめ判定することができるので、HTTPサーバ210で処理不能なSIPリクエストをHTTPサーバ210に送信するトランザクションを防止することができる。
【0032】
次にHTTPサーバ210とSIPサーバ220との初期設定が完了した状態における通信システム230の動作を説明する。まず、SIPサーバ220からHTTPサーバ210へSIPリクエストを送信するトランザクションのシステム動作を図6を参照して説明する。同図に示すように、たとえばSIP端末244からSIPサーバ220へ送信されたSIPリクエスト(S600)は、SIP解析処理モジュール124で処理される。SIP解析処理モジュール124は、SIPリクエストを送信モジュール122に受け渡す(S602)。送信モジュール122は、判定モジュール128へSIPリクエストを受け渡し(S604)、判定モジュール128は、このSIPリクエストをHTTPサーバ210に送信するか否かを判定する。
【0033】
この場合、このSIPリクエストをHTTPサーバ210にて処理可能であると判定されると、送信モジュール122は、SIPリクエストをHTTPサーバ210の受信モジュール100に送信する(S606)。逆に、HTTPサーバ210にて処理不能であると判定された場合には、SIP解析処理モジュール124でSIPリクエストを処理させる(S608)。
【0034】
HTTPサーバ210の受信モジュール100では、受信したSIPリクエストをSIP処理モジュール106に受け渡し(S610)、SIP処理モジュール106では、あらかじめ指定された処理方法に従ってSIPリクエストを処理する。
【0035】
次に、SIPサーバ220からHTTPサーバ210へSIPレスポンスを送信するトランザクションの動作を図7を参照して説明する。SIP端末244からSIPサーバ220へ送信されたSIPレスポンス(S700)は、SIP解析処理モジュール124で解析処理される。SIP解析処理モジュール124は、SIPレスポンスを送信モジュール122に渡す(S702)。送信モジュール122は、SIPレスポンスのトランザクションに対応する識別子(ID)がID管理テーブル126に存在するか否かを判定する(S704)。
【0036】
トランザクションに対応する識別子(ID)がID管理テーブル126に存在した場合には、送信モジュール122は、HTTPサーバ210の受信モジュール100にSIPレスポンスを送信する(S706)。
【0037】
さらに、送信モジュール122は、SIPレスポンスが最終応答(応答コードが200番台のレスポンス)である場合には、識別子(ID)をID管理テーブル126から削除する(S708)。また、ID管理テーブル126に格納されている識別子(ID)に対応する最終応答が一定期間内に得られない場合には、自動的にID管理テーブル126からその識別子(ID)を削除する。
【0038】
SIPレスポンスに対応する識別子(ID)がID管理テーブル126に存在しない場合には送信モジュール122は、SIPメッセージ解析処理モジュール124にてSIPレスポンスを処理させる(S710)。このように送信モジュール122は、トランザクションに対応する識別子(ID)がID管理テーブル126に格納されているか否かに応じてSIPレスポンスの送信を制御する機能を有している。
【0039】
HTTPサーバ210の受信モジュール100では、受信したSIPレスポンスをSIP処理モジュール106に受け渡し(S712)、SIP処理モジュール106では、あらかじめ指定された処理方法に従ってSIPレスポンスを処理する。
【0040】
次に、HTTPサーバ210からSIPサーバ220へSIPリクエストを送信するトランザクションの通信システム230の動作を図8を参照して説明すると、HTTPサーバ210のSIP処理モジュール106は、送信モジュール104へSIPリクエストを渡す(S800)。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPリクエストを送信する(S802)。
【0041】
SIPリクエストを受信した受信モジュール120は、SIPリクエストのトランザクションの識別子(ID)をID管理テーブル126に格納し(S804)、SIP解析処理モジュール124にSIPリクエストを送信する(S806)。SIP解析処理モジュール124はこのSIPリクエストを処理する。
【0042】
次に、HTTPサーバ210からSIPサーバ220へSIPレスポンスを送信するトランザクションの動作を図9を参照して説明すると、HTTPサーバ210のSIP処理モジュール106は、送信モジュール104へSIPレスポンスを渡す(S900)。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPレスポンスを送信する(S902)。受信モジュール120は、SIP解析処理モジュール124にSIPレスポンスを送信する(S904)。SIP解析処理モジュール124はこのSIPレスポンスを処理する。
【0043】
以上のように、SIPサーバ220とHTTPサーバ210とには、互いにSIPメッセージを交換するための2対の通信モジュールが導入されて、互いに連携してSIPメッセージやHTTPのメッセージを処理することができる。具体的には、HTTPサーバ210が直接SIPサーバとしてのSIPメッセージを送受信し、解析し、処理する機能を備えない構成であってもSIPメッセージを処理でき、また、SIPサーバ220がHTTPのメッセージを解析および処理する機構を備えなくてもHTTPサーバ210と通信できる。
【0044】
また、SIPサーバ220に、SIPリクエスト受付判定を行う判定モジュール128を導入しているので、HTTPサーバ210にて処理可能なSIPリクエストをSIPサーバ220であらかじめ判定することができ、このような構成により、HTTPサーバにて処理不能なSIPリクエストをHTTPサーバ210に送る動作を防止することができる。
【0045】
また、SIPサーバ220に識別子(ID)を管理するID管理テーブル126を導入することにより、HTTPサーバ210にて処理可能なSIPレスポンスをSIPサーバであらかじめ判定することができる。このような構成により、HTTPサーバ210にて処理不能な無効なSIPレスポンスをHTTPサーバ210に送る動作を防止することができる。
【0046】
さらに具体的動作例を以下に説明する。図5に示した初期化動作が完了している状態である。HTTPサーバ210に対応するクライエントとしてたとえばIPアドレスが"192.168.0.3"が設定されたパソコン240からIPアドレスが"192.168.0.2"が設定された表示付電話機244へテキストメッセージを送信する場合の動作例を説明する。
【0047】
パソコン240ではWebブラウザが起動しており、WebサーバのあるURLにアクセスする。Webブラウザに表示付電話機244へのリンクが表示されて、そのリンクを選択するとテキストメッセージを入力および送信するためのダイアログがパソコン240に表示される。
【0048】
ダイアログに所望のテキストメッセージとしてたとえば「Hello」を入力して送信する際にパソコン240は、たとえば図10に例示するようなHTTPリクエストを作成してHTTPサーバ210に送信する。
【0049】
IPアドレスが"192.168.0.1"が設定されたHTTPサーバ210のモジュール10は、このHTTPリクエストを受信し、モジュール12は、このHTTPリクエストを解析し、関連付モジュール16にて関連付けられて対応するプログラムモジュールに処理を依頼する。
【0050】
ここで起動モジュール14は、依頼するモジュールとして、SIPメッセージを処理するSIP処理モジュール106を呼び出して起動し、SIP処理モジュール106は、HTTPリクエストに基づいて、たとえば図11に例示するようなSIPリクエストを生成して、SIPリクエストを送信モジュール104に受け渡す。送信モジュール104は、SIPサーバ220の受信モジュール120にSIPリクエストを送信する。
【0051】
SIPサーバ220は、受信したSIPリクエストに基づいて宛先を解決し、IPアドレス"192.168.0.2"が設定された表示付電話機244へSIPリクエストを送信する。また、SIPサーバ220は、このトランザクションのIDをID管理テーブル126に格納する。
【0052】
表示付電話機244は、SIPリクエストに従って文字「hello」を画面表示し、たとえば図12に例示するようなSIPレスポンスをSIPサーバ220に送信する。
【0053】
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に正常に送られたか否かを認識することができる。
【0054】
【発明の効果】
このように本発明によれば、第1の送信手段と第2の受信手段とを1対の通信手段とし、第1の受信手段と第2の送信手段とを1対の通信手段とし、これら2対の通信手段により、SIPによるメッセージやHTTPによるメッセージをHTTPサーバとSIPサーバとが互いに機能を利用し合って相互に連携して処理することができる。
【0055】
また、HTTPサーバのルールに基づいてHTTPサーバにて処理可能なSIPによるメッセージをSIPサーバにてあらかじめ判定することができるので受付不能なSIPのリクエストおよびレスポンスのメッセージを送信することを防止することができる。
【図面の簡単な説明】
【図1】通信システムの機能構成を示すブロック図である。
【図2】本発明が適用された通信システムのネットワーク構成を示す図である。
【図3】 SIPリクエスト・メッセージフォーマットを示す図である。
【図4】 SIPレスポンス・メッセージフォーマットを示す図である。
【図5】通信システムの初期化動作を説明する図である。
【図6】 SIPサーバからHTTPサーバへSIPリクエストを送信する動作を説明する図である。
【図7】 SIPサーバからHTTPサーバへSIPレスポンスを送信する動作を説明する図である。
【図8】 HTTPサーバからSIPサーバへSIPリクエストを送信する動作を説明する図である。
【図9】 HTTPサーバからSIPサーバへSIPレスポンスを送信する動作を説明する図である。
【図10】 HTTPリクエストの一例を示す図である。
【図11】 HTTPレスポンスの一例を示す図である。
【図12】 SIPレスポンスの一例を示す図である。
【図13】 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端末)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication system that interconnects servers that use different protocols. For example, the present invention relates to a communication system that interconnects HTTP servers and SIP servers that are operated using different protocols.
[0002]
[Prior art]
In recent years, the information communication infrastructure has shifted to IP networks. An information network and a communication network are expected to be combined to provide various services, and the necessity thereof is increasing.
[0003]
HTTP (Hypertext Transfer Protocol) described in Non-Patent Document 1 and Non-Patent Document 2 is a protocol for communicating by a client-server system. A client that can issue an HTTP request, such as a Web browser, requests the server for processing, and a server that can interpret the HTTP request accepts the processing. Such a server is called a Web server or an HTTP server. The Web server communicates with resources on the network as necessary, and sends the result back to the client as an HTTP response.
[0004]
Further, SIP (Session Initiation Protocol) described in Non-Patent Document 3 is a call control protocol for starting and ending a session using communication on the IP network as a session. The terminals are equal, and bidirectional communication can be performed between the terminals. SIP messages have a request and a response, and SIP is standardized by the Internet Engineering Task Force (IETF), which is an Internet technology standardization organization.
[0005]
[Non-Patent Document 1]
T. Berners-Lee et al. "Hypertext Transfer Protocol / 1.0-HTTP / 1.0", [online], May 1996, Network Working Group, Request for Comments: 1945 (RFC-1945), Category: Informational, [Heisei 15 April 9, 2011 search], Internet <URL: http // www.w3c.org / Protocols / rfc1945 / rfc1945>
[Non-Patent Document 2]
R. Fielding et al. "Hypertext Transfer Protocol / 1.1-HTTP / 1.1", [online], January 1997, Network Working Group, Request for Comments: 2068 (RFC-2068), Category: Standards Track, [2003 Search April 9], Internet <URL: http // www.w3c.org / Protocols / rfc2068 / rfc2068>
[Non-Patent Document 3]
J. Rosenberg et al. "SIP: Session Initiation Protocol", [online], June 2002, Internet Engineering Task Force (IETF) Network Working Group, Request for Comments: 3261 (RFC-3261), Obsoletes: 2543, Category: Standards Track, [Search April 9, 2003], Internet <URL: http // www.ietf.org / rfc / rfc3261.txt>.
[0006]
[Problems to be solved by the invention]
However, in a communication system in which a conventional HTTP server and a SIP server communicate with each other, for example, when the HTTP server communicates with any SIP server or SIP terminal using SIP, the HTTP server transmits a SIP message (hereinafter referred to as a SIP message). It is necessary to have a function in the server for interpreting these and appropriately processing them.
[0007]
In this case, the cost of implementing a function for interpreting the SIP message and appropriately processing it in the HTTP server increases. For example, the HTTP server has a function to send and receive SIP messages between a SIP terminal and a SIP server using a socket, a function to analyze a SIP message received from a SIP terminal and a SIP server, and a function to correctly process a SIP message as a SIP server. It was necessary to prepare for. In addition, when this function is implemented, there is a problem that processing performance as an HTTP server is lowered.
[0008]
Similarly, in the SIP server, the SIP server needs to have the HTTP client function. In this case, if the HTTP client function needs to be implemented in the SIP server, the cost increases. Processing performance as a server may be reduced.
[0009]
The present invention eliminates the disadvantages of the prior art, and is a communication system that interconnects servers operated by different protocols. For example, each of the HTTP server and the SIP server does not implement the other server function, It is an object of the present invention to provide a communication system that can mutually use functions.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention interconnects an HTTP server that communicates with a client using HTTP (Hypertext Transfer Protocol) and a SIP server that performs call control between SIP terminals using SIP (Session Initiation Protocol). In the communication system for communication, the HTTP server receives a first transmission means for transmitting a message from the HTTP server to the SIP server by SIP, and a first reception for receiving a message transmitted from the SIP server to the HTTP server by SIP. Means, a SIP processing means for processing a message by SIP, and a storage management means for storing and managing a rule for judging a SIP request that can be accepted by the HTTP server among the messages. A second sending means for sending a message to the server by SIP; a second receiving means for receiving a message sent from the HTTP server to the SIP server by SIP; and a rule A determination means for determining a SIP request that can be processed by the HTTP server, an analysis processing means for analyzing and processing a SIP message, and a storage means for storing identification information unique to the SIP transaction It is characterized by that.
[0011]
In this case, the second transmission means requests the first reception means for the rules stored in the storage management means, and determines the determination contents of the determination means based on the rules acquired from the HTTP server in response to this request. It is good to perform initialization to generate. Furthermore, in the case of a transaction in which SIP communication is performed from the SIP server to the HTTP server, it is determined whether or not the HTTP server can process the SIP request based on the rules of the determination means. The means may transmit the SIP request to the first receiving means, and if it is determined that the processing is impossible, the analysis processing means may process the SIP request.
[0012]
Further, in the case of a transaction for transmitting a request from the HTTP server to the SIP server, the first transmission unit transmits a request by SIP to the second reception unit, and the second reception unit identifies the request corresponding to the transaction of the request. The information is stored in the storage means, and the request is passed to the analysis processing means. The analysis processing means may process the request. Furthermore, when transmitting the response in the transaction to the HTTP server, the second transmission unit determines whether the identification information corresponding to the transaction is stored in the storage unit, and controls transmission of the response according to the determination result. Good.
[0013]
In order to solve the above-mentioned problems, the present invention interconnects an HTTP server that communicates with a client by HTTP (Hypertext Transfer Protocol) and a SIP server that performs call control between SIP terminals by SIP (Session Initiation Protocol). In the communication method of performing communication, the HTTP server receives a first transmission means for transmitting a message from the HTTP server to the SIP server by SIP, and a first message for receiving the message transmitted from the SIP server to the HTTP server by SIP. Receiving means, SIP processing means for processing a message by SIP, and storage management means for storing and managing a rule for determining a SIP request that can be accepted by an HTTP server among the messages. The SIP server is a SIP server A second sending means for sending a message from the HTTP server to the SIP server by SIP; a second receiving means for receiving a message sent from the HTTP server to the SIP server by SIP; A determination means for determining a SIP request that can be processed by the HTTP server, an analysis processing means for analyzing and processing a SIP message, and a storage means for storing identification information unique to the SIP transaction. Including a step of requesting a rule stored in the storage management unit from the second transmitting unit to the first receiving unit, and a determination based on the rule acquired from the HTTP server in response to the request Generating a determination content of the means.
[0014]
In this case, in the case of a transaction for SIP communication from the SIP server to the HTTP server, a process for determining whether the HTTP server can process the SIP request based on the rules of the determination means, and a case where the request can be processed In addition, the second transmitting means may include a step of transmitting a SIP request to the first receiving means, and a process of processing the SIP request when the analysis processing means determines that the request cannot be processed.
[0015]
Further, in the case of a transaction for transmitting a request from the HTTP server to the SIP server, the first transmitting means transmits the SIP request to the second receiving means, and the identification information corresponding to the request transaction is stored in the storage means. It is preferable to include a step of storing and passing the request to the analysis processing means, and a step of processing the request by the analysis processing means. In this case, when transmitting the response in the transaction to the HTTP server, the second transmission means determines whether or not the identification information corresponding to the transaction is stored in the storage means, and the response according to the determination result. And the step of controlling the transmission of.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a communication system according to the present invention will now be described in detail with reference to the accompanying drawings.
[0017]
Referring to FIG. 2, a LAN 200 is connected to an IP network in which packet communication is performed using an Internet protocol, and a communication system 230 including an HTTP server 210 and a SIP server 220 is connected to the LAN 200. Further, the HTTP server 210 Personal computers 240 and 242 serving as clients of the above are connected, and telephones with displays 244 and 246 and the like are connected to the LAN 200 as SIP terminals for performing call control by SIP.
[0018]
In the present invention, two pairs of communication modules are provided between the HTTP server 210 and the SIP server 220, and when the HTTP server 210 transmits a SIP message, the one pair of communication modules is used to connect to the SIP server 220. When the SIP server 220 communicates with the HTTP server 210 by requesting the processing, the SIP message already analyzed by the SIP server 220 is transmitted to the HTTP server 210 using the other pair of communication modules. A system 230 is built. With this configuration, the HTTP server 210 and the SIP server 220 can use the functions of each other without implementing the functions of the SIP server 220 and the HTTP server 210, respectively.
[0019]
HTTP in this embodiment employs a protocol that complies with the specifications of HTTP / 1.0 and HTTP / 1.1 shown in RFC-1945 and RFC-2068, for example. In addition, for example, SIP adopts a protocol that complies with the rules of SIP 2.0 shown in RFC-3261. The communication system 230 is set with an IP address [192.168.0.1], the personal computers 240 and 242 are set with IP addresses [192.168.0.3] and [192.168.0.4], respectively, and the display telephones 244 and 246 are set with IP addresses [ The following explanation assumes that 192.168.0.2] and [192.168.0.5] are set.
[0020]
A request (hereinafter referred to as a SIP request) in a SIP message is configured in a SIP request message format as shown in FIG. As shown in the figure, in the SIP request 300, a request line 302 is arranged on the first line. The request line 302 includes a method name indicating a request type such as “INVITE”, a request URI indicating a request destination, and the like. The protocol version (for example, “SIP2.0”) is described in one line, and the end of the line is delimited by a line feed symbol.
[0021]
A header line 304 is arranged on the next line, and for example, various headers, call IDs, information on message bodies, etc. are described using a plurality of lines. A line feed is placed at the end of each line of the header line 304. A blank line 306 is arranged next to the last line of the header line 304, and the next message body 308 and the header line 304 are separated.
[0022]
A response (hereinafter referred to as a SIP response) in the SIP message is configured in a SIP response message format as shown in FIG. As shown in the figure, in the SIP response 400, a status line 402 is arranged on the first line, and the protocol line, status code, and reason phrase are described in one line in the status line 402. Separated by.
[0023]
A header line 404 is arranged in the next line, and for example, various headers, call IDs, information on message bodies, and the like are described using a plurality of lines. A line feed is placed at the end of each line of the header line 404. A blank line 406 is arranged on the next line of the last line of the header line 404 to separate the next message body 408 and the header line 404. Note that the message body 408 is optional and may not exist. In this case, the blank line 406 is not arranged.
[0024]
Detailed configurations of the HTTP server 210 and the SIP server 220 are shown in FIG. The HTTP server 210 is basically set in a configuration file, a module 10 that receives an HTTP request (hereinafter referred to as an HTTP request), a module 12 that parses the HTTP request and generates a data structure, and the like. A program that invokes a program module that associates a URL (Uniform Resource Locater) described in the HTTP request with the program module that activates the program module that reads the program module corresponding to the HTTP request data structure and operates. The association module 16 that associates the modules with each other and a module 18 that transmits a response by HTTP (hereinafter referred to as an HTTP response).
[0025]
Further, in this embodiment, since the HTTP server 210 and the SIP server cooperate, the HTTP server 210 receives the SIP message transmitted from the transmission module 122 in the SIP server 220, the determination file 102, , A transmission module 104 that transmits the SIP message to the reception module 120 in the SIP server 220, and a SIP processing module 106 that processes the SIP message. The determination file 102 describes and stores and manages rules 108 for determining SIP requests that can be accepted by the HTTP server.
[0026]
The SIP processing module 106 is invoked and activated by the activation module 14 and the reception module 104, processes the SIP message received by the reception module 100, and transmits a SIP message to be transmitted from the HTTP server 210 to the SIP server 220. Processing to pass to 104 is performed. The SIP processing module 106 has a function of converting an HTTP message into a SIP message, for example.
[0027]
The SIP server 220 is connected to the transmission module 104 and receives a SIP message transmitted from the transmission module 104, a transmission module 122 connected to the reception module 100 and transmits a SIP message to the reception module 100, and a reception module The SIP analysis processing module 124 that is connected to the 120 and the transmission module 122, transmits and receives SIP messages, analyzes and processes the SIP messages, and an identifier that can uniquely identify the transaction of the SIP request transmitted from the HTTP server 210 to the SIP server 220 ( ID management table 126 for managing (ID) and a determination module 128 for determining whether to accept and transmit a SIP request. In the SIP server 220 compliant with RFC-3261, for example, the identifier (ID) in the present embodiment is stored in the ID management table 126 with the branch tag of the Via header described in the SIP message as the identifier (ID), for example. The identifier (ID) is not limited to this and may be any ID that can uniquely identify the SIP request and the SIP response in the SIP transaction.
[0028]
Although not particularly shown, the SIP analysis processing module 124 receives a SIP message from a module that receives a SIP message transmitted from a SIP terminal, a module that parses the SIP message and generates a data structure, and a module according to the SIP message. A proxy server function that controls a session as a proxy for the terminal is realized, including a module for delivering a message, a module for processing a SIP message, and a module for transmitting a newly generated SIP message to a SIP terminal. The SIP analysis processing module 124 passes the SIP message to the transmission module 122 when the SIP message can be processed by the HTTP server 210 when the SIP message is passed from the SIP server 220 to the HTTP server 210. The HTTP server 210 and the SIP server 220 can operate in cooperation. If the SIP message cannot be processed by the HTTP server 210, the processing in the SIP server 220 for the SIP message ends.
[0029]
The operation of the communication system 230 in the present embodiment with the above configuration will be described. In the following description, processing blocks directly related to each operation are illustrated.
[0030]
First, the initialization operation of the communication system 230 will be described with reference to FIG. As shown in the figure, in the SIP server 220, the transmission module 122 transmits a message requesting the rule 108 for determining a SIP request that can be accepted by the HTTP server 210 to the reception module 100 of the HTTP server 210 (S500). Receiving the request message, the receiving module 100 acquires the rule 108 from the determination file 102 (S502), and returns it to the transmitting module 122 of the SIP server 220 (S504). Based on the rule 108 returned from the HTTP server 210, the transmission module 122 generates a determination module 128 including determination contents for determining a SIP request that can be accepted by the HTTP server 210 (S506).
[0031]
As a result, as will be described later, the SIP server 220 can determine in advance the SIP request that can be processed by the HTTP server 210 by the generated determination module 128. Transactions sent to the server 210 can be prevented.
[0032]
Next, the operation of the communication system 230 in a state where the initial settings of the HTTP server 210 and the SIP server 220 are completed will be described. First, a system operation of a transaction for transmitting a SIP request from the SIP server 220 to the HTTP server 210 will be described with reference to FIG. As shown in the figure, for example, a SIP request (S600) transmitted from the SIP terminal 244 to the SIP server 220 is processed by the SIP analysis processing module 124. The SIP analysis processing module 124 passes the SIP request to the transmission module 122 (S602). The transmission module 122 delivers the SIP request to the determination module 128 (S604), and the determination module 128 determines whether to transmit this SIP request to the HTTP server 210.
[0033]
In this case, when it is determined that the SIP request can be processed by the HTTP server 210, the transmission module 122 transmits the SIP request to the reception module 100 of the HTTP server 210 (S606). Conversely, if the HTTP server 210 determines that processing is not possible, the SIP analysis processing module 124 processes the SIP request (S608).
[0034]
The receiving module 100 of the HTTP server 210 passes the received SIP request to the SIP processing module 106 (S610), and the SIP processing module 106 processes the SIP request according to a processing method designated in advance.
[0035]
Next, the operation of a transaction for transmitting a SIP response from the SIP server 220 to the HTTP server 210 will be described with reference to FIG. The SIP response (S700) transmitted from the SIP terminal 244 to the SIP server 220 is analyzed by the SIP analysis processing module 124. The SIP analysis processing module 124 passes the SIP response to the transmission module 122 (S702). The transmission module 122 determines whether or not an identifier (ID) corresponding to the SIP response transaction exists in the ID management table 126 (S704).
[0036]
When the identifier (ID) corresponding to the transaction exists in the ID management table 126, the transmission module 122 transmits a SIP response to the reception module 100 of the HTTP server 210 (S706).
[0037]
Further, when the SIP response is a final response (responses with response codes in the 200s), the transmission module 122 deletes the identifier (ID) from the ID management table 126 (S708). When a final response corresponding to the identifier (ID) stored in the ID management table 126 is not obtained within a certain period, the identifier (ID) is automatically deleted from the ID management table 126.
[0038]
If the identifier (ID) corresponding to the SIP response does not exist in the ID management table 126, the transmission module 122 causes the SIP message analysis processing module 124 to process the SIP response (S710). As described above, the transmission module 122 has a function of controlling the transmission of the SIP response according to whether or not an identifier (ID) corresponding to the transaction is stored in the ID management table 126.
[0039]
The receiving module 100 of the HTTP server 210 passes the received SIP response to the SIP processing module 106 (S712), and the SIP processing module 106 processes the SIP response according to a processing method designated in advance.
[0040]
Next, the operation of the communication system 230 for a transaction for transmitting a SIP request from the HTTP server 210 to the SIP server 220 will be described with reference to FIG. 8. The SIP processing module 106 of the HTTP server 210 sends a SIP request to the transmission module 104. Pass (S800). The transmission module 104 transmits a SIP request to the reception module 120 of the SIP server 220 (S802).
[0041]
The receiving module 120 that has received the SIP request stores the transaction identifier (ID) of the SIP request in the ID management table 126 (S804), and transmits the SIP request to the SIP analysis processing module 124 (S806). The SIP analysis processing module 124 processes this SIP request.
[0042]
Next, the operation of a transaction for transmitting a SIP response from the HTTP server 210 to the SIP server 220 will be described with reference to FIG. 9. The SIP processing module 106 of the HTTP server 210 passes the SIP response to the transmission module 104 (S900). . The transmission module 104 transmits a SIP response to the reception module 120 of the SIP server 220 (S902). The receiving module 120 transmits a SIP response to the SIP analysis processing module 124 (S904). The SIP analysis processing module 124 processes this SIP response.
[0043]
As described above, the SIP server 220 and the HTTP server 210 are installed with two pairs of communication modules for exchanging SIP messages with each other, and can process SIP messages and HTTP messages in cooperation with each other. . Specifically, the HTTP server 210 can directly process a SIP message as a SIP server, and can process the SIP message even if it does not have a function to analyze and process the SIP message. It is possible to communicate with the HTTP server 210 without providing a mechanism for analyzing and processing.
[0044]
In addition, since a determination module 128 that performs SIP request acceptance determination is installed in the SIP server 220, SIP requests that can be processed by the HTTP server 210 can be determined in advance by the SIP server 220. With this configuration, The operation of sending a SIP request that cannot be processed by the HTTP server to the HTTP server 210 can be prevented.
[0045]
Further, by introducing an ID management table 126 for managing identifiers (IDs) into the SIP server 220, SIP responses that can be processed by the HTTP server 210 can be determined in advance by the SIP server. With such a configuration, an operation of sending an invalid SIP response that cannot be processed by the HTTP server 210 to the HTTP server 210 can be prevented.
[0046]
Further specific operation examples will be described below. This is a state in which the initialization operation shown in FIG. 5 has been completed. Operation when a text message is sent as a client corresponding to the HTTP server 210 from a personal computer 240 with an IP address "192.168.0.3" to a display-equipped telephone 244 with an IP address "192.168.0.2" An example will be described.
[0047]
On the personal computer 240, a web browser is activated and accesses a URL with a web server. A link to the telephone with display 244 is displayed on the Web browser, and when the link is selected, a dialog for inputting and transmitting a text message is displayed on the personal computer 240.
[0048]
For example, when inputting “Hello” as a desired text message in the dialog and transmitting it, the personal computer 240 creates an HTTP request as exemplified in FIG. 10 and transmits it to the HTTP server 210.
[0049]
The module 10 of the HTTP server 210 in which the IP address is set to “192.168.0.1” receives this HTTP request, and the module 12 analyzes the HTTP request and associates it with the association module 16 to correspond to the corresponding program. Request the module for processing.
[0050]
Here, the activation module 14 calls and activates the SIP processing module 106 that processes the SIP message as a requesting module, and the SIP processing module 106 makes a SIP request as illustrated in FIG. 11 based on the HTTP request, for example. Generate and pass the SIP request to the transmission module 104. The transmission module 104 transmits the SIP request to the reception module 120 of the SIP server 220.
[0051]
The SIP server 220 resolves the destination based on the received SIP request, and transmits the SIP request to the display-equipped telephone 244 in which the IP address “192.168.0.2” is set. Further, the SIP server 220 stores the ID of this transaction in the ID management table 126.
[0052]
The display-equipped telephone 244 displays the character “hello” on the screen according to the SIP request, and transmits a SIP response as exemplified in FIG. 12 to the SIP server 220, for example.
[0053]
Upon confirming the ID stored in the ID management table 126, the transmission module 122 of the SIP server 220 transmits a SIP response to the reception module 100 of the HTTP server 210, and the reception module 100 sends a SIP response as a result to the SIP processing module. Hand over. For example, the SIP processing module 106 generates an HTTP response as illustrated in FIG. 12 based on the SIP response, and the module 18 transmits the generated HTTP response to the personal computer 240. The personal computer 240 can recognize whether or not “Hello” by the HTTP request has been normally sent to the display-equipped telephone 244 based on the HTTP response.
[0054]
【The invention's effect】
Thus, according to the present invention, the first transmission means and the second reception means are a pair of communication means, the first reception means and the second transmission means are a pair of communication means, and these With two pairs of communication means, a message by SIP or a message by HTTP can be processed by the HTTP server and the SIP server in cooperation with each other using their functions.
[0055]
In addition, SIP messages that can be processed by the HTTP server based on the rules of the HTTP server can be determined in advance by the SIP server, so it is possible to prevent sending unacceptable SIP request and response messages. it can.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a functional configuration of a communication system.
FIG. 2 is a diagram showing a network configuration of a communication system to which the present invention is applied.
FIG. 3 is a diagram showing a SIP request message format.
FIG. 4 is a diagram showing a SIP response message format.
FIG. 5 is a diagram illustrating an initialization operation of a communication system.
FIG. 6 is a diagram illustrating an operation of transmitting a SIP request from a SIP server to an HTTP server.
FIG. 7 is a diagram illustrating an operation of transmitting a SIP response from a SIP server to an HTTP server.
FIG. 8 is a diagram illustrating an operation of transmitting a SIP request from an HTTP server to a SIP server.
FIG. 9 is a diagram illustrating an operation of transmitting a SIP response from an HTTP server to a SIP server.
FIG. 10 is a diagram illustrating an example of an HTTP request.
FIG. 11 is a diagram illustrating an example of an HTTP response.
FIG. 12 is a diagram illustrating an example of a SIP response.
FIG. 13 is a diagram illustrating an example of a SIP request.
[Explanation of symbols]
100,120 receiver module
102 Judgment file
104,122 transmission module
106 SIP processing module
108 rules
124 SIP analysis processing module
126 ID management table
128 judgment module
210 HTTP server (Web server)
220 SIP server
230 Communication System
240,242 PC
244,246 Telephone with display (SIP terminal)

Claims (9)

クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバソフトウエアが導入された HTTP サーバ装置と、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバソフトウエアが導入された SIP サーバ装置とを相互接続して通信する通信システムにおいて、
前記HTTPサーバ装置は、該HTTPサーバ装置から前記SIPサーバへSIPにてメッセージを送信する第1の送信手段と、
前記SIPサーバ装置から該HTTPサーバ装置へSIPにて送信されるメッセージを受信する第1の受信手段と、
前記SIPによるメッセージを処理するSIP処理手段と、
前記メッセージのうち、該HTTPサーバ装置にて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、
前記SIPサーバ装置は、該SIPサーバ装置から前記HTTPサーバ装置へSIPにてメッセージを送信する第2の送信手段と、
前記HTTPサーバ装置から該SIPサーバ装置へSIPにて送信されるメッセージを受信する第2の受信手段と、
前記ルールに基づいて前記HTTPサーバ装置の処理可能なSIPのリクエストを判定するための判定手段と、
SIPによるメッセージを解析して処理する解析処理手段と、
前記SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含むことを特徴とする通信システム。
And HTTP server apparatus HTTP server software has been introduced to communicate by the client and the HTTP (Hypertext Transfer Protocol), SIP server apparatus SIP server software is introduced to perform a call control between SIP terminals by SIP (Session Initiation Protocol) In a communication system for interconnecting and communicating with each other,
The HTTP server device includes a first transmission unit that transmits a message from the HTTP server device to the SIP server by SIP;
First receiving means for receiving a message transmitted by SIP from the SIP server device to the HTTP server device ;
SIP processing means for processing the SIP message;
Among the messages, storage management means for storing and managing rules for determining SIP requests that can be accepted by the HTTP server device ,
The SIP server device includes second transmission means for transmitting a message from the SIP server device to the HTTP server device by SIP;
Second receiving means for receiving a message transmitted by SIP from the HTTP server device to the SIP server device ;
A determination means for determining a request for SIP that can be processed by the HTTP server device based on the rule,
An analysis processing means for analyzing and processing a SIP message;
And a storage means for storing identification information unique to the SIP transaction.
請求項1に記載の通信システムにおいて、前記第2の送信手段は、前記第1の受信手段に前記記憶管理手段にて記憶されているルールを要求し、該要求に応じて前記HTTPサーバ装置から取得したルールに基づいて前記判定手段の判定内容を生成する初期化を行うことを特徴とする通信システム。2. The communication system according to claim 1, wherein the second transmission unit requests a rule stored in the storage management unit to the first reception unit, and from the HTTP server apparatus in response to the request. 3. A communication system characterized by performing initialization for generating determination contents of the determination means based on an acquired rule. 請求項2に記載の通信システムにおいて、前記SIPサーバ装置から前記HTTPサーバ装置へSIPによる通信を行うトランザクションの際に、前記判定手段のルールに基づいて前記HTTPサーバ装置がSIPによるリクエストを処理可能か否かを判定し、処理可能の場合に前記第2の送信手段は、SIPのリクエストを前記第1の受信手段に送信し、処理不能と判定した場合には、前記解析処理手段にてSIPのリクエストを処理することを特徴とする通信システム。3. The communication system according to claim 2, wherein the HTTP server device can process a SIP request based on a rule of the determination unit in a transaction for performing communication by SIP from the SIP server device to the HTTP server device . The second transmission means transmits a SIP request to the first reception means when processing is possible, and when it is determined that processing is impossible, the analysis processing means performs SIP processing. A communication system characterized by processing a request. 請求項1に記載の通信システムにおいて、前記HTTPサーバ装置から前記SIPサーバへリクエストを送信するトランザクションの際に、前記第1の送信手段はSIPによるリクエストを前記第2の受信手段に送信し、
該第2の受信手段は、前記リクエストのトランザクションに対応する識別情報を前記記憶手段に格納し、前記リクエストを前記解析処理手段に受け渡し、
前記解析処理手段は、前記リクエストを処理することを特徴とする通信システム。
The communication system according to claim 1, wherein in a transaction for transmitting a request from the HTTP server device to the SIP server, the first transmission unit transmits a SIP request to the second reception unit.
The second receiving means stores identification information corresponding to the transaction of the request in the storage means, and passes the request to the analysis processing means,
The communication processing system characterized in that the analysis processing means processes the request.
請求項4に記載の通信システムにおいて、前記HTTPサーバ装置へ前記トランザクションにおけるレスポンスを送信する際に、前記第2の送信手段は、前記トランザクションに対応する識別情報が前記記憶手段に格納されているか否かを判定し、該判定結果に従って前記レスポンスの送信を制御することを特徴とする通信システム。5. The communication system according to claim 4, wherein when the response in the transaction is transmitted to the HTTP server device , the second transmission unit determines whether identification information corresponding to the transaction is stored in the storage unit. A communication system that controls transmission of the response according to the determination result. クライアントとHTTP(Hypertext Transfer Protocol)により通信するHTTPサーバソフトウエアが導入された HTTP サーバ装置と、SIP(Session Initiation Protocol)によりSIP端末間の呼制御を行うSIPサーバソフトウエアが導入された SIP サーバ装置とを相互接続して通信する通信方法において、
前記HTTPサーバ装置は、該HTTPサーバ装置から前記SIPサーバ装置へSIPにてメッセージを送信する第1の送信手段と、前記SIPサーバ装置から該HTTPサーバ装置へSIPにて送信されるメッセージを受信する第1の受信手段と、前記SIPによるメッセージを処理するSIP処理手段と、前記メッセージのうち、該HTTPサーバ装置にて受付可能なSIPリクエストを判定するルールを記憶管理する記憶管理手段とを含み、
前記SIPサーバ装置は、該SIPサーバ装置から前記HTTPサーバ装置へSIPにてメッセージを送信する第2の送信手段と、前記HTTPサーバ装置から該SIPサーバ装置へSIPにて送信されるメッセージを受信する第2の受信手段と、前記ルールに基づいて前記HTTPサーバ装置の処理可能なSIPのリクエストを判定するための判定手段と、SIPによるメッセージを解析して処理する解析処理手段と、前記SIPのトランザクションに固有の識別情報を記憶する記憶手段とを含み、該方法は、
前記第2の送信手段から前記第1の受信手段に対し、前記記憶管理手段にて記憶されているルールを要求する工程と、
前記要求に応じて前記HTTPサーバ装置から取得したルールに基づいて前記判定手段の判定内容を生成する工程とを含むことを特徴とする通信方法。
And HTTP server apparatus HTTP server software has been introduced to communicate by the client and the HTTP (Hypertext Transfer Protocol), SIP server apparatus SIP server software is introduced to perform a call control between SIP terminals by SIP (Session Initiation Protocol) In a communication method of interconnecting and communicating with each other,
The HTTP server device receives a first transmission means for transmitting a message in SIP from the HTTP server to the SIP server, a message sent by the SIP from SIP server to the HTTP server A first receiving means; a SIP processing means for processing the SIP message; and a storage management means for storing and managing a rule for determining a SIP request that can be accepted by the HTTP server device among the messages,
The SIP server device receives a second transmission means for transmitting a message from the SIP server device to the HTTP server device by SIP, and a message transmitted from the HTTP server device to the SIP server device by SIP. A second receiving unit; a determining unit for determining a SIP request that can be processed by the HTTP server device based on the rule; an analyzing unit for analyzing and processing a SIP message; and the SIP transaction And storing means for storing identification information unique to said method,
Requesting the rules stored in the storage management means from the second transmitting means to the first receiving means;
Generating a determination content of the determination unit based on a rule acquired from the HTTP server device in response to the request.
請求項6に記載の通信方法において、該方法は、前記SIPサーバ装置から前記HTTPサーバ装置へSIPによる通信を行うトランザクションの際に、前記判定手段のルールに基づいて前記HTTPサーバ装置がSIPによるリクエストを処理可能か否かを判定する工程と、
前記リクエストを処理可能の場合に前記第2の送信手段は、SIPのリクエストを前記第1の受信手段に送信する工程と、
前記リクエストを処理不能と判定した場合は前記解析処理手段はSIPのリクエストを処理する工程とを含むことを特徴とする通信方法。
7. The communication method according to claim 6, wherein the HTTP server device makes a SIP request based on a rule of the determination means in a transaction for performing communication by SIP from the SIP server device to the HTTP server device . Determining whether or not can be processed;
When the request can be processed, the second sending means sends a SIP request to the first receiving means;
A communication method, comprising: a step of processing the SIP request when the request is determined to be unprocessable.
請求項6に記載の通信方法において、前記HTTPサーバ装置から前記SIPサーバ装置へリクエストを送信するトランザクションの際に、前記第1の送信手段はSIPによるリクエストを前記第2の受信手段に送信する工程と、
前記リクエストのトランザクションに対応する識別情報を前記記憶手段に格納し、さらに前記リクエストを前記解析処理手段に受け渡す工程と、
前記リクエストを前記解析処理手段が処理する工程とを含むことを特徴とする通信方法。
7. The communication method according to claim 6, wherein in a transaction for transmitting a request from the HTTP server device to the SIP server device , the first transmission unit transmits a SIP request to the second reception unit. When,
Storing the identification information corresponding to the transaction of the request in the storage means, and further passing the request to the analysis processing means;
And a step of processing the request by the analysis processing means.
請求項8に記載の通信方法において、前記HTTPサーバ装置へ前記トランザクションにおけるレスポンスを送信する際に、前記第2の送信手段は、前記トランザクションに対応する識別情報が前記記憶手段に格納されているか否かを判定する工程と、
該判定結果に従って前記レスポンスの送信を制御する工程とを含むことを特徴とする通信方法。
9. The communication method according to claim 8, wherein when the response in the transaction is transmitted to the HTTP server device , the second transmission unit determines whether identification information corresponding to the transaction is stored in the storage unit. Determining whether or not
And a step of controlling transmission of the response according to the determination result.
JP2003159505A 2003-06-04 2003-06-04 Communications system Expired - Fee Related JP4196738B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003159505A JP4196738B2 (en) 2003-06-04 2003-06-04 Communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003159505A JP4196738B2 (en) 2003-06-04 2003-06-04 Communications system

Publications (2)

Publication Number Publication Date
JP2004362236A JP2004362236A (en) 2004-12-24
JP4196738B2 true JP4196738B2 (en) 2008-12-17

Family

ID=34052545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003159505A Expired - Fee Related JP4196738B2 (en) 2003-06-04 2003-06-04 Communications system

Country Status (1)

Country Link
JP (1) JP4196738B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734925B2 (en) * 2005-01-07 2011-07-27 沖電気工業株式会社 Communications system
KR100824043B1 (en) 2005-04-08 2008-04-21 삼성전자주식회사 Method and system for instant message transmission in mobile communication terminal
US9053461B2 (en) * 2005-10-07 2015-06-09 Yahoo! Inc. Instant messaging interoperability between disparate service providers
JP4767821B2 (en) * 2006-11-16 2011-09-07 日本電信電話株式会社 Service cooperation method, transfer device, and program
JP5419175B2 (en) * 2011-03-30 2014-02-19 Necインフロンティア株式会社 Data communication system, data communication terminal, data communication method, and program

Also Published As

Publication number Publication date
JP2004362236A (en) 2004-12-24

Similar Documents

Publication Publication Date Title
EP1892887B1 (en) Communication method between communication devices and communication apparatus
US6708217B1 (en) Method and system for receiving and demultiplexing multi-modal document content
KR100269909B1 (en) Distributed network computing system and information exchange device/information exchange method for use in the same
US7418485B2 (en) System and method for addressing networked terminals via pseudonym translation
JP3653048B2 (en) Method for managing the transmission of multimedia data over an internet type network, in particular the transmission of telephone data or videophone data, and a smart card for carrying out said method
EP1964349B1 (en) Technique for providing interoperability between different protocol domains
EP2044747B1 (en) Technique for providing access to a media resource attached to a network-registered device
JP4758362B2 (en) Relay device, program, and relay method
EP1653698A1 (en) Improvements In Communication Message Processing
US20140164543A1 (en) Communication System, Application Server and Communication Method for Server Cooperation
WO2006089126A2 (en) Distributed markup and processing apparatus and method
JP4196738B2 (en) Communications system
CN103973648B (en) Application data method for pushing, apparatus and system
US8171147B1 (en) System, method, and/or apparatus for establishing peer-to-peer communication
JP4627506B2 (en) Proxy connection method, proxy server, and program for connecting HTTP compatible terminal to SIP compatible server
KR100865145B1 (en) Peer to peer service method for mobile communication device using wireless application protocol
JP2008219723A (en) Sip service system, apparatus, method and program used therefor
JP4536029B2 (en) Interconnection method and apparatus using communication protocol
CN112202780B (en) Data transmission method, device, equipment and medium based on double sockets
JP2007035053A (en) Method for maintaining session between different-terminals
Gehlen et al. Mobile P2P web services using SIP
Chou et al. WIP: Web service initiation protocol for multimedia and voice communication over IP
CN112559134A (en) Distributed WebSocket cluster construction method, device, system and storage medium
CN1839611A (en) Method for transmitting wap push messages
JP3920791B2 (en) Call connection relay system, call connection relay device and program thereof, call connection request information conversion device and program thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080815

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: 20080909

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: 20080922

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4196738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees