JP4703576B2 - コネクションを維持する装置、方法およびプログラム - Google Patents

コネクションを維持する装置、方法およびプログラム Download PDF

Info

Publication number
JP4703576B2
JP4703576B2 JP2007005845A JP2007005845A JP4703576B2 JP 4703576 B2 JP4703576 B2 JP 4703576B2 JP 2007005845 A JP2007005845 A JP 2007005845A JP 2007005845 A JP2007005845 A JP 2007005845A JP 4703576 B2 JP4703576 B2 JP 4703576B2
Authority
JP
Japan
Prior art keywords
connection
message
condition
sip
terminal
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
JP2007005845A
Other languages
English (en)
Other versions
JP2008172694A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007005845A priority Critical patent/JP4703576B2/ja
Priority to US11/882,712 priority patent/US7984159B2/en
Publication of JP2008172694A publication Critical patent/JP2008172694A/ja
Application granted granted Critical
Publication of JP4703576B2 publication Critical patent/JP4703576B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、中継する通信についてのコネクションを維持する装置、方法およびプログラムに関するものである。
近年、通信装置間に介在し通信を制御・中継するシグナリングプロトコルとしてSIP(Session Initiation Protocol)が広く知られている。SIPを用いた通信システム(SIPシステム)では、端末装置であるSIP端末間の通信仲介サーバ装置としてSIPプロキシが用いられ、SIP端末とSIPプロキシ間を接続するトランスポートプロトコルとして、TLS(Transport Layer Security)プロトコルを用いてセキュリティを確保する方法が一般的である。なお、SIP端末およびSIPプロキシを合わせてSIPエンティティと呼ぶ。
また、SIP端末は特定のSIPプロキシに接続され、SIPメッセージの送受信を行う際は、常にその特定のSIPプロキシを介して行う。このような特定のSIPプロキシをアウトバウンドプロキシという。
例えば、SIP端末AのアウトバウンドプロキシをSIPプロキシA、SIP端末BのアウトバウンドプロキシをSIPプロキシBとすると、SIP端末Aが、SIP端末Bへ宛てたSIPメッセージは、常にSIP端末AからSIPプロキシAおよびSIPプロキシBを経由してSIP端末Bへ転送される。なお、このような通信モデルは、一般にSIP台形通信モデルと呼ばれる。
従来のSIPシステムにおけるSIPエンティティは、SIPにおける基本的なメッセージ交換であるトランザクション期間またはダイアログ期間と、TLSコネクションの維持期間とを同期させていた。
以下にトランザクション期間とTLSコネクションの維持期間との同期に関して具体的に説明する。SIPメッセージ交換は、通常、トランザクションという単位で行われる。トランザクションとは、送信側SIP端末が受信側SIP端末に宛てて送信するSIPリクエストメッセージと、これを受信した受信側SIP端末が送信側SIP端末に宛てて送信するSIPレスポンスメッセージとから構成される。
トランザクション単位でTLSコネクションを維持する場合、各SIPエンティティは、SIPメッセージのトランザクションを識別し、あるSIPリクエストメッセージが送信される際に、それを転送する先となるSIPエンティティとの間にTLSコネクションを確立して維持し、SIPレスポンスメッセージが送信された後に、それを転送した先となるSIPエンティティとの間のTLSコネクションを破棄する。
次に、ダイアログ期間とTLSコネクションの維持期間との同期に関して具体的に説明する。ダイアログとは、SIPメッセージによって送信側SIP端末と受信側SIP端末との間でメディアセッションを開始してから終了するまでのSIP端末間の関係のことを指す。メディアセッションを開始する際には、SIP端末はSIP INVITEメッセージを交換する。メディアセッションを終了する際には、SIP端末は、SIP BYEメッセージを交換する。
ダイアログ単位でTLSコネクションを維持する場合、各SIPエンティティは、SIPのダイアログを識別し、SIP INVITEメッセージ交換の際に、それを転送する先となるSIPエンティティとの間にTLSコネクションを確立し、ダイアログの間TLSコネクションを維持し、SIP BYEメッセージを交換した後に、それを転送した先となるSIPエンティティとの間のTLSコネクションを破棄する。
従来は、このような方法により、TLSコネクションの維持期間とSIPメッセージのトランザクション期間またはダイアログ期間とが同期していた。
TLSコネクションを確立するとメモリなどの計算リソースを消費するため、特に多数のSIP端末と接続するSIPプロキシは、SIP端末との間で確立した全てのTLSコネクションを維持することができない場合がある。反対に、TLSコネクションの確立には時間がかかるため、SIPメッセージの転送遅延を削減するためには、可能な限りTLSコネクションは維持することが望ましい。このように、TLSコネクションの確立に関しては、リソース消費量低減と転送遅延削減との間でトレードオフの関係がある。
例えば、接続されるSIP端末が少ないSIPプロキシの場合、リソース消費量の問題が存在しないため、あるトランザクションまたはダイアログが終了しても、そのままTLSコネクションを維持しておくことも可能であり、このような実装も多く見られる。
一方、一つのSIPプロキシに多数のSIP端末が接続される場合、各SIP端末のSIPアプリケーションの使用状況によっては、SIPプロキシが全てのTLSコネクションを維持することができない場合がある。この場合、SIPプロキシは、維持しているTLSコネクションのうち、例えば最も使用頻度の低いTLSコネクションを選択し、これを破棄するなどの処理を行う。これにより、使用頻度の高いTLSコネクションを維持することができる。
非特許文献1では、所定の期間、コネクションを維持すべきこと、およびSIPメッセージを送信するトランスポートにおいてコネクションが破棄されていた場合は新たにコネクションを確立することが規定されている。具体的には、SIPメッセージを転送するためのトランスポート(TCPまたはTLSコネクション)の維持に関しては、コネクション上で最後のメッセージを送受信した後も、64×T1秒間、そのコネクションを維持することが望ましいことが示されている。ここで、T1とは、RTT(Round Trip Time)の予測値であり、そのデフォルト値は500msである。
また、SIPレスポンスメッセージを送信する際、SIPリクエストメッセージを送信した時に確立したトランスポートのコネクションを利用して転送し、そのコネクションが既に破棄されていた場合は、新たにコネクションを確立することが示されている。
なお、あるSIPエンティティが特定のTLSコネクションの維持を所望する場合、接続しているSIPエンティティに対してkeep−aliveメッセージを送信する方法などにより、接続しているSIPエンティティにコネクションの維持を要求することが可能である。
J. Rosenberg et al.、 "RFC 3261、 SIP: Session Initiation Protocol"、 [online]、June 2002、 retrieved from the Internet: <URL: http://www.ietf.org/rfc/rfc3261.txt>
しかしながら、非特許文献1などの方法では、SIP台形通信モデルのSIPエンティティ間のすべての経路のコネクションを適切に維持できないという問題があった。例えば、keep−aliveメッセージを送信する方法は、主に2つのSIPエンティティ間の単独のTLSコネクションを維持することを意図するものである。このため、上述のようなSIP台形通信モデルの4つのSIPエンティティ間で確立される3つのTLSコネクションのすべての維持を要求することができなかった。
また、keep−aliveメッセージを利用する方法は、余分なトラフィックを発生させるため、複数のSIP端末が接続されるSIPプロキシなどでは利用できないことも問題となる。
さらに、維持するTLSコネクションの選択を使用頻度のみによって決定する方法では、単純に使用頻度により維持するTLSコネクションを決定すべきでない場合には適切にコネクションの維持を行うことができない。例えば、使用頻度は低いが、高い応答性が必要なSIPアプリケーションのトランザクションまたはダイアログが破棄され、不必要なTLSコネクションが維持される場合があった。
本発明は、上記に鑑みてなされたものであって、複数の装置を経由するコネクションを適切に維持することができる装置、方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、第1端末から受信したメッセージを中継装置を介して第2端末に中継し、前記第2端末から送信されたメッセージを前記中継装置を介して受信して前記第1端末に中継するサーバ装置であって、リソースの使用状況を管理するリソース管理部と、前記第1端末と前記第2端末との間でメッセージを中継するためのコネクションを維持するための第1条件を含む第1メッセージを前記第1端末から受信する受信部と、受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記コネクションを維持するために許可する第1コネクション維持条件を決定する決定部と前記第1メッセージに前記第1コネクション維持条件を追加する追加部と、前記第1コネクション維持条件が追加された前記第1メッセージを前記第2端末に中継するために、前記中継装置に送信する送信部と、決定された前記第1コネクション維持条件で前記コネクションを維持する維持部と、を備えたことを特徴とする。
また、本発明は、上記装置を実行することができる方法およびプログラムである。
また、本発明は、中継装置を介して外部端末と通信する端末装置であって、リソースの使用状況を管理するリソース管理部と、前記使用状況に基づいて、前記外部端末との間でメッセージを中継するためのコネクションを維持するために許可する第1コネクション維持条件を決定する決定部と、決定された前記第1コネクション維持条件を含む第1メッセージを前記中継装置に送信する送信部と、前記第1メッセージに対する応答として前記外部端末から送信されたメッセージであって、前記コネクションを維持するために前記外部端末および前記中継装置の少なくとも一方が要求した第2条件を含む第2メッセージを前記中継装置から受信する受信部と、を備え、前記決定部は、受信した前記第2条件に基づいて、さらに前記コネクションを維持するために許可する第2コネクション維持条件を決定すること、を備えたことを特徴とする。
本発明によれば、端末上のアプリケーションの要求に応じて、システム全体で適切なコネクションを維持することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるコネクションを維持する装置、方法およびプログラムの最良な実施の形態を詳細に説明する。
上述のように、従来の方法では、SIPエンティティ間のすべての経路のコネクションを適切に維持できないという問題があった。具体的には、例えば以下のような問題が生じていた。
まず、高い応答性を得るためにTLSコネクションを維持することを考えると、送信側または受信側のSIP端末のアプリケーションの種別や要求に依存して、TLSコネクションの維持と破棄が決定されることが望ましい。
例えば、テキストメッセージの交換を行うアプリケーションにより特定のSIP端末間でテキストメッセージを送受信する場合、そのメッセージを転送するトランザクションのためのTLSコネクションは、アプリケーションの応答性を高めるために、経由する全ての装置間で維持されていることが望まれる。
一方、システムを構成する全ての端末に対してテキストメッセージを同報通信する場合、全ての端末との間のTLSコネクションを維持することに意味はないため、TLSコネクションは、トランザクションが終了したら即座に破棄されることが望まれる。
しかし、従来の方法では、上記のようなアプリケーションの個別の要求に対応してTLSコネクションの維持期間を判断することができなかった。
また、SIPメッセージが交換される送信側SIP端末、SIPメッセージを中継する2つのSIPプロキシ、および受信側SIP端末の間でそれぞれ確立される、計3つのTLSコネクションを維持する必要がある。このため、TLSコネクションの維持または破棄は、あるSIPエンティティ単独で決定するのではなく、他のSIPエンティティ間のTLSコネクションの維持状況も考慮して決定することが望ましいが、従来はそれを実現する具体的方法が存在しなかった。
このような問題を解決するため、本実施の形態にかかるサーバ装置は、端末装置からコネクションの維持を要求する維持条件を含むメッセージを受信し、自装置のリソース使用状況から当該維持条件を許可できるか否かを判断し、判断結果をさらにメッセージの中継先である外部装置に転送するものである。
図1は、本実施の形態にかかるサーバ装置であるSIPプロキシ100を含む通信システム全体の構成を示すブロック図である。同図に示すように、本実施の形態の通信システムは、複数のSIPプロキシ100a、100bと、複数のSIP端末200a、200b、200c、200d、200e、200x、200y、200zとを含んでいる。
すなわち、SIP端末200のうちいずれか2つをそれぞれ送信端末および受信端末とし、2つのSIPプロキシ100a、100bを経由して通信を行う、SIP台形通信モデルを形成している。なお、SIPプロキシ100a、100bは同様の機能を備えるため、以下では単にSIPプロキシ100という場合がある。同様に、SIP端末200a〜200zを、単にSIP端末200という場合がある。ただし図1は、SIPエンティティの物理的な接続を示すものではなく、SIPメッセージの交換を行う関係を図示したものである。
なお、以下ではこのようにSIPを用いたSIPシステムを例に本実施の形態を説明するが、適用可能なシステムはSIPシステムに限られず、複数の装置を経由して端末間でメッセージを送受信する形態のシステムであればあらゆる通信システムに本実施の形態の手法を適用できる。
SIPプロキシ100は、SIPメッセージをSIP端末200間で転送する中継サーバである。SIP端末200は特定のSIPプロキシ100をアウトバウンドプロキシとして選択する。そして、SIP端末200は、常にアウトバウンドプロキシを介してSIPメッセージの送受信を行う。
なお、SIPプロキシ100aとSIPプロキシ100bとの間のTLSコネクションは、そのダイアログの受信側SIP端末200と送信側SIP端末200のペアごとに新規に確立してもよい。また、単独のTLSコネクションを確立し、このTLSコネクションにより全てのSIPメッセージを転送するように構成してもよい。SIPプロキシ100の構成の詳細については後述する。
SIP端末200は、シグナリングプロトコルとしてSIPを使用するSIPアプリケーションを動作させる端末装置である。SIPアプリケーションとしては、典型的には、高機能IP電話端末やテキストメッセージサービスのクライアントソフトウェアが該当する。SIP端末200の構成の詳細については後述する。
次に、SIPプロキシ100の構成の詳細について説明する。図2は、SIPプロキシ100の詳細な構成を示すブロック図である。同図に示すように、SIPプロキシ100は、記憶部120と、受信部101と、送信部102と、リソース管理部111と、決定部112と、コネクション管理部113と、メッセージ処理部114とを備えている。
記憶部120は、TLSコネクションを維持する処理で参照する各種情報を記憶するものであり、メソッド条件テーブル121と、時間条件テーブル122と、メッセージ数条件テーブル123と、コネクション管理テーブル124とを格納している。
なお、メソッド条件テーブル121、時間条件テーブル122、およびメッセージ数条件テーブル123は、後述する決定部112が決定したTLSコネクション維持のための条件をそれぞれ記憶するテーブルである。各テーブルの格納する情報を、1つの条件テーブルにまとめて記憶するように構成してもよいし、このうちの一部のみを記憶するように構成してもよい。
メソッド条件テーブル121は、SIPで実行されるメソッドによって定められたTLSコネクション維持のための条件(SIPメソッド条件)を記憶するものである。図3は、メソッド条件テーブル121のデータ構造の一例を示す説明図である。
同図に示すように、メソッド条件テーブル121は、接続するSIPエンティティのアドレスおよびポートを表す接続先と、TLSコネクションを破棄する条件とするSIPメソッド条件とを格納する。例えば、最初のレコードでは、「proxyB.example.com:5061」で特定されるSIPプロキシ100に対して、SIPのBYEメッセージの転送が完了するまではTLSコネクションを維持するSIPメソッド条件が指定されている。
時間条件テーブル122は、TLSコネクションの維持時間によって定められたTLSコネクション維持のための条件(時間条件)を記憶するものである。図4は、時間条件テーブル122のデータ構造の一例を示す説明図である。
同図に示すように、時間条件テーブル122は、接続先と、TLSコネクションの維持時間を定めた時間条件とを格納する。例えば、最初のレコードでは、TLSコネクション確立から3600秒経過時まではTLSコネクションを維持する時間条件が指定されている。
メッセージ数条件テーブル123は、TLSコネクションによって送受信されたSIPメッセージ数によって定められたTLSコネクション維持のための条件(SIPメッセージ数条件)を記憶するものである。図5は、メッセージ数条件テーブル123のデータ構造の一例を示す説明図である。
同図に示すように、メッセージ数条件テーブル123は、接続先と、TLSコネクションを破棄する閾値となる転送メッセージの個数を定めたSIPメッセージ数条件とを格納する。例えば、最初のレコードでは、確立したTLSコネクションによって500個のメッセージが送受信されるまでは、TLSコネクションを維持するSIPメッセージ数条件が指定されている。
コネクション管理テーブル124は、維持しているTLSコネクションに関する情報を格納するものである。図6は、コネクション管理テーブル124のデータ構造の一例を示す説明図である。
同図に示すように、コネクション管理テーブル124は、TLSコネクションに関する情報として、接続先と、TLSコネクションを識別するためのTLSコネクションIDと、トランザクションを識別するためのトランザクションIDと、ダイアログを識別するためのダイアログIDと、使用頻度と、TLSコネクションの開始時刻と、TLSコネクションにより送受信されたメッセージ数とを対応づけて記憶している。
使用頻度は、例えば、そのTLSコネクションを利用してパケットが送信されたときに更新される。また、開始時刻は、コネクションの維持条件が時間条件で指定されているときに、コネクション開始から経過した時間を算出して時間条件を満たすか否かを判定するために参照される。同様に、メッセージ数は、コネクションの維持条件がSIPメッセージ数条件で指定されているときに、コネクションによって送受信されたメッセージ数が指定された条件を超えていないか判定するために参照される。
なお、記憶部120は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
受信部101は、SIP端末200または他のSIPプロキシ100などの、他のSIPエンティティからSIPメッセージを含むパケットを受信するものである。また、受信部101は、パケットを受信するときに利用するTLSコネクションを、コネクション管理部113を用いて特定する。また、パケットを受信する際に新たにTLSコネクションを作成する必要がある場合は、受信部101はコネクション管理部113に依頼して新たにTLSコネクションを作成する。
送信部102は、他のSIPエンティティに対してSIPメッセージを含むパケットを送信するものである。また、送信部102は、パケットを送信するときに利用するTLSコネクションを、コネクション管理部113を用いて特定する。また、パケットを送信する際に新たにTLSコネクションを作成する必要がある場合は、送信部102はコネクション管理部113に依頼して新たにTLSコネクションを作成する。
リソース管理部111は、TLSコネクションの確立に使用する計算リソースの使用状況を管理するものである。特に、リソース管理部111は、TLSコネクションによるメモリ使用量を管理する。なお、管理する計算リソースはメモリ使用量に限られず、CPU(Central Processing Unit)利用率などのあらゆる計算リソースが管理対象となりうる。
決定部112は、SIPエンティティから通知されたSIPメッセージのヘッダから、後述するメッセージ処理部114によって抽出されたコネクション維持条件の要求と、自装置のリソース使用状況とから、自装置がTLSコネクション維持のために許可できる条件を決定するものである。決定部112は、リソース使用状況からコネクションを維持できないと判断したときは、コネクションを維持しないことを決定する場合もある。
コネクション管理部113は、パケット送受信の際に使用するTLSコネクションの管理を行うものであり、維持部113aと、破棄部113bとを備えている。
維持部113aは、決定部112によりTLSコネクションを維持することが決定された場合に、決定された条件にしたがってTLSコネクションの維持を行うものである。TLSコネクション維持のための方法は従来から用いられているあらゆる方法を適用できる。例えば、コネクション管理テーブル124の使用頻度を参照し、使用頻度の低いTLSコネクションを破棄する機能が備えられている場合には、使用頻度が高くなるように当該テーブルを定期的に更新することによりコネクションの破棄を回避するように構成できる。
破棄部113bは、決定部112によりTLSコネクションを維持しないことが決定された場合や、維持のための条件が満たされなくなったときに、TLSコネクションの破棄を行うものである。
また、破棄部113bは、リソース管理部111からメモリ使用量が逼迫していることの通知を受けたときに、現在管理しているTLSコネクションのうち、使用頻度が最も低いコネクションなどを選択して、選択したコネクションを破棄する機能を備えてもよい。
なお、コネクション管理部113は、受信部101または送信部102から新規TLSコネクションの作成依頼を受けた場合は、新たにTLSコネクションを作成する機能を有する。
メッセージ処理部114は、SIPプロトコル仕様に従って、送受信するSIPメッセージに関する各種処理を実行するものである。具体的には、メッセージ処理部114は、受信部101からSIPメッセージを受け取り、これを転送するためにSIPプロトコル仕様に従ってSIPメッセージのヘッダを再構成する。また、メッセージ処理部114は、再構成したSIPメッセージを、送信先のSIPエンティティに転送するために送信部102に送出する。
また、メッセージ処理部114は、SIPプロトコル仕様に従い、ダイアログまたはトランザクションが完了した際、そのT1×64秒後に、コネクション管理部113に対してコネクションの破棄を指示することもできる。T1は上述のようにRTTの予測値であり、デフォルト値は500msである。
本実施の形態のメッセージ処理部114は、本実施の形態のために拡張したSIPプロトコルフォーマットに従って、SIPメッセージのヘッダを構成する機能をさらに有する。特に、転送するSIPメッセージのヘッダに、自装置のリソース使用状況等から決定部112により決定された維持条件を追加する追加部114aを備えている。SIPプロトコルフォーマットの拡張の詳細については後述する。
次に、SIP端末200の構成の詳細について説明する。図7は、SIP端末200の詳細な構成を示すブロック図である。同図に示すように、SIP端末200は、記憶部120と、受信部101と、送信部102と、リソース管理部111と、決定部212と、コネクション管理部113と、メッセージ処理部214と、アプリケーション部215とを備えている。
記憶部120、受信部101、送信部102、リソース管理部111、およびコネクション管理部113の機能は、SIPプロキシ100の各構成部の機能と同様であるため、同一符号を付し、ここでの説明は省略する。
決定部212は、後述するアプリケーション部215が要求したTLSコネクションの維持条件と、自装置のリソース使用状況とから、当該維持条件を許可できるか否かを決定するものである。また、決定部212は、他のSIP端末200から維持条件を含むSIPメッセージを受信した場合は、受信した維持条件と、自装置のリソース使用状況とから当該維持条件を許可できるか否かを決定する。
さらに、決定部212は、処理の開始時に決定した維持条件を含むSIPメッセージに対して他のエンティティが応答したSIPメッセージ内の維持条件を参照して、開始時に決定した維持条件を変更することを決定する場合もある。
メッセージ処理部214は、SIPプロキシ100のメッセージ処理部114と同様に、SIPプロトコル仕様に従って、送受信するSIPメッセージに関する各種処理を実行するものである。具体的には、メッセージ処理部214は、アプリケーション部215からアプリケーションを動作させるために必要なSIPメッセージの構成の依頼を受けて、SIPメッセージのヘッダおよびボディを構成する。また、メッセージ処理部214は、このように構成したSIPメッセージを送信部102に送出する。
また、メッセージ処理部214は、受信部101が受信したSIPメッセージを受け取り、受け取ったSIPメッセージのヘッダおよびボディの構成を解釈する。そして、メッセージ処理部214は、解釈したSIPメッセージの内容のうち必要な情報をアプリケーション部215に通知する。
さらに、本実施の形態のメッセージ処理部214は、SIPプロキシ100のメッセージ処理部114と同様に、拡張したSIPプロトコルフォーマットに従って、SIPメッセージのヘッダを構成する機能をさらに有する。このため、メッセージ処理部214は、SIPプロキシ100のメッセージ処理部114内の追加部114aと同様の機能を有する追加部214aを備えている。
アプリケーション部215は、IP電話やテキストメッセージサービスなどのSIPアプリケーションを実行するものである。アプリケーション部215は、例えば、図示しない表示装置などのユーザインターフェースを介してユーザに当該SIPアプリケーションの各種機能を提供する。
次に、本実施の形態を実現するために拡張されたSIPプロトコルフォーマットの一例について、図8〜図13を用いて説明する。
なお、図8〜図10は、SIP端末200aから、SIPプロキシ100aおよびSIPプロキシ100bを介して、SIP端末200bに送信および転送される各SIP Inviteリクエストの一例である。また、図11〜図13は、当該SIP Inviteリクエストに対する応答であって、SIP端末200bから、SIPプロキシ100bおよびSIPプロキシ100aを介して、SIP端末200aに送信および転送される各SIP Inviteレスポンスの一例である。
このように、以下ではSIP Inviteリクエストおよびレスポンスを例に説明するが、拡張すべきSIPメッセージはこれに限られるものではない。
まず、拡張したSIPメッセージは、本実施の形態の拡張機能を扱うSIPメッセージであることをSIPエンティティに識別させるための値を含む。これは例えば、SIPメッセージの「Require」ヘッダおよび「Proxy-Require」ヘッダに、本拡張機能を表す識別子として、「CONN-STAT」オプションタグを定義して含めることで実現可能である。
SIPメッセージを受信したSIPエンティティは、「Require」ヘッダまたは「Proxy-Require」ヘッダに、「CONN-STAT」タグが含まれている場合、そのSIPメッセージの送信元であるSIPエンティティが、本拡張機能を利用していることを識別する。また、本拡張機能に対応していない従来のSIPエンティティは、識別不可能な値が「Require」ヘッダまたは「Proxy-Require」ヘッダに含まれていることを検出すると、理解できない拡張機能を受け取った旨のSIPレスポンスメッセージをSIPプロトコル仕様に従って作成し、送信元のSIPエンティティに対して送信する。
さらに、拡張したSIPメッセージは、送信元のSIP端末200が、当該SIPメッセージの交換に伴って確立させるTLSコネクションに対して要求する維持条件を、当該SIPメッセージが経由する全てのSIPプロキシ100および送信先のSIP端末200に対して通知するための変数を含む。
これは例えば、SIPメッセージの「Request-URI」および「To」ヘッダフィールドのSIP−URIに、TLSコネクションの維持条件要求を記述するパラメタを定義して付加することで実現可能である。例えば、付加するパラメタとして、「conn-stat-req」を定義し、その値として、TLSコネクションを維持する条件を記述する。
例えば、500のSIPメッセージを転送する間、TLSコネクションを維持することを要求する場合は、「conn-stat-req=cont 500 Messages」のような形式で条件を記述できる。また、例えば、次にSIP BYEメッセージを転送するまでTLSコネクション維持することを要求する場合は、「conn-stat-req=cont until BYE」のように条件を記述できる。また、例えば、3600秒間、TLSコネクションを維持することを要求する場合は、「conn-stat-req=cont 3600 sec.」のように条件を記述することができる。
SIPメッセージを受信したSIPエンティティは、指定されたパラメタ「conn-stat-req」の値を参照することで、このSIPメッセージを送信したSIP端末200が、当該SIPメッセージを転送するために利用するTLSコネクションの維持条件に関してどのような要求を通知しているかを識別することができる。
図8は、SIP端末200aからSIPプロキシ100aに送信されるSIP Inviteリクエストの一例を示す説明図である。同図に示すように、拡張されたSIP Inviteリクエストには、維持条件要求801、802(conn-stat-req=cont 500 Messages)が付加されている。また、本拡張機能を含むことを表す識別子として、「Require」ヘッダおよび「Proxy-Require」ヘッダに、それぞれオプションタグ803(CONN-STAT)およびオプションタグ804(CONN-STAT)が付加されている。
以上は、送信元のSIP端末200が作成して送信するSIPメッセージの拡張を表している。これに加え、拡張したSIPメッセージは、SIPメッセージの中継を行う複数のSIPプロキシ100や送信先のSIP端末200が、送信元のSIP端末200が要求したTLSコネクション維持条件に対する応答状況を、転送するその他の複数のSIPエンティティに対して通知するための値を含む。維持条件要求に対する応答状況とは、当該要求を元に判断した、許可できる維持条件や、当該要求を受入れられないことを表す情報(拒絶情報)を意味する。
例えば、応答状況を記述するためのヘッダとして、「Conn-cont」ヘッダを定義してSIPメッセージに含めることで実現可能である。記述の方法としては、そのSIPエンティティのFQDN(Fully Qualified Domain Name)と、利用しているトランスポートの種別(TLSなど)と、応答状況とを、SIPエンティティごとに記述する方法などを用いることができる。
例えば、SIPメッセージ送信元の維持条件要求の通りにTLSコネクションを維持することを許可する場合は、「Conn-cont:SIP/2.0/TLS proxyA.example.com cont ok」のように記述することができる。なお、「ok」の代わりに、要求と同じ維持条件を記述するように構成してもよい。
また、例えば、SIPメッセージ送信元の維持条件要求の通りにはTLSコネクションの維持ができないが、記述した別の条件でTLSコネクションを維持することを許可する場合は、「Conn-cont: SIP/2.0/TLS proxyB.example.com cont 400 Messages」のように記述することができる。この例は、維持条件要求は「cont 500 Messages」であったが、維持条件を厳しくして(400のSIPメッセージを転送する間、TLSコネクションを維持する)許可する場合を表している。
また、例えば、SIPメッセージ送信元の維持条件要求を許可できない場合には、「Conn-cont:SIP/2.0/TLS procyC.example.com cont ng」などのような形式の拒絶情報を記述することができる。
図9は、SIPプロキシ100aからSIPプロキシ100bに転送されるSIP Inviteリクエストの一例を示す説明図である。同図に示すように、メッセージを転送する場合、拡張されたSIP Inviteリクエストには、SIPプロキシ100bの応答状況を記述するための「Conn-cont」ヘッダとその値を含む行901が追加されている。
図10は、SIPプロキシ100bから送信先であるSIP端末200bに転送されるSIP Inviteリクエストの一例を示す説明図である。同図に示すように、拡張されたSIP Inviteリクエストには、さらにSIPプロキシ100bの応答状況を記述するための「Conn-cont」ヘッダとその値を含む行1001が追加されている。このように、拡張されたSIPメッセージでは、メッセージが転送されるたびに転送するSIPエンティティの応答状況を記述する情報が付加される。
図11は、図10のようなSIP Inviteリクエストを受信したSIP端末200bが応答メッセージとして作成し、SIPプロキシ100bに送信したSIP Inviteレスポンスの一例を示す説明図である。図11に示すように、拡張されたSIP Inviteレスポンスには、SIP Inviteリクエストを中継した各SIPプロキシ100の応答状況1101と、SIP端末200bが自装置のリソース使用状況を元に判断して追加した応答状況1102とが含まれる。
図12は、SIPプロキシ100bからSIPプロキシ100aに転送されるSIP Inviteレスポンスの一例を示す説明図である。同図に示すように、レスポンスとして転送されるSIPメッセージには、原則として新たな「Conn-cont」ヘッダは追加されない。ただし、送信元のSIP端末200bの応答状況1201を参照してさらに自装置が許可する維持条件を変更して応答状況1202に設定する場合がある。
図13は、SIPプロキシ100aからSIP端末200aに転送されるSIP Inviteレスポンスの一例を示す説明図である。この場合も図12と同様に、転送元のSIPエンティティの応答状況1301を参照して変更された応答状況1302が設定される場合がある。
次に、このように構成された本実施の形態にかかるSIPプロキシ100によるメッセージ送受信処理について図14を用いて説明する。
なお、以下では、SIPアプリケーションとしてテキストメッセージサービスが実行され、SIPプロキシ100aおよび100bを介して、SIP端末200aがSIP端末200bとの間で500回、SIPメッセージを交換する場合を例に説明する。すなわち、この例では、SIP端末200aは、SIPメッセージを500回転送するまで全てのTLSコネクションを維持することをTLSコネクション維持条件の要求として含むSIPメッセージを送信する。
また、以下で、SIP端末200a、SIPプロキシ100a、SIPプロキシ100b、およびSIP端末200bのFQDNを、それぞれ「termA.example.com」、「proxyA.example.com」、「proxyB.example.com」、および「termB.example.com」とする。また、SIP端末200aを利用しているユーザのSIP URI(AoR(Address of Record))を、「[email protected]」、コンタクトアドレスを「[email protected]」とする。さらに、SIP端末200bを利用しているユーザのSIP URIを「[email protected]」、コンタクトアドレスを「[email protected]」とする。
図14は、本実施の形態におけるメッセージ送受信処理の全体の流れを示すフローチャートである。なお、同図では、メッセージ送受信処理で各SIPエンティティが実行する処理の概要のみを示し、詳細については図15以降で説明する。
まず、SIP端末200aが、SIPアプリケーションの実行にともないSIP端末200aがSIP端末200bに送信するSIPメッセージを生成して送信するリクエスト送信処理を実行する(ステップS1401)。
次に、SIPプロキシ100aが、SIP端末200aが送信したリクエストをSIPプロキシ100bに転送するリクエスト転送処理を実行する(ステップS1402)。
次に、SIPプロキシ100bが、SIPプロキシ100aから受信したリクエストをさらにSIP端末200bに転送するリクエスト転送処理を実行する(ステップS1403)。なお、ステップS1402とステップS1403のリクエスト転送処理の内容は、送信元と送信先のSIPエンティティが異なるのみで基本的な機能は同様である。
次に、SIP端末200bが、SIPプロキシ100bからリクエストを受信し、受信したリクエストに対するレスポンスとなるSIPメッセージを作成してSIPプロキシ100bに送信するレスポンス送信処理を実行する(ステップS1404)。
次に、SIPプロキシ100bが、SIP端末200bが送信したレスポンスをSIPプロキシ100aに転送するレスポンス転送処理を実行する(ステップS1405)。
次に、SIPプロキシ100aが、SIPプロキシ100bから受信したレスポンスをさらにSIP端末200aに転送するレスポンス転送処理を実行する(ステップS1406)。なお、ステップS1405とステップS1406のレスポンス転送処理の内容は、送信元と送信先のSIPエンティティが異なるのみで基本的な機能は同様である。
最後に、SIP端末200aが、SIPプロキシ100aからレスポンスを受信するレスポンス受信処理を実行し(ステップS1407)、メッセージ送受信処理を終了する。
後述するように、このメッセージ送受信処理の間に、拡張したSIPメッセージを用いてTLSコネクションの維持条件を順次転送するため、各SIPエンティティは転送された維持条件にしたがいTLSコネクションを維持することができる。すなわち、送信元のSIP端末200aから維持条件を通知して、SIP台形通信モデルのSIPエンティティ間のすべての経路のコネクションを維持することが可能となる。
次に、SIP端末200aによって実行されるステップS1401のリクエスト送信処理の詳細について説明する。図15は、リクエスト送信処理の全体の流れを示すフローチャートである。
まず、アプリケーション部215が、テキストメッセージサービスのアプリケーションを実行し、通信相手であるSIP端末200bに送信するメッセージとして、コネクション維持条件の要求を含むリクエストの作成および送信をメッセージ処理部214に対して依頼する(ステップS1501)。
具体的には、アプリケーション部215は、ユーザインターフェースによる入力情報等を参照し、メッセージ処理部214に対して、SIP URIが「[email protected]」であるユーザに宛てたSIPメッセージの作成を依頼する。なお、以下では、SIP端末200aからSIP端末200bへ送信するSIPメッセージをリクエストと呼ぶ場合がある。また、このとき、アプリケーション部215は、SIPメッセージを500回転送するまでTLSコネクションを維持する条件を要求する。
次に、メッセージ処理部214が、依頼された維持条件の要求を含むリクエストを生成する(ステップS1502)。具体的には、メッセージ処理部214は、まずSIPのプロトコル仕様の通りに、SIPメッセージを構成する。ここで、メッセージ処理部214は、SIPメッセージの送信先がSIPプロキシ100a(proxyA.example.com)であると決定する。
そして、メッセージ処理部214は、拡張機能を指定する情報として、リクエストの「Require」ヘッダおよび「Proxy-Require」ヘッダに「CONN-STAT」オプションタグを付加する。また、メッセージ処理部214は、「Request-URI」および「To」ヘッダフィールドのSIP−URIに、維持条件要求を指定した「conn-stat-req」オプションパラメタを記述する。
例えば、メッセージ処理部214は、「INVITE sips:[email protected] ;conn-stat-req= cont 500 Messages SIP/2.0;」などの維持条件要求を指定する。これにより、例えば、図8に示すようなリクエストが生成される。
次に、決定部212が、リソース管理部111が管理する、メモリ使用量などの自装置上の現在のリソースの使用状況を取得する(ステップS1503)。そして、決定部212は、取得したリソース使用状況から、依頼されたコネクション維持条件を満たすことができるか否かを判断する(ステップS1504)。例えば、決定部212は、予め求められたTLSコネクション維持に必要なメモリ量が、現在の空きメモリ量より大きい場合に、維持条件を満たすことができないと判断する。
コネクション維持条件を満たすことができないと判断された場合は(ステップS1504:NO)、メッセージ処理部214は、生成されたリクエストからコネクション維持条件の要求を削除する(ステップS1505)。具体的には、メッセージ処理部214は、ヘッダに追加した拡張用の「CONN-STAT」オプションタグや、維持条件要求の指定である「conn-stat-req」パラメタを削除する。
維持条件の要求を削除した後(ステップS1505)、または、ステップS1504でコネクション維持条件を満たすことができると判断された場合は(ステップS1504:YES)、送信部102が、コネクション管理テーブル124を参照し、SIPプロキシ100aとの間でTLSコネクションが存在するか否かを判断する(ステップS1506)。
TLSコネクションが存在しない場合は(ステップS1506:NO)、コネクション管理部113が、SIPプロキシ100aとの間のTLSコネクションを新規作成する(ステップS1507)。具体的には、コネクション管理部113は、送信部102からパケットの送信先、トランザクションID、ダイアログIDの通知を受け、通知された情報から新規にTLSコネクションを作成する。なお、コネクション管理部113は、TLSコネクションを作成したとき、パケットの送信先(接続先)、トランザクションID、およびダイアログID等を対応づけてコネクション管理テーブル124に登録する。
TLSコネクションを作成後、または、ステップS1506でTLSコネクションが存在すると判断された場合(ステップS1506:YES)、送信部102は、当該TLSコネクションを用いて、ステップS1502で生成されたリクエストをSIPプロキシ100aに対して送信する(ステップS1508)。具体的には、送信部102は、メッセージ処理部214が生成したリクエストからネットワークに送信可能なパケットを構築し、構築したパケットをTLSコネクションを用いてSIPプロキシ100aに送信する。
次に、SIPプロキシ100aによって実行されるステップS1402のリクエスト転送処理の詳細について説明する。図16は、リクエスト転送処理の全体の流れを示すフローチャートである。
まず、受信部101が、SIP端末200aから送信されたパケットを受信してリクエストを構築し、メッセージ処理部114に送出する(ステップS1601)。
次に、メッセージ処理部114が、SIPプロトコル仕様に従って、受信したリクエストのヘッダを更新し、転送するリクエストを生成する(ステップS1602)ここで、メッセージ処理部114は、SIPメッセージの転送先がSIPプロキシ100b(proxyB.example.com)であると決定する。
また、このとき、メッセージ処理部114は、「Proxy-Require」ヘッダに「CONN-STAT」オプションタグが付加されていることより、このSIPメッセージの送信元が本実施の形態の拡張機能に対応していることを識別する。なお、拡張機能に対応していないSIPプロキシが本SIPメッセージを受信したときは、対応不可能な拡張を受け取ったことを示す情報(例えば「420 Bad Extension」)を含んだレスポンスをSIP端末200aに返信し、SIPメッセージの転送は行わない。
次に、メッセージ処理部114は、受信したリクエストから維持条件の要求を取得する(ステップS1603)。具体的には、メッセージ処理部114は、受信したリクエストの「conn-stat-req」パラメタの値を取得する。上述の例では、メッセージ処理部114は、SIP端末200aが、500回のSIPメッセージを送受信する間TLSコネクションを維持する要求を意味する「conn-stat-req= cont 500 Messages」を取得する。
次に、決定部112が、リソース管理部111が管理する、メモリ使用量などの自装置上の現在のリソースの使用状況を取得する(ステップS1604)。そして、決定部112は、取得したリソース使用状況から、要求されたコネクション維持条件を満たすことができるか否かを判断する(ステップS1605)。
なお、TLSコネクションを維持できるか否かの判断では、転送元であるSIP端末200aとの間のTLSコネクションと、転送先であるSIPプロキシ100bとの間のTLSコネクションの双方を維持できるか否かをもって判断する必要がある。
ただし、SIPプロキシ100aとSIPプロキシ100bとの間で単独のTLSコネクションを用いて全てのSIPメッセージを転送している場合、そのTLSコネクションに関しては、維持条件要求は常に満たされると判断される。
また、維持条件を満たすことができる場合には、要求された維持条件そのものを許可できる場合と、要求された維持条件より厳しい条件であればTLSコネクションの維持を許可できる場合とを含む。
コネクション維持条件を満たすことができる場合は(ステップS1605:YES)、決定部112は、許可できる維持条件を決定する(ステップS1606)。そして、追加部114aが、決定された維持条件をリクエストのヘッダに追加する(ステップS1607)。例えば、要求された条件が「conn-stat-req= cont 500 Messages」であり、この条件のとおりに維持できると判断した場合は、追加部114aは、「Conn-cont: SIP/2.0/TLS proxyA.example.com cont 500 Messages」のような「Conn-cont」ヘッダを追加する。
ステップS1605で、コネクション維持条件を満たすことができないと判断された場合は(ステップS1605:NO)、追加部114aは、要求された維持条件を拒絶することを表す拒絶情報をリクエストのヘッダに追加する(ステップS1608)。例えば、追加部114aは、「Conn-cont: SIP/2.0/TLS proxyA.example.com cont ng」のような形式で記述された拒絶情報を追加する。
追加部114aが許可する維持条件または拒絶情報を追加した後、メッセージ処理部114は、構築したリクエストを送信部102に送出する。
送信部102は、受け取ったリクエストから、ネットワークに送信可能なパケットを構築し、SIPプロキシ100bに送信する(ステップS1609)。
この際、SIPプロキシ100bとの間にTLSコネクションが存在しない場合は、図15のステップS1507と同様の方法で、コネクション管理部113により新規にTLSコネクションを作成する。
なお、一般には、SIPプロキシ100aとSIPプロキシ100bとの間のTLSコネクションはSIPシステムを動作させる上で重要であるため、常に維持されて管理されることが多い。
SIPプロキシ100bによって実行されるステップS1403のリクエスト転送処理は、原則として上記図16のフローチャートと同様であるが、以下の点が相違する。
まず、パケットの受信元がSIPプロキシ100aであることと、パケットの送信先がSIP端末200bであることが相違する。
また、決定部112が、TLSコネクションの維持条件要求を許可するか否かを判断するとき、(A)リソース管理部111が管理するリソース使用状況、(B)「conn-stat-req」パラメタの値の他に、(C)SIPプロキシ100aが付加した「Conn-cont」ヘッダ情報も加味して判断できることが相違する。
(C)の情報により、決定部112は、自装置より送信元SIP端末側(ここではSIP端末200a)に存在するSIPエンティティ(ここではSIPプロキシ100aのみ)が、「conn-stat-req」パラメタに示された送信元SIP端末200の維持条件要求の通りにTLSコネクションを維持すると回答したか否かを判断可能となる。すなわち、決定部112は、SIPメッセージが経由した全てのTLSコネクションが維持される可能性があるか否かの判断が可能となる。
次に、SIP端末200bによって実行されるステップS1404のレスポンス送信処理の詳細について説明する。図17は、レスポンス送信処理の全体の流れを示すフローチャートである。
まず、受信部101は、SIPプロキシ100bから送信されたSIPメッセージに対応するパケットを受信してリクエストを構築し、メッセージ処理部214に送出する(ステップS1701)。
メッセージ処理部214は、SIPプロトコル仕様に従って、受信したSIPメッセージを解釈し、解釈結果に応じて、アプリケーション部215に対してテキストメッセージ情報を提示する。そして、アプリケーション部215は、受信したリクエストに応じて、ユーザに対するアプリケーションを実行する(ステップS1702)。
次に、アプリケーション部215の依頼に応じて、メッセージ処理部214が、SIP端末200aに返信するSIPメッセージであるレスポンスを生成する(ステップS1703)。このとき、メッセージ処理部214は、受信したリクエストに含まれている全ての「Conn-cont」ヘッダをそのまま含むレスポンスを生成する。
次に、メッセージ処理部214は、受信したリクエストからTLSコネクションの維持条件の要求を取得する(ステップS1704)。具体的には、まずメッセージ処理部214は、「Require」ヘッダに「CONN-STAT」オプションタグが付加されていることより、このSIPメッセージの送信元が、本実施の形態の拡張機能に対応していることを識別する。
なお、拡張機能に対応していないSIP端末が本SIPメッセージを受信したときは、対応不可能な拡張を受け取ったことを示す情報(例えば「420 Bad Extension」)を含んだレスポンスをSIP端末200aに返信し、SIPメッセージに関する処理は行わない。
そして、メッセージ処理部214は、「conn-stat-req」パラメタの値から、要求されたTLSコネクションの維持条件を取得する。上述の例では、メッセージ処理部214は、SIP端末200aが、500回のSIPメッセージを送受信する間TLSコネクションを維持する要求を意味する「conn-stat-req= cont 500 Messages」を取得する。
また、SIP端末200bは、当該SIPメッセージを転送した他の全てのSIPエンティティの応答状況を「Conn-cont」ヘッダの値から取得する。
次に、決定部212が、リソース管理部111が管理する、メモリ使用量などの自装置上の現在のリソースの使用状況を取得する(ステップS1705)。そして、決定部212は、取得したリソース使用状況から、要求されたコネクション維持条件を満たすことができるか否かを判断する(ステップS1706)。このとき、決定部212は、他のSIPエンティティの応答状況である「Conn-cont」ヘッダの値も加味して維持条件の認否を判断することができる。
コネクション維持条件を満たすことができる場合は(ステップS1706:YES)、決定部212は、許可できる維持条件を決定する(ステップS1707)。そして、追加部214aが、決定された維持条件をレスポンスのヘッダに追加する(ステップS1708)。
次に、決定部212は、決定した維持条件を対応する条件テーブルに保存する(ステップS1709)。例えば、「conn-stat-req= cont 500 Messages」のようにメッセージ数で維持条件を決定した場合は、決定部212は、メッセージ数条件テーブル123に、接続先としてSIPプロキシ100bのアドレスおよびポート番号を保存し、SIPメッセージ数条件として「500 Messages」を保存する。
さらに、維持部113aは、決定された維持条件によるTLSコネクションの維持を開始する(ステップS1710)。
ステップS1706で、コネクション維持条件を満たすことができないと判断された場合は(ステップS1706:NO)、追加部214aは、要求された維持条件を拒絶することを表す拒絶情報をレスポンスのヘッダに追加する(ステップS1711)。
追加部214aが許可する維持条件または拒絶情報を追加した後、メッセージ処理部214は、構築したレスポンスを送信部102に送出する。
送信部102は、受け取ったレスポンスから、ネットワークに送信可能なパケットを構築し、SIPプロキシ100bに送信する(ステップS1712)。
次に、SIPプロキシ100bによって実行されるステップS1405のレスポンス転送処理の詳細について説明する。図18は、レスポンス転送処理の全体の流れを示すフローチャートである。
まず、受信部101が、SIP端末200bから送信されたパケットを受信してレスポンスを構築し、メッセージ処理部114に送出する(ステップS1801)。
次に、メッセージ処理部114が、SIPプロトコル仕様に従って、受信したリクエストのヘッダを更新し、転送するレスポンスを生成する(ステップS1802)ここで、メッセージ処理部114は、SIPメッセージの転送先がSIPプロキシ100a(proxyA.example.com)であると決定する。
次に、メッセージ処理部114は、受信したレスポンスから維持条件の要求を取得する(ステップS1803)。具体的には、メッセージ処理部114は、受信したレスポンスの「conn-stat-req」パラメタの値、および「Conn-cont」ヘッダの値を取得する。この段階では、SIPプロキシ100bは、取得した「Conn-cont」ヘッダの値から、SIPメッセージの転送に利用される全てのTLSコネクションの維持に関する応答状況を識別することができる。
次に、決定部112は、取得した維持条件の要求および他のSIPエンティティの応答状況から、維持条件を変更するか否かを判断する(ステップS1804)。すなわち、決定部112は、リクエスト転送時に決定した維持条件を、SIP端末200bの応答内容に合わせる形で変更してもよい。
例えば、リクエスト転送時には1200秒間維持する時間条件を決定したが、SIP端末200bが3600秒間維持する時間条件を応答した場合、SIP端末200bに合わせて3600秒間維持する時間条件に変更してもよい。同様に、リクエスト転送時には3600秒間維持する時間条件を決定したが、SIP端末200bが1200秒間維持する時間条件を応答した場合、SIP端末200bに合わせて1200秒間維持する時間条件に変更してもよい。
維持条件を変更すると判断した場合は(ステップS1804:YES)、決定部112は、維持条件を変更する(ステップS1805)。そして、追加部114aが、変更した維持条件をレスポンスのヘッダに追加する(ステップS1806)。
維持条件を変更しないと判断された場合(ステップS1804:YES)、または追加部114aが維持条件を追加した後(ステップS1806)、決定部112は、決定した維持条件を対応する条件テーブルに保存する(ステップS1807)。さらに、維持部113aは、決定された維持条件によるTLSコネクションの維持を開始する(ステップS1808)。ここで、維持条件として「Conn-cont」ヘッダに書かれた内容と実際のTLSコネクションの維持期間が一致することとなる。
次に、送信部102は、メッセージ処理部114から受け取ったレスポンスから、ネットワークに送信可能なパケットを構築し、SIPプロキシ100aに送信する(ステップS1809)。
SIPプロキシ100aによって実行されるステップS1406のレスポンス転送処理は、原則として上記図18のフローチャートと同様であるが、以下の点が相違する。
まず、パケットの受信元がSIPプロキシ100bであることと、パケットの送信先がSIP端末200aであることが相違する。
また、決定部112が、維持条件の変更を判断するとき、SIPプロキシ100aが変更した後の「Conn-cont」ヘッダ情報も加味して判断できることが相違する。
すなわち、決定部112は、自装置よりSIP端末側(ここではSIP端末200b)のSIPエンティティ(ここではSIPプロキシ100b、SIP端末200b)が実際に維持しているTLSコネクションの維持期間を参照して、自装置の実際のTLS維持期間を更新することができる。
次に、SIP端末200aによって実行されるステップS1407のレスポンス受信処理の詳細について説明する。図19は、レスポンス受信処理の全体の流れを示すフローチャートである。
まず、受信部101が、SIPプロキシ100aから送信されたパケットを受信してレスポンスを構築し、メッセージ処理部214に送出する(ステップS1901)。
次に、メッセージ処理部214は、SIPプロトコル仕様に従って受信したレスポンスを解釈し、維持条件の要求を取得する(ステップS1902)。具体的には、メッセージ処理部214は、受信したレスポンスの「Conn-cont」ヘッダの値を取得する。これにより、SIP端末200aは、SIPメッセージの転送に利用される全てのTLSコネクションの維持に関する応答状況を識別することができる。
次に、決定部212は、取得した他のSIPエンティティの応答状況から、維持条件を変更するか否かを判断する(ステップS1903)。
例えば、自装置より宛先に近いSIPエンティティ(ここではSIP端末200b、SIPプロキシ100b、SIPプロキシ100a)のいずれかが維持要求を満たさないと回答している場合、SIP端末200a自身も維持要求を満たさないように維持条件を変更すると判断するように構成してもよい。
具体的には、例えば、SIP端末200bとSIPプロキシ100bの間のTLSコネクション、およびSIPプロキシ100bとSIPプロキシ100aの間のTLSコネクションの2つのTLSコネクションについて、共に維持条件要求が受け入れられた場合に限って、SIPプロキシ100aとSIP端末200aとの間のTLSコネクションを維持するという判断が可能である。
また、別の具体例としては、上記2つのTLSコネクションについて、いずれか1つ以上の維持条件要求が受け入れられなかった場合でも、それに関わらず、SIPプロキシ100aとSIP端末200aとの間のTLSコネクションを維持するという判断も可能である。
維持条件を変更すると判断した場合は(ステップS1903:YES)、決定部212は、維持条件を変更する(ステップS1904)。
維持条件を変更しないと判断した場合(ステップS1903:YES)、決定部212は、決定した維持条件を対応する条件テーブルに保存する(ステップS1905)。さらに、維持部113aは、決定された維持条件によるTLSコネクションの維持を開始する(ステップS1906)。
これにより、SIPメッセージに含まれる「Conn-cont」ヘッダの示すとおりに、TLSコネクションの維持要求が満たされることになる。ただし、あるSIPエンティティのリソース管理部111が、計算リソースが逼迫してTLSコネクションを維持できなくなったと判断した場合、コネクション管理テーブル124で保持するTLSコネクションのうちいずれかが破棄される可能性もある。
その後、必要な場合は、レスポンスに含まれるデータがアプリケーション部215に通知され、アプリケーション部215が、レスポンスに応じた処理を実行する(ステップS1907)。
次に、このように構成された本実施の形態にかかる各SIPエンティティが実行するコネクション管理処理について図20を用いて説明する。図20はコネクション管理処理の全体の流れを示すフローチャートである。
なお、コネクション管理処理とは、維持条件要求が受け入れられたTLSコネクションを利用してSIPメッセージが転送される場合に、各SIPエンティティが維持条件を判定してTLSコネクションの維持または破棄を管理する処理をいう。なお、以下では、SIP端末200によるコネクション管理処理を例に説明するが、SIPプロキシ100についても同様の流れでコネクション管理処理が実行される。
まず、SIP端末200の受信部101は受信したパケットをSIPメッセージとして構成しメッセージ処理部214に送出する(ステップS2001)。次に、メッセージ処理部214は、SIPプロトコル仕様および本実施の形態に記述された拡張仕様にしたがいSIPメッセージを処理する。そして、メッセージ処理部214は、TLSコネクション維持条件に関する情報を決定部212に通知する(ステップS2002)。
例えば、SIPメッセージ数条件によりTLSコネクションを維持している場合、メッセージ処理部214は、転送したSIPメッセージ数を決定部212に通知する。また、SIPメソッド条件により、TLSコネクションを維持している場合、メッセージ処理部214は、処理したSIPメソッドを決定部212に通知する。また、時間条件によりTLSコネクションを維持している場合、メッセージ処理部214は、経過時間を決定部212に通知する。なお、決定部212でタイマを保持し、TLSコネクション維持期間を判定するように構成してもよい。
通知を受けた決定部212は、各条件テーブルを参照して、維持条件を満たすか否かを判断する(ステップS2003)。維持条件を満たさない場合は(ステップS2003:NO)、決定部212は、コネクション管理部113に対して、TLSコネクションの破棄を通知する。そして、破棄部113bが、通知されたTLSコネクションを破棄する(ステップS2004)。ただし、そのTLSコネクションを他のダイアログなどとも共有している場合、そのTLSコネクションは維持される。例えば、SIPプロキシ100aとSIPプロキシ100bとの間で、単独のTLSコネクションを用いて全てのSIPメッセージを転送する場合が該当する。
維持条件を満たす場合は(ステップS2003:YES)、TLSコネクションは破棄されずにコネクション管理処理を終了する。
以上のように、本実施の形態にかかるサーバ装置は、SIP端末からコネクションの維持を要求する維持条件を含むメッセージを受信し、自装置のリソース使用状況から要求された維持条件を許可できるか否かを判断し、判断結果をさらにメッセージの中継先である外部のSIPプロキシに転送することができる。そして、要求された維持条件に対する外部のSIPプロキシおよび受信側のSIP端末の応答状況をさらに考慮して、維持条件の認否を決定し、コネクションを維持または破棄することができる。
このため、端末上のアプリケーションの要求に応じて、システム全体で適切なコネクションを維持することが可能となる。
次に、本実施の形態にかかるサーバ装置のハードウェア構成について説明する。図21は、本実施の形態にかかるサーバ装置のハードウェア構成を示す説明図である。
本実施の形態にかかるサーバ装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態にかかるサーバ装置で実行されるサーバプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態にかかるサーバ装置で実行されるサーバプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかるサーバ装置で実行されるサーバプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、本実施の形態のサーバプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態にかかるサーバ装置で実行されるサーバプログラムは、上述した各部(受信部、送信部、リソース管理部、決定部、コネクション管理部、メッセージ処理部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体からサーバプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかるコネクションを維持する装置、方法およびプログラムは、SIP台形通信モデルのように端末間の通信を中継する通信システムにおける各装置間のコネクションを維持する装置、方法およびプログラムに適している。
本実施の形態にかかるサーバ装置を含む通信システム全体の構成を示すブロック図である。 SIPプロキシの詳細な構成を示すブロック図である。 メソッド条件テーブルのデータ構造の一例を示す説明図である。 時間条件テーブルのデータ構造の一例を示す説明図である。 メッセージ数条件テーブルのデータ構造の一例を示す説明図である。 コネクション管理テーブルのデータ構造の一例を示す説明図である。 SIP端末の詳細な構成を示すブロック図である。 送信されるSIP Inviteリクエストの一例を示す説明図である。 転送されるSIP Inviteリクエストの一例を示す説明図である。 転送されるSIP Inviteリクエストの一例を示す説明図である。 送信されるSIP Inviteレスポンスの一例を示す説明図である。 転送されるSIP Inviteレスポンスの一例を示す説明図である。 転送されるSIP Inviteレスポンスの一例を示す説明図である。 本実施の形態におけるメッセージ送受信処理の全体の流れを示すフローチャートである。 リクエスト送信処理の全体の流れを示すフローチャートである。 リクエスト転送処理の全体の流れを示すフローチャートである。 レスポンス送信処理の全体の流れを示すフローチャートである。 レスポンス転送処理の全体の流れを示すフローチャートである。 レスポンス受信処理の全体の流れを示すフローチャートである。 コネクション管理処理の全体の流れを示すフローチャートである。 本実施の形態にかかるサーバ装置のハードウェア構成を示す説明図である。
符号の説明
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
100a、100b プロキシ
101 受信部
102 送信部
111 リソース管理部
112 決定部
113 コネクション管理部
113a 維持部
113b 破棄部
114 メッセージ処理部
114a 追加部
120 記憶部
121 メソッド条件テーブル
122 時間条件テーブル
123 メッセージ数条件テーブル
124 コネクション管理テーブル
200a、200b SIP端末
212 決定部
214 メッセージ処理部
214a 追加部
215 アプリケーション部
801、802 維持条件要求
803、804 オプションタグ
901 行
1001 行
1101、1102 応答状況
1201、1202 応答状況
1301、1302 応答状況

Claims (17)

  1. 第1端末から受信したメッセージを中継装置を介して第2端末に中継し、前記第2端末から送信されたメッセージを前記中継装置を介して受信して前記第1端末に中継するサーバ装置であって、
    リソースの使用状況を管理するリソース管理部と、
    前記第1端末と前記第2端末との間でメッセージを中継するためのコネクションを維持するための第1条件を含む第1メッセージを前記第1端末から受信する受信部と、
    受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記コネクションを維持するために許可する第1コネクション維持条件を決定する決定部と
    前記第1メッセージに前記第1コネクション維持条件を追加する追加部と、
    前記第1コネクション維持条件が追加された前記第1メッセージを前記第2端末に中継するために、前記中継装置に送信する送信部と、
    決定された前記第1コネクション維持条件で前記コネクションを維持する維持部と、
    を備えたことを特徴とするサーバ装置。
  2. 第1端末から中継装置を介して受信したメッセージを第2端末に中継し、前記第2端末から送信されたメッセージを受信して前記中継装置を介して前記第1端末に中継するサーバ装置であって、
    リソースの使用状況を管理するリソース管理部と、
    前記第1端末と前記第2端末との間でメッセージを中継するためのコネクションを維持するための第1条件を含む第1メッセージを前記中継装置から受信する受信部と、
    受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記コネクションを維持するために許可するコネクション維持条件を決定する決定部と、
    前記第1メッセージに前記コネクション維持条件を追加する追加部と、
    前記コネクション維持条件が追加された前記第1メッセージを前記第2端末に送信する送信部と、
    決定された前記コネクション維持条件で前記コネクションを維持する維持部と、
    を備えたことを特徴とするサーバ装置。
  3. 前記受信部は、さらに、前記第1メッセージに対する応答として前記第2端末から送信されたメッセージであって、前記コネクションを維持するために前記中継装置および前記第2端末の少なくとも一方が要求した第4条件を含む第3メッセージを前記中継装置から受信し、
    前記決定部は、さらに、受信した前記第3メッセージに含まれる前記第4条件に基づいて、前記コネクションを維持するために許可する前記第2コネクション維持条件を決定し
    前記送信部は、前記第2コネクション維持条件を含む第2メッセージを前記第1端末に送信し、
    前記維持部は、前記第2コネクション維持条件で前記コネクションを維持すること、
    を特徴とする請求項1に記載のサーバ装置。
  4. 前記決定部は、前記第1コネクション維持条件を前記第2コネクション維持条件として決定すること、
    を特徴とする請求項3に記載のサーバ装置。
  5. 前記受信部は、さらに前記コネクションの維持を拒絶することを表す第1拒絶情報を含む前記第3メッセージを前記中継装置から受信し、
    前記決定部は、受信した前記第3メッセージに含まれる前記第1拒絶情報に基づいて、前記第2コネクション維持条件を決定すること、
    を特徴とする請求項3に記載のサーバ装置。
  6. 前記決定部は、前記第3メッセージに前記第1拒絶情報が含まれる場合に、前記第1条件による前記コネクションの維持を拒絶することを決定し、前記第3メッセージに前記第1拒絶情報が含まれない場合に、前記第2コネクション維持条件を決定すること、
    を特徴とする請求項5に記載のサーバ装置。
  7. 前記決定部は、受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記第1条件による前記コネクションの維持を拒絶するか否かを判断し、拒絶しない場合に前記第1コネクション維持条件を決定し、
    前記追加部は、さらに、前記コネクションの維持を拒絶することが決定された場合に、前記第1メッセージに前記第1条件による前記コネクションの維持を拒絶することを表す第2拒絶情報を追加し、
    前記送信部は、さらに、前記第2拒絶情報を追加した前記第1メッセージを前記中継装置に送信すること、
    を特徴とする請求項1に記載のサーバ装置。
  8. 前記受信部は、予め定められた第4メッセージを受信するまで前記コネクションを維持することを要求する前記第1条件を受信すること、
    を特徴とする請求項1に記載のサーバ装置。
  9. 前記受信部は、予め定められた第1時間が経過するまで前記コネクションを維持することを要求する前記第1条件を受信すること、
    を特徴とする請求項1に記載のサーバ装置。
  10. 前記受信部は、メッセージの送受信数が予め定められた第1閾値を超えるまで前記コネクションを維持することを要求する前記第1条件を受信すること、
    を特徴とする請求項1に記載のサーバ装置。
  11. 前記決定部は、予め定められた第5メッセージを受信するまで前記コネクションを維持することを許可する前記第1コネクション維持条件を決定すること、
    を特徴とする請求項1に記載のサーバ装置。
  12. 前記決定部は、予め定められた第2時間が経過するまで前記コネクションを維持することを許可する前記第1コネクション維持条件を決定すること、
    を特徴とする請求項1に記載のサーバ装置。
  13. 前記決定部は、メッセージの送受信数が予め定められた第2閾値を超えるまで前記コネクションを維持することを許可する前記第1コネクション維持条件を決定すること、
    を特徴とする請求項1に記載のサーバ装置。
  14. 前記受信部は、前記第1メッセージとして、SIP(Session Initiation Protocol)により送受信されるメッセージであって、TLS(Transport Layer Security)プロトコルによるTLSコネクションを維持することを要求する前記第1条件をヘッダに含むSIPメッセージを前記第1端末から受信し、
    前記追加部は、前記SIPメッセージの前記ヘッダに前記第1コネクション維持条件を追加すること、
    を特徴とする請求項1に記載のサーバ装置。
  15. 第1端末から受信したメッセージを中継装置を介して第2端末に中継し、前記第2端末から送信されたメッセージを前記中継装置を介して受信して前記第1端末に中継するサーバ装置におけるコネクション維持方法であって、
    リソース管理部によって、リソースの使用状況を管理するリソース管理ステップと、
    受信部によって、前記第1端末と前記第2端末との間でメッセージを中継するためのコネクションを維持するための第1条件を含む第1メッセージを前記第1端末から受信する受信ステップと、
    決定部によって、受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記コネクションを維持するために許可する第1コネクション維持条件を決定する決定ステップと、
    追加部によって、前記第1メッセージに前記第1コネクション維持条件を追加する追加ステップと、
    送信部によって、前記第1コネクション維持条件が追加された前記第1メッセージを前記第2端末に中継するために、前記中継装置に送信する送信ステップと、
    維持部によって、決定された前記第1コネクション維持条件で前記コネクションを維持する維持ステップと、を備えたことを特徴とするコネクション維持方法。
  16. 第1端末から受信したメッセージを中継装置を介して第2端末に中継し、前記第2端末から送信されたメッセージを前記中継装置を介して受信して前記第1端末に中継するサーバ装置におけるコネクション維持プログラムであって、
    リソースの使用状況を管理するリソース管理手順と、
    前記第1端末と前記第2端末との間でメッセージを中継するためのコネクションを維持するための第1条件を含む第1メッセージを前記第1端末から受信する受信手順と、
    受信した前記第1メッセージに含まれる前記第1条件と前記使用状況とに基づいて、前記コネクションを維持するために許可する第1コネクション維持条件を決定する決定手順と、
    前記第1メッセージに前記第1コネクション維持条件を追加する追加手順と、
    前記第1コネクション維持条件が追加された前記第1メッセージを前記第2端末に中継するために、前記中継装置に送信する送信手順と、
    決定された前記第1コネクション維持条件で前記コネクションを維持する維持手順と、
    をコンピュータに実行させるコネクション維持プログラム。
  17. 中継装置を介して外部端末と通信する端末装置であって、
    リソースの使用状況を管理するリソース管理部と、
    前記使用状況に基づいて、前記外部端末との間でメッセージを中継するためのコネクションを維持するために許可する第1コネクション維持条件を決定する決定部と、
    決定された前記第1コネクション維持条件を含む第1メッセージを前記中継装置に送信する送信部と、
    前記第1メッセージに対する応答として前記外部端末から送信されたメッセージであって、前記コネクションを維持するために前記外部端末および前記中継装置の少なくとも一方が要求した第2条件を含む第2メッセージを前記中継装置から受信する受信部と、を備え、
    前記決定部は、受信した前記第2条件に基づいて、さらに前記コネクションを維持するために許可する第2コネクション維持条件を決定すること、
    を備えたことを特徴とする端末装置。
JP2007005845A 2007-01-15 2007-01-15 コネクションを維持する装置、方法およびプログラム Expired - Fee Related JP4703576B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007005845A JP4703576B2 (ja) 2007-01-15 2007-01-15 コネクションを維持する装置、方法およびプログラム
US11/882,712 US7984159B2 (en) 2007-01-15 2007-08-03 Apparatus, method, and terminal apparatus for maintaining connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005845A JP4703576B2 (ja) 2007-01-15 2007-01-15 コネクションを維持する装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008172694A JP2008172694A (ja) 2008-07-24
JP4703576B2 true JP4703576B2 (ja) 2011-06-15

Family

ID=39618182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005845A Expired - Fee Related JP4703576B2 (ja) 2007-01-15 2007-01-15 コネクションを維持する装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US7984159B2 (ja)
JP (1) JP4703576B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855103B2 (en) 2008-01-17 2014-10-07 Blackberry Limited Personal network access control system and method
JP5260746B2 (ja) * 2008-09-05 2013-08-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エンド・ツー・エンドのアドレス転送
JP5169921B2 (ja) * 2009-03-09 2013-03-27 沖電気工業株式会社 通信システム、sipサーバ、sip端末、及びセキュリティ通信方法
KR101286650B1 (ko) * 2009-12-21 2013-07-22 한국전자통신연구원 Ptt 서비스의 초기 접속 지연 완화 장치 및 방법
JP5091273B2 (ja) * 2010-04-23 2012-12-05 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びアプリケーション制御方法
JP5693065B2 (ja) * 2010-07-06 2015-04-01 キヤノン株式会社 通信端末、通信端末の制御方法及びプログラム
WO2012026132A1 (ja) * 2010-08-26 2012-03-01 日本電気株式会社 マルチレイヤネットワークにおけるネットワーク再構成のための方法およびシステム
JP2016033811A (ja) * 2014-07-30 2016-03-10 富士通株式会社 セッション管理方法、セッション管理装置、セッション管理プログラム、および通話処理方法
US10412040B2 (en) 2015-02-06 2019-09-10 Google Llc Systems and methods for direct dispatching of mobile messages
JP2016173712A (ja) * 2015-03-17 2016-09-29 日本電気株式会社 セッション管理装置、セッション管理システム、セッション管理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269217A (ja) * 2004-03-18 2005-09-29 Fujitsu Ltd Sipサーバ
JP2006059321A (ja) * 2005-05-30 2006-03-02 Hitachi Ltd 分散オブジェクト環境におけるセッション維持方法
JP2006345231A (ja) * 2005-06-09 2006-12-21 Image Partner:Kk Sip−alg方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184418B1 (en) * 1999-10-22 2007-02-27 Telcordia Technologies, Inc. Method and system for host mobility management protocol
US7020707B2 (en) * 2001-05-30 2006-03-28 Tekelec Scalable, reliable session initiation protocol (SIP) signaling routing node
US7852859B2 (en) * 2002-12-31 2010-12-14 Alcatel Lucent System and method for interfacing legacy IP-PBX systems to SIP networks
US7363378B2 (en) 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
US7518987B2 (en) * 2005-07-25 2009-04-14 Cisco Technology, Inc. Mechanisms for providing connectivity in NAT redundant/fail-over scenarios in unshared address-space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269217A (ja) * 2004-03-18 2005-09-29 Fujitsu Ltd Sipサーバ
JP2006059321A (ja) * 2005-05-30 2006-03-02 Hitachi Ltd 分散オブジェクト環境におけるセッション維持方法
JP2006345231A (ja) * 2005-06-09 2006-12-21 Image Partner:Kk Sip−alg方法

Also Published As

Publication number Publication date
JP2008172694A (ja) 2008-07-24
US20080171564A1 (en) 2008-07-17
US7984159B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
JP4703576B2 (ja) コネクションを維持する装置、方法およびプログラム
EP1635521B1 (en) Reducing storage requirement for route information
KR101120695B1 (ko) 서버 풀들을 이용할 때의 효율적인 메시지 라우팅
US8868779B2 (en) Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture
KR101109276B1 (ko) 세션 접속 유지
US7656836B2 (en) Centralized controller for distributed handling of telecommunications features
JP5302330B2 (ja) 通信ネットワークにおいて使用する方法および装置
EP1962459A2 (en) Data communication system and session management server
EP3208760B1 (en) Hub based clearing house for interoperability of distinct unified communications systems
US20070233844A1 (en) Relay device and communication system
JP2007110705A (ja) Sipシグナリングの暗号化を検証するための方法および装置
JP2008104112A (ja) 送信経路設定装置、送信経路設定方法および送信経路設定プログラム
JP6169568B2 (ja) パッシブ通信サービスのためのシステムおよび方法
CN101815079A (zh) 基于sip的服务器集群发布服务信息的方法及***
CN1870639B (zh) 初始会话协议消息编码能力的协商方法及装置
US8521839B2 (en) Auxiliary event packages
CN102497446A (zh) 一种穿越nat设备的业务流传输方法及装置
JP2008219461A (ja) 通信履歴情報管理システム、sipクライアント端末、履歴サーバおよび通信履歴情報管理方法
CN111279662A (zh) 消息传递资源功能
US9444649B2 (en) Method for sending and receiving session history in a communications system
JP2009177338A (ja) 複数のセッション管理サーバからなる経路を動的に切り替える経路制御方法及びシステム
EP2283628B1 (en) Ims performance monitoring
JP3602512B2 (ja) 携帯インスタントメッセージサービスシステム及び携帯インスタントメッセージサービスプログラム
US7835364B2 (en) Distributed handling of telecommunications features in a hybrid peer-to-peer system of endpoints
JP2011160271A (ja) トラヒック制御装置、トラヒック制御方法、及びトラヒック制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

LAPS Cancellation because of no payment of annual fees