(57)【特許請求の範囲】
【請求項１】
第１のクライアント及び第２のクライアントの間で、複数のセッション管理サーバを介してセッションを確立するシステムにおけるセッションのシグナリングの経路切替方法であって、
クライアントを模擬して経路を切り替える経路制御サーバが更に備えられており、
前記経路制御サーバが、セッションの経路の切替元となる切替元セッション管理サーバへ、第１のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む切替要求を、第２のクライアントを宛先として送信する第１のステップと、
前記セッション管理サーバが、前記切替要求の記録経路情報に当該サーバのアドレスを含め、前記転送経路情報に従って前記切替要求を転送する第２のステップと、
第２のクライアントが、前記転送経路情報に従って転送されてきた前記切替要求を受信し、前記切替要求の記録経路情報に従って当該セッションのルートセットを更新する第３のステップと、
前記経路制御サーバが、前記切替元セッション管理サーバへ、第２のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む切替要求を、第１のクライアントを宛先として送信する第４のステップと、
前記セッション管理サーバが、前記切替要求の記録経路情報に当該サーバのアドレスを含め、前記転送経路情報に従って前記切替要求を転送する５のステップと、
第１のクライアントが、前記転送経路情報に従って転送されてきた前記切替要求を受信し、前記切替要求の記録経路情報に従って当該セッションのルートセットを更新する第６のステップと
を有することを特徴とする経路切替方法。
【請求項２】
前記セッションは、ＳＩＰ(Session Initiation Protocol)に基づいて確立され、
前記セッション管理サーバは、ＳＩＰプロキシサーバであり、
前記クライアントが保持するルートセットは、ダイアログ情報であり、
前記切替要求は、re-INVITE又はUPDATEメッセージであり、
前記転送経路情報は、Routeヘッダの情報であり、
前記記録経路情報は、Record-Routeヘッダの情報である
ことを特徴とする請求項１に記載の経路切替方法。
【請求項３】
前記切替元セッション管理サーバは、
切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ、
又は、
切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ
であることを特徴とする請求項１又は２に記載の経路切替方法。
【請求項４】
第１のステップの前ステップとして、
前記経路制御サーバが、前記切替元セッション管理サーバと、切替前経路に位置し且つ切替後経路に位置しないセッション管理サーバとへ、切替対象のセッションを示すフィルタ要求を送信するステップと、
前記フィルタ要求を受信したセッション管理サーバが、受信したフィルタ条件を満たすメッセージを、前記経路制御サーバへ送信するステップと、
前記経路制御サーバが、受信した全てのメッセージを一時的に保持するステップと
を有し、
第６のステップの後ステップとして、
前記経路制御サーバは、保持されたメッセージについて、前記転送経路情報及び前記記録経路情報を、更新された経路情報に書き換えて送信するステップを有することを特徴とする請求項３に記載の経路切替方法。
【請求項５】
端末から最初にアクセスされるファーストホップのセッション管理サーバが前記ルートセットを管理する場合、該セッション管理サーバが前記第１のクライアント又は第２のクライアントとして機能することを特徴とする請求項１から４のいずれか１項に記載の経路切替方法。
【請求項６】
第１のクライアント及び第２のクライアントの間で、複数のセッション管理サーバを介してセッションを確立し、セッションのシグナリング経路を切り替えることができるシステムであって、
クライアントを模擬して経路を切り替える経路制御サーバが更に備えられており、
前記経路制御サーバは、
第１のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む第１の切替要求を生成し、及び、第２のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む第２の切替要求を生成する切替要求生成手段と、
セッションの経路の切替元となる切替元セッション管理サーバに対して、第１の切替要求を、第２のクライアントを宛先として送信し、且つ、第２の切替要求を、第１のクライアントを宛先として送信する切替要求送信手段と
を有し、
前記セッション管理サーバは、
前記切替要求の記録経路情報に当該サーバのアドレスを含める記録経路情報追記手段と、
前記転送経路情報に従って前記切替要求を転送するメッセージ転送手段と
を有し、
前記クライアントは、
前記転送経路情報に従って転送されてきた前記切替要求を受信する切替要求受信手段と、
前記切替要求の記録経路情報に従って当該セッションのルートセットを更新するルートセット更新手段と
を有することを特徴とするシステム。
【請求項７】
前記セッションは、ＳＩＰに基づいて確立され、
前記セッション管理サーバは、ＳＩＰプロキシサーバであり、
前記クライアントが保持するルートセットは、ダイアログ情報であり、
前記切替要求は、re-INVITE又はUPDATEメッセージであり、
前記転送経路情報は、Routeヘッダの情報であり、
前記記録経路情報は、Record-Routeヘッダの情報である
ことを特徴とする請求項６に記載のシステム。
【請求項８】
前記切替元セッション管理サーバは、
切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ、
又は、
切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ
であることを特徴とする請求項６又は７に記載のシステム。
【請求項９】
前記経路制御サーバは、
前記切替元セッション管理サーバと、切替前経路に位置し且つ切替後経路に位置しないセッション管理サーバとへ、切替対象のセッションを示すフィルタ要求を送信するフィルタ要求送信手段と、
前記フィルタ要求を送信した後、受信したフィルタ条件を満たすメッセージを一時的に保持するメッセージ保持手段と、
保持された全てのメッセージについて、前記転送経路情報及び前記記録経路情報を、更新された経路情報に書き換えて送信する更新メッセージ送信手段と
を有し、
前記セッション管理サーバのメッセージ転送手段は、前記フィルタ要求を受信した後、受信した全てのメッセージを、前記経路制御サーバへ送信する
ことを特徴とする請求項８に記載のシステム。
【請求項１０】
端末から最初にアクセスされるファーストホップのセッション管理サーバが前記ルートセットを管理する場合、該セッション管理サーバが前記第１のクライアント又は第２のクライアントとして機能することを特徴とする請求項６から９のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセッション管理サーバ（ＳＩＰ(Session Initiation Protocol)プロキシサーバ）からなるＳＩＰシグナリング経路を動的に切り替える経路制御方法及びシステムに関する。
【背景技術】
【０００２】
近年、多様なネットワークサービスについて、オールＩＰ(Internet Protocol)化が進められている。特に、音声通話については、ＶｏＩＰ(Voice over IP)が普及している。この技術によれば、ＩＰ上でのセッション制御（呼制御）が必要であって、発呼、着呼及びメディア種別など、サービスを開始するために必要な情報をやり取りする。これを実現するプロトコルとして、ＳＩＰが採用されている。
【０００３】
ＳＩＰは、基本的にはPeer-to-Peer型であり、両方の端末間で直接的に通信する。しかし、実際には、課金又は相手のアドレス解決などを処理するＳＩＰサーバを介することが多い。ＳＩＰサーバは、クライアント(User Agent Client)から受信したリクエストに応じて、サービスを提供する。ＳＩＰサーバの中でも、ＳＩＰプロキシサーバは、クライアントから受信したＳＩＰリクエストを、次のサーバに中継する機能を有する。
【０００４】
図１は、ＳＩＰプロキシサーバを介したシーケンス図である。尚、説明を簡潔にするために、暫定レスポンス（100, 180 Response)を省略する。
【０００５】
図１によれば、セッションを確立する際に、ＳＩＰプロキシサーバの中継経路を決定するシーケンスが表されている。ＳＩＰプロキシサーバは、呼毎に割り当て可能であって、最終的に端末間で呼が確立する際に指定される。クライアントは、複数のＳＩＰプロキシサーバを中継して、シグナリングメッセージをやりとりする。
【０００６】
（Ｓ１０１）第１のクライアントが、第２のクライアントとセッションを確立する際、INVITEメッセージを第１のＳＩＰプロキシサーバへ送信する。最初にアクセスすべきＳＩＰサーバは、ドメイン名又はローカルポリシによって決定される。INVITEメッセージは、第１のＳＩＰプロキシサーバから第２、第３のＳＩＰプロキシサーバを中継し、最終的に、第２のクライアントまで転送される。
【０００７】
ＳＩＰプロキシサーバは、INVITEメッセージを中継転送する際に、その後にセッションの経路となる場合、そのINVITEメッセージのRecord-Route（記録経路情報）ヘッダに、当該ＳＩＰプロキシサーバのアドレス（例えばＵＲＬ(Uniform Resource locator)）を付け加える。第２のクライアントは、そのINVITEメッセージを受信した際に、そのメッセージが転送されてきたＳＩＰサーバの経路を、Record-Routeヘッダによって知ることができる。このRecord-Routeヘッダの情報によって、第２のクライアントは、ダイアログ情報の中で、それ以後のリクエストのルートセットを更新する。図１によれば、Record-Routeヘッダには、最終的に、第１のＳＩＰプロキシサーバのアドレスSa,Scが含まれている。
【０００８】
（Ｓ１０２）INVITEメッセージを受信した第２のクライアントは、第１のクライアントへ向けて、その応答である200OKメッセージを返信する。200OKメッセージのRecord-Routeヘッダには、INVITEメッセージのRecord-Routeヘッダの情報がそのまま含められる。200OKメッセージも、第３のＳＩＰサーバから第２、第１のＳＩＰサーバを中継し、最終的に、第１のクライアントまで転送される。
【０００９】
第１のクライアントは、その200OKメッセージを受信した際に、そのメッセージが転送されてきたＳＩＰサーバの経路を、Record-Routeヘッダによって知ることができる。このRecord-Routeヘッダの情報によって、第１のクライアントは、ダイアログ情報の中で、それ以後のリクエストのルートセットを更新する。
【００１０】
（Ｓ１０３）第１のクライアントは、第２のクライアントへ向けて、その確認であるACKメッセージを返信する。Route（転送経路情報）ヘッダに、確立したセッションの経路を格納する。図１によれば、Routeヘッダには、Sa,Scが含まれている。ACKメッセージは、Routeヘッダの経路情報に応じて、第１のＳＩＰサーバ及び第３のＳＩＰサーバを中継し、最終的に、第２のクライアントまで転送される。
【００１１】
このようにして決定されたＳＩＰメッセージの経路は、一度、セッションが確立された後は、変更されることはない。即ち、クライアントは、一度、Record-Routeをダイアログ情報の中で学習すると、同一の呼の中で書き換える（更新される）ことはない。ダイアログ情報とは、エンド・トゥ・エンドでの一意な関係を表す情報である。
【００１２】
また、各ＳＩＰプロキシサーバで処理可能な呼の総量には上限がある。そのため、メッセージを処理するＳＩＰサーバは、負荷分散される場合もある。しかしながら、呼が確立した後であっても、保守作業のためにＳＩＰプロキシサーバを停止することや、ＳＩＰプロキシサーバの障害時にＳＩＰプロキシサーバを切り替える必要がある。
【００１３】
このため、バックアップのために、完全に情報を共有した同一のＳＩＰプロキシサーバを備えた技術がある（例えば特許文献１参照）。ＳＩＰプロキシサーバの全ての処理を、バックアップサーバへ移行することによって、ＳＩＰプロキシサーバを切り替える。
【００１４】
【特許文献１】特開２００６−２６８７０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、ＩＰ上では、音声通話以外にも、メッセンジャ又はプレゼンス情報通知など、様々なネットワークサービスが運用されている。このとき、クライアントが送受信するＳＩＰメッセージの数は、クライアント、サービス及びタイミングによって異なる。そのため、ＳＩＰサーバの処理負荷が動的に増加することもあり、バックアップサーバを用いて一斉に処理を振り替えたとしても、本質的な問題解決とならない。また、バックアップ用のサーバを常に用意しておくことは、多大な設備コストを必要とする。
【００１６】
そこで、本発明によれば、低コストの設備によって、ＩＰ上で既に確立されたセッション毎に、複数のセッション管理サーバからなる経路を動的に切り替える経路制御方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明によれば、第１のクライアント及び第２のクライアントの間で、複数のセッション管理サーバを介してセッションを確立するシステムにおける経路切替方法であって、
クライアントを模擬して経路を切り替える経路制御サーバが更に備えられており、
経路制御サーバが、セッションの経路の切替元となる切替元セッション管理サーバへ、第１のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む切替要求を、第２のクライアントを宛先として送信する第１のステップと、
セッション管理サーバが、切替要求の記録経路情報に当該サーバのアドレスを含め、転送経路情報に従って切替要求を転送する第２のステップと、
第２のクライアントが、転送経路情報に従って転送されてきた切替要求を受信し、切替要求の記録経路情報に従って当該セッションのルートセットを更新する第３のステップと、
経路制御サーバが、切替元セッション管理サーバへ、第２のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む切替要求を、第１のクライアントを宛先として送信する第４のステップと、
セッション管理サーバが、切替要求の記録経路情報に当該サーバのアドレスを含め、転送経路情報に従って切替要求を転送する５のステップと、
第１のクライアントが、転送経路情報に従って転送されてきた切替要求を受信し、切替要求の記録経路情報に従って当該セッションのルートセットを更新する第６のステップと
を有することを特徴とする。
【００１８】
本発明の経路切替方法における他の実施形態によれば、
セッションは、ＳＩＰに基づいて確立され、
セッション管理サーバは、ＳＩＰプロキシサーバであり、
クライアントが保持するルートセットは、ダイアログ情報であり、
切替要求は、re-INVITE又はUPDATEメッセージであり、
転送経路情報は、Routeヘッダの情報であり、
記録経路情報は、Record-Routeヘッダの情報であることも好ましい。
【００１９】
本発明の経路切替方法における他の実施形態によれば、
切替元セッション管理サーバは、
切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ、
又は、
切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ
であることも好ましい。
【００２０】
本発明の経路切替方法における他の実施形態によれば、
第１のステップの前ステップとして、
経路制御サーバが、切替元セッション管理サーバと、切替前経路に位置し且つ切替後経路に位置しないセッション管理サーバとへ、切替対象のセッションを示すフィルタ要求を送信するステップと、
フィルタ要求を受信したセッション管理サーバが、受信したフィルタ条件を満たすメッセージを、経路制御サーバへ送信するステップと、
経路制御サーバが、受信した全てのメッセージを一時的に保持するステップと
を有し、
第６のステップの後ステップとして、
経路制御サーバは、保持されたメッセージについて、転送経路情報及び記録経路情報を、更新された経路情報に書き換えて送信するステップを有することも好ましい。
【００２１】
本発明の経路切替方法における他の実施形態によれば、端末から最初にアクセスされるファーストホップのセッション管理サーバがルートセットを管理する場合、該セッション管理サーバが第１のクライアント又は第２のクライアントとして機能することも好ましい。
【００２２】
本発明によれば、第１のクライアント及び第２のクライアントの間で、複数のセッション管理サーバを介してセッションを確立し、経路を切り替えることができるシステムであって、
クライアントを模擬して経路を切り替える経路制御サーバが更に備えられており、
経路制御サーバは、
第１のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む第１の切替要求を生成し、及び、第２のクライアントが送信したと仮定した場合における切替後経路の転送経路情報を含む第２の切替要求を生成する切替要求生成手段と、
セッションの経路の切替元となる切替元セッション管理サーバに対して、第１の切替要求を、第２のクライアントを宛先として送信し、且つ、第２の切替要求を、第１のクライアントを宛先として送信する切替要求送信手段と
を有し、
セッション管理サーバは、
切替要求の記録経路情報に当該サーバのアドレスを含める記録経路情報追記手段と、
転送経路情報に従って切替要求を転送するメッセージ転送手段と
を有し、
クライアントは、
転送経路情報に従って転送されてきた切替要求を受信する切替要求受信手段と、
切替要求の記録経路情報に従って当該セッションのルートセットを更新するルートセット更新手段と
を有することを特徴とする。
【００２３】
本発明のシステムにおける他の実施形態によれば、
セッションは、ＳＩＰに基づいて確立され、
セッション管理サーバは、ＳＩＰプロキシサーバであり、
クライアントが保持するルートセットは、ダイアログ情報であり、
切替要求は、re-INVITE又はUPDATEメッセージであり、
転送経路情報は、Routeヘッダの情報であり、
記録経路情報は、Record-Routeヘッダの情報であることも好ましい。
【００２４】
本発明のシステムにおける他の実施形態によれば、
切替元セッション管理サーバは、
切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ、
又は、
切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバ
であることも好ましい。
【００２５】
本発明のシステムにおける他の実施形態によれば、
経路制御サーバは、
切替元セッション管理サーバと、切替前経路に位置し且つ切替後経路に位置しないセッション管理サーバとへ、切替対象のセッションを示すフィルタ要求を送信するフィルタ要求送信手段と、
フィルタ要求を送信した後、受信した全てのメッセージを一時的に保持するメッセージ保持手段と、
保持された全てのメッセージについて、転送経路情報及び記録経路情報を、更新された経路情報に書き換えて送信する更新メッセージ送信手段と
を有し、
セッション管理サーバのメッセージ転送手段は、フィルタ要求を受信した後、受信した全てのメッセージを、経路制御サーバへ送信する
ことも好ましい。
【００２６】
本発明のシステムにおける他の実施形態によれば、端末から最初にアクセスされるファーストホップのセッション管理サーバがルートセットを管理する場合、該セッション管理サーバが第１のクライアント又は第２のクライアントとして機能することも好ましい。
【発明の効果】
【００２７】
本発明の経路制御方法及びシステムによれば、低コストの設備によって、ＩＰ上で既に確立されたセッション毎に、複数のセッション管理サーバからなる経路を動的に切り替えることができる。
【発明を実施するための最良の形態】
【００２８】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２９】
図２は、本発明におけるネットワーク構成図である。
【００３０】
クライアント間では、ＩＰネットワーク４の中で複数のＳＩＰプロキシサーバ３を中継して、セッションが確立される場合がある。本発明によれば、経路制御サーバ（例えば経路制御アプリケーションサーバ）１が、ＩＰネットワーク４に更に接続されている。経路制御サーバ１は、全てのＳＩＰプロキシサーバ３とシグナリングをやりとりすることができる。
【００３１】
本発明における経路制御サーバ１は、ＩＰ上で既に確立されたセッション毎に、複数のセッション管理サーバからなる経路を動的に切り替えることができる。各セッション（呼）の識別子としては、ＳＩＰヘッダのCall-ID、ローカルタグ、リモートタグを用いる。
【００３２】
また、図２のようなシステムが、ＩＭＳ(IP Multimedia Subsystem)／ＭＭＤ(MultiMedia Domain)によって構築される場合がある。この場合、ＳＩＰクライアントから最初にアクセスされるファーストホップのＳＩＰプロキシサーバが、そのクライアント(User Agent Client)に代わって、ダイアログ情報を管理する。
【００３３】
図３は、本発明におけるシーケンス図である。
【００３４】
図３によれば、第１のクライアント(IP:Ua)と第２のクライアント(IP:Ub)との間で、旧シグナリング経路は、第１のＳＩＰプロキシサーバ(IP:Sa)及び第２のＳＩＰプロキシサーバ(IP:Sb)から構成されている。これに対し、新シグナリング経路は、第２のＳＩＰプロキシサーバ(IP:Sb)を第３のＳＩＰプロキシサーバ(IP:Sc)へ切り替えようとしている。
【００３５】
ここで、セッションの経路の切替元となる切替元セッション管理サーバを、第１のＳＩＰプロキシサーバ(IP:Sa)とする。切替元セッション管理サーバとは、経路制御サーバが切替要求を送信可能なサーバである。これについては、図４で後述する。
【００３６】
（Ｓ３００）最初に、メッセージフィルタリングシーケンスを実行する。経路制御サーバは、切替元セッション管理サーバである第１のＳＩＰプロキシサーバ(IP:Sa)へ、切替対象セッションを示すフィルタ要求を送信する。フィルタ要求を受信したＳＩＰプロキシサーバは、その後、他のクライアント又は他のＳＩＰプロキシサーバから受信したメッセージでフィルタ条件を満たすものを経路制御サーバへ送信するように制御される。これによって、呼制御のＳＩＰメッセージ、例えばre-INVITEの衝突を避けることができる。
【００３７】
（Ｓ３０１）経路制御サーバは、第１のＳＩＰプロキシサーバ(IP:Sa)（切替元ＳＩＰプロキシサーバ）へ、第１のクライアント(IP:Ua)が送信したと仮定した場合における切替後経路の転送経路情報(Sa->Sc)を含む切替要求を、第２のクライアント(IP:Ub)を宛先として送信する。切替要求は、以下のようなヘッダを含むメッセージである。
RequestURI: INVITE Ub
Route： Sa, Sc
Record-Route：
From: Ua
Via：AS; branch=z9hG4bkSIPREROUTE[ランダム文字列]
【００３８】
RequestURIは、Ub宛のre-INVITEメッセージ「切替要求」を表す。Routeは、「転送経路情報」であって、RequestURIのUbと合わせて、更新経路Sa->Sc->Ubを指定している。Record-Routeは、「記録経路情報」であって、Uaからのメッセージであることを模擬して記録している。Viaは、応答（200OKメッセージ）の返信先と、トランザクション識別子とを表す。ここでは、応答を経路制御サーバで受信するために、経路制御（アプリケーション）サーバを意味する"AS"が指定される。尚、実際には、ASのアドレスを記述する。また、branchに指定されるトランザクション識別子は、経路制御サーバから送信されたre-INVITEメッセージであることを明示するために、"SIPREROUTE"の文字列が含まれる。branch全体の文字列は、一意に識別できるものであればよく、確率的に一意になるものであれば何でもよい。尚、図３について、branchの値は、簡略化して"B2"と表す。
【００３９】
re-INVITEメッセージ「切替要求」を受信した切替元ＳＩＰプロキシサーバ(IP:Sa)は、Viaに含まれるAS（経路制御サーバ）へ、100Tryingを返信する。
【００４０】
（Ｓ３０２）切替元ＳＩＰプロキシサーバ(IP:Sa)は、Ub宛のre-INVITEメッセージ「切替要求」のRecord-Routeヘッダ「記録経路情報」に当該サーバのアドレス（例えばＵＲＬ）を含める。そして、Routeヘッダ「転送経路情報」に従って、re-INVITEメッセージは、第３のＳＩＰプロキシサーバ(IP:Sc)へ転送される。このとき、Routeヘッダから、当該サーバ(IP:Sa)のアドレスは削除される。第３のＳＩＰプロキシサーバは、第２のＳＩＰプロキシサーバから切り替えられたサーバである。
【００４１】
（Ｓ３０３）第３のＳＩＰプロキシサーバ(Sc)は、Ub宛のre-INVITEメッセージ「切替要求」を、そのRouteヘッダ「転送経路情報」に従って、第２のクライアントUb宛に転送する。また、第３のＳＩＰプロキシサーバ(IP:Sc)は、100Tryingを、切替元ＳＩＰプロキシサーバである第１のＳＩＰプロキシサーバ(IP:Sa)へ返信する。
【００４２】
（Ｓ３０４）re-INVITEメッセージ「切替要求」を受信した第２のクライアント(IP:Ub)は、200OKメッセージを、第３のＳＩＰプロキシサーバ(Sc)へ返信する。200OKメッセージのRecord-Routeヘッダ「記録経路情報」には、Sa->Scが含まれる。
【００４３】
（Ｓ３０５）また、第２のクライアント(IP:Ub)は、re-INVITEメッセージに含まれるRecord-Routeヘッダ「記録経路情報」に基づいて、当該セッションのルートセット「ルートセット」、即ちダイアログ情報を更新する。
【００４４】
（Ｓ３０６）200OKメッセージを受信した第３のＳＩＰプロキシサーバ(Sc)は、その200OKメッセージを、切替元ＳＩＰプロキシサーバとなる第１のＳＩＰプロキシサーバ(IP:Sa)へ返信する。
【００４５】
（Ｓ３０７）200OKメッセージを受信した第１のＳＩＰプロキシサーバ(Sa)は、その200OKメッセージを、Viaヘッダの情報に従って経路制御サーバへ返信する。これにより、経路制御サーバは、Sa->Sc->Ubの経路が確立されたと判断する。
【００４６】
（Ｓ３０８）200OKメッセージを受信した経路制御サーバは、ACKメッセージを、第１のＳＩＰプロキシサーバ(IP:Sa)へ返信する。
【００４７】
（Ｓ３０９）ACKメッセージを受信した第１のＳＩＰプロキシサーバ(IP:Sa)は、ACKメッセージを、第３のＳＩＰプロキシサーバ(IP:Sc)へ送信する。
【００４８】
（Ｓ３１０）ACKメッセージを受信した第３のＳＩＰプロキシサーバ(IP:Sc)は、ACKメッセージを、第２のクライアント(IP:Ub)へ送信する。
【００４９】
（Ｓ３１１）次に、経路制御サーバは、第１のＳＩＰプロキシサーバ(IP:Sa)（切替元ＳＩＰプロキシサーバ）へ、第２のクライアント(IP:Ub)が送信したと仮定した場合における切替後経路の転送経路情報(Sa->Ua)を含む切替要求を、第１のクライアント(IP:Ua)を宛先として送信する。切替要求は、以下のようなヘッダを含むメッセージである。
RequestURI: INVITE Ua
Route: Sa
Record-Route: Sc
From: Ub
Via: AS; branch=z9hG4bkSIPREROUTE[ランダム文字列]
【００５０】
RequestURIは、Ua宛のre-INVITEメッセージ「切替要求」を表す。Routeは、「転送経路情報」であって、RequestURIのUaと合わせて、更新経路Sa->Uaを指定している。Record-Routeは、「記録経路情報」であって、Ubからのメッセージであって、既にScを経由して転送されてきたことを模擬して記録している。Viaは、応答（200OKメッセージ）の返信先と、トランザクション識別子とを表す。尚、図３について、branchに指定されるトランザクション識別子は、簡略化して"B1"と表す。
【００５１】
re-INVITEメッセージ「切替要求」を受信した切替元ＳＩＰプロキシサーバ(IP:Sa)は、Viaに含まれるAS（経路制御サーバ）へ、100Tryingを返信する。
【００５２】
（Ｓ３１２）切替元ＳＩＰプロキシサーバ(IP:Sa)は、Ua宛のre-INVITEメッセージ「切替要求」の記録経路情報に当該サーバのアドレスを含める。そして、Routeヘッダ「転送経路情報」に応じて、re-INVITEメッセージは、第１のクライアント(IP:Ua)へ転送される。
【００５３】
（Ｓ３１３）re-INVITEメッセージ「切替要求」を受信した第１のクライアント(IP:Ua)は、200OKメッセージを、第１のＳＩＰプロキシサーバ(Sa)へ返信する。
【００５４】
（Ｓ３１４）また、第１のクライアント(IP:Ua)は、re-INVITEメッセージに含まれるRecord-Routeヘッダ「記録経路情報」に基づいて、当該セッションのルートセット「ルートセット」、即ちダイアログ情報を更新する。
【００５５】
（Ｓ３１５）200OKメッセージを受信した第１のＳＩＰプロキシサーバ(Sa)は、その200OKメッセージを、Viaヘッダの情報に従って経路制御サーバへ返信する。これにより、経路制御サーバは、Sa->Uaの経路が確立されたと判断する。
【００５６】
（Ｓ３１６）200OKメッセージを受信した経路制御サーバは、ACKメッセージを、第１のＳＩＰプロキシサーバ(IP:Sa)へ返信する。
【００５７】
（Ｓ３１７）ACKメッセージを受信した第１のＳＩＰプロキシサーバ(Sa)は、ACKメッセージを、第１のクライアント(IP:Ua)へ送信する。
【００５８】
（Ｓ３２０）経路切替が完了すると、経路制御サーバは、フィルタ終了を、フィルタ要求を送信したＳＩＰプロキシサーバへ送信する。尚、ＳＩＰプロキシサーバが、フィルタ開始後、一定時間後に自動的に終了するように動作するものであってもよい。
【００５９】
ＳＩＰプロキシサーバは、フィルタリング中に受信したフィルタ条件を満たすメッセージを、経路制御サーバへ送信する。経路制御サーバのそのメッセージを保持する。そして、フィルタ終了時には、保持したメッセージについて、Routeヘッダ、Record-Routeヘッダ及びViaヘッダを、新しい経路に合致するように書き換えて送信する。
【００６０】
図４は、選択すべき切替元ＳＩＰプロキシサーバを表す説明図である。
【００６１】
本発明における切替元ＳＩＰプロキシサーバの選択基準は、以下のいずれか一方に該当することを要する。
［基準１］切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバである。
［基準２］切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近く、且つ、切替前経路に位置しないけれども切替後経路に位置する切替対象サーバまで（当該切替対象サーバを含む）のいずれかのセッション管理サーバである。
【００６２】
図４（ａ）について、第１のクライアントと第２のクライアントとの間で、旧シグナリング経路は、サーバ１、２及び３から構成されているのに対し、新シグナリング経路は、サーバ１、２１及び３から構成される。この場合、切替対象サーバのサーバ２１は、切替後経路上にあって、第１のクライアント及び第２のクライアントから最も近い切替対象サーバである（［基準１]［基準２］）。サーバ１は、切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近い切替対象サーバ（サーバ２１）までの間に位置するセッション管理サーバである（［基準１］）。同様に、サーバ３も、切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近い切替対象サーバ（サーバ２１）までの間に位置するセッション管理サーバである（［基準２］）。尚、サーバ２は、［基準１］及び［基準２］に該当しない。従って、図４（ａ）の場合、切替元ＳＩＰプロキシサーバとしては、サーバ１、２１又は３のいずれか１つが選択される。
【００６３】
図４（ｂ）について、旧シグナリング経路は、サーバ１、２及び３から構成されているのに対し、新シグナリング経路は、サーバ１、２１、２３及び３から構成される。この場合、切替対象サーバのサーバ２１は、切替後経路上にあって、第１のクライアントから最も近い切替対象サーバである（［基準１］）。切替対象サーバのサーバ２３は、切替後経路上にあって、第２のクライアントから最も近い切替対象サーバである（［基準２］）。サーバ１は、切替後経路上にあって、第１のクライアントから、第１のクライアントに最も近い切替対象サーバで（サーバ２１）までの間に位置するセッション管理サーバである（［基準１］）。同様に、サーバ３も、切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近い切替対象サーバ（サーバ２３）までの間に位置するセッション管理サーバである（［基準２］）。尚、サーバ２は、［基準１］及び［基準２］に該当しない。従って、図４（ｂ）の場合、切替元ＳＩＰプロキシサーバとしては、サーバ１、２１、２３又は３のいずれか１つが選択される。
【００６４】
図４（ｃ）について、旧シグナリング経路は、サーバ１、２及び３から構成されているのに対し、新シグナリング経路は、サーバ１、２１、２２、２３及び３から構成される。この場合、切替対象サーバのサーバ２１は、切替後経路上にあって、第１のクライアント１から最も近い切替対象サーバである（［基準１］）。切替対象サーバのサーバ２３は、切替後経路上にあって、第２のクライアントから最も近い切替対象サーバである（［基準２］）。サーバ１は、切替後経路上で第１のクライアントから、第１のクライアントに最も近い切替対象サーバ（サーバ２１）までの間に位置するセッション管理サーバである（［基準１］）。同様に、サーバ３も、切替後経路上にあって、第２のクライアントから、第２のクライアントに最も近い切替対象サーバ（サーバ２３）までの間に位置するセッション管理サーバである（［基準２］）。尚、サーバ２及び２２は、［基準１］及び［基準２］に該当しない。サーバ２２は、切替前経路に位置せず、切替後経路に位置する切替対象サーバではあるが、第１のクライアントからも第２のクライアントからも最も近い切替対象サーバでないからである。従って、図４（ｂ）の場合、切替元ＳＩＰプロキシサーバとしては、サーバ１、２１、２３又は３のいずれか１つが選択される。
【００６５】
本発明によれば、切替元ＳＩＰサーバと第２のクライアントとの間の第１の経路を確立した後、切替元ＳＩＰサーバと第１のクライアントとの間の第２の経路を確立する。従って、第１の経路の確立に成功した後、第２の経路の確立に失敗した場合、再び、第１の経路を以前の経路に戻さなければならない。従って、このようなことがないように、切替元ＳＩＰプロキシサーバを選択する必要がある。即ち、第１の経路が、新たに確立される経路の全てのＳＩＰプロキシサーバを通るようにする必要がある。これによって、１回目のre-INVITEメッセージを送信することによって、新しい経路の確立の可否を容易に特定することができる。
【００６６】
図５は、本発明におけるシステム構成図である。
【００６７】
経路制御サーバ１は、クライアントを模擬して経路を切り替えるものである。図５によれば、経路制御サーバ１は、切替要求生成部１１と、切替要求送信部１２と、フィルタ要求送信部１３と、メッセージ保持部１４と、更新メッセージ送信部１５とを有する。これら機能構成部は、サーバに搭載されたコンピュータを機能させる経路制御用のプログラムを実行することによって実現できる。
【００６８】
切替要求生成部１１は、第１のクライアントが送信したと仮定した場合における、切替元ＳＩＰプロキシサーバからの切替後経路の転送経路情報(Routeヘッダ)を含む第１の切替要求(re-INVITE)を生成し、及び、第２のクライアントが送信したと仮定した場合における、切替元ＳＩＰプロキシサーバからの切替後経路の転送経路情報(Routeヘッダ)を含む第２の切替要求(re-INVITE)を生成する。
【００６９】
切替要求送信部１０２は、切替元ＳＩＰプロキシサーバに対して、第１の切替要求(re-INVITE)を、第２のクライアントを宛先として送信し、且つ、第２の切替要求(re-INVITE)を、第１のクライアントを宛先として送信する。
【００７０】
フィルタ要求送信部１０３は、切替元ＳＩＰプロキシサーバと、切替前経路に位置し且つ切替後経路に位置しないＳＩＰプロキシサーバとへ、フィルタ要求を送信する。切替要求送信部１２が切替要求を送信する前に、フィルタ要求が送信される。
【００７１】
メッセージ保持部１０４は、フィルタリング中のＳＩＰプロキシサーバから受信した全てのメッセージを、一時的に保持する。
【００７２】
更新メッセージ送信部１０５は、経路の切替シーケンスが完了した後、保持された全てのメッセージについて、転送経路情報(Routeヘッダ、Viaヘッダ)、記録経路情報(Record-Route)を、更新された経路情報に書き換えて送信する。
【００７３】
セッション管理サーバであるＳＩＰプロキシサーバは、既存のＳＩＰプロキシサーバ機能部３１に加えて、メッセージフィルタ／転送部３２を更に有する。
【００７４】
ＳＩＰプロキシサーバ機能部３１は、既存のものであって、切替要求(INVITE)の記録経路情報(Record-Route)に当該サーバのアドレスを含める。
【００７５】
メッセージフィルタ／転送部３２は、転送経路情報に従って切替要求を転送する。また、経路制御サーバ１から、フィルタ要求を受信した後、受信したフィルタ条件を満たすメッセージを、経路制御サーバ１へ送信する。メッセージフィルタ／転送部３２は、既存のＳＩＰプロキシサーバ機能部とは独立して動作する。従って、既存のＳＩＰプロキシサーバのプログラムを変更する必要がない。オペレーティングシステムからＳＩＰプロキシサーバ用プログラムへメッセージが通知される前に、又は、逆にＳＩＰプロキシサーバ用プログラムからオペレーティングシステムへメッセージが通知される前に、事前にＳＩＰメッセージが処理される。
【００７６】
クライアントは、ルートセット更新部２１と、切替要求受信部２２とを有する。
【００７７】
切替要求受信部２２は、切替要求(INVITE)を受信し、その切替要求に含まれる記録経路情報(Record-Route)をルートセット更新部２１へ通知する。
【００７８】
ルートセット更新部２１は、切替要求の記録経路情報(Record-Route)に従って、当該セッションのルートセット、即ちダイアログ情報を更新する。
【００７９】
尚、ルートセットを端末から最初にアクセスされるファーストホップのセッション管理サーバが管理する場合、クライアントが、ファーストホップのＳＩＰプロキシサーバであってもよい。この場合、そのＳＩＰプロキシサーバが、切替要求受信部２２及びルートセット更新部２１を有する。即ち、クライアントは、通常のＳＩＰ端末でよい。尚、ファーストホップのセッション管理サーバが、端末のルートセットを管理するシステムとして、例えばＩＭＳ(IP Multimedia Subsystem)／ＭＭＤ(MultiMedia Domain)がある。
【００８０】
図６は、経路切替に失敗する場合のシーケンス図である。
【００８１】
（Ｓ６００）図３のＳ３００と同様に、フィルタリングシーケンスを実行する。
（Ｓ６０１）図３のＳ３０１と同様に、経路制御サーバがINVITEメッセージ「切替要求」を、第２のクライアント(IP:Ub)へ向けて送信する。
（Ｓ６０２）図３のＳ３０２と同様に、第１のＳＩＰプロキシサーバ(IP:Sa)がINVITE目セージを、第３のＳＩＰプロキシサーバ(IP:Sc)へ転送する。
【００８２】
（Ｓ６０３）ここで、第３のＳＩＰプロキシサーバ(IP:Sc)は、例えば認証エラーによって、経路切替を許可できないとする。そのとき、第３のＳＩＰプロキシサーバ(IP:Sc)は、407メッセージを、第１のプロキシサーバ(IP:Sa)へ返信する。
【００８３】
（Ｓ６０４）407メッセージを受信した第１のＳＩＰプロキシサーバ(IP:Sa)は、その407メッセージを、Viaヘッダに従って、経路制御サーバへ返信する。これによって、経路制御サーバは、経路切替が失敗したことを知る。必要であれば、認証シーケンスを実行するか、又は、別の新しい経路へ切り替えるように制御する。
【００８４】
（Ｓ６０５）図３のＳ３２０と同様に、経路切替が失敗したために、フィルタリングシーケンスを終了する。
【００８５】
次に、２つの待機フェーズについて説明する。ＳＩＰの標準動作では、複数のINVITEメッセージを同時に処理することは許されない。図６によれば、第１のＳＩＰプロキシサーバのフィルタリングによって、re-INVITEメッセージが経路制御サーバへ転送された場合を表している。
【００８６】
（Ｓ６１０）第１の待機フェーズは、以下の２つの場合を想定している。
（１）re-INVITEメッセージの送信元が、クライアントである場合（re-INVITEメッセージのbranchに"SIPREROUTE”が含まれていない場合、送信元はクライアントであると判定できる）
（２）当該経路制御サーバが既にre-INVITEメッセージを送信した場合
【００８７】
この場合、当該経路制御サーバは、491 Request Pendingメッセージを第１のＳＩＰプロキシサーバへ返信する。また、第１のＳＩＰプロキシサーバは、re-INVITEメッセージの送信元へ、その491 Request Pendingメッセージを転送する。
【００８８】
（Ｓ６２０）第２の待機フェーズは、以下の場合を想定している。
（１）re-INVITEメッセージの送信元が、他の経路制御サーバであって、且つ、当該経路制御サーバがまだre-INVITEメッセージを送信していない場合（re-INVITEメッセージのbranchに"SIPREROUTE”が含まれている場合、送信元は他の経路制御サーバであると判定できる）
【００８９】
この場合、当該経路制御サーバは、自らのre-INVITEメッセージの送信を中止し、他の経路制御サーバのre-INVITEメッセージを優先的に受け付けて、そのre-INVITEメッセージを次のＳＩＰプロキシサーバへ転送する。
【００９０】
尚、逆に、経路制御サーバがre-INVITEメッセージを送信し、その後、Request Pending応答を受信した場合、ＳＩＰの標準動作に従って、ランダム時間待機後に、re-INIVTEメッセージを再度送信する。
【００９１】
以上、詳細に説明したように、本発明の経路制御方法及びシステムによれば、低コストの設備によって、ＩＰ上で既に確立されたセッション毎に、複数のセッション管理サーバからなる経路を動的に切り替えることができる。
【００９２】
本発明によれば、経路制御サーバを運用するネットワーク事業者が主導で、ＳＩＰプロキシサーバの経路を切り替えることができる。特に、障害発生の予兆段階で、ＳＩＰプロキシサーバが処理する一部の呼のみを、他のＳＩＰプロキシサーバへ切り替えることができる。また、ＳＩＰメッセージのやりとりだけでＳＩＰプロキシサーバを切り替えることができるので、長時間張り続けられている呼を集めるなど、効率的・冗長性・信頼性を確保したＳＩＰプロキシサーバの割り当ても可能となる。更に、本発明によれば、少なくとも、経路制御サーバを備え、クライアントにルートセット更新部を設けるだけなので、低コストの設備で実現できる。また、ＳＩＰプロキシサーバにフィルタ部を設ける場合でも、既存のＳＩＰプロキシサーバ機能に付加するだけである。更に、本発明の機能を備えない他のＳＩＰサーバ及びクライアントが、同じネットワークで共存することにも全く問題が生じない。
【００９３】
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００９４】
【図１】ＳＩＰプロキシサーバを介したシーケンス図である。
【図２】本発明におけるネットワーク構成図である。
【図３】本発明におけるシーケンス図である。
【図４】選択すべき切替元ＳＩＰプロキシサーバを表す説明図である。
【図５】本発明におけるシステム構成図である。
【図６】経路切替に失敗する場合のシーケンス図である。
【符号の説明】
【００９５】
１  経路制御サーバ、経路制御アプリケーションサーバ
１１  切替要求生成部
１２  切替要求送信部
１３  フィルタ要求送信部
１４  メッセージ保持部
１５  更新メッセージ送信部
２  クライアント、ユーザエージェントクライアント
２１  ルートセット更新部
２２  切替要求受信部
３  ＳＩＰプロキシサーバ、セッション管理サーバ
３１  ＳＩＰプロキシサーバ機能部
３２  メッセージフィルタ／転送部
４  ＩＰネットワーク
【図１】
0004868608.tif 000002
【図２】
0004868608.tif 000003
【図３】
0004868608.tif 000004
【図４】
0004868608.tif 000005
【図５】
0004868608.tif 000006
【図６】
0004868608.tif 000007