JP2008236130A - 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム - Google Patents

通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム Download PDF

Info

Publication number
JP2008236130A
JP2008236130A JP2007070315A JP2007070315A JP2008236130A JP 2008236130 A JP2008236130 A JP 2008236130A JP 2007070315 A JP2007070315 A JP 2007070315A JP 2007070315 A JP2007070315 A JP 2007070315A JP 2008236130 A JP2008236130 A JP 2008236130A
Authority
JP
Japan
Prior art keywords
sip
message
identification information
terminal device
request message
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.)
Granted
Application number
JP2007070315A
Other languages
English (en)
Other versions
JP4764368B2 (ja
Inventor
Yoshimichi Tanizawa
佳道 谷澤
Naoki Ezaka
直紀 江坂
Tsutomu Shibata
勉 柴田
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 JP2007070315A priority Critical patent/JP4764368B2/ja
Priority to US11/940,054 priority patent/US9191406B2/en
Publication of JP2008236130A publication Critical patent/JP2008236130A/ja
Application granted granted Critical
Publication of JP4764368B2 publication Critical patent/JP4764368B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

【課題】メッセージ配送時の遅延を削減する中継装置を提供すること。
【解決手段】SIP端末を識別する第1識別情報と、SIP端末から送信されたメッセージの転送先として予測される他のSIP端末を識別する第2識別情報とを対応づけて記憶する記憶部120と、他のSIP端末に転送する転送メッセージの前に受信され、通信に関する処理要求と第1識別情報とを含む要求メッセージをSIP端末から受信する送受信部101と、受信した要求メッセージに含まれる第1識別情報に対応する第2識別情報を記憶部120から取得する取得部104と、取得した第2識別情報の他のSIP端末との間で通信を確立するコネクション確立部103とを備えた。
【選択図】 図2

Description

この発明は、通信を確立し、確立した通信によってメッセージを中継する装置、通信を確立する方法およびプログラムに関するものである。
近年、通信装置間に介在し通信を制御・中継するシグナリングプロトコルとしてSIP(Session Initiation Protocol)が広く知られている。SIPを用いた通信システム(SIPシステム)では、端末装置であるSIP端末間の通信仲介サーバ装置としてSIPプロキシが用いられ、SIP端末とSIPプロキシ間を接続するトランスポートプロトコルとして、TLS(Transport Layer Security)プロトコルを用いてセキュリティを確保する方法が一般的である。なお、SIP端末およびSIPプロキシを合わせてSIPエンティティと呼ぶ。
TLSはコネクション指向のセキュアトランスポートプロトコルであり、TLSを用いてSIPメッセージの配送を行なうためには、SIPエンティティ間で、TLSハンドシェイクを実行してコネクションを確立する必要がある。非特許文献1には、SIPメッセージのセキュアな配送のためのトランスポートプロトコルとして、TLSを利用することが示されている。
ここで、SIPプロキシBが、SIPメッセージを送信するSIP端末AからSIPメッセージを受信し、宛先であるSIP端末Cに対してSIPメッセージを配送するまでの処理の概要を以下に説明する。
まず、SIP端末Aは、SIPプロキシBとの間でTLSのハンドシェイクプロトコルを実行する。これにより、SIP端末AとSIPプロキシBとの間で、セキュアなコネクションが確立される。次に、SIP端末Aは、確立したセキュアコネクションを利用して、TLSにより暗号化されたSIPメッセージをSIPプロキシBに送信する。
SIPプロキシBはこれを受信し、TLS復号化してSIPメッセージを取り出す。SIPプロキシBは、SIPヘッダに含まれるRequest-URIを参照し、受信したSIPメッセージの配送先を判断する。このために、例えばSIPロケーションサーバに問い合わせることなどを行ってもよい。SIPプロキシBは、SIPメッセージの配送先であるSIP端末Cとの間で、TLSのハンドシェイクプロトコルを実行する。これにより、SIPプロキシBとSIP端末Cとの間で、セキュアなコネクションが確立される。
次に、SIPプロキシBは、確立したセキュアコネクションを利用して、TLSにより暗号化したSIPメッセージをSIP端末Cに送信する。SIP端末Cは、SIPプロキシBとの間で確立されたTLSコネクションを利用して、SIPレスポンスメッセージを送信し、SIPプロキシBは、SIP端末Aとの間で確立されたTLSコネクションを利用して、受信したSIPレスポンスメッセージを配送する。
このように、SIPプロキシBがSIPメッセージを配送するためには、各SIP端末との間でハンドシェイクプロトコルを実行してコネクションを確立する必要がある。ハンドシェイクプロトコルでは複数のメッセージが相互に送受信されるため、TLSコネクション確立処理は一定の時間を要する処理となる。
また、一般にSIPプロキシは、SIPメッセージを受信してそのSIPヘッダ(一般にはRequest-URI)を参照するまで、そのSIPメッセージを配送する先であるSIP端末を特定することができない。このため、SIPメッセージを受信して配送先を特定した後に、配送先SIP端末に対してTLSコネクションを確立して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メッセージを受信して配送先を特定した後に、TLSコネクションの確立処理を開始するため、SIPメッセージの配送完了までに要する時間遅延が増大するという問題があった。
なお、TLSコネクションは、SIPメッセージの送信の際に毎回行なう必要があるものではなく、確立済みのTLSコネクションを維持してSIPメッセージの配送に利用することも可能である。しかし、複数のTLSコネクションを維持することは、SIPプロキシの記憶容量およびCPU(Central Processing Unit)負荷を圧迫するため望ましくない。したがって、通常は、SIP INVITEリクエストメッセージの送信に際して、SIPトランザクション毎に新しいTLSコネクションを確立する場合が多い。
本発明は、上記に鑑みてなされたものであって、中継装置がメッセージ配送のため実行する通信確立処理により生じるメッセージ配送時の遅延を削減することができる装置、方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、端末装置との間で通信を確立し、前記端末装置間で送受信されるメッセージを、確立した通信によって中継する中継装置であって、前記端末装置を識別する第1識別情報と、前記端末装置から送信されたメッセージの転送先として予測される他の端末装置を識別する第2識別情報とを対応づけて記憶する記憶部と、前記他の端末装置に転送する転送メッセージの前に受信され、通信に関する処理要求と前記第1識別情報とを含む要求メッセージを前記端末装置から受信する受信部と、受信した前記要求メッセージに含まれる前記第1識別情報に対応する前記第2識別情報を前記記憶部から取得する取得部と、取得した前記第2識別情報の前記他の端末装置との間で通信を確立する確立部と、を備えたことを特徴とする。
また、本発明は、端末装置との間で通信を確立し、前記端末装置間で送受信されるメッセージを、確立した通信によって中継する中継装置における通信確立方法であって、受信部によって、他の端末装置に転送する転送メッセージの前に受信され、通信に関する処理要求と前記端末装置を識別する第1識別情報とを含む要求メッセージを前記端末装置から受信する受信ステップと、取得部によって、前記第1識別情報と、前記端末装置から送信されたメッセージの転送先として予測される前記他の端末装置を識別する第2識別情報とを対応づけて記憶する記憶部から、受信した前記要求メッセージに含まれる前記第1識別情報に対応する前記第2識別情報を取得する取得ステップと、確立部によって、取得した前記第2識別情報の前記他の端末装置との間で通信を確立する確立ステップと、を備えたことを特徴とする。
また、本発明は、上記方法を実行することができるプログラムである。
本発明によれば、中継装置がメッセージ配送のため実行する通信確立処理により生じるメッセージ配送時の遅延を削減することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるメッセージを中継する装置、通信を確立する方法およびプログラムの最良な実施の形態を詳細に説明する。
(第1の実施の形態)
第1の実施の形態にかかる中継装置は、TLSコネクションに関する情報と、配送先SIPエンティティとを対応づけて記憶し、TLSコネクションの確立要求を受付けたときに記憶した情報を参照して配送先SIPエンティティを予測し、当該SIPエンティティとの間のTLSコネクションの確立を事前に実行するものである。
図1は、第1の実施の形態にかかる通信システムのネットワーク構成を示すブロック図である。図1に示すように、本実施の形態の通信システムは、SIPプロキシ100と、複数のSIP端末200a、200b、200cとが、ルータ300を介して接続された構成となっている。
SIPプロキシ100は、SIP端末200間のSIPメッセージを中継する中継装置である。SIPプロキシ100は、TLSプロトコルによってTLSコネクションを確立し、TLSコネクションによってSIPメッセージを中継する。SIPプロキシ100の構成の詳細については後述する。
SIP端末200a、200b、200cは、シグナリングプロトコルとしてSIPを使用し、SIPのUA(User Agent)機能を備えた端末装置である。なお、SIP端末200a、200b、200cは同様の構成を有するため、以下では、単にSIP端末200という場合がある。なお、接続されるSIP端末200の個数は3つに限られるものではない。SIP端末200の構成の詳細については後述する。
ルータ300は、SIP端末200およびSIPプロキシ100との間でIPパケットを転送するものであり、IPルータ/スイッチなどの従来から用いられている装置により構成することができる。
次に、SIPプロキシ100の構成の詳細について説明する。図2は、第1の実施の形態にかかるSIPプロキシ100の構成を示すブロック図である。図2に示すように、SIPプロキシ100は、記憶部120と、送受信部101と、メッセージ処理部102と、コネクション確立部103と、取得部104とを備えている。
記憶部120は、メッセージを中継する処理で用いる各種情報を記憶するものであり、コネクション管理テーブル121と、予測テーブル122とを格納している。
コネクション管理テーブル121は、後述するコネクション確立部103が確立したコネクションに関する情報を格納するテーブルである。図3は、コネクション管理テーブル121のデータ構造の詳細を示す説明図である。
図3に示すように、コネクション管理テーブル121は、コネクションを識別するTLSコネクションIDと、受け付けTLSコネクションアドレス/ポートと、TLSコネクションの接続元となるSIPプロキシ100のポートを表す接続元ポート、暗号アルゴリズムID、暗号パラメータとを対応づけて保持している。
受け付けTLSコネクションアドレス/ポートには、TLSコネクションの確立要求の受け付け元であるSIP端末200を識別する識別情報として、SIP端末200のIPアドレスおよびポート番号が設定される。なお、ポート番号は必須ではなく、識別情報としてIPアドレスのみを設定するように構成してもよい。
また、暗号アルゴリズムIDとは、送信データを暗号化する、または受信データを復号化するための暗号アルゴリズムを識別する情報を表す。また、暗号パラメータとは、確立したTLSコネクションに関連する暗号化のためのパラメータを表す。
なお、記憶部120は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
図2に戻り、予測テーブル122は、転送するSIPメッセージの転送先となるSIP端末200を特定するための情報を格納するテーブルである。図4は、第1の実施の形態の予測テーブル122のデータ構造の詳細を示す説明図である。
図4に示すように、予測テーブル122は、受け付けTLSコネクションアドレス/ポートと、予測SIPメッセージ転送先とを対応づけて格納している。予測SIPメッセージ転送先には、SIPメッセージの転送先として予測されるSIP端末200を識別する識別情報(IPアドレスとポート番号)が設定される。
予測テーブル122は、TLSコネクションの確立要求を受信したときに、要求元のSIP端末200に対応するSIPメッセージ転送先を予測するために、取得部104によって参照される。なお、予測テーブル122に格納する情報は、事前に求めた値を設定するように構成してもよいし、過去に転送したSIPメッセージから統計的に推測するように構成してもよい。統計的に推測する場合は、例えば、過去に転送したSIPメッセージの転送先として最も多いSIP端末200を設定するように構成することができる。また、一つの受付TLSコネクションアドレス/ポートに対応して、複数の予測SIPメッセージ転送先とを対応付けて格納するように構成することもできる。
図2に戻り、送受信部101は、外部の装置との間でメッセージの送受信を行うものである。例えば、送受信部101は、SIPメッセージを送信するとき、メッセージ処理部102からSIPメッセージデータを受信し、コネクション確立部103に対して、SIPメッセージの送信に利用するTLSコネクションの確立を依頼する。既に利用可能なTLSコネクションが存在し、コネクション確立部103で管理されている場合は、送受信部101は、そのコネクションに関する情報をコネクション確立部103から取得する。そして、送受信部101は、TLSコネクションに関連づけられた暗号パラメータによってSIPメッセージを暗号化した後、SIPメッセージをネットワークへと送信する。
また、送受信部101は、SIPメッセージを受信したときは、コネクション確立部103を利用して、受信したTLSコネクションに関連づけられた暗号パラメータを特定し、特定した暗号パラメータによって受信したSIPメッセージを復号する。そして、送受信部101は、復号したSIPメッセージデータをメッセージ処理部102へと転送する。
メッセージ処理部102は、非特許文献1などに示されるSIPの基本仕様にしたがって、SIPプロキシ100の基本的な機能であるSIPメッセージの配送のための各種処理を行うものである。例えば、メッセージ処理部102は、SIPメッセージデータを送受信部101から受けとり、受信したSIPメッセージの解釈および送信するSIPメッセージの組み立てを行い、送信するSIPメッセージデータを送受信部101に転送する。
メッセージ処理部102は、SIPメッセージデータの組み立てを行う際、必要に応じて、SIPプロキシ100の内部またはネットワーク上に存在するSIPロケーションサーバ(図示せず)などを参照して送信先を決定するように構成してもよい。
コネクション確立部103は、他の構成部からの要求に応じてTLSコネクションを確立するものである。また、コネクション確立部103は、他の構成部からの要求に応じて確立済みのTLSコネクションを破棄する処理を行う。
例えば、コネクション確立部103は、TLSハンドシェイクプロトコルを実行するとともに、TLSハンドシェイクで求められたTLSの暗号化や復号化のための暗号パラメータをコネクション管理テーブル121に記憶する。また、コネクション確立部103は、TLSコネクションを破棄する場合は、コネクション管理テーブル121から該当するエントリを削除する。さらに、TLSコネクションの確立要求の受け付け元であるSIP端末200のIPアドレスおよびポート番号を通知された場合は、コネクション確立部103は、コネクション管理テーブル121を参照して、対応する暗号アルゴリズムIDと暗号パラメータとを特定する。
取得部104は、送受信部101から、受信したメッセージに含まれる送信元のSIP端末200のアドレス情報を受け取り、受け取ったアドレス情報に対応する予測SIPメッセージ転送先を予測テーブル122から取得するものである。このようにして、以降転送するSIPメッセージの転送先として予測されるSIP端末200のアドレスが取得できる。また、取得部104は、転送先として予測されたSIP端末200に対するTLSコネクションの確立要求を、コネクション確立部103に通知する。
次に、SIP端末200の構成の詳細について説明する。図5は、第1の実施の形態にかかるSIP端末200の構成を示すブロック図である。図5に示すように、SIP端末200は、送受信部201と、メッセージ処理部202と、コネクション確立部203と、アプリケーション204とを備えている。
送受信部201は、外部の装置との間でメッセージの送受信を行うものである。例えば、送受信部201は、SIPメッセージを送信するとき、メッセージ処理部202からSIPメッセージデータを受信し、後述するコネクション確立部203に対して、SIPメッセージの送信に利用するTLSコネクションの確立を依頼する。既に利用可能なTLSコネクションが存在し、コネクション確立部203で管理されている場合は、送受信部201は、そのコネクションに関する情報をコネクション確立部203から取得する。そして、送受信部201は、TLSコネクションに関連づけられた暗号パラメータによってSIPメッセージを暗号化した後、SIPメッセージをネットワークへと送信する。
また、送受信部201は、SIPメッセージを受信したときは、コネクション確立部203を利用して受信したTLSコネクションに関連づけられた暗号パラメータを特定し、特定した暗号パラメータによって受信したSIPメッセージを復号する。そして、送受信部201は、復号したSIPメッセージデータをメッセージ処理部202へと転送する。
メッセージ処理部202は、非特許文献1などに示されるSIP UA(User Agent)の基本仕様にしたがって、SIPメッセージを構成して送受信部201によって送信する。また、メッセージ処理部202は、送受信部201から受信したSIPメッセージを解釈する。これらのSIPメッセージの構成および解釈は、後述するアプリケーション204の要求に応じて実行される。
コネクション確立部203は、SIPプロキシ100のコネクション確立部103と同様に、TLSコネクションの確立および破棄に関する処理を行うものである。例えば、コネクション確立部203は、TLSハンドシェイクプロトコルを実行するとともに、TLSの暗号化や復号化のための暗号パラメータの記憶部(図示せず)に記憶して管理する。なお、コネクション確立部203は、図3のコネクション管理テーブル121と同様のテーブルによって確立したコネクションに関する情報を管理するが、管理方法はコネクション確立部103と同様であるので図示および説明を省略する。
アプリケーション204は、SIPを利用してメッセージを送受信することにより動作する機能を含むアプリケーションである。例えば、SIPを利用したホットラインシステムの端末側のアプリケーション、インターホンとTVモニター付受話器とからなるSIPを利用した通話システムのアプリケーションなどが該当する。なお、このようなアプリケーションであれば、通信相手が特定されるため、本実施の形態の手法により転送先を予測して事前にコネクションを確立しておくことによる配送遅延削減の効果が大きくなる。
次に、このように構成された第1の実施の形態にかかるSIPプロキシ100による中継処理について図6を用いて説明する。図6は、第1の実施の形態における中継処理の全体の流れを示すフローチャートである。なお、以下では、SIP端末200a上のユーザ1が、SIP端末200b上のユーザ2に対してSIP INVITEリクエストメッセージを送信する場合を例として説明する。
ここで、SIPプロキシ100の記憶部の予測テーブルにおいて、端末200aのIPアドレスを、受け付けTLSコネクションアドレス/ポートとした場合、端末200bのIPアドレスおよびSIPの通常ポートが、予測SIPメッセージ転送先として予測できるよう、情報が格納されているとする。
最初に、SIP端末200aの送受信部201が、SIPプロキシ100宛にTLSコネクションの確立を要求するためのTLS client helloメッセージを送信する(ステップS601)。
なお、この処理の前提として、送信先の決定処理およびメッセージ作成処理が以下のような手順で実行される。まず、SIP端末200a上のユーザ1がアプリケーション204を操作したこと等を契機として、アプリケーション204がメッセージ処理部202にSIP INVITEリクエストメッセージの作成を依頼する。そして、メッセージ処理部202が、SIP仕様にしたがって、ユーザ2に宛てたSIP INVITEリクエストメッセージを作成し、このメッセージの送信先をSIPプロキシ100であると決定する。
作成されたメッセージは、送受信部101に転送される。送受信部101は、コネクション確立部203に、SIPプロキシ100との間のTLSコネクションの確立を依頼する。SIP端末200aのコネクション確立部203は、SIPプロキシ100との間でTLSコネクションを確立するため、TLS client helloメッセージを作成し、送受信部101に転送する。
このようにして作成されたTLS client helloメッセージが送受信部201によってSIPプロキシ100に送信され(ステップS601)、SIPプロキシ100の送受信部101によって受信される。
送受信部101は、受信したTLS client helloメッセージの送信元IPアドレスおよびポート番号を、取得部104に対して通知する。取得部104は、予測テーブル122を参照し、通知された送信元IPアドレスおよびポート番号に対応する予測SIPメッセージ転送先を取得する(ステップS602)。ここでは、SIP端末200aから受信するSIPメッセージの転送先がSIP端末200bであると決定される。
このように転送先を予測した後、以下のステップS603〜ステップS605で、各SIP端末200との間のTLSコネクションの確立処理が行われる。なお、ステップS603のSIPプロキシ100とSIP端末200aとの間のTLSハンドシェイク、およびステップS604〜ステップS605のSIPプロキシ100とSIP端末200bとの間のTLSハンドシェイクとは、並行して実行される。これにより、コネクション確立処理により生じる遅延時間をより小さくすることができる。
ステップS603で、SIPプロキシ100は、SIP端末200aとSIPプロキシ100との間でTLSコネクションを確立するため、TLSハンドシェイクを実行する(ステップS603)。
具体的には、SIP端末200aのコネクション確立部203とSIPプロキシ100のコネクション確立部103は、それぞれ送受信部201および送受信部101によって相互にTLSメッセージを送受信し、TLSコネクションの確立を行う。なお、TLSハンドシェイクでは、9つ程度のTLSメッセージの交換処理が実行される。これによって、SIP端末200aとSIPプロキシ100との間でSIPメッセージを送受信するための暗号パラメータの合意が行われる。
また、SIPプロキシ100の取得部104は、コネクション確立部103に、SIP端末200bとの間のTLSコネクションの確立を依頼する。コネクション確立部103は、SIP端末200bとの間でTLSコネクションを確立するため、TLS client helloメッセージを作成し、送受信部101を介してSIP端末200bに送信する(ステップS604)。
SIP端末200bの送受信部201は、SIPプロキシ100からのTLS client helloメッセージを受信し、コネクション確立部203に通知する。そして、コネクション確立部203によって、SIPプロキシ100とSIP端末200bとの間でTLSコネクションを確立するためのTLSハンドシェイクが実行される(ステップS605)。この処理は、ステップS603と同様である。これによって、SIP端末200bとSIPプロキシ100との間でSIPメッセージを送受信するための暗号パラメータの合意が行われる。
ステップS603によってTLSコネクションが確立されると、SIP端末200aの送受信部101は、コネクション確立部203が管理している暗号パラメータを利用してSIP INVITEリクエストメッセージを暗号化し、確立したTLSコネクションを利用して、SIPプロキシ100に対して送信する(ステップS606)。
次に、SIPプロキシ100は、以下のような手順により、受信したSIP INVITEリクエストメッセージをSIP端末200bに転送する(ステップS607)。
まず、SIPプロキシ100の送受信部101は、SIP端末200aから送信されたSIP INVITEリクエストメッセージを受信し、コネクション管理テーブル121に格納されている暗号パラメータを利用してこれを復号し、メッセージ処理部102に転送する。
メッセージ処理部102は、受信したSIPメッセージが、ユーザ2宛のSIP INVITEリクエストメッセージであることを認識する。また、メッセージ処理部102は、SIPヘッダのRequest-URIなどを参照し、ユーザ2宛のメッセージの転送先となるSIP端末200を決定する。なお、メッセージ処理部102は、例えばSIPロケーションサーバ(図示せず)に問い合わせることによって転送先を決定するように構成してもよい。
ユーザ2宛のSIPメッセージの送信先がSIP端末200bであることを識別すると、メッセージ処理部102は、宛先をSIP端末200bとして、送受信部101に対してSIPメッセージデータを転送する。送受信部101は、ステップS605によってSIP端末200bとの間のTLSコネクションが確立済みであることを確認した後、SIPメッセージを、コネクション管理テーブル121に格納されている暗号パラメータを利用して暗号化し、既に確立しているSIP端末200aとの間のTLSコネクションを利用して、SIP端末200bに対して配送する(ステップS607)。
なお、予測した転送先と実際の転送先が異なる場合は、事前に確立したTLSコネクションを利用できないため、実際の転送先SIP端末200との間でTLSコネクションを確立してからSIPメッセージを暗号化し、転送する必要がある。この場合、本発明によるSIPメッセージ転送の高速化の効果は得られない。
次に、SIP端末200bは、以下のような手順により、受信したSIP INVITEリクエストメッセージに対する応答をSIPプロキシ100に送信する(ステップS608)。
まず、SIP端末200bの送受信部201は、SIP INVITEリクエストメッセージを受信し、コネクション確立部203が管理している暗号パラメータを利用してこれを復号し、メッセージ処理部202に対して転送する。メッセージ処理部202は、受信したSIPメッセージを処理し、受信したSIPメッセージがユーザ2宛のSIP INVITEリクエストメッセージであることを認識する。また、メッセージ処理部202は、SIP端末200bのアプリケーション204に対して、ユーザ2宛のSIPメッセージを通知する。なお、アプリケーション204は、その機能にしたがい、例えば、ユーザ2を呼び出す処理を行う。
アプリケーション204によってユーザ2が応答したとすると、メッセージ処理部202は、SIP端末200aを宛先とする200 OKレスポンスメッセージを作成する。送受信部201は作成されたメッセージを、コネクション確立部203が管理している暗号パラメータを利用して暗号化し、既に確立しているSIPプロキシ100との間のTLSコネクションを利用して、SIPプロキシ100に対して配送する(ステップS608)。
次に、SIPプロキシ100は、以下のような手順により、受信した200 OKレスポンスメッセージをSIP端末200aに転送する(ステップS609)。
まず、SIPプロキシ100の送受信部101は、200 OKレスポンスメッセージを受信し、コネクション管理テーブル121に格納されている暗号パラメータを利用してこれを復号し、メッセージ処理部102に転送する。
メッセージ処理部102は、受信したSIPメッセージが、ユーザ1宛の200 OKレスポンスメッセージであることを認識し、SIP端末200a宛てに転送するために送受信部101に転送する。送受信部101は、200 OKレスポンスメッセージをコネクション管理テーブル121に格納されている暗号パラメータを利用して暗号化し、既に確立しているSIP端末200aとの間のTLSコネクションを利用して、SIP端末200aに対して配送する(ステップS609)。
次に、SIP端末200aは、以下のような手順により、受信した200 OKレスポンスメッセージに対する応答をSIPプロキシ100に送信する(ステップS610)。
まず、SIP端末200aの送受信部201は、200 OKレスポンスメッセージを受信し、コネクション確立部203が管理している暗号パラメータを利用してこれを復号し、メッセージ処理部202に対して転送する。メッセージ処理部202は、受信したレスポンスメッセージが、ユーザ2宛のSIP INVITEリクエストメッセージに対するレスポンスメッセージであることを認識する。ここでアプリケーション204は、ユーザ1に対して通知を行ってもよい。
SIP端末200aのメッセージ処理部202は、SIP端末200bに宛てたSIP ACKリクエストメッセージを作成する。送受信部201は作成されたメッセージを、コネクション確立部203に格納されている暗号パラメータを利用して暗号化し、既に確立しているSIPプロキシ100との間のTLSコネクションを利用して、SIPプロキシ100に対して配送する(ステップS610)。
次に、SIPプロキシ100は、以下のような手順により、受信したSIP ACKリクエストメッセージをSIP端末200bに転送する(ステップS611)。
まず、SIPプロキシ100の送受信部101は、SIP端末200aから送信されたSIP ACKリクエストメッセージを受信し、コネクション管理テーブル121に格納されている暗号パラメータを利用してこれを復号し、メッセージ処理部102に対して転送する。
メッセージ処理部102は、受信したSIPメッセージが、ユーザ2宛のSIP ACKリクエストメッセージであることを認識する。また、メッセージ処理部102は、SIPヘッダのRequest-URIなどを参照し、ユーザ2宛のメッセージの転送先となるSIP端末200を決定する。
ユーザ2宛のメッセージの送信先がSIP端末200bであることを識別すると、メッセージ処理部102は、宛先をSIP端末200bとして、送受信部101に対してSIPメッセージデータを転送する。送受信部101は、SIPメッセージをコネクション管理テーブル121に格納されている暗号パラメータを利用して暗号化し、既に確立しているSIP端末200aとの間のTLSコネクションを利用して、SIP端末200bに対して配送する(ステップS611)。
次に、SIP端末200bは、以下のような手順により、受信したSIP ACKリクエストメッセージを処理する(ステップS612)。
まず、SIP端末200bの送受信部101は、SIP ACKリクエストメッセージを受信し、コネクション確立部203が管理している暗号パラメータを利用してこれを復号し、メッセージ処理部202に対して転送する。メッセージ処理部202は、受信したメッセージが、ユーザ2宛のSIP ACKリクエストメッセージであることを認識する。ここでアプリケーション204は、ユーザ2に対して通知を行ってもよい。
このように、本実施の形態によれば、TLSコネクションの確立要求(TLS client helloメッセージ)を受信した時点で、後で受信するSIPメッセージ(SIP INVITEリクエストメッセージ)の転送先を予測して事前にTLSコネクションを確立することができる。これにより、転送すべきSIPメッセージ(SIP INVITEリクエストメッセージなど)を受信した後にTLSコネクションを確立する従来の方法に比べてメッセージ転送の遅延を削減することができる。
次に、従来の方法による中継処理の概要について説明する。図7は、従来のSIPプロキシによる中継処理の全体の流れを示すフローチャートである。
本実施の形態の図6と比較すると、従来の方法では、ステップS602に相当する転送先予測処理が存在しない点が異なっている。また、従来のSIPプロキシ(以下、SIPプロキシBという。)と送信先のSIP端末(以下、SIP端末Cという。)との間のTLSハンドシェイクが、SIP INVITEリクエストメッセージを受信した後に実行される点(ステップS704〜ステップS705)が異なっている。
ステップS701、ステップS702、ステップS703は、それぞれ図6のステップS601、ステップS603、ステップS606と同様の処理である。
ステップS703で送信元のSIP端末(以下、SIP端末Aという。)がSIP INVITEリクエストメッセージを送信した後、SIPプロキシBは、SIP端末AからSIP INVITEリクエストメッセージを受信し、暗号パラメータを利用してこれを復号する。また、SIPプロキシBは、SIP仕様にしたがって受信したメッセージを処理し、受信したSIPメッセージが、ユーザ2宛のSIP INVITEリクエストメッセージであることを認識する。
SIPプロキシBは、ユーザ2宛のメッセージの送信先であるSIP端末Cを識別すると、SIP端末Cとの間のTLSコネクションを確立するためのTLS client helloメッセージを作成してSIP端末Cに送信する(ステップS704)
ステップS705のSIPプロキシBとSIP端末Cとの間のTLSハンドシェイクは、ステップS605と同様の処理である。
次に、従来のSIPプロキシBでは、TLSコネクションが確立されると、暗号パラメータを利用してSIP INVITEリクエストメッセージを暗号化し、確立したTLSコネクションを利用して、SIP端末Bに対して送信する(ステップS706)。
ステップS707〜ステップS711の200 OKレスポンス送信処理、SIP ACKリクエストメッセージ送受信処理は、ステップS608〜ステップS612までと同様の処理であるため、その説明を省略する。
このように、従来の方法では、ステップS703で送信されたSIPメッセージを受信した後に、受信したSIPメッセージの宛先を識別し(ステップS704)、識別した宛先との間でTLSコネクションを確立している(ステップS705)。このため、SIPメッセージの配送時間の遅延が生じていた。
一方、図6で説明したように、本実施の形態の方法では、SIPメッセージを受信する前に、SIPプロキシ100とSIP端末200aとの間のTLSコネクション確立と、SIPプロキシ100とSIP端末200bとの間のTLSコネクション確立が並行に行われるため、高速にSIP INVITEリクエストメッセージの転送を行うことが可能となる。
なお、以上では、事前にTLSコネクションの確立を行うSIP端末200を1台のみとして説明したが、予測テーブル122に複数の転送先の情報を記憶し、複数のSIP端末200との間でさらに並行してTLSコネクションを確立するように構成してもよい。
このように、第1の実施の形態にかかる中継装置では、TLSコネクションの確立要求を受付けたときに事前に記憶した情報を参照して配送先SIPエンティティを予測し、当該SIPエンティティとの間のTLSコネクションの確立を事前に実行することができる。このため、中継装置がメッセージ配送のため実行する通信確立処理により生じるメッセージ配送時の遅延を削減することができる。
(第2の実施の形態)
第2の実施の形態にかかる中継装置は、SIPメッセージに含まれる送信元を特定する情報と、配送先SIPエンティティとを対応づけて記憶し、転送するSIPメッセージを受信したときに、記憶した情報を参照して配送先SIPエンティティを予測し、当該SIPエンティティとの間のTLSコネクションの確立を事前に実行するものである。
なお、第2の実施の形態では、SIPプロキシの構成が異なっているが、その他の装置(SIP端末200、ルータ300)およびネットワーク構成は第1の実施の形態と同様であるため、その説明を省略する。
図8は、第2の実施の形態にかかるSIPプロキシ800の構成を示すブロック図である。図8に示すように、SIPプロキシ800は、記憶部820と、送受信部101と、メッセージ処理部102と、コネクション確立部103と、取得部804とを備えている。
第2の実施の形態では、記憶部820に記憶された情報のデータ構造、および取得部804の機能が第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかるSIPプロキシ100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
記憶部820は、第1の実施の形態の記憶部120と同様にメッセージを中継する処理で用いる各種情報を記憶するものであり、コネクション管理テーブル121と、予測テーブル822とを格納している。コネクション管理テーブル121のデータ構造は第1の実施の形態の図3と同様であるので、ここでの説明は省略する。
第2の実施の形態の予測テーブル822は、SIPメッセージ内に含まれる情報から、転送するSIPメッセージの転送先となるSIP端末200を特定するための情報を格納するテーブルである。図9は、第2の実施の形態の予測テーブル822のデータ構造の詳細を示す説明図である。
図9に示すように、予測テーブル822は、SIPメッセージの種類を識別するメソッド名と、SIPメッセージの送信元URIと、コンタクトアドレスと、予測SIPメッセージ転送先とを対応づけて格納している。
メソッド名には、「Publish」、「Register」のように、SIPメソッドに対応した名称が設定される。送信元URIは、例えばSIPメッセージのFromヘッダに含まれるURIを表す。コンタクトアドレスは、例えば、SIPメッセージのContactヘッダに含まれるURIを表す。
なお、予測SIPメッセージ転送先と関連付ける情報は上記に限られず、SIPメッセージのボディ部の情報を含む、SIPメッセージ内のあらゆる情報を関連付けることができる。例えば、ボディ部のSDP内に格納されるメディア種別などによって予測SIPメッセージ転送先を決定するように構成してもよい。
図8に戻り、取得部804は、送受信部101から、受信したメッセージのメソッド名、送信元URIおよびコンタクトアドレスなどのアドレス情報を受け取り、受け取ったメソッド名およびアドレス情報に対応する予測SIPメッセージ転送先を予測テーブル822から取得するものである。
次に、このように構成された第2の実施の形態にかかるSIPプロキシ800による中継処理について図10を用いて説明する。図10は、第2の実施の形態における中継処理の全体の流れを示すフローチャートである。
以下では、事前に交換したSIPメッセージであるSIP PublishメッセージまたはSIP Registerメッセージに含まれる情報(Fromヘッダ情報、コンタクトアドレス情報など)から、以後に受信するSIP INVITEリクエストメッセージなどのSIPメッセージの転送先アドレスを予測する場合を例として説明する。
ここで、事前にSIP Registerを行う場合としては、SIP端末200をSIPシステムに接続し、アドレスの登録を行う通常のシステムが該当する。
また、事前にSIP Publishを行う場合としては、SIP端末200で、(1)受話器を上げる、(2)最初のダイヤルをプッシュする、(3)オフフック状態にする、(4)発呼用インタフェースを起動するなどのタイミングで、SIP PublishなどのSIPメッセージを送信し、SIP端末200の状態をSIPシステムの一部で共有するシステムなどが考えられる。
これらのシステムにおいて、SIP RegisterやSIP Publishの後に、自動的に特定のSIP URIに対してSIP INVITEを実行するシステム(ホットラインシステムなど)が第2の実施の形態が適用できる具体例である。
ここで、SIPプロキシ800の記憶部820の予測テーブル822には、メソッドがSIP RegisterもしくはSIP Publishであり、送信元URIがSIP端末200a上のユーザ1である場合、予測SIPメッセージ転送先として、SIP端末200bのIPアドレスとSIPの通常ポートが予測されるよう、情報が格納されているとする。
最初に、SIP端末200aの送受信部201が、SIPプロキシ800宛にTLSコネクションの確立を要求するためのTLS client helloメッセージを送信する(ステップS1001)。
なお、この処理の前提として、送信先の決定処理およびメッセージ作成処理が以下のような手順で実行される。まず、SIP端末200a上のユーザ1がアプリケーション204を操作することなどにより、アプリケーション204がメッセージ処理部202にSIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージの作成を依頼する。そして、メッセージ処理部202が、SIP仕様にしたがって、メッセージを作成し、送信先をSIPプロキシ800であると決定する。
作成されたメッセージは、送受信部101に転送される。送受信部101は、コネクション確立部203に、SIPプロキシ800との間のTLSコネクションの確立を依頼する。SIP端末200aのコネクション確立部203は、SIPプロキシ800との間でTLSコネクションを確立するため、TLS client helloメッセージを作成し、送受信部101に転送する。
このようにして作成されたTLS client helloメッセージが送受信部201によってSIPプロキシ800に送信され(ステップS1001)、SIPプロキシ800の送受信部101によって受信される。
ステップS1002のTLSハンドシェイクは、図6のステップS603と同様の処理であるため、その説明を省略する。
TLSコネクションが確立されると、SIP端末200aの送受信部101は、コネクション確立部203が管理している暗号パラメータを利用してSIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージを暗号化し、確立したTLSコネクションを利用して、SIPプロキシ800に対して送信する(ステップS1003)。(図10においては、SIP REGISTERリクエストメッセージの場合を示す。)
次に、SIPプロキシ800の送受信部101は、SIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージを受信し、コネクション管理テーブル121に格納されている暗号パラメータを利用してこれを復号し、メッセージ処理部102に対して転送する。メッセージ処理部102は、SIP仕様にしたがって、受信したSIPメッセージの処理を行う。
また、送受信部101は、受信したSIPメッセージのメソッド名、Fromヘッダ値から取得した送信元URIおよびコンタクトアドレスを、取得部804に対して通知する。取得部804は、予測テーブル822を参照し、通知されたメソッド名、送信元URI、およびコンタクトアドレスに対応する予測SIPメッセージ転送先を取得する(ステップS1004)。ここでは、SIP端末200aから受信したSIPメッセージに関する予測SIPメッセージ転送先は、SIP端末200bであると決定される。
このように転送先を予測した後、以下のステップS1005〜ステップS1006で、SIP端末200bとの間のTLSコネクションの確立処理が行われる。なお、ステップS1005〜ステップS1006のTLSコネクションの確立処理と、ステップS1007のレスポンス送信処理は、並行して実行される。
ステップS1005〜ステップS1006のTLSハンドシェイクは、図6のステップS604〜ステップS605と同様の処理であるため、その説明を省略する。ステップS1007では、受信したメッセージの種類に応じて以下のような手順で処理が行われる。
まず、受信したメッセージが、SIP REGISTERリクエストメッセージであった場合、メッセージ処理部102が、SIPロケーションサーバに対して、SIP REGISTERリクエストメッセージに示されているAoR(Address of Record)およびコンタクトアドレスを登録する処理を行う。また、メッセージ処理部102は、SIP仕様にしたがって、SIP REGISTERリクエストメッセージに対するレスポンスメッセージとして、SIP端末200aに宛てた200 OKレスポンスメッセージを作成し、送受信部101に転送する。
一方、受信したメッセージが、SIP PUBLISHリクエストメッセージであった場合、メッセージ処理部102が、SIPヘッダのRequest-URIなどを参照し、受信したSIPメッセージの転送先を決定する。このために、例えばSIPロケーションサーバに問い合わせることなどを行ってもよい。メッセージ処理部102は、決定した転送先を宛て先として、送受信部101に対してSIPメッセージデータを転送する。送受信部101は、コネクション確立部103に、メッセージ転送先との間のTLSコネクションの確立を依頼する。SIPプロキシ800のコネクション確立部103は、メッセージ転送先との間でTLSコネクションを確立するため、TLS client helloメッセージを作成し、送受信部101を介して転送先に送信する。ここでは詳細な説明および図示を省略するが、以後は通常のSIP PUBLISHメッセージの処理シーケンス通りに、TLSコネクションを確立して、SIP PUBLISHリクエストメッセージを転送する。送受信部101は、メッセージ転送先からSIP PUBLISHリクエストメッセージに対応する200 OKレスポンスメッセージを受信すると、コネクション管理テーブル121に格納されている暗号パラメータを利用してこれを復号し、メッセージ処理部102に対して転送する。メッセージ処理部102は、受信したSIPメッセージが、ユーザ1宛であることを認識し、SIP端末200a宛てに転送するため、これを送受信部101に転送する。
送受信部101は、SIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージに対応する200 OKレスポンスメッセージを、コネクション確立部203が管理している暗号パラメータを利用して暗号化し、既に確立しているSIP端末200aとの間のTLSコネクションを利用して、SIP端末200aに対して配送する(ステップS1007)。
次に、SIP端末200bは、以下のような手順により、受信した200 OKレスポンスメッセージを処理する(ステップS1008)。
まず、SIP端末200aの送受信部101は、200 OKレスポンスメッセージを受信し、コネクション確立部203が管理している暗号パラメータを利用してこれを復号し、メッセージ処理部202に対して転送する。メッセージ処理部202は、受信したレスポンスメッセージが、SIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージに対するレスポンスメッセージであることを認識する。ここでアプリケーション204は、ユーザ1に対して通知を行ってもよい。
次に、SIP端末200a上の設定により自動的に、もしくはユーザ1がアプリケーション204を操作することなどにより、アプリケーション204がメッセージ処理部202に対して、ユーザ2を宛先とするSIP INVITEリクエストメッセージの作成を依頼する。そして、メッセージ処理部202が、SIP仕様にしたがって、ユーザ2に宛てたSIP INVITEリクエストメッセージを作成し、このメッセージの送信先をSIPプロキシ800であると決定する。
作成されたメッセージは、送受信部201に転送される。送受信部201は、コネクション確立部203が管理している暗号パラメータを利用してSIP INVITEリクエストメッセージを暗号化し、既に確立しているSIPプロキシ800との間のTLSコネクションを利用して、SIPプロキシ800に対して配送する(ステップS1009)。
ステップS1010からステップS1015までの、SIP INVITEリクエストメッセージ転送処理、200 OKレスポンス送信処理、SIP ACKリクエストメッセージ送受信処理は、第1の実施の形態にかかるSIPプロキシ100におけるステップS607〜ステップS612までと同様の処理であるため、その説明を省略する。
このように、本実施の形態によれば、転送されるSIPメッセージ(SIP INVITEリクエストメッセージ)を受信する前に送信されるSIP REGISTERリクエストメッセージもしくはSIP PUBLISHリクエストメッセージを受信した時点で、後で受信するSIPメッセージの転送先を予測して事前にTLSコネクションを確立することができる。これによりメッセージ転送の遅延を削減することができる。
次に、従来の方法による中継処理の概要について説明する。図11は、従来のSIPプロキシによる中継処理の全体の流れを示すフローチャートである。
本実施の形態の図10と比較すると、従来の方法では、ステップS1004に相当する転送先予測処理が存在しない点が異なっている。また、SIPプロキシBとSIP端末Cとの間のTLSハンドシェイクが、SIP INVITEリクエストメッセージを受信した後に実行される点(ステップS1107〜ステップS1108)が異なっている。
ステップS1101〜ステップS1103は、図10のステップS1001〜ステップS1003と同様の処理である。また、ステップS1104〜ステップS1106は、図10のステップS1007〜ステップS1009と同様の処理である。
ステップS1106でSIP端末AがSIP INVITEリクエストメッセージを送信した後、SIPプロキシBは、SIP端末AからSIP INVITEリクエストメッセージを受信し、暗号パラメータを利用してこれを復号する。また、SIPプロキシBは、SIP仕様にしたがって受信したメッセージを処理し、受信したSIPメッセージが、ユーザ2宛のSIP INVITEリクエストメッセージであることを認識する。
SIPプロキシBは、ユーザ2宛のメッセージの送信先であるSIP端末Cを識別すると、SIP端末Cとの間のTLSコネクションを確立するためのTLS client helloメッセージを作成してSIP端末Cに送信する(ステップS1107)。
ステップS1108のSIPプロキシBとSIP端末Cとの間のTLSハンドシェイクは、図10のステップS1006と同様の処理である。また、ステップS1109〜ステップS1114は、図10のステップS1010〜ステップS1015と同様の処理である。
このように、従来の方法では、ステップS1106で送信されたSIPメッセージを受信した後に、受信したSIPメッセージの宛先を識別し(ステップS1107)、識別した宛先との間でTLSコネクションを確立している(ステップS1108)。このため、SIPメッセージの配送時間の遅延が生じていた。
一方、図10で説明したように、本実施の形態の方法では、SIP INVITEリクエストメッセージを受信する前に、SIPプロキシ800とSIP端末200bとの間のTLSコネクション確立を実行するため、高速にSIP INVITEリクエストメッセージの転送を行うことが可能となる。
すなわち、SIPプロキシ800とSIP端末200bとの間のTLSコネクション確立処理(ステップS1006)を、SIP REGISTERリクエストメッセージまたはSIP PUBLISHリクエストメッセージの処理(ステップS1007)と同時に事前に行っているため、SIP INVITEリクエストメッセージを転送するとき(ステップS1009)に新たにコネクション確立を行う処理遅延が生じない。
このように、第2の実施の形態にかかる中継装置では、転送するSIPメッセージを受信したときに事前に記憶した情報を参照して配送先SIPエンティティを予測し、当該SIPエンティティとの間のTLSコネクションの確立を事前に実行することができる。このため、中継装置がメッセージ配送のため実行する通信確立処理により生じるメッセージ配送時の遅延を削減することができる。
なお、上記各実施の形態では、シグナリングプロトコルとしてSIPを用いる例について説明したが、適用できるプロトコルはこれに限られるものではなく、H.323、MGCP(Media Gateway Control Protocol)、Megaco(Media Gateway Control)など従来から用いられているあらゆるシグナリングプロトコルに適用できる。また、上記各実施の形態では、暗号化プロトコルとして、TLSを用いる例について説明したが、IPsec(Security Architecture for Internet Protocol)などの他のプロトコルを用いるように構成してもよい。暗号化プロトコルとしてIPsecを用いる場合は、例えば鍵交換を開始するためのISAKMP(Internet Security Association and Key Management Protocol)パケットが、コネクションの確立を要求するメッセージ(TLSにおけるTLS client helloメッセージ)に相当する。
次に、第1または第2の実施の形態にかかる中継装置のハードウェア構成について図12を用いて説明する。図12は、第1または第2の実施の形態にかかる中継装置のハードウェア構成を示す説明図である。
第1または第2の実施の形態にかかる中継装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
第1または第2の実施の形態にかかる中継装置で実行される通信確立プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、第1または第2の実施の形態にかかる中継装置で実行される通信確立プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施の形態にかかる中継装置で実行される通信確立プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、第1または第2の実施の形態の通信確立プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
第1または第2の実施の形態にかかる中継装置で実行される通信確立プログラムは、上述した各部(送受信部、メッセージ処理部、コネクション確立部、取得部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体から通信確立プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる装置、方法およびプログラムは、セキュアなコネクションを確立してSIPなどのシグナリングプロトコルを利用してメッセージを中継する中継装置に適している。
第1の実施の形態にかかる通信システムのネットワーク構成を示すブロック図である。 第1の実施の形態にかかるSIPプロキシの構成を示すブロック図である。 コネクション管理テーブルのデータ構造の詳細を示す説明図である。 第1の実施の形態の予測テーブルのデータ構造の詳細を示す説明図である。 第1の実施の形態にかかるSIP端末の構成を示すブロック図である。 第1の実施の形態における中継処理の全体の流れを示すフローチャートである。 従来のSIPプロキシによる中継処理の全体の流れを示すフローチャートである。 第2の実施の形態にかかるSIPプロキシの構成を示すブロック図である。 第2の実施の形態の予測テーブルのデータ構造の詳細を示す説明図である。 第2の実施の形態における中継処理の全体の流れを示すフローチャートである。 従来のSIPプロキシによる中継処理の全体の流れを示すフローチャートである。 第1または第2の実施の形態にかかる中継装置のハードウェア構成を示す説明図である。
符号の説明
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
100 SIPプロキシ
101 送受信部
102 メッセージ処理部
103 コネクション確立部
104 取得部
120 記憶部
121 コネクション管理テーブル
122 予測テーブル
200a、200b、200c SIP端末
201 送受信部
202 メッセージ処理部
203 コネクション確立部
204 アプリケーション
300 ルータ
800 SIPプロキシ
804 取得部
820 記憶部
822 予測テーブル

Claims (16)

  1. 端末装置との間で通信を確立し、前記端末装置間で送受信されるメッセージを、確立した通信によって中継する中継装置であって、
    前記端末装置を識別する第1識別情報と、前記端末装置から送信されたメッセージの転送先として予測される他の端末装置を識別する第2識別情報とを対応づけて記憶する記憶部と、
    前記他の端末装置に転送する転送メッセージの前に受信され、通信に関する処理要求と前記第1識別情報とを含む要求メッセージを前記端末装置から受信する受信部と、
    受信した前記要求メッセージに含まれる前記第1識別情報に対応する前記第2識別情報を前記記憶部から取得する取得部と、
    取得した前記第2識別情報の前記他の端末装置との間で通信を確立する確立部と、
    を備えたことを特徴とする中継装置。
  2. 前記受信部は、前記処理要求として、前記転送メッセージを送信するための通信の確立要求と、前記第1識別情報とを含む前記要求メッセージを前記端末装置から受信すること、
    を特徴とする請求項1に記載の中継装置。
  3. 前記受信部は、TLS(Transport Layer Security)プロトコルによる前記確立要求と、前記第1識別情報とを含む前記要求メッセージを前記端末装置から受信すること、
    を特徴とする請求項2に記載の中継装置。
  4. 前記受信部は、IPsecプロトコルによる前記確立要求と、前記第1識別情報とを含む前記要求メッセージを前記端末装置から受信すること、
    を特徴とする請求項2に記載の中継装置。
  5. 前記記憶部は、前記第1識別情報として前記端末装置のIPアドレスと、前記第2識別情報とを対応づけて記憶し、
    前記受信部は、前記第1識別情報として前記端末装置のIPアドレスを含む前記要求メッセージを前記端末装置から受信し、
    前記取得部は、受信した前記要求メッセージに含まれる前記IPアドレスに対応する前記第2識別情報を前記記憶部から取得すること、
    を特徴とする請求項2に記載の中継装置。
  6. 前記記憶部は、前記端末装置のIPアドレスと通信を確立するポート番号とを前記第1識別情報として前記第2識別情報と対応づけて記憶し、
    前記受信部は、前記第1識別情報として前記端末装置のIPアドレスと前記ポート番号とを含む前記要求メッセージを前記端末装置から受信し、
    前記取得部は、受信した前記要求メッセージに含まれるIPアドレスと前記ポート番号とに対応する前記第2識別情報を前記記憶部から取得すること、
    を特徴とする請求項2に記載の中継装置。
  7. 前記受信部は、前記端末装置との間で確立された通信によって送信された前記要求メッセージを前記端末装置から受信すること、
    を特徴とする請求項1に記載の中継装置。
  8. 前記受信部は、前記要求メッセージとして、SIP(Session Initiation Protocol)のREGISTERメッセージを前記端末装置から受信すること、
    を特徴とする請求項7に記載の中継装置。
  9. 前記受信部は、前記要求メッセージとして、SIPのPUBLISHメッセージを前記端末装置から受信すること、
    を特徴とする請求項7に記載の中継装置。
  10. 前記記憶部は、前記第1識別情報として前記端末装置に対応するSIPのURI(Uniform Resource Identifier)と、前記第2識別情報とを対応づけて記憶し、
    前記受信部は、前記第1識別情報として前記URIを含む前記要求メッセージを前記端末装置から受信し、
    前記取得部は、受信した前記要求メッセージに含まれる前記URIに対応する前記第2識別情報を前記記憶部から取得すること、
    を特徴とする請求項7に記載の中継装置。
  11. 前記記憶部は、前記第1識別情報として前記端末装置に対応するSIPのコンタクトアドレスと、前記第2識別情報とを対応づけて記憶し、
    前記受信部は、前記第1識別情報として前記コンタクトアドレスを含む前記要求メッセージを前記端末装置から受信し、
    前記取得部は、受信した前記要求メッセージに含まれる前記コンタクトアドレスに対応する前記第2識別情報を前記記憶部から取得すること、
    を特徴とする請求項7に記載の中継装置。
  12. 前記記憶部は、メッセージの種類と、前記第1識別情報と、前記第2識別情報とを対応づけて記憶し、
    前記取得部は、さらに、受信した前記要求メッセージの種類と取得した前記第1識別情報とに対応する前記第2識別情報を前記記憶部から取得すること、
    を特徴とする請求項7に記載の中継装置。
  13. 前記確立部は、取得した前記第2識別情報の前記他の端末装置との間でTLS(Transport Layer Security)プロトコルによって通信を確立すること、
    を特徴とする請求項1に記載の中継装置。
  14. 前記確立部は、取得した前記第2識別情報の前記他の端末装置との間でIPsecプロトコルによって通信を確立すること、
    を特徴とする請求項1に記載の中継装置。
  15. 端末装置との間で通信を確立し、前記端末装置間で送受信されるメッセージを、確立した通信によって中継する中継装置における通信確立方法であって、
    受信部によって、他の端末装置に転送する転送メッセージの前に受信され、通信に関する処理要求と前記端末装置を識別する第1識別情報とを含む要求メッセージを前記端末装置から受信する受信ステップと、
    取得部によって、前記第1識別情報と、前記端末装置から送信されたメッセージの転送先として予測される前記他の端末装置を識別する第2識別情報とを対応づけて記憶する記憶部から、受信した前記要求メッセージに含まれる前記第1識別情報に対応する前記第2識別情報を取得する取得ステップと、
    確立部によって、取得した前記第2識別情報の前記他の端末装置との間で通信を確立する確立ステップと、
    を備えたことを特徴とする通信確立方法。
  16. 端末装置との間で通信を確立し、前記端末装置間で送受信されるメッセージを、確立した通信によって中継する中継装置における通信確立プログラムであって、
    他の端末装置に転送する転送メッセージの前に受信され、通信に関する処理要求と前記端末装置を識別する第1識別情報とを含む要求メッセージを前記端末装置から受信する受信手順と、
    前記第1識別情報と、前記端末装置から送信されたメッセージの転送先として予測される前記他の端末装置を識別する第2識別情報とを対応づけて記憶する記憶部から、受信した前記要求メッセージに含まれる前記第1識別情報に対応する前記第2識別情報を取得する取得手順と、
    取得した前記第2識別情報の前記他の端末装置との間で通信を確立する確立手順と、
    をコンピュータに実行させる通信確立プログラム。
JP2007070315A 2007-03-19 2007-03-19 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム Expired - Fee Related JP4764368B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007070315A JP4764368B2 (ja) 2007-03-19 2007-03-19 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム
US11/940,054 US9191406B2 (en) 2007-03-19 2007-11-14 Message relaying apparatus, communication establishing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007070315A JP4764368B2 (ja) 2007-03-19 2007-03-19 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008236130A true JP2008236130A (ja) 2008-10-02
JP4764368B2 JP4764368B2 (ja) 2011-08-31

Family

ID=39775837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007070315A Expired - Fee Related JP4764368B2 (ja) 2007-03-19 2007-03-19 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム

Country Status (2)

Country Link
US (1) US9191406B2 (ja)
JP (1) JP4764368B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151754A (ja) * 2010-01-25 2011-08-04 Fujitsu Ltd 携帯端末装置、通信接続方法及び通信接続プログラム
JP2012039533A (ja) * 2010-08-11 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 呼処理並列化システムおよび呼処理並列化方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010056835A (ja) * 2008-08-28 2010-03-11 Yamaha Corp 中継装置の動作設定方法、中継装置、およびプログラム
US8606932B2 (en) * 2008-09-05 2013-12-10 Telefonaktiebolaget L M Ericsson (Publ) End-to-end address transfer
JP5349580B2 (ja) * 2008-10-10 2013-11-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) サービスノード、その制御方法、ユーザノード、及びその制御方法
WO2010068948A2 (en) * 2008-12-12 2010-06-17 Tekelec Methods, systems, and computer readable media for generating and using statelessly reversible representations of session initiation protocol (sip) information by sip cluster entities
US8599834B2 (en) * 2009-09-29 2013-12-03 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US9026803B2 (en) * 2009-11-30 2015-05-05 Hewlett-Packard Development Company, L.P. Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
JP5769133B2 (ja) * 2011-09-27 2015-08-26 日本電気株式会社 通信中継装置、データ処理システムおよび通信中継方法
GB201511474D0 (en) * 2015-06-30 2015-08-12 Microsoft Technology Licensing Llc Call establishment
DE102015214267A1 (de) * 2015-07-28 2017-02-02 Siemens Aktiengesellschaft Verfahren und System zum Erzeugen eines sicheren Kommunikationskanals für Endgeräte

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002218055A (ja) * 2001-01-23 2002-08-02 Fujitsu Ltd 交換制御システム及び交換制御方法
JP2007006306A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd セッション中継装置、端末装置およびセッション確立方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324177B1 (en) * 1997-05-02 2001-11-27 Cisco Technology Method and apparatus for managing connections based on a client IP address
US6931529B2 (en) * 2001-01-05 2005-08-16 International Business Machines Corporation Establishing consistent, end-to-end protection for a user datagram
US6904140B2 (en) * 2002-12-17 2005-06-07 Nokia Corporation Dynamic user state dependent processing
JP2004248169A (ja) 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> 通信制御システムと通信制御方法およびプログラムと通信端末装置
JP4000419B2 (ja) 2003-04-09 2007-10-31 日本電信電話株式会社 経路最適化システムと方法およびプログラム
EP1528745B1 (en) * 2003-10-30 2009-12-02 Hewlett-Packard Development Company, L.P. Communication method and apparatus
US7764779B2 (en) * 2005-05-06 2010-07-27 Aspect Software, Inc. SIP ACD multi-tenant mechanism that facilitates multiple levels of partitions or tenants
JP4635855B2 (ja) * 2005-12-13 2011-02-23 株式会社日立製作所 データ通信方法およびシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002218055A (ja) * 2001-01-23 2002-08-02 Fujitsu Ltd 交換制御システム及び交換制御方法
JP2007006306A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd セッション中継装置、端末装置およびセッション確立方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151754A (ja) * 2010-01-25 2011-08-04 Fujitsu Ltd 携帯端末装置、通信接続方法及び通信接続プログラム
JP2012039533A (ja) * 2010-08-11 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 呼処理並列化システムおよび呼処理並列化方法

Also Published As

Publication number Publication date
US20080235381A1 (en) 2008-09-25
US9191406B2 (en) 2015-11-17
JP4764368B2 (ja) 2011-08-31

Similar Documents

Publication Publication Date Title
JP4764368B2 (ja) 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム
JP4690767B2 (ja) ネットワークシステム、サーバ装置および通信方法
JP4710267B2 (ja) ネットワークシステム、データ中継装置、セッションモニタシステム、およびパケットモニタ中継装置
JP5143125B2 (ja) ドメイン間情報通信のための認証方法、システム、およびその装置
JP2009021855A (ja) 中継装置、通信方法及び通信プログラム
CA2571891A1 (en) Device authentication and secure channel management for peer-to-peer initiated communications
US8874911B2 (en) Terminal device, system, connection management server, and computer readable medium
US20080310639A1 (en) Communication apparatus, communication system, and communication method
JP4324197B2 (ja) 遠隔ipsecセキュリティ関連性管理
JP5091887B2 (ja) 端末装置、通信処理方法、及びプログラム
JP2008288757A (ja) 暗号化パケット転送方法、中継装置、そのプログラムおよび通信システム
JP4366270B2 (ja) ネットワーク接続設定装置及びネットワーク接続設定方法
US11716222B2 (en) Communications bridge
US8897441B2 (en) Packet transmitting and receiving apparatus and packet transmitting and receiving method
EP3522443B1 (en) Communication apparatus, communication method, and program
KR100871422B1 (ko) 인터넷폰 서비스 제공 장치 및 그 방법
JP2010081108A (ja) 通信中継装置、情報処理装置、プログラム、及び通信システム
JP5022474B2 (ja) サーバ装置、通信方法およびプログラム
JP6396831B2 (ja) 暗号通信システム、暗号通信方法、暗号通信装置及び暗号通信装置登録サーバ
JP5233905B2 (ja) 通信制御装置
JP4035523B2 (ja) 通信方法、ルータ、ルータの処理方法、及びプログラム
WO2017221919A1 (ja) 通信接続管理装置、ipマルチメディアサブシステム、登録装置、通信接続管理方法、プログラムが記録された記録媒体
Kova et al. Migrating a HoneyDepot to Hardware
JP2005333256A (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: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

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

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees