JP4470934B2 - プロキシ・サーバ、通信システム、通信方法及びプログラム - Google Patents

プロキシ・サーバ、通信システム、通信方法及びプログラム Download PDF

Info

Publication number
JP4470934B2
JP4470934B2 JP2006286189A JP2006286189A JP4470934B2 JP 4470934 B2 JP4470934 B2 JP 4470934B2 JP 2006286189 A JP2006286189 A JP 2006286189A JP 2006286189 A JP2006286189 A JP 2006286189A JP 4470934 B2 JP4470934 B2 JP 4470934B2
Authority
JP
Japan
Prior art keywords
message
sip
failure
server
function
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
JP2006286189A
Other languages
English (en)
Other versions
JP2008102823A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006286189A priority Critical patent/JP4470934B2/ja
Priority to US12/443,360 priority patent/US8374079B2/en
Priority to PCT/JP2007/070481 priority patent/WO2008047920A1/ja
Priority to EP07830215A priority patent/EP2079024A1/en
Publication of JP2008102823A publication Critical patent/JP2008102823A/ja
Application granted granted Critical
Publication of JP4470934B2 publication Critical patent/JP4470934B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、SIP(session initiation protocol)を使用してシグナリングを行う通信網に好適に利用されるプロキシ・サーバ、通信システム、通信方法及びプログラムに関する。
近年、VoIP(voice over IP)に見られるように、IP網を使用したリアルタイム・コミュニケーションが普及している。例えば、電話端末やパソコンなどの、リアルタイム・コミュニケーションを行う両端の端末間接続を確立する国際標準プロトコルとしてSIP(session initiation protocol)を採用する状況が多くなっている。なお、本明細書では、SIPを使用してシグナリングを行う通信網をSIPネットワークと呼ぶ。
SIPネットワークの一般的な構成は、非特許文献1に記載されている。SIPネットワークは、ロケーション・サーバと、SIPサーバと、ユーザ・エージェント(UA: user agent)とから構成されている。ユーザ・エージェントは、非特許文献1(後述)のP.76に、「SIPは、エンド・システム間のクライアント−サーバ・モデルに基づいています。このエンド・システムに相当するのが、ユーザ・エージェント(UA: User Agent)です。ユーザ・エージェントとは、具体的には電話機やパソコンなどのエンド・システムのことですが、これらのエンド・システム間でリクエスト(要求)とレスポンス(応答)をやり取りすることによって、サービスを実現します」と説明されている。本明細書では、上記説明文記載のリクエストをSIP要求、レスポンスをSIP応答と呼ぶ。
SIPサーバは、非特許文献1のP.77に記載されているように、(1) SIP要求やSIP応答を中継するプロキシ・サーバ機能と、(2) SIP要求の宛先の問合せに利用するリダイレクト・サーバ機能と、(3) SIPネットワーク上のユーザ・エージェント情報の登録を受け付ける登録サーバ機能とを有する。ここで、ユーザ・エージェント情報とは、例えば、ユーザ・エージェントにアクセスするための識別子であるURI(uniform resource identifier)やユーザ・エージェントが使用するIPアドレスである。なお、本明細書では、ユーザ・エージェントによってSIPサーバに登録されたユーザ・エージェント情報を登録情報と呼ぶ。この登録情報は、SIP要求のREGISTERリクエストを用いて更新される。
一般的なSIPネットワークにおいて、ユーザ・エージェント間で通信する場合の動作シーケンスを図12に示す。この図では、非特許文献2(後述)に記載されているように、一般的な情報通信事業者がSIPネットワークを構築する場合に採用するユーザ・エージェントの認証方式(ダイジェスト認証)を含んだものである。
まず、ユーザ・エージェント(発呼側)がSIPサーバに対してINVITEリクエストを送信する。本明細書では、このユーザ・エージェント(発呼側)が最初にSIPサーバに送信するINVITEリクエストをinitial INVITEリクエストと呼ぶ。
ユーザ・エージェント(発呼側)からのinitial INVITEリクエストを受信したSIPサーバは、ダイジェスト認証で使用するnonceを算出し、そのnonce値をSIP応答(407 proxy authentication required)に付加してユーザ・エージェント(発呼側)に返信する。ユーザ・エージェント(発呼側)では、受信したnonceを鍵にシークレット(ユーザ識別子とパスワード)をハッシュする。この結果をINVITEリクエストのAuthorizationヘッダに格納し、SIPサーバに転送する。本明細書では、このAuthorizationヘッダを付加したINVITEリクエストを認証INVITEリクエストと呼ぶ。
認証INVITEリクエストを受信したSIPサーバは、ユーザ・エージェント(発呼側)の認証処理を行う。具体的には、(1) ユーザ・エージェント(発呼側)と同様、自身が生成したnonce値を使用して、ユーザ・エージェント(発呼側)のユーザ識別子とパスワードをハッシュする。(2) ユーザ・エージェント(発呼側)からの認証INVITEリクエストに格納されたAuthorizationヘッダ値と比較し、同一の場合には、正当なユーザ・エージェントからの認証INVITEリクエストであると判断する。
SIPサーバは、この認証処理の結果、正当なユーザ・エージェントからの認証INVITEリクエストと判断した場合は、認証INVITEリクエストをToフィールドで指定された着呼側のユーザ・エージェント(図12でのユーザ・エージェント(着呼側))へ転送する。
その後、ユーザ・エージェント(着呼側)では、認証INVITEリクエスト受信後、その認証INVITEリクエストの処理を継続中であることを示す暫定応答(図12での100 tryingと180 Ringing)をSIPサーバに返し、通話者を呼び出す。
通話者が応答した場合に、ユーザ・エージェント(着呼側)はSIPサーバに、認証INVITEリクエストの処理が完了した旨を示すSIP応答(200 OK)を返す。ユーザ・エージェント(発呼側)は、認証INVITEリクエストの最終応答であるSIP応答(200 OK)を受信した旨をユーザ・エージェント(着呼側)に伝達するためにACKリクエストを発信する。これにより、ユーザ・エージェント(発呼側)とユーザ・エージェント(着呼側)での通話のためのセッションが確立される。通話終了時には、通話終了を希望するユーザ・エージェント(図12ではユーザ・エージェント(発呼側))から、セッションを終了するBYEリクエストが発行される。SIPサーバ経由でBYEリクエストを受信したユーザ・エージェント(着呼側)では、BYEリクエスト処理後、SIP応答(200 OK)を返答することで、セッションの終了処理が完了したことを伝達する。この結果、ユーザ・エージェント(発呼側)とユーザ・エージェント(着呼側)の通話が終了する。
なお、この図12に示した、initial INVITEリクエストからBYEリクエストの処理完了を示すSIP応答(200 OK)までの一連の流れは、一般的に「コールフロー(呼び出しの流れ)」と呼ばれ、SIP要求およびSIP応答に格納されるCall−IDヘッダの値で識別される。つまり、図12で示した全てのSIP要求とSIP応答は同一のCall−IDヘッダ値を保持することになる。さらに、一般的な情報通信事業者では、通話の課金のために、誰と誰が話中なのかを管理する必要がある。そのため、SIPサーバは、発生した呼がコールフローにおけるどの状態かを管理するコール・ステートフル・プロキシとして実現される。この結果、図12に示すように、コールフロー中のSIP要求およびSIP応答は全て同一のSIPサーバを経由する形態となる。
上述したSIPサーバにおける呼の状態など、クライアントから送信される一連のリクエストの処理状態を管理するサーバの高可用性を実現するために、サーバでの処理内容を、サーバの障害時に他サーバで引き継ぐ手段としては、特開2004−280738(特許文献1)で示される手段がある。以降では、この従来技術の1例である特許文献1に関して図表を参照して詳細に説明する。なお、従来技術を示す図に記載された各構成要素を指す符号は、本願明細書に示す各構成要素を指す符号とは異なるものである。
図13は、特許文献1で示される代理応答装置の構成を示す図である。図13において、特許文献1で示される代理応答装置は、複数サーバの障害発生を監視し、あるサーバに障害が発生した場合には、他のサーバに、障害が発生したサーバの処理を引き継ぐ機能を提供している。この機能を実現するために、代理応答装置は以下に示す手段を有すると説明されている。
「本発明の代理応答装置は、障害発生を監視する監視対象サーバと上記監視対象サーバの代りに応答できる予備サーバのアドレスを保持し、上記監視対象サーバが送受信するメッセージを通信ネットワークから取得する手段と、上記監視対象サーバの障害を検知する手段と、上記監視対象サーバの障害を検知した際には、上記取得したクライアントからの要求のメッセージのうち応答していないメッセージについて、送信元アドレスを上記代理応答装置のアドレスに書き換え、上記予備サーバに送信する手段を有し、上記予備サーバからの応答メッセージの送信元アドレスを上記監視対象サーバのアドレスに書き換えクライアントに中継する手段を有する。」(特許文献1の段落0012を引用)。
このような代理応答装置を実現する情報処理装置のハードウェア構成を図14に示す。図14において、この構成は下記のように説明されている。
「代理応答装置1を実現する情報処理装置は、プロセッサ100と、記憶装置108と、IP網6bに接続するための入力回路インタフェイス105および出力回路インタフェイス107と、入力回路インタフェイス105で受信されたIPパケットを一時的に蓄積するための受信バッファ104と、出力回路インタフェイス107で送信すべきIPパケットを一時的に蓄積するための送信バッファ106と、これらを接続するバスなどの内部通信線からなる。記憶装置108は、プログラムメモリ101と、パケットバッファ102と、サーバ管理表103を格納している。プログラムメモリ101には、プロセッサ100が実行し、代理応答装置1を実現する各種制御プログラムが記録され、パケットバッファ102には、クライアント3とサーバ2a、2bがやりとりするIPパケットが蓄積される。記憶装置108は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。」(特許文献1の段落0019を引用)。
また、このような構成の代理応答装置は、障害が発生したサーバの処理内容を他サーバに引き継がせるために、下記のパケットバッファの管理機能を導入することによってサーバの処理状況を把握しており、以下のように説明されている。
「代理応答装置1は、クライアント3とサーバ2a、2bでやりとりされるメッセージを管理するためのパケットバッファ102を備え、クライアント3が送信した要求のメッセージとそれに対応するサーバ2a、2bの応答のメッセージをまとめて一つの単位(以下、セッションと呼ぶ)として管理する。セッションは、パケットバッファ102のセッション管理エントリ110−1、110−2、・・・に登録される。」(特許文献1の段落0022を引用)。
このパケットバッファの構成例は、図15のようになっており、下記のように説明されている。
「パケットバッファ102の各エントリは、セッション識別子111、クライアントアドレス112、サーバアドレス113、クライアント送信パケットバッファ114、サーバ送信パケットバッファ115とからなる。セッション識別子111には、各エントリを識別するために、一意な識別子を与えられる。クライアントアドレス112には、要求を送信したクライアント3のIPアドレスが設定される。サーバアドレス113には、上記要求を受信したサーバ2aのIPアドレスが設定される。クライアント送信パケットバッファ114には、クライアント3がサーバ2aに送信したすべてのIPパケットがそのまま格納される。サーバ送信パケットバッファ115には、サーバ2aがクライアント3に送信したすべてのIPパケットがそのまま格納される。」(特許文献1の段落0024、0025を引用)
次に、代理応答装置の動作を図表を参照して詳細に説明する。
図16は、代理応答装置の動作を示すフローチャートである。この動作は、以下のように説明されている。
「代理応答装置1が接続するIP網6bに流れるすべてのIPパケットが、入力回路インタフェイス105により取得され、受信バッファ104に格納される。プロセッサ100は、受信バッファ104に上記IPパケットがあれば、一つ取得し(ステップ170)、取得したIPパケットが監視対象のサーバ2aに関係するか否かを、上記IPパケットの送信元アドレス150または送信先アドレス151が、サーバ管理表103の監視対象サーバアドレス121に一致しているかで判定する。もし、ステップ170で受信バッファ104からIPパケットを取得しなかった場合は、ステップ175に進む(ステップ171)。一致している場合プロセッサ100は、上記IPパケットのパケット種別153が切断要求か判定し(ステップ172)、切断要求でないなら上記IPパケットをパケットバッファ102の該当するエントリに格納する(ステップ173)。該当するエントリは、上記IPパケットの送信元アドレス150と送信先アドレス151の組が、クライアントアドレス112とサーバアドレス113の組と一致するか(順不同でも一致と見なす)で判定する。格納先は、上記IPパケットの送信先がサーバならクライアント送信パケットバッファ114に、上記IPパケットの送信元がサーバならサーバ送信パケットバッファ115となる。この際、該当するエントリが無い場合には、新しくエントリを作成する。ステップ172にてパケット種別153が切断要求の場合には、該当するエントリを削除する(ステップ174)。プロセッサ100は、サーバ管理表103の各エントリの監視対象サーバアドレス121を持つサーバの障害の有無を判定し(ステップ175)、障害が発生している場合には、代理応答処理を実行する(ステップ177)。サーバの障害の有無の判定方法は、特に限定されないが、一例としては、パケットバッファ102に格納されたすべてのセッションを監視し、サーバから一定時間応答が無いセッションを見つけたら上記サーバに障害が発生したと判定する。他の例としては、サーバで、代理応答装置1に障害がないことを意味するメッセージを送信し続けるプログラムを実行させ、代理応答装置1が上記メッセージを受信できなくなったときに、上記サーバに障害が発生したと判定する。あるセッションにおいて、最初に代理応答処理を行う場合は、受信している全てのIPパケットを用いて、障害発生までの処理を実行し、同じ状態を再現する。また、ステップ177は一つのIPパケット毎に実行され、実行後は、ステップ170に戻る。」(特許文献1の段落0036〜0042を引用)
このように、従来技術の1例である特許文献1で示される代理応答装置の特徴は、クライアントおよびサーバから送信されるIPパケットを全て格納しておき、サーバでの障害発生時には、代理応答装置がクライアントの代わりに、障害発生までのIPパケットを、全て、かつ、順番に他サーバに対して送信することで、サーバでの障害発生時と同様の状態を他サーバに再現することである。この手段により、サーバで未完了であったクライアントからのリクエストの処理を、他サーバに引き継ぐのである。
次に、本願発明の技術範囲と同様の電話システムにおいて、サーバの障害発生時に電話の不通状態を回避する従来の方式が特開2005−229273(特許文献2)に記載されている。
図17は、特許文献2に記載のサーババックアップ装置の原理構成を示す図である。このサーババックアップ装置の構成は下記のように説明されている。なお、下記説明における「図1」は、本明細書での「図17」に相当する。
「図1は本発明のサーババックアップ装置の原理構成ブロック図である。同図はネットワークに接続された複数の電話端末、例えばIP電話端末と、そのネットワークの内部の端末相互間の通話、および外部との通話の切換接続を行うサーバとの間に位置し、そのサーバのバックアップを行うサーババックアップ装置の原理構成を示し、サーババックアップ装置1は、少なくともサーバ障害検出手段2、およびメッセージ転送手段3を備える。サーバ障害検出手段2はサーバの障害を検出するものであり、例えば後述する呼状態管理部とSIPメッセージ読取部に相当する。メッセージ転送手段3は障害の発生期間中にネットワーク内での端末間の通信のために端末側から送られる所定のメッセージ内の宛先アドレスを、自装置のアドレスから相手側端末のアドレスに書き換えて、そのメッセージをサーバを経由することなく相手側端末に直接に転送するものであり、例えばSIPメッセージ書き換え部に相当する。発明の実施の形態においては、バックアップ装置1が複数のIP電話端末のそれぞれに対応して、端末の識別子としてのエンド・ポイント名称とIPアドレスとを記憶するエンド・ポイント記憶手段、例えばエンド・ポイント・テーブルをさらに備え、メッセージ転送手段3がエンド・ポイント記憶手段の記憶内容に基いてメッセージの転送を行うこともできる。また所定のメッセージは、相手端末側に呼の確立を要求するために送られるインバイトメッセージであることもできる。また本発明のサーババックアップ装置は、サーバ障害検出手段と、サーバ障害の発生期間中に、前記ネットワーク内の端末から送られる所定のメッセージに対応して該メッセージに対する応答メッセージを生成し、該応答メッセージを前記所定のメッセージの送信元端末に送信するメッセージ生成手段、例えばSIPメッセージ生成部とを備える。実施の形態においては、所定のメッセージは端末側から自端末の登録のために送信されるレジスタメッセージであることもできる。また実施の形態においては、サーババックアップ装置が、同一端末からの前記所定のメッセージの受信回数を記憶する所定メッセージ受信回数記憶手段、例えばアクティブ・コール・テーブルをさらに備え、前記サーバ障害検出手段が、該記憶されたメッセージの受信回数があらかじめ定められた数を超えたとき、前記サーバの障害を検出することもできる。」(特許文献2の段落0010〜0014を引用)。
さらに、特許文献2に記載のサーババックアップ装置を含むシステム全体の構成図を図18に示す。なお、これまで記載してきたサーバは、図18におけるIPセントレックスサーバ(IP Centrex Server)に相当する。図18に示すように、IPセントレックスサーバの予備系は明示されておらず、IPセントレックスサーバの障害発生時には、サーババックアップ装置がユーザ・エージェントからのシグナリングを全て賄う形態となっている。つまり、サーババックアップ装置が、発呼側ユーザ・エージェントからのSIP要求を着呼側ユーザ・エージェントへ転送するのである。そこで、サーババックアップ装置での実施の形態では、電話番号などの着呼側ユーザ・エージェントの識別子からIPアドレスを決定するために、複数のユーザ・エージェントの各々に対応して、ユーザ・エージェントの識別子であるエンド・ポイント名称とユーザ・エージェントのIPアドレスとを記憶するエンド・ポイント記憶手段を保持する形態が採用されている。
次に、特許文献2に記載のサーババックアップ装置の動作を図表を参照して説明する。図19は、IPセントレックスサーバ正常動作時の動作を、図20は、IPセントレックスサーバ障害発生時の動作を示す図である。
これらの動作は、特許文献2にて下記のように説明されている。なお、下記引用中の「図4」が本明細書での「図19」に、「図5」が本明細書での「図20」に相当する。
「図4は、セントレックスサーバ正常動作時のシステム内動作のさらに詳細な説明図である。ここでは端末121からの発呼によって端末122との間で通話が行われるものとする。なおここでバックアップ装置10のIPアドレスは111.1.1.10、端末121のIPアドレスは111.1.1.1、端末122のIPアドレスは111.1.1.2、またIPセントレックスサーバ16のIPアドレスは133.1.1.1とする。図4において、端末121から送られる、セッションの確立、維持、終了を行うためのセッション・イニシエーション・プロトコル(SIP)メッセージ、例えば後述するレジスタメッセージ、インバイトメッセージなどは、(1)でLAN13を介してバックアップ装置10に至り、バックアップ装置10からLAN13、ルータ14、IPネットワーク15を経由してIPセントレックスサーバ16に至る経路によって(2)で転送され、その後(3)でIPセントレックスサーバ16からIPネットワーク15、ルータ14、LAN13を介してバックアップ装置10に至る経路によってバックアップ装置10に転送され、さらにバックアップ装置10からLAN13を介して端末122に転送される。なお端末間で呼の接続が完了した後の実際の音声信号、すなわちリアルタイム・トランスポート・プロトコル(RTP)によるメディアストリームのやりとりは、バックアップ装置10を介することなく、LAN13を介して直接に端末間で行われる。IPセントレックスサーバ16の正常動作時にも、実際の音声信号は同様に端末間で直接にやり取りされる。図5はセントレックスサーバ障害発生時の動作の詳細説明図である。図4におけると同様に、端末121からLAN13を介して(1)でバックアップ装置10に対して呼確立のための、例えばインバイトメッセージが転送されると、バックアップ装置10は後述するようにIPセントレックスサーバ16の障害発生を検出しており、そのためバックアップ装置10はそのメッセージをIPセントレックスサーバ16側に転送することなく直接に相手側のIP電話端末122に(2)で転送し、2つの端末間の通話が可能となる。なお端末間で呼の接続が完了した後の実際の音声信号、すなわちリアルタイム・トランスポート・プロトコルによるメディアストリームのやりとりは、バックアップ装置10を介することなく、LAN13を介して直接に端末間で行われる。IPセントレックスサーバ16の正常動作時にも、実際の音声信号は同様に端末間で直接にやり取りされる。」(特許文献2の段落0022〜0024を引用)。
このように、特許文献2に記載のサーババックアップ装置では、IPセントレックスサーバでの障害発生時には、エンド・ポイント名称とIPアドレスとの情報を参照して、受信したSIP要求の宛先を変更し、サーババックアップ装置がSIP要求をユーザ・エージェントに直接転送することで、IPセントレックスサーバの障害による電話の不通状態を回避している。
特開2004−280738号公報 特開2005−229273号公報 千村保文・村田利文 監修 「改訂版 SIP教科書」P.77、P.78特許出版 2004年 社団法人情報通信技術委員会 策定 仕様書番号 TS−1006 「事業者SIP網に接続するSIP端末基本接続インタフェース技術仕様」2004年
特許文献1に記載の技術を1例とする従来技術における課題は、現用SIPサーバの障害に遭遇したコールフローを正常に終了できないことである。
その理由は、現用SIPサーバの障害発生時点の状態を予備SIPサーバに再現できないためである。
この予備SIPサーバに現用SIPサーバの障害発生時点の状態を再現できない従来の場合を具体的に例示する。図21は、SIPネットワークに代理応答装置を適用した場合に、予備SIPサーバで現用SIPサーバの状態を再現できない従来例を示すシーケンス図である。
この図では、ユーザ・エージェント(着呼側)での認証INVITEリクエスト処理完了を示すSIP応答(200 OK)を、現用SIPサーバ経由でユーザ・エージェント(発呼側)へ転送した後に、現用SIPサーバに障害が発生した場合を示している。
この場合、代理応答装置は、予備SIPサーバに、現用SIPサーバの状態を再現すべく、ユーザ・エージェント(発呼側)から送信されたinitial INVITEリクエストを予備SIPサーバに送信する。
すると、予備SIPサーバでは、新規にnonce値を計算し、このnonce値を含んだSIP応答(407 proxy authentication required)を代理応答装置に送信する。代理応答装置は、ユーザ・エージェント(発呼側)から受信した認証INVITEリクエストを予備SIPサーバに送信する。
しかし、この認証INVITEリクエストのAuthenticationヘッダに格納された値は、現用SIPサーバが生成したnonce値を使用してハッシュされたものであり、予備SIPサーバが生成したnonce値を使用してハッシュしたものとは異なるため、予備SIPサーバでの認証処理で失敗する。
ユーザ・エージェント(発呼側)のユーザ識別子とパスワードを保持しない代理応答装置が、この状況を回避するためには、ユーザ・エージェント(発呼側)から受信した認証INVITEリクエストのAuthenticationヘッダ値を解析し、ユーザ・エージェント(発呼側)のユーザ識別子とパスワードを抽出する必要がある。しかし、これは、ダイジェスト認証を破ることを意味しており、不可能である。
以上の結果、予備SIPサーバでは、実際には、ユーザ・エージェント(発呼側)とユーザ・エージェント(着呼側)間で通話中であるにも係らず、ユーザ・エージェント(発呼側)とユーザ・エージェント(着呼側)の通話のセッションは確立されていないと認識される。この状態でユーザ・エージェント(発呼側)が通話を終了するBYEリクエストを送信しても、予備SIPサーバは、終了対象のセッションが存在しないため、BYEリクエストは実行されない。このように、現用SIPサーバの障害に遭遇したコールフローは、正常に終了されないのである。
また、特許文献2に記載の技術を1例とする従来技術における第1の課題は、IPセントレックスサーバ障害発生時において、ユーザ・エージェントが発呼した場合、ダイジェスト認証が実施できないことである。
この理由は、図12に示したように、ダイジェスト認証では、ユーザ・エージェント(発呼側)からのinitial INVITEリクエストに対し、SIPサーバでnonce値を算出し、その結果を付加したSIP応答(407 proxy authentication required)をユーザ・エージェントに返答しなければならないにも係らず、特許文献2に記載のサーババックアップ装置では、nonce値を算出する機能もユーザ・エージェントのユーザ識別子とパスワードを保持する機能も保持していないため、SIP応答(407 proxy authentication required)が生成できないためである。
また、特許文献2に記載の技術を1例とする従来技術における第2の課題は、ユーザ・エージェント数増加に対するサーババックアップ装置の対応性が乏しいことである。
この理由は、従来技術は、ユーザ・エージェント(着呼側)のIPアドレスを決定するために、サーババックアップ装置自身がユーザ・エージェントの識別子とIPアドレスとの情報を保持する形態だからである。この結果、サーババックアップ装置が管理すべきユーザ・エージェント数の増加につれ、この情報を格納しておくためのディスクやメモリ容量の拡張が必要となるのである。
また、特許文献2に記載の技術を1例とする従来技術における第3の課題は、サーババックアップ装置が保持するユーザ・エージェントの識別子とIPアドレスとの情報に記載されたユーザ・エージェント以外のユーザ・エージェントに、SIP要求を転送できないことである。
この理由は、従来技術は、サーババックアップ装置が保持する情報に基づいて、SIP要求の転送先のIPアドレスを解決しているためである。なお、この課題は、特許文献2に、「これに対してエンド・ポイント・テーブル23内のエンド・ポイント・ネームの値と一致しなかった場合には、Server Keep Aliveの値を参照し、その値が6以上であれば、例えば外部との通話ができないことを示す404Not Foundというコードを生成し、SIPメッセージの送信元アドレスを送信先アドレスとしてセットし、SIPメッセージ生成部26にその送信先アドレス、コード、およびSIPメッセージを渡す。SIPメッセージ生成部26により、SIPメッセージの送信元の端末に、通信相手側端末との接続ができないことを示すメッセージが生成されて送信される。」(特許文献2の段落0054を引用)と記載がある通り、サーババックアップ装置での解決は図られておらず、SIP要求が転送できないことをユーザ・エージェントに通知する方式を採用している。
本発明の目的は、ダイジェスト認証を伴うコールフローが終了前に現用SIPサーバの障害に遭遇した場合でも、該当コールフローを正常に終了し、かつ、現用SIPサーバ障害時でも新規発生呼のダイジェスト認証を実施し、かつ、ユーザ・エージェント数の増加に柔軟に対応でき、かつ、SIP要求の転送先に制限がない、SIPネットワークにおけるプロキシ・サーバを提供することである。
特許文献1に記載の技術を1例とする従来技術における第1の課題を解決するために本発明は、ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介するプロキシ・サーバ機能と、プロキシ・サーバ機能が受信したメッセージの種類を判別するメッセージ種別判定機能と、現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出機能と、転送先障害検出機能からの通知を受信し、プロキシ・サーバ機能が受信したメッセージが、現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能と、転送先障害検出機能からの通知を受信し、現用SIPサーバの障害発生状況に応じて、プロキシ・サーバ機能で受信したメッセージの種類が、SIP要求のACKもしくはBYE、またはSIP応答である場合に、応じてメッセージの転送先を設定する宛先設定機能とを備えることを特徴とする。
すなわち、本発明は、一般的なSIPプロキシ・サーバ機能と、プロキシ・サーバが受信したSIP要求とSIP応答が現用SIPサーバの障害に遭遇したコールフローに属するものかを判断する機能と、障害に遭遇したコールフローに属すると判断された場合に、受信したSIP要求とSIP応答のメッセージ内容を参照して、該当SIP要求とSIP応答が次に送信されるべき宛先を特定する機能とをプロキシ・サーバに保持させる。
これらの機能により、予備SIPサーバに、現用SIPサーバの状態を再現せずとも現用SIPサーバの障害に遭遇したコールフローの処理を継続・終了することが可能となる。これは、通話を行う両端のユーザ・エージェントにSIP要求およびSIP応答が規約通りに到着すれば、コールフローの処理が継続可能という、SIPのプロトコル規約の特性に着目したものである。
特許文献2に記載の技術を1例とする従来技術における第1の課題解決するために本発明は、プロキシ・サーバを含むシステム全体の構成を図1に示す形態とする。すなわち、予備系のSIPサーバ(予備SIPサーバ40)を導入し、本願発明のプロキシ・サーバ10が、現用SIPサーバ30の障害時には、SIP要求のメッセージの転送先を予備SIPサーバ40へ切り替えるのである。さらに、この現用SIPサーバ30から予備SIPサーバ40へのSIP要求のメッセージの転送先切り替えを実現するために、プロキシ・サーバ10に、現用SIPサーバ30の障害発生状況に合わせて、SIPリクエストのメッセージの転送先を決定する機能を導入する。なお、この予備SIPサーバには新規追加機能は必要なく、従来までのSIPサーバと同様の機能を有する。
この機能により、コールフロー開始のSIP要求(initial INVITEリクエストまたはinitial REGISTERリクエスト)のメッセージが現用SIPサーバ30または予備SIPサーバ40に転送されるため、図12に示した、コールフローのシーケンスに沿った通話が実現できるのである。
特許文献2に記載の技術を1例とする従来技術における第2及び第3の課題解決するために本発明は、前述した、受信したSIP要求とSIP応答のメッセージの内容を参照し、該当SIP要求とSIP応答のメッセージが次に送信されるべき宛先を特定する機能を備える。
これは、SIPのプロトコル規約に記載されているように、プロキシ・サーバが受信したSIP要求とSIP応答のメッセージに記載されているヘッダ(例えば、ViaヘッダやRecord−Routeヘッダ)には、経由地点のIPアドレスが記載されるため、現用SIPサーバのIPアドレスの次のIPアドレスを次に転送すべき宛先と見なすことが可能となるのである。
この機能により、例えば、特許文献2に記載のサーババックアップ装置のように、SIP要求のメッセージを転送するユーザ・エージェントのIPアドレスを解決する情報を、プロキシ・サーバ内に保持する必要がない。これは、ユーザ・エージェント数の増加につれて、情報を格納するディスクやメモリ容量を追加する必要がないことを意味しており、ユーザ・エージェント数の増加に柔軟に対応可能となるのである。さらに、プロキシ・サーバが、SIP要求を転送するユーザ・エージェントのIPアドレスを解決する情報を保持しないため、例えば、特許文献2に記載のサーババックアップ装置のような「SIP要求の転送可能先は情報記載内」という制限はそもそも存在しないのである。
本発明によれば、以下の効果を達成することができる。
第1の効果は、現用SIPサーバの障害に遭遇したコールフローの処理を正常に終了できることである。
これは、通話を行う両端のユーザ・エージェントにSIP要求およびSIP応答が規約通りに到着すれば、コールフローの処理が継続可能というSIPのプロトコル規約の特性に着目し、プロキシ・サーバが、現用SIPサーバの障害に遭遇したコールフローに属するSIP要求とSIP応答のメッセージを受信した場合に、当該SIP要求とSIP応答の中身を参照し、現用SIPサーバに代わって、該当SIP要求とSIP応答のメッセージが次に送信されるべき宛先を特定し、転送するためである。
第2の効果は、現用SIPサーバの障害時でもダイジェスト認証を伴った発呼が可能なことである。
これは、プロキシ・サーバが、現用SIPサーバの障害発生を検知し、現用SIPサーバの障害発生状況に合わせてSIP要求のメッセージの転送先を変更するためである。この結果、現用SIPサーバでの障害発生時に、initial INVITEリクエストやinitial REGISTERリクエストなど、ダイジェスト認証を伴うSIP要求のメッセージをプロキシ・サーバが受信した場合には、予備SIPサーバへ転送することで、ダイジェスト認証が実行可能となるのである。
第3の効果は、ユーザ・エージェントの数の増加に柔軟に対応可能なことである。
これは、現用SIPサーバの障害に遭遇したコールフローに属するメッセージの次の転送先を、受信したメッセージの種類に基づいて決定するためである。この結果、SIP要求のメッセージの転送先となるユーザ・エージェントのIPアドレスを解決する情報を格納するディスクやメモリが不要となる。このように、ユーザ・エージェントなどのSIP要求のメッセージの転送先数の増加と、転送先のIPアドレスの解決処理とが無関係となるのである。
第4の効果は、メッセージの転送先に制限がないことである。
これは、前述したように、現用SIPサーバの障害に遭遇したコールフローに属するメッセージの次の転送先を、受信したメッセージの種類に基づいて決定しているためである。この結果、プロキシ・サーバ内に転送先のIPアドレスを解決するための情報を保持する必要がなくなるため、その情報記載の転送先以外には転送できないといった事態がそもそも発生しないのである。
(第1の実施の形態)
本発明の第1の実施の形態について、図表を参照して詳細に説明する。
(第1の実施の形態の構成)
図1に、本発明の第1の実施の形態に係る通信システムのブロック図を示す。
図1に示すように、本発明の第1の実施の形態に係る通信システムは、登録情報31を有する現用SIPサーバ30及びホットスタンバイしており登録情報41を有する予備SIPサーバ40と接続されるプロキシ・サーバ10が、ネットワーク50を介してユーザ・エージェント20との通信を行う。ここで、SIPシステム1は、プロキシ・サーバ10と、現用SIPサーバ30と、予備SIPサーバ40とを備え、ネットワーク50に接続する。
図2に、本発明の第1の実施の形態に係るプロキシ・サーバ10のブロック図を示す。
図2に示すように、本発明の第1の実施の形態に係るプロキシ・サーバ101は、前述した、一般的なSIPプロキシ・サーバが有する機能(図2でのSIPプロキシ・サーバ機能11)に加え、SIPプロキシ・サーバ機能11が受信したメッセージの種類を判別するメッセージ種別判定機能12と、SIPプロキシ・サーバ機能11が受信したメッセージが、現用SIPサーバ30の障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能13と、SIPサーバの障害発生状況やSIPプロキシ・サーバ機能11で受信したメッセージの種類に応じてメッセージの転送先を設定する宛先設定機能14と、現用SIPサーバ30の障害が発生したことを検知し、宛先設定機能14及び呼障害遭遇判定機能13にその旨を通知する転送先障害検出機能15とを備える。
なお、宛先設定機能14は、特段の指定がない場合に転送する標準的な転送先(以下、標準転送先と呼ぶ)を情報として保持している。例えば、この標準転送先としては、現用SIPサーバ30が動作している場合には「現用SIPサーバ30」、現用SIPサーバ30に障害が発生した場合には「予備SIPサーバ40」と設定されている。
さらに、この標準転送先の変更は、転送先障害検出機能15が宛先設定機能14に対して現用SIPサーバ30の障害発生を通知することにより実行される。
また、この転送先障害検出機能15における現用SIPサーバ30についての障害発生検出は、例えば、下記の手段により実現可能である。例えば、SIPでは、一般的に、REGISTERリクエストにより更新され、かつ、SIPサーバで管理される登録情報の有効期限が切れないように、ユーザ・エージェント20が定期的にSIPサーバに対してREGISTERリクエストを送信する。このため、一台のSIPサーバが管理する登録情報の数が数千〜数万となる状況では、一秒間にSIPサーバに到着するREISTERリクエストは平均数百程度となる。さらに、SIPサーバは、これらのREGISTERリクエストを例えば毎秒処理し、処理結果をSIP応答としてユーザ・エージェント20に返す。そこで、転送先障害検出機能15は、この毎秒当たりにSIPサーバとユーザ・エージェント20とで送受信されるREGISTERリクエストとSIP応答を監視することで、SIPサーバからのSIP応答を検出できない場合には、SIPサーバ(またはネットワーク50)に障害が発生したと判断することが可能となる。
呼障害遭遇判定機能13は、initial INVITEリクエストの呼識別子(Call−IDヘッダ値)131を保持する。この呼識別子131は、メッセージ種別判定機能12が外部から受信したinitial INVITEリクエストの呼識別子(Call−IDヘッダ値)であって、呼障害遭遇判定機能13がメッセージ種別判定機能12から通知されたものである。
呼障害遭遇判定機能13に保存された呼識別子131の実現形態の1例を図3に示す。なお、本明細書では、この保存された呼識別子131の一覧を「呼識別子一覧132」と呼ぶ。
ここで、プロキシ・サーバ10のハードウェア構成の説明をする。
図4は、本実施の形態による通信システムのプロキシ・サーバ10のハードウェア構成を示すブロック図である。
図4を参照すると、本発明によるプロキシ・サーバ10は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)401、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部402、ネットワーク50を介してデータの送受信を行う通信制御部403、液晶ディスプレイ、プリンタやスピーカ等の提示部404、キーボードやマウス等の入力部405、周辺機器と接続してデータの送受信を行うインタフェース部406、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部407、本情報処理装置の上記各構成要素を相互に接続するシステムバス408等を備えている。
本発明によるプロキシ・サーバ10は、その動作を、プロキシ・サーバ10内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU401で実行することにより、ソフトウェア的に実現することができる。
すなわち、CPU401は、補助記憶部407に格納されているプログラムを、主記憶部402にロードして実行し、プロキシ・サーバ10の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
(第1の実施の形態の動作)
次に、本発明の第1の実施の形態に係るプロキシ・サーバの動作について図表を参照して詳細に説明する。
図5は、本発明の第1の実施の形態に係るプロキシ・サーバの動作を示すフローチャートである。
いま、SIPプロキシ・サーバ機能11が外部からメッセージを受信したとする(ステップS501)。次に、メッセージ種別判定機能12が、SIPプロキシ・サーバ機能11によって受信したメッセージの種類を調査する(ステップS502)。
ステップS502の結果、受信したメッセージがSIP要求(ACKまたはBYE)の場合には、さらに、呼障害遭遇判定機能13が、上記受信したメッセージが現用SIPサーバ30の障害に遭遇したコールフローに属するかを調査する(ステップS503)。
このステップS503の処理は、例えば、以下に示す手段により実現できる。まず、メッセージ種別判定機能12が、外部から受信したinitial INVITEリクエストの呼識別子(Call−IDヘッダ値)131を呼障害遭遇判定機能13に対して通知し、呼障害遭遇判定機能13は、受信した呼識別子131を保持する。
呼障害遭遇判定機能13は、図3に示すような呼識別子一覧132を保存する。この呼識別子一覧132の内容は、転送先障害検出機能15が現用SIPサーバ30の障害発生を検出した際に、その旨を転送先障害検出機能15から受信した呼障害遭遇判定機能13により全て一旦消去される。この動作により、この呼識別子一覧132には、現用または予備SIPサーバの動作時に新規に生成されたコールフローの呼識別子(Call−IDヘッダ値)131のみが記載されることになる。つまり、呼障害遭遇判定機能13は、この呼識別子一覧132に記載のない呼識別子131を保持するSIP要求(ACKまたはBYE)またはSIP応答をメッセージ種別判定機能12から受信した場合、当該呼識別子131で識別されるコールフローは現用SIPサーバ30の障害に遭遇したと判別できるのである。
ステップS503の結果、ステップS501で受信したメッセージが現用SIPサーバ30の障害発生に遭遇していない場合には、宛先設定機能14がステップS501の結果受信したメッセージの送信先を標準転送先に設定する(ステップS504)。
ステップS503の結果、ステップS501で受信したメッセージが現用SIPサーバ30の障害に遭遇したコールフローに属すると判別された場合には、メッセージの転送先を新規に決定する(ステップS505)。
この処理は、例えば、以下に示す手段により実現可能である。SIP要求(ACKまたはBYE)およびSIP応答には、メッセージの転送経路を格納するヘッダ(ViaヘッダまたはRecord−Routeヘッダ)が存在する。現用SIPサーバ30の障害発生に遭遇したSIP要求およびSIP応答の場合、このヘッダに、現用SIPサーバ30のアドレスが記載されている。そこで、このヘッダから、現用SIPサーバ30の次に記載されているアドレス(例えば、着呼側のユーザ・エージェント20のアドレス)を抽出し、当該アドレスへメッセージを直接転送すべく、当該アドレスを次転送先とするのである。
また、このステップS505は、例えば、以下の処理によっても実現可能である。SIP要求およびSIP応答の宛先ヘッダ(Toヘッダ)が完全修飾ドメイン名(FQDN:Fully Qualified Domain Name)で記載されている場合、宛先決定機能が、転送経路を格納するヘッダ値を無視して、DNS(Domain Name System)等の外部システムから再度Toヘッダのアドレス解決を実行することで、次転送先を決定するのである。
ステップS502の結果、ステップS501で受信したメッセージがSIP応答の場合には、さらに、呼障害遭遇判定機能13が、上記受信したメッセージが障害に遭遇したコールフローに属するかを調査する(ステップS506)。なお、このステップS506の処理は、ステップS503の処理と同様であるため説明を省略する。
ステップS506の結果、ステップS501で受信したメッセージが現用SIPサーバ30の障害に遭遇したコールフローに属すると判別された場合には、メッセージの転送先を新規に決定する(ステップS505)。このステップS505の処理は前述した通りである。
ステップS506の結果、ステップS501で受信したメッセージが現用SIPサーバ30の障害発生に遭遇していない場合には、宛先設定機能14が、ステップS501の結果受信したメッセージの送信先を当該メッセージに記載された送信先に決定する(ステップS507)。
ステップS502の結果、ステップS501で受信したメッセージがSIP要求(ACKまたはBYE)またはSIP応答以外の場合には、宛先設定機能14が、ステップS501の結果受信したメッセージの送信先を標準転送先に指定する(ステップS504)。
ステップS504、ステップS505およびステップS507において宛先決定機能が設定した送信先に対し、SIPプロキシ・サーバ機能11が、ステップS501で受信したメッセージを転送する(ステップS508)。
次に、本発明の第1の実施の形態に係るプロキシ・サーバ10を含むシステム全体の動作について図表を参照して詳細に説明する。
図6は、本発明の第1の実施の形態に係るプロキシ・サーバを含むシステム全体での動作を示す動作シーケンス図、図7は、同フローチャートである。図6及び図7に示すように、コールフローの途中(図6では呼設立後)で現用SIPサーバ30に障害が発生した場合には(ステップS701)、プロキシ・サーバ10が、予備SIPサーバ40を標準転送先として設定し(ステップS702)、それ以後のSIP要求(ACKとBYE)を予備SIPサーバ40に転送するのではなく、SIP要求の次の転送先(図6ではユーザ・エージェント20(着呼側))に直接転送する(ステップS703)。
(第1の実施の形態の効果)
このように、本実施の形態によれば、以下の効果を達成することができる。
第1の効果は、現用SIPサーバ30の障害に遭遇したコールフローの処理を正常に終了できることである。
これは、通話を行う両端のユーザ・エージェント20にSIP要求およびSIP応答が規約通りに到着すれば、コールフローの処理が継続可能というSIPのプロトコル規約の特性に着目し、プロキシ・サーバ10が、現用SIPサーバ30の障害に遭遇したコールフローに属するSIP要求とSIP応答を受信した場合に、当該SIP要求とSIP応答の中身を参照し、現用SIPサーバ30に代わって、該当SIP要求とSIP応答が次に送信されるべき宛先を特定し、転送するためである。
第2の効果は、現用SIPサーバ30の障害時でもダイジェスト認証を伴った発呼が可能なことである。
これは、プロキシ・サーバ10が、現用SIPサーバ30の障害発生を検知し、現用SIPサーバ30の障害発生状況に合わせてSIP要求の転送先を変更するためである。この結果、現用SIPサーバ30での障害発生時に、initial INVITEリクエストやinitial REGISTERリクエストなど、ダイジェスト認証を伴うSIP要求をプロキシ・サーバ10が受信した場合には、予備SIPサーバ40へ転送することで、ダイジェスト認証が実行可能となるのである。
第3の効果は、ユーザ・エージェント20の数の増加に柔軟に対応可能なことである。
これは、現用SIPサーバの障害に遭遇したコールフローに属するSIP要求とSIP応答の次の転送先を、受信したSIP要求とSIP応答に格納されたヘッダの内容から決定するためである。この結果、SIP要求の転送先となるユーザ・エージェント20のIPアドレスを解決する情報を格納するディスクやメモリが不要となる。このように、ユーザ・エージェント20などのSIP要求の転送先数の増加と、転送先のIPアドレスの解決処理とが無関係となるのである。
第4の効果は、SIP要求の転送先に制限がないことである。
これは、前述したように、現用SIPサーバ30の障害に遭遇したコールフローに属するSIP要求とSIP応答の次の転送先を、受信したSIP要求とSIP応答に格納されたヘッダの内容から決定しているためである。この結果、プロキシ・サーバ10内に転送先のIPアドレスを解決するための情報を保持する必要がなくなるため、その情報記載の転送先以外には転送できないといった事態がそもそも発生しないのである。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係るプロキシ・サーバに関して図表を参照して詳細に説明する。
(第2の実施の形態の構成)
図8は、本発明の第2の実施の形態に係るプロキシ・サーバ10のブロック図を示す。
図8に示すように、本発明の第2の実施の形態に係るプロキシ・サーバ10は、本発明の第1の実施の形態に係るプロキシ・サーバ10の構成に再送要求生成機能16が追加された構成となっている。
この再送要求生成機能16は、認証INVITEリクエスト到達時において現用SIPサーバ30に障害が発生していた場合に、ユーザ・エージェント20に対してinitial INVITEリクエストの再転送を促すために、ユーザ・エージェント20へ転送する再送要求を生成する。例えば、この再送要求には、Retry−Afterヘッダを挿入したSIP応答(500 Server Inernal Error)が使用される。このSIP応答を受信した結果、ユーザ・エージェント20は一般的なSIP応答受信時の処理に従い、Retry−Afterヘッダ記載の期間後、再度initial INVITEリクエストを送信することになる。
(第2の実施の形態の動作)
次に、本発明の第2の実施の形態に係るプロキシ・サーバ10の動作について図表を参照して詳細に説明する。
図9は、本発明の第2の実施の形態に係るプロキシ・サーバの動作を示すフローチャートである。
図9に示すように、本発明の第2の実施の形態に係るプロキシ・サーバ10の動作は、本発明の第1の実施の形態に係るプロキシ・サーバ10の動作に、再送要求生成機能16の再送要求生成処理を含むステップS903からステップS905が追加された形態となっている。なお、本実施の形態の再送要求生成処理を含むステップ以外のステップである、ステップS901は第1の実施の形態の図5に示すステップS501と、ステップS902はステップS502と、ステップS906はステップS503と、ステップS907はステップS504と、ステップS908はステップS505と、ステップS909はステップS506と、ステップS910はステップS507と、ステップS911はステップS508と同様の処理内容であるので説明を省略し、ステップS903からステップS905の動作を中心に説明する。
ステップS902の結果、ステップS901で受信したメッセージが認証INVITEリクエストであった場合、呼障害遭遇判定機能13は、受信したメッセージが障害に遭遇したコールフローに属するかを調査する(ステップS903)。なお、ステップS903の処理は、本発明の第1の実施の形態に係るプロキシ・サーバ10における動作ステップS503と同様であるため、説明を省略する。
ステップS903の結果、ステップS901で受信したメッセージが障害に遭遇したコールフローに属する場合には、再送要求生成機能16が、ユーザ・エージェント20に送信する再送要求を生成する(ステップS904)。この処理は、例えば、以下のようにして実行される。生成する再送要求が、Retry−Afterヘッダを挿入したSIP応答(500 Server Inernal Error)の場合、Retry−Afterヘッダ以外のヘッダにはステップS901で受信したメッセージの値を使用し、Retry−Afterヘッダには「30秒」等の値を使用する。その後、宛先設定機能14が再送要求の転送先をユーザ・エージェント20と設定する(ステップS905)。その後、SIPプロキシ・サーバ機能11が、ステップS904で生成された再送要求をユーザ・エージェント20に転送する(ステップS911)。
次に、本発明の第2の実施の形態に係るプロキシ・サーバを含むシステム全体の動作について図表を参照して詳細に説明する。
図10は、本発明の第2の実施の形態に係るプロキシ・サーバを含むシステム全体の動作を示すシーケンス図、図11は、同フローチャートである。図10及び図11に示すように、プロキシ・サーバ10が認証INVITEリクエストを受信した際に現用SIPサーバ30において障害が発生している場合、本発明の第1の実施の形態に係るプロキシ・サーバ10と同様に、標準転送先を予備SIPサーバ40に変更した後(ステップS1101、ステップS1102)、再送要求を生成し(ステップS1103)、ユーザ・エージェント20に送信している(ステップS1104)。この結果、ユーザ・エージェント20は、SIPのプロトコル規約に規定されているように、Retry−After経過後に再度利用可能になると判断し、該当期間経過後、再度initial INVITEリクエストを発行する(ステップS1105)。
なお、上記の説明は、INVITEリクエストに関して説明してあるが、プロキシ・サーバ10の動作はREGISTERリクエストに関しても同様の動作により、ユーザ・エージェント20側に再度initial REGISTERリクエストを送信させることが可能である。
(第2の実施の形態の効果)
このように、本実施の形態によれば、第1の実施の形態での効果に加えて、ユーザ・エージェント20側で、現用SIPサーバ30の障害に遭遇したコールフローを正常な新規コールフローとして自動的に再生成することが可能という効果がある。
これは、プロキシ・サーバ10がユーザ・エージェント20の認証INVITEリクエスト送信後に現用SIPサーバ30の障害発生を検知した場合に、再送要求生成機能16が、ユーザ・エージェント20から受信した認証INVITEリクエストを使用し、Retry−Afterヘッダを挿入したSIP応答を生成してユーザ・エージェント20に送信するためである。これにより、ユーザ・エージェント20は、SIPのプロトコル規約に記載されたタイムアウト(通常32秒)後に、通話者が不通状態と判断し、任意の時間後に人手で再度通話を試みるのではなく、一般的なSIP応答の処理に従い、Retry−Afterヘッダ値後に再度initial INVITEリクエストをプロキシ・サーバ10に向けて自動的に送信することが可能となるためである。
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
本発明のプロキシ・サーバは、複数のユーザ端末及び複数のSIPサーバを有するSIPネットワークに利用できる。
本発明の第1の実施の形態に係る通信システムの構成を示すブロック図である。 第1の実施の形態に係るプロキシ・サーバの構成を示すブロック図である。 第1の実施の形態に係るプロキシ・サーバにおける、呼障害遭遇判定機能が保持する呼識別子一覧表の実現形態の1例を示す図である。 第1の実施の形態に係る通信システムのプロキシ・サーバのハードウェア構成を示すブロック図である。 第1の実施の形態に係るプロキシ・サーバの動作を示すフローチャートである。 第1の実施の形態に係るプロキシ・サーバを含む、システム全体の動作を示すシーケンス図である。 第1の実施の形態に係るプロキシ・サーバを含む、システム全体の動作を示すフローチャートである。 本発明の第2の実施の形態に係るプロキシ・サーバの構成を示すブロック図である。 第2の実施の形態に係るプロキシ・サーバの動作を示すフローチャートである。 第2の実施の形態に係るプロキシ・サーバを含む、システム全体の動作を示すシーケンス図である。 第2の実施の形態に係るプロキシ・サーバを含む、システム全体の動作を示すフローチャートである。 従来の一般的なSIPネットワークにおいて、ユーザ・エージェント間で通信する場合の動作シーケンス図である。 従来の代理応答装置を含むシステム全体の構成を示すブロック図である。 従来技術の構成を示すブロック図である。 従来技術におけるパケットバッファの構成例を示す図である。 従来技術の動作を示すフローチャートである。 従来のサーババックアップ装置の原理構成を示す図である。 従来のサーババックアップ装置を含むシステム全体の構成を示す図である。 従来のサーババックアップ装置における、IPセントレックスサーバ正常動作時の動作を示す図である。 従来のサーババックアップ装置における、IPセントレックスサーバ障害発生時の動作を示す図である。 従来技術をSIPネットワークに適用した場合に、予備SIPサーバへ現用SIPサーバの状態を再現できない例を示すシーケンス図である。
符号の説明
1:SIPシステム
10:プロキシ・サーバ
11:SIPプロキシ・サーバ機能
12:メッセージ種別判定機能
13:呼障害遭遇判定機能
131:呼識別子
132:呼識別子一覧
14:宛先設定機能
15:転送先障害検出機能
16:再送要求生成機能
20:ユーザ・エージェント
30:現用SIPサーバ
31:登録情報
40:予備SIPサーバ
41:登録情報
50:ネットワーク
401:CPU
402:主記憶部
403:通信制御部
404:提示部
405:入力部
406:インタフェース部
407:補助記憶部
408:システムバス

Claims (50)

  1. ユーザ端末と現用SIP(Session Initiation Protocol)サーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介するプロキシ・サーバ機能と、
    前記プロキシ・サーバ機能が受信したメッセージの種類を判別するメッセージ種別判定機能と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出機能と、
    前記転送先障害検出機能からの通知を受信し、前記プロキシ・サーバ機能が受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能と、
    前記転送先障害検出機能からの通知を受信し、前記現用SIPサーバの障害発生状況に応じて、前記プロキシ・サーバ機能で受信したメッセージの種類が、SIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を設定する宛先設定機能と
    を備えることを特徴とするプロキシ・サーバ。
  2. ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介するプロキシ・サーバ機能と、
    前記プロキシ・サーバ機能が受信したメッセージの種類を判別するメッセージ種別判定機能と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出機能と、
    前記転送先障害検出機能からの通知を受信し、前記プロキシ・サーバ機能が受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能と、
    前記転送先障害検出機能からの通知を受信し、前記現用SIPサーバの障害発生状況や前記プロキシ・サーバ機能で受信したメッセージの種類に応じてメッセージの転送先を設定する宛先設定機能と、
    前記ユーザ端末に対しinitial INVITEリクエストを再転送することを促すために前記ユーザ端末へ転送する再送要求を生成する再送要求生成機能と
    を備えることを特徴とするプロキシ・サーバ。
  3. 前記宛先設定機能は、
    前記転送先障害検出機能が通知する前記現用SIPサーバの障害発生通知により更新される、特段の指定がない場合にメッセージを転送する標準的な転送先を情報として保持する機能を備えることを特徴とする請求項1又は請求項2に記載のプロキシ・サーバ。
  4. 前記転送先障害検出機能は、
    前記現用SIPサーバと前記ユーザ端末とで送受信されるREGISTERリクエストとSIP応答を監視し、前記現用SIPサーバからのSIP応答を検出できない場合には、前記現用SIPサーバに障害が発生したと判断する機能を備えることを特徴とする請求項1又は請求項2に記載のプロキシ・サーバ。
  5. 前記呼障害遭遇判定機能は、
    外部から受信した前記SIPメッセージに格納された呼識別子を保持しており、かつ、前記現用SIPサーバの障害発生を検出した際に全て一旦消去される、呼識別子一覧を使用し、この呼識別子一覧に記載のない呼識別子を保持する前記メッセージは前記現用SIPサーバの障害に遭遇したと判別する機能を備えることを特徴とする請求項1又は請求項2に記載のプロキシ・サーバ。
  6. 前記宛先決定機能は、
    前記メッセージに格納された、メッセージの転送経路に関する情報から、前記現用SIPサーバの次に記載されているアドレスを抽出し、当該アドレスへメッセージを直接転送すべく、当該アドレスを次転送先とする機能を備えることを特徴とする、請求項1又は請求項2に記載のプロキシ・サーバ。
  7. 前記宛先決定機能は、
    前記メッセージに格納されている、転送経路に関する情報を無視して、外部システムと連携し、前記メッセージの宛先情報から宛先のアドレス解決を実行する機能を備えることを特徴とする請求項1又は請求項2に記載のプロキシ・サーバ。
  8. 前記再送要求生成機能は、
    前記ユーザ端末が、通常のSIP応答受信時の処理に従い、ある一定期間後、再度メッセージを送信するよう誘導するSIP応答を生成する機能を備えることを特徴とする請求項2に記載のプロキシ・サーバ。
  9. 外部からメッセージを受信後、メッセージの種類を調査し、受信したメッセージがSIP要求である場合には、更に、受信したメッセージが現用SIPサーバの障害に遭遇したコールフローに属するかを調査し、受信したメッセージが前記現用SIPサーバの障害に遭遇したコールフローに属すると判別された場合には、メッセージの内容を参照してメッセージの転送先を新規に決定する機能を備えることを特徴とするプロキシ・サーバ。
  10. 外部からメッセージを受信後、メッセージ種類を調査し、受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査し、障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する機能を備えることを特徴とするプロキシ・サーバ。
  11. 外部からメッセージを受信後、メッセージ種類を調査し、受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査し、障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する機能を備えることを特徴とする請求項9に記載のプロキシ・サーバ。
  12. ユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバと、前記SIPメッセージの送受信を仲介するプロキシ・サーバとを含む通信システムであって、
    前記プロキシ・サーバに、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介するプロキシ・サーバ機能と、
    前記プロキシ・サーバ機能が受信したメッセージの種類を判別するメッセージ種別判定機能と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出機能と、
    前記転送先障害検出機能からの通知を受信し、前記プロキシ・サーバ機能が受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能と、
    前記転送先障害検出機能からの通知を受信し、前記現用SIPサーバの障害発生状況に応じて、前記プロキシ・サーバ機能で受信したメッセージの種類が、SIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を設定する宛先設定機能とを備える
    ことを特徴とする通信システム。
  13. ユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバと、前記SIPメッセージの送受信を仲介するプロキシ・サーバとを含む通信システムであって、
    前記プロキシ・サーバに、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介するプロキシ・サーバ機能と、
    前記プロキシ・サーバ機能が受信したメッセージの種類を判別するメッセージ種別判定機能と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出機能と、
    前記転送先障害検出機能からの通知を受信し、前記プロキシ・サーバ機能が受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定機能と、
    前記転送先障害検出機能からの通知を受信し、前記現用SIPサーバの障害発生状況や前記プロキシ・サーバ機能で受信したメッセージの種類に応じてメッセージの転送先を設定する宛先設定機能と、
    前記ユーザ端末に対しinitial INVITEリクエストを再転送することを促すために前記ユーザ端末へ転送する再送要求を生成する再送要求生成機能とを備える
    ことを特徴とする通信システム。
  14. 前記プロキシ・サーバの前記宛先設定機能は、
    前記転送先障害検出機能が通知する前記現用SIPサーバの障害発生通知により更新される、特段の指定がない場合にメッセージを転送する標準的な転送先を情報として保持する機能を備えることを特徴とする請求項12又は請求項13に記載の通信システム。
  15. 前記プロキシ・サーバの前記転送先障害検出機能は、
    前記現用SIPサーバと前記ユーザ端末とで送受信されるREGISTERリクエストとSIP応答を監視し、前記現用SIPサーバからのSIP応答を検出できない場合には、前記現用SIPサーバに障害が発生したと判断する機能を備えることを特徴とする請求項12又は請求項13に記載の通信システム。
  16. 前記プロキシ・サーバの前記呼障害遭遇判定機能は、
    外部から受信した前記SIPメッセージに格納された呼識別子を保持しており、かつ、前記現用SIPサーバの障害発生を検出した際に全て一旦消去される、呼識別子一覧を使用し、この呼識別子一覧に記載のない呼識別子を保持する前記メッセージは前記現用SIPサーバの障害に遭遇したと判別する機能を備えることを特徴とする請求項12又は請求項13に記載の通信システム。
  17. 前記プロキシ・サーバの前記宛先決定機能は、
    前記メッセージに格納された、メッセージの転送経路に関する情報から、前記現用SIPサーバの次に記載されているアドレスを抽出し、当該アドレスへメッセージを直接転送すべく、当該アドレスを次転送先とする機能を備えることを特徴とする、請求項12又は請求項13に記載の通信システム。
  18. 前記プロキシ・サーバの前記宛先決定機能は、
    前記メッセージに格納されている、転送経路に関する情報を無視して、外部システムと連携し、前記メッセージの宛先情報から宛先のアドレス解決を実行する機能を備えることを特徴とする請求項12又は請求項13に記載の通信システム。
  19. 前記プロキシ・サーバの前記再送要求生成機能は、
    前記ユーザ端末が、通常のSIP応答受信時の処理に従い、ある一定期間後、再度メッセージを送信するよう誘導するSIP応答を生成する機能を備えることを特徴とする請求項13に記載の通信システム。
  20. ユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバと、前記SIPメッセージの送受信を仲介するプロキシ・サーバとを含む通信システムであって、
    前記プロキシ・サーバに、
    外部からメッセージを受信後、メッセージの種類を調査し、受信したメッセージがSIP要求である場合には、更に、受信したメッセージが現用SIPサーバの障害に遭遇したコールフローに属するかを調査し、受信したメッセージが前記現用SIPサーバの障害に遭遇したコールフローに属すると判別された場合、メッセージがSIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を新規に決定する機能を備えることを特徴とする通信システム。
  21. ユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバと、前記SIPメッセージの送受信を仲介するプロキシ・サーバとを含む通信システムであって、
    前記プロキシ・サーバに、
    外部からメッセージを受信後、メッセージ種類を調査し、受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査し、障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する機能を備えることを特徴とする通信システム。
  22. 前記プロキシ・サーバに、
    外部からメッセージを受信後、メッセージ種類を調査し、受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査し、障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する機能を備えることを特徴とする請求項20に記載の通信システム。
  23. 外部のユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバに対し、前記SIPメッセージの送受信を仲介するプロキシ・サーバにおける通信方法であって、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介する仲介ステップと、
    前記仲介ステップで受信したメッセージの種類を判別するメッセージ種別判定ステップと、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出ステップと、
    前記転送先障害検出ステップからの通知を受信し、前記仲介ステップでが受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定ステップと、
    前記転送先障害検出ステップからの通知を受信し、前記現用SIPサーバの障害発生状況に応じて、前記仲介ステップで受信したメッセージの種類が、SIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を設定する宛先設定ステップと
    を含むことを特徴とする通信方法。
  24. 外部のユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバに対し、前記SIPメッセージの送受信を仲介するプロキシ・サーバにおける通信方法であって、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介する仲介ステップと、
    前記仲介ステップで受信したメッセージの種類を判別するメッセージ種別判定機能と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出ステップと、
    前記転送先障害検出ステップからの通知を受信し、前記仲介ステップで受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定ステップと、
    前記転送先障害検出ステップからの通知を受信し、前記現用SIPサーバの障害発生状況や前記仲介ステップで受信したメッセージの種類に応じてメッセージの転送先を設定する宛先設定ステップと、
    前記ユーザ端末に対しinitial INVITEリクエストを再転送することを促すために前記ユーザ端末へ転送する再送要求を生成する再送要求生成ステップと
    を含むことを特徴とする通信方法。
  25. 前記宛先設定ステップは、
    前記転送先障害検出ステップが通知する前記現用SIPサーバの障害発生通知により更新される、特段の指定がない場合にメッセージを転送する標準的な転送先を情報として保持するステップを含むことを特徴とする請求項23又は請求項24に記載の通信方法。
  26. 前記転送先障害検出ステップは、
    前記現用SIPサーバと前記ユーザ端末とで送受信されるREGISTERリクエストとSIP応答を監視し、前記現用SIPサーバからのSIP応答を検出できない場合には、前記現用SIPサーバに障害が発生したと判断するステップを含むことを特徴とする請求項23又は請求項24に記載の通信方法。
  27. 前記呼障害遭遇判定ステップは、
    外部から受信した前記SIPメッセージに格納された呼識別子を保持しており、かつ、前記現用SIPサーバの障害発生を検出した際に全て一旦消去される、呼識別子一覧を使用し、この呼識別子一覧に記載のない呼識別子を保持する前記メッセージは前記現用SIPサーバの障害に遭遇したと判別するステップを含むことを特徴とする請求項23又は請求項24に記載の通信方法。
  28. 前記宛先決定ステップは、
    前記メッセージに格納された、メッセージの転送経路に関する情報から、前記現用SIPサーバの次に記載されているアドレスを抽出し、当該アドレスへメッセージを直接転送すべく、当該アドレスを次転送先とするステップを含むことを特徴とする請求項23又は請求項24に記載の通信方法。
  29. 前記宛先決定ステップは、
    前記メッセージに格納されている、転送経路に関する情報を無視して、外部システムと連携し、前記メッセージの宛先情報から宛先のアドレス解決を実行する機能を備えることを特徴とする請求項23又は請求項24に記載の通信方法。
  30. 前記再送要求生成ステップは、
    前記ユーザ端末が、通常のSIP応答受信時の処理に従い、ある一定期間後、再度メッセージを送信するよう誘導するSIP応答を生成する機能を備えることを特徴とする請求項24に記載の通信方法。
  31. 外部のユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバに対し、前記SIPメッセージの送受信を仲介するプロキシ・サーバにおける通信方法であって、
    外部からメッセージを受信後、メッセージの種類を調査し、受信したメッセージがSIP要求である場合には、更に、受信したメッセージが現用SIPサーバの障害に遭遇したコールフローに属するかを調査するステップと、
    受信したメッセージが前記現用SIPサーバの障害に遭遇したコールフローに属すると判別された場合、メッセージがSIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を新規に決定するステップを有することを特徴とする通信方法。
  32. 外部のユーザ端末との間でSIPメッセージの送受信を行う現用及び予備のSIPサーバに対し、前記SIPメッセージの送受信を仲介するプロキシ・サーバにおける通信方法であって、
    外部からメッセージを受信後、メッセージ種類を調査するステップと、
    受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査するステップと、
    障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送するステップを有することを特徴とする通信方法。
  33. 外部からメッセージを受信後、メッセージ種類を調査するステップと、
    受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査するステップと、
    障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送するステップを有することを特徴とする請求項31に記載の通信方法。
  34. 外部のユーザ端末との間でメッセージの送受信を行う現用及び予備の通信制御装置に対し、前記メッセージの送受信を仲介するプロキシ・サーバに実行させるためのプログラムであって、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介する仲介処理と、
    前記仲介処理で受信したメッセージの種類を判別するメッセージ種別判定処理と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出処理と、
    前記転送先障害検出処理からの通知を受信し、前記仲介処理でが受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定処理と、
    前記転送先障害検出処理からの通知を受信し、前記現用SIPサーバの障害発生状況に応じて、前記仲介処理で受信したメッセージの種類が、SIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を設定する宛先設定処理を、
    前記プロキシ・サーバに実行させることを特徴とするプログラム。
  35. 外部のユーザ端末との間でメッセージの送受信を行う現用及び予備の通信制御装置に対し、前記メッセージの送受信を仲介するプロキシ・サーバに実行させるためのプログラムであって、
    ユーザ端末と現用SIPサーバ及び予備SIPサーバとの間で送受信されるSIPメッセージを仲介する仲介処理と、
    前記仲介処理で受信したメッセージの種類を判別するメッセージ種別判定処理と、
    前記現用SIPサーバの障害が発生したことを検知して通知する転送先障害検出処理と、
    前記転送先障害検出ステップからの通知を受信し、前記仲介処理で受信したメッセージが、前記現用SIPサーバの障害に遭遇したコールフローに属するものかを判定する呼障害遭遇判定処理と、
    前記転送先障害検出処理からの通知を受信し、前記現用SIPサーバの障害発生状況や前記仲介処理で受信したメッセージの種類に応じてメッセージの転送先を設定する宛先設定処理と、
    前記ユーザ端末に対しinitial INVITEリクエストを再転送することを促すために前記ユーザ端末へ転送する再送要求を生成する再送要求生成処理を、
    前記プロキシ・サーバに実行させることを特徴とするプログラム。
  36. 前記宛先設定処理は、
    前記転送先障害検出処理が通知する前記現用SIPサーバの障害発生通知により更新される、特段の指定がない場合にメッセージを転送する標準的な転送先を情報として保持する処理を含むことを特徴とする請求項34又は請求項35に記載のプログラム。
  37. 前記転送先障害検出処理は、
    前記現用SIPサーバと前記ユーザ端末とで送受信されるREGISTERリクエストとSIP応答を監視し、前記現用SIPサーバからのSIP応答を検出できない場合には、前記現用SIPサーバに障害が発生したと判断する処理を含むことを特徴とする請求項34又は請求項35に記載のプログラム。
  38. 前記呼障害遭遇判定処理は、
    外部から受信した前記SIPメッセージに格納された呼識別子を保持しており、かつ、前記現用SIPサーバの障害発生を検出した際に全て一旦消去される、呼識別子一覧を使用し、この呼識別子一覧に記載のない呼識別子を保持する前記メッセージは前記現用SIPサーバの障害に遭遇したと判別する処理を含むことを特徴とする請求項34又は請求項35に記載のプログラム。
  39. 前記宛先決定処理は、
    前記メッセージに格納された、メッセージの転送経路に関する情報から、前記現用SIPサーバの次に記載されているアドレスを抽出し、当該アドレスへメッセージを直接転送すべく、当該アドレスを次転送先とする処理を含むことを特徴とする請求項34又は請求項35に記載のプログラム。
  40. 前記宛先決定処理は、
    前記メッセージに格納されている、転送経路に関する情報を無視して、外部システムと連携し、前記メッセージの宛先情報から宛先のアドレス解決を実行する処理を含むことを特徴とする請求項34又は請求項35に記載のプログラム。
  41. 前記再送要求生成処理は、
    前記ユーザ端末が、通常のSIP応答受信時の処理に従い、ある一定期間後、再度メッセージを送信するよう誘導するSIP応答を生成する処理を含むことを特徴とする請求項35に記載のプログラム。
  42. 外部のユーザ端末との間でメッセージの送受信を行う現用及び予備の通信制御装置に対し、前記メッセージの送受信を仲介するプロキシ・サーバに実行させるためのプログラムであって、
    外部からメッセージを受信後、メッセージの種類を調査し、受信したメッセージがSIP要求である場合には、更に、受信したメッセージが現用SIPサーバの障害に遭遇したコールフローに属するかを調査する処理と、
    受信したメッセージが前記現用SIPサーバの障害に遭遇したコールフローに属すると判別された場合、メッセージがSIP要求のACKもしくはBYE、またはSIP応答である場合に、メッセージの転送先を新規に決定する処理を、
    前記プロキシ・サーバに実行させることを特徴とするプログラム。
  43. 外部のユーザ端末との間でメッセージの送受信を行う現用及び予備の通信制御装置に対し、前記メッセージの送受信を仲介するプロキシ・サーバに実行させるためのプログラムであって、
    外部からメッセージを受信後、メッセージ種類を調査する処理と、
    受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査する処理と、
    障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する処理を、
    前記プロキシ・サーバに実行させることを特徴とするプログラム。
  44. 外部からメッセージを受信後、メッセージ種類を調査する処理と、
    受信したメッセージが認証INVITEリクエストの場合には、更に、障害に遭遇したコールフローに属するかを調査する処理と、
    障害に遭遇したコールフローに属する場合には、ユーザ端末に再度initial INVITEリクエストを再転送することを促すために、前記ユーザ端末へ転送する再送要求を生成し、前記ユーザ端末に転送する処理を、
    前記プロキシ・サーバに実行させることを特徴とする請求項42に記載のプログラム。
  45. 前記宛先設定機能は、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項1に記載のプロキシ・サーバ。
  46. 前記宛先設定機能は、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項12に記載の通信システム。
  47. 前記宛先設定ステップで、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項23に記載の通信方法。
  48. 前記転送先を新規に決定するステップで、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項31に記載の通信方法。
  49. 前記宛先設定処理で、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項34に記載のプログラム。
  50. 前記転送先を新規に決定する処理で、前記SIP要求のACKもしくはBYE、または前記SIP応答に含まれるヘッダから着呼側の前記ユーザ端末のアドレスを抽出し、当該アドレスをメッセージの転送先として設定することを特徴とする請求項42に記載のプログラム。
JP2006286189A 2006-10-20 2006-10-20 プロキシ・サーバ、通信システム、通信方法及びプログラム Expired - Fee Related JP4470934B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006286189A JP4470934B2 (ja) 2006-10-20 2006-10-20 プロキシ・サーバ、通信システム、通信方法及びプログラム
US12/443,360 US8374079B2 (en) 2006-10-20 2007-10-19 Proxy server, communication system, communication method and program
PCT/JP2007/070481 WO2008047920A1 (fr) 2006-10-20 2007-10-19 Serveur proxy, système et procédé de communication et programme
EP07830215A EP2079024A1 (en) 2006-10-20 2007-10-19 Proxy server, communication system, communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006286189A JP4470934B2 (ja) 2006-10-20 2006-10-20 プロキシ・サーバ、通信システム、通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008102823A JP2008102823A (ja) 2008-05-01
JP4470934B2 true JP4470934B2 (ja) 2010-06-02

Family

ID=39314130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006286189A Expired - Fee Related JP4470934B2 (ja) 2006-10-20 2006-10-20 プロキシ・サーバ、通信システム、通信方法及びプログラム

Country Status (4)

Country Link
US (1) US8374079B2 (ja)
EP (1) EP2079024A1 (ja)
JP (1) JP4470934B2 (ja)
WO (1) WO2008047920A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI393425B (zh) * 2008-11-20 2013-04-11 Inst Information Industry 使一網路分機撥打一傳統分機之方法、裝置及其電腦程式產品
US8601139B2 (en) * 2008-11-26 2013-12-03 Cavium, Inc. Multiple core session initiation protocol (SIP)
CN104394146B (zh) * 2009-04-13 2017-10-20 黑莓有限公司 用于确定sip消息的可信度的系统和方法
US20100284284A1 (en) * 2009-05-08 2010-11-11 Qualcomm Incorporated VOICE OVER INTERNET PROTOCOL (VoIP) ACCESS TERMINAL
US9515849B2 (en) * 2009-12-22 2016-12-06 At&T Intellectual Property I, L.P. Method and apparatus for managing communication faults
JP5693065B2 (ja) * 2010-07-06 2015-04-01 キヤノン株式会社 通信端末、通信端末の制御方法及びプログラム
JP5322312B2 (ja) * 2010-09-07 2013-10-23 Necエンジニアリング株式会社 Pbxバックアップシステム
JP5842657B2 (ja) * 2012-02-15 2016-01-13 日本電気株式会社 呼制御装置
KR101368693B1 (ko) * 2012-03-08 2014-03-03 텔코웨어 주식회사 Ims망에서 트래픽 처리 방법 및 장치
US9419953B2 (en) * 2012-12-23 2016-08-16 Mcafee, Inc. Trusted container
US8955075B2 (en) 2012-12-23 2015-02-10 Mcafee Inc Hardware-based device authentication
JP6104766B2 (ja) * 2013-09-11 2017-03-29 株式会社東芝 通信制御装置、制御装置および通信システム
US9729492B2 (en) * 2014-06-16 2017-08-08 Genesys Telecommunications Laboratories, Inc. Intelligent resource manager service recovery including request retransmissions
EP3238400B1 (en) * 2014-12-23 2020-06-10 Telefonaktiebolaget LM Ericsson (publ) Service aware overload handling in a communication network
EP3249875B1 (en) * 2015-03-30 2021-02-17 Huawei Technologies Co., Ltd. Wireless communication method, remote user equipment and relay user equipment
CN114338343B (zh) * 2021-12-30 2023-12-12 海能达通信股份有限公司 通信方法及集群服务系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446127B1 (en) * 1998-10-30 2002-09-03 3Com Corporation System and method for providing user mobility services on a telephony network
US6992974B1 (en) * 2000-10-10 2006-01-31 3Com Corporation System and method for providing fault tolerance in a network telephony system
JP2002149439A (ja) * 2000-11-15 2002-05-24 Nec Soft Ltd 分散処理システムにおけるサーバ切替え方法及びサーバ装置
JP2003076623A (ja) * 2001-09-05 2003-03-14 Mitsubishi Electric Corp ネットワークシステム、サーバ装置及び通信端末並びにサーバ切り替え方法
JP3883452B2 (ja) * 2002-03-04 2007-02-21 富士通株式会社 通信システム
US6857053B2 (en) * 2002-04-10 2005-02-15 International Business Machines Corporation Method, system, and program for backing up objects by creating groups of objects
KR20040093656A (ko) * 2002-07-29 2004-11-06 아이피 토크 가부시키가이샤 인터넷 통신 시스템 및 인터넷 통신 방법 및 세션 관리서버 및 무선 통신 장치 및 통신 중계 서버 및 프로그램
JP4087271B2 (ja) 2003-03-19 2008-05-21 株式会社日立製作所 代理応答装置およびネットワークシステム
JP2004287945A (ja) * 2003-03-24 2004-10-14 Nippon Telegr & Teleph Corp <Ntt> オブジェクト内部状態の一貫性確認方法、情報処理システム、プログラム、および記録媒体
JP2004348647A (ja) * 2003-05-26 2004-12-09 Hitachi Ltd ヒューマン・コミュニケーション・システム
JP2005229273A (ja) 2004-02-12 2005-08-25 Fujitsu Ltd サーババックアップ装置
US8024476B2 (en) 2004-05-21 2011-09-20 Microsoft Corporation Efficient message routing when using server pools
US7506369B2 (en) * 2004-05-27 2009-03-17 Microsoft Corporation Secure federation of data communications networks
JP2006087016A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd 通信端末、通信システム及び通信方法
TWI252027B (en) * 2004-12-30 2006-03-21 Ind Tech Res Inst System and method for accelerating call setup by caching
WO2006095506A1 (ja) * 2005-02-10 2006-09-14 Nec Corporation 情報システム管理装置
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
US8125888B2 (en) * 2005-08-23 2012-02-28 Multi-Tech Systems, Inc. Session initiation protocol survivable server
US20070157016A1 (en) * 2005-12-29 2007-07-05 Dayan Richard A Apparatus, system, and method for autonomously preserving high-availability network boot services
JP2006286189A (ja) 2006-06-16 2006-10-19 Tdk Corp 光記録媒体へのデータ記録方法、データ記録装置および光記録媒体

Also Published As

Publication number Publication date
EP2079024A1 (en) 2009-07-15
US20100074100A1 (en) 2010-03-25
WO2008047920A1 (fr) 2008-04-24
JP2008102823A (ja) 2008-05-01
US8374079B2 (en) 2013-02-12

Similar Documents

Publication Publication Date Title
JP4470934B2 (ja) プロキシ・サーバ、通信システム、通信方法及びプログラム
EP2501119B1 (en) A gateway for the survivability of an enterprise network using sip
US20070041327A1 (en) Multicast heartbeat signaling
JP5173607B2 (ja) 通信システム
US8296447B2 (en) Method for copying session information, call control server for executing the same, and computer product
US20050180317A1 (en) Server backup device
JP2008104112A (ja) 送信経路設定装置、送信経路設定方法および送信経路設定プログラム
JP2008236003A (ja) Sipサーバ
JP5841262B2 (ja) Sipプロキシ・フェイルオーバ方法
JP2008219461A (ja) 通信履歴情報管理システム、sipクライアント端末、履歴サーバおよび通信履歴情報管理方法
US8189764B2 (en) Server for transferring a communication message
JP2006087016A (ja) 通信端末、通信システム及び通信方法
JP2009177338A (ja) 複数のセッション管理サーバからなる経路を動的に切り替える経路制御方法及びシステム
WO2008049346A1 (fr) Dispositif, procédé et système pour enregistrer un dispositif
JP4723676B2 (ja) セッション状態の通知に係る通信方法、サーバ、およびプログラム
JP2011071853A (ja) Ip電話システム、通話内容記録装置および通話方法
JP2009239550A (ja) VoIPネットワークの輻輳制御システム、、方法、及びプログラム
JP7421158B2 (ja) 方路選択装置および方路選択方法
KR101368693B1 (ko) Ims망에서 트래픽 처리 방법 및 장치
JP2005080176A (ja) ゲートウェイ装置及びその制御方法
JP6340973B2 (ja) 通信課金システムおよび通信課金方法
JP2007274160A (ja) プロキシサーバ及びipネットワークの特定信号転送方法
JP2019149752A (ja) 障害検知装置、障害検知方法、および障害検知プログラム
KR20090132989A (ko) Ims 망에서 cscf의 장애 복구 후 세션 정보를복구하는 방법 및 장치
JP2010183480A (ja) リクエスト送信制御装置、リクエスト送信制御方法、システム、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100119

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

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

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4470934

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees