(57)【要約】【課題】セッション通信中の状態で、通信を中継する通信装置に障害が発生した場合でも、発信端末と着信端末との間のセッション通信を継続させる。【解決手段】リクエストメッセージを次に送信すべきＳＩＰサーバとの間の通信状態を判定し、次に送信すべき通信装置との間の通信状態が異常であると判定した場合に、リクエストメッセージのヘッダ情報に設定されたＳＩＰサーバの中継順序に係る情報に基づいて、通信状態が異常であると判定したＳＩＰサーバの次のＳＩＰサーバをリクエストメッセージの送信先として設定する。【選択図】        図１
2008104112.tif 000002
【特許請求の範囲】
【請求項１】
通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定装置であって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手段と、
前記通信状態判定手段により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定手段と、
を備えたことを特徴とする送信経路設定装置。
【請求項２】
前記通信状態判定手段は、次に送信すべき通信装置に対して前記ＳＩＰメッセージを送信し、該ＳＩＰメッセージに応じて返送される応答メッセージに基づいて、次に送信すべき通信装置との間の通信状態を判定することを特徴とする請求項１に記載の送信経路設定装置。
【請求項３】
前記通信状態判定手段は、前記応答メッセージに含まれる通信装置の状態を示す情報に基づいて、前記通信状態を判定することを特徴とする請求項２に記載の送信経路設定装置。
【請求項４】
通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定方法であって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定工程と、
前記通信状態判定工程により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定工程と、
を含んだことを特徴とする送信経路設定方法。
【請求項５】
通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定プログラムであって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手順と、
前記通信状態判定手順により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定手順と、
をコンピュータに実行させることを特徴とする送信経路設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定装置、送信経路設定方法および送信経路設定プログラムに関し、特に、セッション通信中の状態で、通信を中継する通信装置に障害が発生した場合でも、発信端末と着信端末との間のセッション通信を継続させることができる送信経路設定装置、送信経路設定方法および送信経路設定プログラムに関するものである。
【背景技術】
【０００２】
近年、情報通信インフラの整備が進められ、これに伴い、ＩＰ電話やビデオ会議、インスタントメッセージなど、ＩＰ（Internet Protocol）ネットワークを利用して、１対１あるいは多数の参加者が参加してコミュニケーションを行うためのサービスが普及し始めている。
【０００３】
このようなコミュニケーションサービスを実現するシステムにおいて、参加者どうしの間で行われる通信は、参加者間で行われる一連のやり取りをまとめた、セッションと呼ばれる単位で行われる。以下、このセッション単位の通信を、「セッション通信」と呼ぶ。このセッション通信をＩＰネットワーク上で開始／変更／終了するためのプロトコルとして、ＳＩＰ（Session Initiation Protocol）が広く知られている。
【０００４】
ＳＩＰを利用したネットワークでは、一般的には、発信側の端末（以下、ＵＡＣ（User Agent Client）と呼ぶ）と着信側の端末（以下、ＵＡＳ（User Agent Server）と呼ぶ）との間の通信は、複数のＳＩＰサーバを経由して行われる。具体的には、ＵＡＣ、ＵＡＳとの間で、各ＳＩＰサーバを経由し、各種リクエストメッセージや、リクエストメッセージに対する各種レスポンスメッセージなどのＳＩＰメッセージが送受信される。
【０００５】
図９は、ＳＩＰを利用したＩＰ電話ネットワークの一例を示す図である。例えば、同図に示すＩＰ電話ネットワークにおいては、ＵＡＣとＵＡＳとの間の通信は、ＳＩＰサーバＡ、ＳＩＰサーバＮおよびＳＩＰサーバＸを経由して行われる。
【０００６】
このようなネットワークにおいて、例えば障害などの原因によりＳＩＰサーバのいずれかがダウンした場合には、ＵＡＣから送信されたリクエストメッセージおよびＵＡＳから送信されたリクエストメッセージは、それぞれ、ＵＡＳおよびＵＡＣに到達しない。
【０００７】
そこで、ＵＡＣとＵＡＳとの間でＳＩＰメッセージを中継するＳＩＰサーバにおいて、他のＳＩＰサーバに対してＩＮＶＩＴＥリクエスト（セッション通信の開始を要求する際にＵＡＣから送信されるリクエストメッセージ）が送信された後に、当該ＩＮＶＩＴＥリクエストに対するレスポンスメッセージが送信先のＳＩＰサーバから返送されなかった場合に、送信先のＳＩＰサーバに障害が発生していると判定し、そのＳＩＰサーバを経由しない迂回経路を設定して、ＩＮＶＩＴＥメッセージを送信する方法が提案されている（例えば、特許文献１参照。）。
【０００８】
【特許文献１】特開２００４−１７９７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来の技術では、ＩＮＶＩＴＥメッセージに対する応答に基づいて障害を判定しているため、すでにセッション通信が開始している状態でＳＩＰサーバに障害が発生した場合には、そのＳＩＰサーバに障害が発生していることを検知することができない。そのため、各ＳＩＰサーバでは、障害発生以降もセッション通信が継続しているものと判断される。
【００１０】
この場合、ＵＡＣに対する課金処理を行っているＳＩＰサーバにおいて、実際はセッション通信が不可能な状態になっているにもかかわらず、課金処理が継続して行われてしまうという問題がある。
【００１１】
例えば、図９に示したＩＰ電話ネットワークにおいて、ＳＩＰサーバＡがＵＡＣに対する課金処理を行っていたとし、ＵＡＣとＵＡＳとの間でセッション通信が行われている間にＳＩＰサーバＮがダウンしたとする。この場合、セッション通信の終了を要求するためのＢＹＥリクエストをＵＡＳが送信したとしても、当該ＢＹＥリクエストはＳＩＰサーバＡに到達しないため、ＳＩＰサーバＡは、その後もＵＡＣに対して課金を続ける。
【００１２】
ＩＥＴＦ（Internet Engineering Task Force）により規定されたＳＩＰの拡張仕様（ＲＦＣ４０２８）には、セッション通信の状態を確認するためのセッションタイマ機能の仕様が定義されている。このセッションタイマ機能を備えていた場合、ＵＡＣ、ＵＡＳおよびＳＩＰサーバは、セッション通信の開始時に通信相手の端末との間で生存時間（セッションタイマ）を決定し、セッション通信中は、常にタイマで時間を計数して、生存時間の半分の時間（リフレッシュタイマ）が過ぎた時点で、通信相手の端末（ＵＡＣまたはＵＡＳ）に対してｒｅ−ＩＮＶＩＴＥリクエストを送信する。
【００１３】
そして、ＵＡＣ、ＵＡＳおよびＳＩＰサーバは、送信したリクエストに対してレスポンスが応答された場合には、その時点では通信が可能であると判定してタイマをリセットし、ｒｅ−ＩＮＶＩＴＥリクエストの送信とレスポンスの有無の確認を繰り返し、一方、生存時間が過ぎてもレスポンスが応答されなかった場合には、通信が不可能であると判定してセッション通信を終了する。
【００１４】
仮に、このセッションタイマ機能がＳＩＰサーバＡに備えられていたとしても、ｒｅ−ＩＮＶＩＴＥリクエストを送信してから、レスポンスが応答されずに生存時間が経過するまでの間は、障害は検知されず、その間も継続して課金が行われてしまうことになる。すなわち、セッションタイマ機能を用いても、この問題を完全には解決することはできない。
【００１５】
この問題を完全に解決するためには、セッション通信中の状態でＳＩＰサーバに障害が発生した場合でも、障害が発生したＳＩＰサーバを経由しない迂回経路を設定してＳＩＰメッセージを転送し、セッション通信が継続されるようにすればよい。
【００１６】
そのため、セッション通信中の状態でＳＩＰサーバに障害が発生した場合でも、いかにしてＵＡＣとＵＡＳとの間のセッション通信を継続させるかが極めて重要な課題となっている。
【００１７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、セッション通信中の状態で、通信を中継する通信端末（ＳＩＰサーバ）に障害が発生した場合でも、発信端末（ＵＡＣ）と着信端末（ＵＡＳ）との間のセッション通信を継続させることができる送信経路設定装置、送信経路設定方法および送信経路設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本発明は、通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定装置であって、前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手段と、前記通信状態判定手段により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定することを特徴とする。
【００１９】
また、本発明は、上記の発明において、前記通信状態判定手段は、次に送信すべき通信装置に対して前記ＳＩＰメッセージを送信し、該ＳＩＰメッセージに応じて返送される応答メッセージに基づいて、次に送信すべき通信装置との間の通信状態を判定することを特徴とする。
【００２０】
また、本発明は、上記の発明において、前記通信状態判定手段は、前記応答メッセージに含まれる通信装置の状態を示す情報に基づいて、前記通信状態を判定することを特徴とする。
【００２１】
また、本発明は、上記の発明において、前記通信状態判定手段は、送信したＳＩＰメッセージに応じて前記応答メッセージが返送されなかった場合には、前記通信状態が異常であると判定することを特徴とする。
【００２２】
また、本発明は、上記の発明において、前記送信経路設定手段は、前記通信状態判定手段により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記ＳＩＰメッセージに含まれるＲｏｕｔｅヘッダに設定された次に送信すべき通信装置に係る情報を削除することにより、前記ＳＩＰメッセージの送信先を設定することを特徴とする。
【００２３】
また、本発明は、通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定方法であって、前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定工程と、前記通信状態判定工程により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定工程と、を含んだことを特徴とする。
【００２４】
また、本発明は、通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定プログラムであって、前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手順と、前記通信状態判定手順により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定し、次に送信すべき通信装置との間の通信状態が異常であると判定した場合に、通信装置の中継順序に係る情報に基づいて、通信状態が異常であると判定した通信装置以降の通信装置をＳＩＰメッセージの送信先として設定するよう構成したので、セッション通信中の状態で、通信を中継する通信端末に障害が発生した場合でも、その通信装置をスキップしてＳＩＰメッセージを送信することが可能になり、発信端末と着信端末との間のセッション通信を継続させることができるという効果を奏する。
【００２６】
また、本発明によれば、次に送信すべき通信装置に対してＳＩＰメッセージを送信し、送信したＳＩＰメッセージに応じて返送される応答メッセージに基づいて、次に送信すべき通信装置との間の通信状態を判定するよう構成したので、通信状態の内容に応じて、より詳細な条件で通信状態を切り分けて、次に送信すべき通信装置をスキップするか否かを判定することができるという効果を奏する。
【００２７】
また、本発明によれば、応答メッセージに含まれる通信装置に状態を示す情報に基づいて、通信状態を判定するよう構成したので、輻輳などにより一時的にサービスが停止している通信装置があった場合でも、その通信装置をスキップしてＳＩＰメッセージを送信することが可能になり、発信端末と着信端末との間のセッション通信を継続させることができるという効果を奏する。
【００２８】
また、本発明によれば、送信したＳＩＰメッセージに応じて応答メッセージが返送されなかった場合には、通信状態が異常であると判定するよう構成したので、障害などによりシステムが完全にダウンしている通信装置があった場合でも、その通信装置をスキップしてＳＩＰメッセージを送信することが可能になり、発信端末と着信端末との間のセッション通信を継続させることができるという効果を奏する。
【００２９】
また、本発明によれば、次に送信すべき通信装置との間の通信状態が異常であると判定した場合に、ＳＩＰメッセージに含まれるＲｏｕｔｅヘッダに設定された次に送信すべき通信装置に係る情報を削除することにより、ＳＩＰメッセージの送信先を設定するよう構成したので、ＳＩＰで定義されているヘッダ情報のデータ構造を変えずに、障害が発生している通信装置をスキップしてＳＩＰメッセージを送信することが可能になり、発信端末と着信端末との間のセッション通信を継続させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
以下に添付図面を参照して、この発明に係る送信経路設定装置、送信経路設定方法および送信経路設定プログラムの好適な実施例を詳細に説明する。なお、以下では、本発明を、ＩＰ電話のネットワークを構成するＳＩＰサーバに適用した場合について説明するが、この実施例により本発明が限定されるものではない。
【実施例】
【００３１】
まず、本実施例に係るＳＩＰサーバの概念について説明する。図１は、本実施例に係るＳＩＰサーバの概念を説明するための説明図である。同図は、本実施例に係るＳＩＰサーバＡ、ＮおよびＸにより構成されたＩＰ電話のネットワークを示しており、同図に示すように、ＳＩＰサーバＡとＳＩＰサーバＮとがＩＰネットワーク１を介して接続されており、ＳＩＰサーバＮとＳＩＰサーバＸとがＩＰネットワーク２を介して接続されており、ＳＩＰサーバＡとＳＩＰサーバＸとがＩＰネットワーク３を介して、それぞれ接続されている。
【００３２】
また、同図において、ＵＡＣは、発信者の端末（ＩＰ電話機）を示しており、ＵＡＳは、着信者の端末（ＩＰ電話機）を示しており、同図に示すように、ＵＡＣとＵＡＳとは、ＳＩＰサーバＡ、ＳＩＰサーバＮおよびＳＩＰサーバＸを介して、通話に関する通信を行う。
【００３３】
かかるＩＰ電話のネットワークにおいて、各ＳＩＰサーバは、自サーバに接続されているＳＩＰサーバ（以下、「対向サーバ」と呼ぶ）との間の通信状態（通信が可能であるか否か）を常時確認し、確認した結果を通信状態情報として管理している。例えば、ＳＩＰサーバＡは、ＳＩＰサーバＮとの間の通信状態を、ＳＩＰサーバＮは、ＳＩＰサーバＡとの間の通信状態およびＳＩＰサーバＸとの間の通信状態を、ＳＩＰサーバＸはＳＩＰサーバＮとの間の通信状態を、それぞれ通信情報として管理している。
【００３４】
ここで、ＵＡＣとＵＡＳとの間では、ＳＩＰプロトコルによるＩＮＶＩＴＥメッセージなどのメッセージのやり取りの末に、すでにセッション通信が開始されていたとし、その状態で、ＵＡＳから、セッション通信の終了を要求するＢＹＥリクエストが発信されたとする（同図の（１）を参照）。このＢＹＥリクエストのヘッダ情報には、当該ＢＹＥリクエストの送信経路が設定されており、ここでは、ＳＩＰサーバＸ、ＳＩＰサーバＮ、ＳＩＰサーバＡの順で送信されるように送信経路が設定されていたとする。
【００３５】
ＳＩＰサーバＸは、ＢＹＥリクエストを受信すると、当該ＢＹＥリクエストのヘッダ情報を参照して次の送信先がＳＩＰサーバＮであることを確認し、さらに、管理している通信情報に基づいて、ＳＩＰサーバＮが通信可能であるか否かを確認する。
【００３６】
ここで、障害などの原因により、ＳＩＰサーバＮが通信不可能な状態であったとする。その場合、ＳＩＰサーバＸは、ＳＩＰサーバＮを経由せずに、その次の送信先に設定されているＳＩＰサーバＡに対して、当該ＢＹＥリクエストを送信する（同図の（２）を参照）。この時、ＳＩＰサーバＸは、ＢＹＥリクエストのヘッダ情報に設定され送信経路からＳＩＰサーバＮを示す情報を削除したうえで、当該ＢＹＥリクエストを送信する。
【００３７】
ＳＩＰサーバＡは、ＢＹＥリクエストを受信すると、当該ＢＹＥリクエストによるセッション通信の終了の要求先であるＵＡＣに対して、当該ＢＹＥリクエストを送信する（同図の（３）を参照）。
【００３８】
このように、本実施例に係るＳＩＰサーバは、リクエストメッセージを次に送信すべきＳＩＰサーバとの間の通信状態を判定し、次に送信すべき通信装置との間の通信状態が異常であると判定した場合に、リクエストメッセージのヘッダ情報に設定されたＳＩＰサーバの中継順序に係る情報に基づいて、通信状態が異常であると判定したＳＩＰサーバの次のＳＩＰサーバをリクエストメッセージの送信先として設定することを特徴とするものである。
【００３９】
ここで、本実施例に係るＳＩＰサーバの詳細な説明に先立ち、ＳＩＰによるメッセージの送信経路設定について説明する。図２は、ＳＩＰによるメッセージの送信経路設定を説明するための図である。同図は、図１に示したＳＩＰサーバＡ、ＳＩＰサーバＮおよびＳＩＰサーバＸにおいて行われる送信経路設定を示している。
【００４０】
各ＳＩＰサーバは、ＵＡＣやＵＡＳ、または他のＳＩＰサーバからＳＩＰメッセージを受信すると、そのつど次の送信先を特定して、当該ＳＩＰメッセージを転送する。この送信先の特定は、セッション通信の開始時にＵＡＣおよびＵＡＳにおいて生成されるルートセットに基づいて行われる。このルートセットは、ＩＮＶＩＴＥリクエストおよび、ＩＮＶＩＴＥリクエストに対するレスポンスメッセージのヘッダ情報に含まれるRecord-RouteヘッダおよびContactヘッダに基づいて生成される。
【００４１】
ここで、Record-Routeヘッダは、ＩＮＶＩＴＥリクエストの送信経路が設定されるヘッダであり、具体的には、ＩＮＶＩＴＥリクエストの送信経路において経由されたＳＩＰサーバを示す情報が順番に設定される。Contactヘッダは、ＩＮＶＩＴＥリクエストやレスポンスメッセージを送信した送信元の端末を示す情報が設定されるヘッダである。
【００４２】
例えば、図２に示すように、ＵＡＳに対するＩＮＶＩＴＥリクエストがＵＡＣから発信され（ステップＳ１０１）、ＳＩＰサーバＡ、ＳＩＰサーバＮ、ＳＩＰサーバＸの順に転送されて、ＵＡＳに到達したとする（ステップＳ１０２〜Ｓ１０４）。このＩＮＶＩＴＥリクエストのRecord-Routeヘッダには、それまでに経由したＳＩＰサーバＡ、ＳＩＰサーバＮ、ＳＩＰサーバＸを示す情報が順番に設定され（同図に示す「ＲＲ：Ｘ，Ｎ，Ａ」）、Contactヘッダには、当該ＩＮＶＩＴＥリクエストの送信元であるＵＡＣを示す情報が設定されている（同図に示す「Ｃ：ＵＡＣ」）。
【００４３】
ＵＡＳは、ＩＮＶＩＴＥリクエストを受信すると、当該ＩＮＶＩＴＥリクエストのRecord-RouteヘッダおよびContactヘッダに基づいて、ルートセットを生成する（同図に示す「Ｘ，Ｎ，Ａ，ＵＡＣ」）。そして、ＵＡＳは、ＩＮＶＩＴＥリクエストによるセッション開始要求を受け付けたことを示す２００ＯＫレスポンス（応答コード「２００  ＯＫ」が設定されたレスポンスメッセージ）をＵＡＣに対して送信する（ステップＳ１０５）。
【００４４】
ＵＡＳにより送信された２００ＯＫレスポンスは、ＩＮＶＩＴＥリクエストが転送された経路を逆にたどり、ＳＩＰサーバＸ、ＳＩＰサーバＮ、ＳＩＰサーバＡの順に転送されて、ＵＡＣに到達する（ステップＳ１０６〜Ｓ１０８）。この２００ＯＫレスポンスのRecord-Routeヘッダには、ＵＡＳにより受信されたＩＮＶＩＴＥリクエストのRecord-Routeヘッダと同じ情報が設定され（同図に示す「ＲＲ：Ｘ，Ｎ，Ａ」）、Contactヘッダには、当該２００ＯＫレスポンスの送信元であるＵＡＳを示す情報が設定されている（同図に示す「Ｃ：ＵＡＳ」）。
【００４５】
ＵＡＣは、２００ＯＫレスポンスを受信すると、当該２００ＯＫレスポンスのRecord-RouteヘッダおよびContactヘッダに基づいて、ルートセットを生成する（同図に示す「Ｘ，Ｎ，Ａ，ＵＡＳ」）。そして、ＵＡＣは、ＩＮＶＩＴＥリクエストに対する２００ＯＫレスポンスを受け付けたことを示すＡＣＫメッセージをＵＡＳに対して送信する（ステップＳ１０９）。ＵＡＣにより送信されたＡＣＫメッセージは、ＩＮＶＩＴＥメッセージと同じ経路をたどり、ＳＩＰサーバＡ、ＳＩＰサーバＮ、ＳＩＰサーバＸの順に転送されて、ＵＡＳに到達する（ステップＳ１１０〜Ｓ１１２）。
【００４６】
以上の手続きにより、ＵＡＣとＵＡＳとの間で、セッション通信が開始される（セッション通信中状態）。そして、これ以降、ＵＡＣまたはＵＡＳから送信されるリクエストメッセージのヘッダには、それぞれの端末において生成されたルートセットに基づいて送信経路が設定され、この送信経路に基づいて、各ＳＩＰサーバは、リクエストメッセージの次の送信先を特定する。
【００４７】
例えば、同図に示すように、セッションの終了要求を示すＢＹＥリクエストがＵＡＣからＵＡＳに対して送信される場合には（ステップＳ１１３）、ＵＡＣにおいて、ルートセットに基づいて当該ＢＹＥリクエストのRequest-URIヘッダおよびRouteヘッダが設定される（同図に示す「ＲＵＲＩ：ＵＡＳ」および「Ｒ：Ａ，Ｎ，Ｘ」）。
【００４８】
ここで、Request-URIヘッダは、リクエストメッセージの送信先（リクエストの要求先）を示す情報が設定されるヘッダであり、Routeヘッダは、リクエストメッセージを送信する際の送信経路（ＳＩＰサーバの経由順）を示す情報が設定されるヘッダである。
【００４９】
ＵＡＣにより送信されたＢＹＥリクエストは、Request-URIヘッダおよびRouteヘッダに設定された情報に基づいて、ＳＩＰサーバＡからＳＩＰサーバＮに、ＳＩＰサーバＮからＳＩＰサーバＸに転送され、さらにＳＩＰサーバＸからＵＡＳに転送される（ステップＳ１１４〜Ｓ１１６）。
【００５０】
同様に、ＵＡＳからＵＡＣに対してＢＹＥリクエストが送信される場合には（ステップＳ１１７）、ＵＡＳにおいて、ルートセットに基づいて当該ＢＹＥリクエストのRequest-URIヘッダおよびRouteヘッダが設定され（同図に示す「ＲＵＲＩ：ＵＡＣ，Ｒ：Ｘ，Ｎ，Ａ」）、このＢＹＥリクエストは、ヘッダ情報に基づいて、ＳＩＰサーバＸからＳＩＰサーバＮに、ＳＩＰサーバＮからＳＩＰサーバＡに転送され、さらにＳＩＰサーバＡからＵＡＣに転送される（ステップＳ１１８〜Ｓ１２０）。
【００５１】
このように、ＳＩＰプロトコルを用いたネットワークでは、ＵＡＣとＵＡＳとの間でセッション通信が開始された以降は、ＵＡＣまたはＵＡＳから送信されるリクエストメッセージのRouteヘッダには、それぞれの端末において生成されたルートセットに基づいて送信経路が設定され、この送信経路に基づいて、各ＳＩＰサーバは、リクエストメッセージの次の送信先を特定する。
【００５２】
次に、本実施例に係るＳＩＰサーバの構成について説明する。なお、図１に示したＳＩＰサーバＡ、ＮおよびＸは、いずれも同様の構成を有するので、ここではＳＩＰサーバＸを例にとって説明する。図３は、本実施例に係るＳＩＰサーバＸの構成を示す機能ブロック図である。同図に示すように、このＳＩＰサーバＸは、ＳＩＰ通信制御部１０と、ＳＩＰ呼制御部２０と、ＳＩＰヘッダ制御部３０と、対向サーバ状態管理部４０と、迂回制御部５０とを有する。
【００５３】
ＳＩＰ通信制御部１０は、ＳＩＰプロトコルに準拠したＳＩＰメッセージの送受信を制御する処理部である。例えば、このＳＩＰ通信制御部１０は、ＩＮＶＩＴＥリクエストやＢＹＥリクエスト、ｒｅ−ＩＮＶＩＴＥリクエストなどのリクエストメッセージや、「２００  ＯＫ」や「１００  Ｔｒｙｉｎｇ」などの応答コードが設定されたレスポンスメッセージ、対向サーバとの間で送受信する。
【００５４】
ＳＩＰ呼制御部２０は、ＳＩＰプロトコルを用いた呼制御を行う処理部である。このＳＩＰ呼制御部２０は、本発明に関連する機能としては、リクエストメッセージを送信する際に、次の送信先に指定されているＳＩＰサーバをスキップするか否かを迂回制御部５０に問い合わせる。そして、ＳＩＰ呼制御部２０は、迂回制御部５０から当該ＳＩＰサーバをスキップするように指示された場合には、次の送信先のＳＩＰサーバが通信不可能であると判定し、ＳＩＰヘッダ制御部３０に指示することによって、リクエストメッセージのヘッダ情報に設定されている送信経路から、次の送信先のＳＩＰサーバを示す情報を削除し、そのうえで、スキップするＳＩＰサーバの次の送信先に設定されているＳＩＰサーバに対して当該リクエストメッセージを送信する。
【００５５】
一方、ＳＩＰ呼制御部２０は、迂回制御部５０から次の送信先のＳＩＰサーバをスキップしないように指示された場合には、リクエストメッセージのヘッダ情報に設定されている送信経路に従って、次の送信先に指定されているＳＩＰサーバに対して当該リクエストメッセージを送信する。ここで、送信先のＳＩＰサーバが正常に稼動していた場合には、リクエストメッセージを正常に受け付けたことを示すレスポンスメッセージが返送される。しかし、送信先のＳＩＰサーバに何らかの異常が発生していた場合には、リクエストメッセージを正常に受け付けることができなかったことを示すレスポンスメッセージが返送されるか、または、レスポンスメッセージ自体が返送されない。
【００５６】
そこで、ＳＩＰ呼制御部２０は、送信したリクエストメッセージに対して、送信先のＳＩＰサーバからサービス停止状態を示す応答コード（例えば、「５０３  Service Unavailable」など）が設定されたレスポンスメッセージが返送された場合や、所定の時間が経過しても送信先のＳＩＰサーバからレスポンスメッセージが返送されなかった場合には、次の送信先のＳＩＰサーバが通信不可能であると判定し、ＳＩＰヘッダ制御部３０に指示することによって、リクエストメッセージのヘッダ情報に設定されている送信経路から当該ＳＩＰサーバを示す情報を削除し、そのうえで、当該ＳＩＰサーバの次の送信先に設定されているＳＩＰサーバに対して当該リクエストメッセージを送信する。
【００５７】
なお、ここでは、ＳＩＰ呼制御部２０は、次の送信先のＳＩＰサーバが通信不可能であると判定した場合に、通信不可能なＳＩＰサーバの次のＳＩＰサーバにリクエストメッセージを送信することとしたが、そのＳＩＰサーバについても通信状態を確認し、通信不可能であった場合は、さらにその次のＳＩＰサーバにリクエストメッセージを送信するようにしてもよい。
【００５８】
また、ＳＩＰ呼制御部２０は、次の送信先のＳＩＰサーバが通信不可能であると判定した場合に、通信不可能なＳＩＰサーバ以降のＳＩＰサーバのうちいずれか一つを選択してリクエストメッセージを送信するようにしてもよい。
【００５９】
ＳＩＰヘッダ制御部３０は、ＳＩＰメッセージのヘッダの編集を行う処理部である。このＳＩＰヘッダ制御部３０は、本発明に関連する機能としては、ＳＩＰ呼制御部２０からの指示に基づいて、リクエストメッセージのRouteヘッダに設定されている送信経路から、次の送信先のＳＩＰサーバを示す情報を削除する。
【００６０】
このように、ＳＩＰ呼制御部２０が、次の送信先のＳＩＰサーバが通信不可能であると判定した場合に、ＳＩＰヘッダ制御部３０に指示して、リクエストメッセージのRouteヘッダに設定されている送信経路から、当該ＳＩＰサーバを示す情報を削除することによって、障害が発生しているＳＩＰサーバを経由しない迂回経路を設定して、リクエストメッセージを送信することができる。
【００６１】
対向サーバ状態管理部４０は、対向サーバとの間の通信状態を管理する処理部である。この対向サーバ状態管理部４０は、常時対向サーバとの間で通信が可能であるか否かを確認し、確認した結果に基づいて生成した通信状態情報を、例えば図２には図示していないメモリなどに格納する。また、対向サーバ状態管理部４０は、後述する迂回制御部５０から対向サーバの通信状態を確認するための問い合わせを受け付けた場合には、通信状態情報を参照して、指定された対向サーバの通信状態を確認し、確認結果を迂回制御部５０に対して通知する。
【００６２】
迂回制御部５０は、リクエストメッセージが送信される際に、次の送信先に指定されているＳＩＰサーバをスキップするか否かを判定する処理部である。具体的には、この迂回制御部５０は、ＳＩＰ呼制御部２０からの問い合わせに応じて、対向サーバ状態管理部４０に問い合わせることにより、リクエストメッセージの次の送信先のＳＩＰサーバが通信可能な状態であるか否かを確認し、通信が可能な状態でなかった場合には、ＳＩＰ呼制御部２０に対して、当該ＳＩＰサーバをスキップするように指示し、一方、通信が可能な状態であった場合には、ＳＩＰ呼制御部２０に対して、当該ＳＩＰサーバをスキップしないように指示する。
【００６３】
次に、本実施例に係るＳＩＰサーバの処理手順について説明する。以下では、図２に示した手順でＵＡＣとＵＡＳとの間でセッション通信が開始された後に、ＳＩＰサーバＮに障害が発生した場合に、その後において想定されるいくつかの状態を例にあげて説明する。
【００６４】
まず、ＳＩＰサーバＮに障害が発生した後に、その障害をＳＩＰサーバＸが検知していた場合について説明する。図４は、ＳＩＰサーバが障害を検知していた場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図である。同図に示すように、ＵＡＣとＵＡＳとがセッション通信中の状態でＳＩＰサーバＮに障害が発生し、その障害をＳＩＰサーバＸが検知していたとする（ステップＳ２０１）。
【００６５】
この状態で、例えば同図に示すように、ＵＡＳがｒｅ−ＩＮＶＩＴＥリクエストを送信した場合を考える。ＵＡＳは、ルートセットに基づいて、Request-URIヘッダおよびRouteヘッダに「ＲＵＲＩ：ＵＡＣ」および「Ｒ：Ｘ，Ｎ，Ａ（ＳＩＰサーバＸ、ＳＩＰサーバＮ、ＳＩＰサーバＡの順で転送することを示す送信経路）」をそれぞれ設定したうえで、Routeヘッダに設定した送信経路に基づいて、当該ｒｅ−ＩＮＶＩＴＥリクエストをＳＩＰサーバＸに送信する（ステップＳ２０２）。
【００６６】
ＳＩＰサーバＸでは、ＳＩＰ通信制御部１０が当該ｒｅ−ＩＮＶＩＴＥリクエストを受信し、ＳＩＰ呼制御部２０が、Routeヘッダに基づいて当該ｒｅ−ＩＮＶＩＴＥリクエストの次の送信先を取得する。ここでは、ＳＩＰ通信制御部１０は、次の送信先としてＳＩＰサーバＮを取得する。そして、ＳＩＰ呼制御部２０は、取得した送信先（ＳＩＰサーバＮ）をスキップするか否かを迂回制御部５０に問い合わせる。
【００６７】
迂回制御部５０は、ＳＩＰサーバＮが通信可能か否かを対向サーバ状態管理部４０に問い合わせる。ここでは、ＳＩＰサーバＮに障害が発生していることが検知されているため、対向サーバ状態管理部４０からは、ＳＩＰサーバＮが通信不可能であることが通知される。この通知を受け、迂回制御部５０は、ＳＩＰ呼制御部２０に対し、ＳＩＰサーバＮをスキップするように指示する。
【００６８】
迂回制御部５０からの指示を受け、ＳＩＰ呼制御部２０は、ＳＩＰヘッダ制御部３０に指示して、当該ｒｅ−ＩＮＶＩＴＥリクエストのRouteヘッダに設定されている送信経路からＳＩＰサーバＮを示す情報を削除する。これにより、このｒｅ−ＩＮＶＩＴＥリクエストの次の送信先はＳＩＰサーバＡとなる。そして、ＳＩＰ呼制御部２０は、ＳＩＰ通信制御部１０を介して、ＳＩＰサーバＡに対してRouteヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信する（ステップＳ２０３）。
【００６９】
そして、ＳＩＰサーバＸから送信されたｒｅ−ＩＮＶＩＴＥリクエストは、Routeヘッダに設定された送信経路に従って、ＳＩＰサーバＡに転送され、さらに、ＳＩＰサーバＡからＵＡＣに転送される（ステップＳ２０４）。
【００７０】
このように、ＳＩＰサーバＮに障害が発生した後に、その障害をＳＩＰサーバＸが検知していた場合には、ＳＩＰサーバＸにおいて、迂回制御部５０が、対向サーバ状態管理部４０に問い合わせることによってＳＩＰサーバＮが通信不可能であることを確認し、ＳＩＰ呼制御部２０が、ＳＩＰサーバＮをスキップして、その次の送信先であるＳＩＰサーバＡに対してｒｅ−ＩＮＶＩＴＥリクエストを送信するので、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００７１】
続いて、ＳＩＰサーバＮに障害が発生した後に、その障害が復旧し、その復旧をＳＩＰサーバＸが検知していた場合について説明する。図５は、ＳＩＰサーバが障害の復旧を検知していた場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図である。同図に示すように、ＵＡＣとＵＡＳとがセッション通信中の状態でＳＩＰサーバＮに障害が発生し（ステップＳ３０１）、その後に障害が復旧し、この障害の復旧をＳＩＰサーバＸが検知していたとする（ステップＳ３０２）。
【００７２】
この状態で、例えば同図に示すように、ＵＡＳがｒｅ−ＩＮＶＩＴＥリクエストを送信した場合を考える。ＵＡＳは、ルートセットに基づいて、Request-URIヘッダおよびRouteヘッダに「ＲＵＲＩ：ＵＡＣ」および「Ｒ：Ｘ，Ｎ，Ａ（ＳＩＰサーバＸ、ＳＩＰサーバＮ、ＳＩＰサーバＡの順で転送することを示す送信経路）」をそれぞれ設定したうえで、Routeヘッダに設定した送信経路に基づいて、当該ｒｅ−ＩＮＶＩＴＥリクエストをＳＩＰサーバＸに送信する（ステップＳ３０３）。
【００７３】
ＳＩＰサーバＸでは、ＳＩＰ通信制御部１０が当該ｒｅ−ＩＮＶＩＴＥリクエストを受信し、ＳＩＰ呼制御部２０が、Routeヘッダに基づいて当該ｒｅ−ＩＮＶＩＴＥリクエストの次の送信先を取得する。ここでは、ＳＩＰ通信制御部１０は、次の送信先としてＳＩＰサーバＮを取得する。そして、ＳＩＰ呼制御部２０は、取得した送信先（ＳＩＰサーバＮ）をスキップするか否かを迂回制御部５０に問い合わせる。
【００７４】
迂回制御部５０は、ＳＩＰサーバＮが通信可能か否かを対向サーバ状態管理部４０に問い合わせる。ここでは、ＳＩＰサーバＮの障害がすでに復旧していることが検知されているため、対向サーバ状態管理部４０からは、ＳＩＰサーバＮが通信可能であることが通知される。この通知を受け、迂回制御部５０は、ＳＩＰ呼制御部２０に対し、ＳＩＰサーバＮをスキップしないように指示する。
【００７５】
迂回制御部５０からの指示を受け、ＳＩＰ呼制御部２０は、Routeヘッダに設定されている送信経路は変えずに、当該ｒｅ−ＩＮＶＩＴＥリクエストを送信する。これにより、このｒｅ−ＩＮＶＩＴＥリクエストの次の送信先は、受信した時と変わらず、ＳＩＰサーバＮとなる。そして、ＳＩＰ呼制御部２０は、ＳＩＰ通信制御部１０を介して、ＳＩＰサーバＮに対してRouteヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信する（ステップＳ３０４）。
【００７６】
そして、ＳＩＰサーバＸから送信されたｒｅ−ＩＮＶＩＴＥリクエストは、Routeヘッダに設定された送信経路に従って、ＳＩＰサーバＮに転送され、ＳＩＰサーバＮからＳＩＰサーバＡに転送され（ステップＳ３０５）、さらに、ＳＩＰサーバＡからＵＡＣに転送される（ステップＳ３０６）。
【００７７】
このように、ＳＩＰサーバＮに障害が発生した後に、その障害が復旧し、その復旧をＳＩＰサーバＸが検知していた場合には、ＳＩＰサーバＸにおいて、迂回制御部５０が、対向サーバ状態管理部４０に問い合わせることによってＳＩＰサーバＮが通信可能であることを確認し、ＳＩＰ呼制御部２０が、スキップすることなく、ＳＩＰサーバＮに対してｒｅ−ＩＮＶＩＴＥリクエストを送信するので、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００７８】
続いて、ＳＩＰサーバＮに障害が発生した後に、その障害をＳＩＰサーバＸが検知していなかった場合について説明する。図６は、ＳＩＰサーバが障害を検知していなかった場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図（１）である。図６に示すように、ＵＡＣとＵＡＳとがセッション通信中の状態でＳＩＰサーバＮに障害が発生し、その障害をＳＩＰサーバＸが検知していなかったとする。
【００７９】
この状態で、例えば同図に示すように、ＵＡＳがｒｅ−ＩＮＶＩＴＥリクエストを送信した場合を考える。ＵＡＳは、ルートセットに基づいて、Request-URIヘッダおよびRouteヘッダに「ＲＵＲＩ：ＵＡＣ」および「Ｒ：Ｘ，Ｎ，Ａ（ＳＩＰサーバＸ、ＳＩＰサーバＮ、ＳＩＰサーバＡの順で転送することを示す送信経路）」をそれぞれ設定したうえで、Routeヘッダに設定した送信経路に基づいて、当該ｒｅ−ＩＮＶＩＴＥリクエストをＳＩＰサーバＸに送信する（ステップＳ４０１）。
【００８０】
ＳＩＰサーバＸでは、ＳＩＰ通信制御部１０が当該ｒｅ−ＩＮＶＩＴＥリクエストを受信し、ＳＩＰ呼制御部２０が、Routeヘッダに基づいて当該ｒｅ−ＩＮＶＩＴＥリクエストの次の送信先を取得する。ここでは、ＳＩＰ通信制御部１０は、次の送信先としてＳＩＰサーバＮを取得する。そして、ＳＩＰ呼制御部２０は、取得した送信先（ＳＩＰサーバＮ）をスキップするか否かを迂回制御部５０に問い合わせる。
【００８１】
迂回制御部５０は、ＳＩＰサーバＮが通信可能か否かを対向サーバ状態管理部４０に問い合わせる。ここでは、ＳＩＰサーバＮの障害が検知されていないため、対向サーバ状態管理部４０からは、ＳＩＰサーバＮが通信可能であることが通知される。この通知を受け、迂回制御部５０は、ＳＩＰ呼制御部２０に対し、ＳＩＰサーバＮをスキップしないように指示する。
【００８２】
迂回制御部５０からの指示を受け、ＳＩＰ呼制御部２０は、Routeヘッダに設定されている送信経路は変えずに、当該ｒｅ−ＩＮＶＩＴＥリクエストを送信する。これにより、このｒｅ−ＩＮＶＩＴＥリクエストの次の送信先は受信した時と変わらず、ＳＩＰサーバＮとなる。そして、ＳＩＰ呼制御部２０は、ＳＩＰ通信制御部１０を介して、ＳＩＰサーバＮに対してRouteヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信する（ステップＳ４０２）。
【００８３】
ここで、実際には、障害によりＳＩＰサーバＮのサービスが停止しており、そのため、ＳＩＰサーバからＳＩＰサーバＸに対してサーバサービス停止状態を示す応答コード（例えば、「５０３  Service Unavailable」）を含むレスポンスメッセージが返送されたとする（ステップＳ４０３）。
【００８４】
この場合、ＳＩＰサーバＸでは、ＳＩＰ通信制御部１０が当該レスポンスメッセージを受信し、ＳＩＰ呼制御部２０が、そのレスポンスメッセージに基づいてサーバＮが通信不可能であると判定し、ＳＩＰヘッダ制御部３０に指示して、当該ｒｅ−ＩＮＶＩＴＥリクエストのRouteヘッダに設定されている送信経路からＳＩＰサーバＮを示す情報を削除する。これにより、このｒｅ−ＩＮＶＩＴＥリクエストの次の送信先はＳＩＰサーバＡとなる。そして、ＳＩＰ呼制御部２０は、ＳＩＰ通信制御部１０を介して、ＳＩＰサーバＡに対してRouteヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信する（ステップＳ４０４）。
【００８５】
そして、ＳＩＰサーバＸから送信されたｒｅ−ＩＮＶＩＴＥリクエストは、Routeヘッダに設定された送信経路に従って、ＳＩＰサーバＡに転送され、さらに、ＳＩＰサーバＡからＵＡＣに転送される（ステップＳ４０５）。
【００８６】
このように、ＳＩＰサーバＮに障害が発生した後に、その障害をＳＩＰサーバＸが検知していなかった場合には、ＳＩＰサーバＸにおいて、ＳＩＰ呼制御部２０が、ＳＩＰサーバＮに対してｒｅ−ＩＮＶＩＴＥリクエストを送信した後に、そのｒｅ−ＩＮＶＩＴＥリクエストに対するレスポンスメッセージの応答コードを確認して、ＳＩＰサーバＮが通信不可能であるか否かを判定し、通信不可能であると判定した場合に、ＳＩＰサーバＮをスキップして、その次の送信先であるＳＩＰサーバＡに対してｒｅ−ＩＮＶＩＴＥリクエストを送信するので、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００８７】
なお、ここでは、ＳＩＰサーバＸがＳＩＰサーバＮに対してｒｅ−ＩＮＶＩＴＥリクエストを送信した際に、ＳＩＰサーバＮからサービス停止状態を示す応答コードを含むレスポンスメッセージが返送された場合について説明したが、サービスが停止していただけではなく、ＳＩＰサーバが完全にダウンしていた場合など、ＳＩＰサーバＮからレスポンスメッセージが返送されない場合もある。
【００８８】
この場合のＳＩＰサーバの処理手順を、図７に示す。図７は、ＳＩＰサーバが障害を検知していなかった場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図（２）である。なお、同図に示すステップＳ５０１〜Ｓ５０２の処理手順、およびステップＳ５０５の処理手順については、図６に示したステップＳ４０１〜Ｓ４０２、およびステップＳ４０５の処理手順と同じであるので、ここでは説明を省略する。
【００８９】
図６に示したステップＳ４０１〜Ｓ４０２と同じ処理手順で、ＳＩＰサーバＸのＳＩＰ呼制御部２０が、ＳＩＰ通信制御部１０を介して、Routeヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信したとする（ステップＳ５０１〜Ｓ５０２）。
【００９０】
ここで、実際には、障害によりＳＩＰサーバＮが完全にダウンしており、そのため、ＳＩＰサーバからＳＩＰサーバＸに対して、所定の時間が経過しても、レスポンスメッセージが返送されなかったとする（ステップＳ５０３）。
【００９１】
この場合、ＳＩＰサーバＸでは、ＳＩＰ呼制御部２０で、ＳＩＰサーバＮが無応答であることに基づいてサーバＮが通信不可能であると判定し、ＳＩＰヘッダ制御部３０に指示して、当該ｒｅ−ＩＮＶＩＴＥリクエストのRouteヘッダに設定されている送信経路からＳＩＰサーバＮを示す情報を削除する。これにより、このｒｅ−ＩＮＶＩＴＥリクエストの次の送信先はＳＩＰサーバＡとなる。そして、ＳＩＰ呼制御部２０は、ＳＩＰ通信制御部１０を介して、ＳＩＰサーバＡに対してRouteヘッダ編集後のｒｅ−ＩＮＶＩＴＥリクエストを送信する（ステップＳ５０４）。
【００９２】
以降、図６に示したステップＳ４０５と同じ処理手順で、ＳＩＰサーバＸから送信されたｒｅ−ＩＮＶＩＴＥリクエストは、Routeヘッダに設定された送信経路に従って、ＳＩＰサーバＡに転送され、さらに、ＳＩＰサーバＡからＵＡＣに転送される（ステップＳ５０５）。
【００９３】
このように、ＳＩＰサーバＮに障害が発生した後に、その障害をＳＩＰサーバＸが検知していなかった場合には、ＳＩＰサーバＸにおいて、ＳＩＰ呼制御部２０が、ＳＩＰサーバＮに対してｒｅ−ＩＮＶＩＴＥリクエストを送信した後に、そのｒｅ−ＩＮＶＩＴＥリクエストに対するレスポンスメッセージが所定の時間が経過しても返送されなかった場合には、ＳＩＰサーバＮが通信不可能であると判定し、ＳＩＰサーバＮをスキップして、その次の送信先であるＳＩＰサーバＡに対してｒｅ−ＩＮＶＩＴＥリクエストを送信するので、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００９４】
上述してきたように、本実施例では、迂回制御部５０が、対向サーバ状態管理部４０に問い合わせて、リクエストメッセージを次に送信すべきＳＩＰサーバとの間の通信状態を判定し、次に送信すべきＳＩＰサーバとの間の通信状態が異常であると判定した場合に、ＳＩＰ呼制御部２０が、リクエストメッセージのヘッダ情報に含まれるＳＩＰサーバの中継順序に係る情報に基づいて、通信状態が異常であると判定したＳＩＰサーバ以降のＳＩＰサーバをＳＩＰメッセージの送信先として設定するので、セッション通信中の状態で、通信を中継するＳＩＰサーバに障害が発生した場合でも、そのＳＩＰサーバをスキップしてＳＩＰメッセージを送信することが可能になり、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００９５】
また、本実施例では、ＳＩＰ呼制御部２０が、次に送信すべきＳＩＰサーバに対してＳＩＰメッセージを送信し、送信したＳＩＰメッセージに応じて返送されるレスポンスメッセージに基づいて、次に送信すべきＳＩＰサーバとの間の通信状態を判定するので、通信状態の内容に応じて、より詳細な条件で通信状態を切り分けて、次に送信すべきＳＩＰサーバをスキップするか否かを判定することができる。
【００９６】
また、本実施例では、ＳＩＰ呼制御部２０が、レスポンスメッセージに含まれるＳＩＰサーバの状態を示す応答コードに基づいて、通信状態を判定するので、輻輳などにより一時的にサービスが停止しているＳＩＰサーバがあった場合でも、そのＳＩＰサーバをスキップしてＳＩＰメッセージを送信することが可能になり、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００９７】
また、本実施例では、ＳＩＰ呼制御部２０が、送信したＳＩＰメッセージに応じてレスポンスメッセージが返送されなかった場合には、通信状態が異常であると判定するので、障害などによりシステムが完全にダウンしているＳＩＰサーバがあった場合でも、そのＳＩＰサーバをスキップしてＳＩＰメッセージを送信することが可能になり、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００９８】
また、本実施例では、迂回制御部５０が、次に送信すべきＳＩＰサーバとの間の通信状態が異常であると判定した場合に、ＳＩＰ呼制御部２０が、ＳＩＰヘッダ制御部３０に指示して、ＳＩＰメッセージに含まれるＲｏｕｔｅヘッダに設定された次に送信すべきＳＩＰサーバに係る情報を削除することにより、ＳＩＰメッセージの送信先を設定するので、ＳＩＰで定義されているヘッダ情報のデータ構造を変えずに、障害が発生している通信装置をスキップしてＳＩＰメッセージを送信することが可能になり、ＵＡＣとＵＡＳとの間のセッション通信を継続させることができる。
【００９９】
なお、ここではｒｅ−ＩＮＶＩＴＥリクエストを例にとって説明したが、本発明はこれに限られず、ＢＹＥリクエストなど、セッション通信開始後に送信される他のリクエストメッセージについても同様に適用することができる。
【０１００】
なお、本実施例では、送信経路設定装置の機能を備えたＳＩＰサーバについて説明したが、ここで説明したＳＩＰサーバが有する構成をソフトウェアによって実現することで、同様の機能を有する送信経路設定プログラムを得ることができる。そこで、この送信経路設定プログラムを実行するコンピュータについて説明する。
【０１０１】
図８は、本実施例に係る送信経路設定プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ１００は、ＲＡＭ（Random Access Memory）１１０と、ＣＰＵ（Central Processing Unit）１２０と、ＨＤＤ（Hard Disk Drive）１３０と、ネットワークインタフェース１４０と、入出力インタフェース１５０と、ＤＶＤ（Digital Versatile Disk）ドライブ１６０とを有する。
【０１０２】
ＲＡＭ１１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ１２０は、ＲＡＭ１１０からプログラムを読み出して実行する中央処理装置である。
【０１０３】
ＨＤＤ１３０は、プログラムやデータを格納するディスク装置であり、ネットワークインタフェース１４０は、コンピュータ１００を、ＩＰネットワーク経由で他のコンピュータに接続するためのインタフェースである。
【０１０４】
入出力インタフェース１５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ１６０は、ＤＶＤの読み書きを行う装置である。
【０１０５】
そして、このコンピュータ１００において実行される送信経路設定プログラム１１１は、ＤＶＤに記憶され、ＤＶＤドライブ１６０によってＤＶＤから読み出されてコンピュータ１００にインストールされる。
【０１０６】
あるいは、この送信経路設定プログラム１１１は、ネットワークインタフェース１４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ１００にインストールされる。
【０１０７】
そして、インストールされた送信経路設定プログラム１１１は、ＨＤＤ１３０に記憶され、ＲＡＭ１１０に読み出されてＣＰＵ１２０によって送信経路設定プロセス１２１として実行される。
【０１０８】
また、本実施例では、３台のＳＩＰサーバ（ＳＩＰサーバＡ、Ｎ、Ｘ）で構成されるネットワークについて説明したが、本発明はこれに限られず、３台未満のＳＩＰサーバで構成されたネットワークや、３台以上のＳＩＰサーバで構成されたネットワークに対しても同様に適用することができる。
【０１０９】
また、本実施例では、ＩＰ電話のネットワークを構成するＳＩＰサーバについて説明したが、本発明はこれに限られず、例えば、ビデオ会議やインスタントメッセージのサービスを提供するネットワークなど、ＳＩＰを用いた一般的なネットワークに対しても同様に適用することができる。
【０１１０】
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１１１】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１３】
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１４】
（付記１）通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定装置であって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手段と、
前記通信状態判定手段により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定手段と、
を備えたことを特徴とする送信経路設定装置。
【０１１５】
（付記２）前記通信状態判定手段は、次に送信すべき通信装置に対して前記ＳＩＰメッセージを送信し、該ＳＩＰメッセージに応じて返送される応答メッセージに基づいて、次に送信すべき通信装置との間の通信状態を判定することを特徴とする付記１に記載の送信経路設定装置。
【０１１６】
（付記３）前記通信状態判定手段は、前記応答メッセージに含まれる通信装置の状態を示す情報に基づいて、前記通信状態を判定することを特徴とする付記２に記載の送信経路設定装置。
【０１１７】
（付記４）前記通信状態判定手段は、送信したＳＩＰメッセージに応じて前記応答メッセージが返送されなかった場合には、前記通信状態が異常であると判定することを特徴とする付記２または３に記載の送信経路設定装置。
【０１１８】
（付記５）前記送信経路設定手段は、前記通信状態判定手段により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記ＳＩＰメッセージに含まれるＲｏｕｔｅヘッダに設定された次に送信すべき通信装置に係る情報を削除することにより、前記ＳＩＰメッセージの送信先を設定することを特徴とする付記１〜４のいずれか１つに記載の送信経路設定装置。
【０１１９】
（付記６）通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定方法であって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定工程と、
前記通信状態判定工程により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定工程と、
を含んだことを特徴とする送信経路設定方法。
【０１２０】
（付記７）通信端末間でＳＩＰメッセージに係る通信が行われる場合に、前記通信を中継する通信装置の中継順序に係る情報を含んだＳＩＰメッセージの送信経路に係る設定を行う送信経路設定プログラムであって、
前記ＳＩＰメッセージを次に送信すべき通信装置との間の通信状態を判定する通信状態判定手順と、
前記通信状態判定手順により次に送信すべき通信装置との間の通信状態が異常であると判定された場合に、前記通信装置の中継順序に係る情報に基づいて、前記通信状態が異常であると判定された通信装置以降の通信装置を前記ＳＩＰメッセージの送信先として設定する送信経路設定手順と、
をコンピュータに実行させることを特徴とする送信経路設定プログラム。
【産業上の利用可能性】
【０１２１】
以上のように、本発明に係る送信経路設定装置、送信経路設定方法および送信経路設定プログラムは、ＳＩＰを用いたネットワークに有用であり、特に、複数のＳＩＰサーバを経由して通信が行われる場合に適している。
【図面の簡単な説明】
【０１２２】
【図１】本実施例に係るＳＩＰサーバの概念を説明するための説明図である。
【図２】ＳＩＰによるメッセージの送信経路設定を説明するための図である。
【図３】本実施例に係るＳＩＰサーバＸの構成を示す機能ブロック図である。
【図４】ＳＩＰサーバが障害を検知していた場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図である。
【図５】ＳＩＰサーバが障害の復旧を検知していた場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図である。
【図６】ＳＩＰサーバが障害を検知していなかった場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図（１）である。
【図７】ＳＩＰサーバが障害を検知していなかった場合の本実施例に係るＳＩＰサーバの処理手順を示すシーケンス図（２）である。
【図８】本実施例に係る送信経路設定プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【図９】ＳＩＰを利用したＩＰ電話ネットワークの一例を示す図である。
【符号の説明】
【０１２３】
１，２，３    ＩＰネットワーク
１０    ＳＩＰ通信制御部
２０    ＳＩＰ呼制御部
３０    ＳＩＰヘッダ制御部
４０    対向サーバ状態管理部
５０    迂回制御部
１００    コンピュータ
１１０    ＲＡＭ
１１１    送信経路設定プログラム
１２０    ＣＰＵ
１２１    送信経路設定プロセス
１３０    ＨＤＤ
１４０    ネットワークインタフェース
１５０    入出力インタフェース
１６０    ＤＶＤドライブ
【図１】
2008104112.tif 000003
【図２】
2008104112.tif 000004
【図３】
2008104112.tif 000005
【図４】
2008104112.tif 000006
【図５】
2008104112.tif 000007
【図６】
2008104112.tif 000008
【図７】
2008104112.tif 000009
【図８】
2008104112.tif 000010
【図９】
2008104112.tif 000011