(57)【特許請求の範囲】
【請求項１】
呼処理を実行する複数のサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムであって、
前記現用系呼制御サーバは、呼処理制御部と、処理データ記憶部と、同期処理制御部と、同期領域記憶部とを有し、
前記呼処理制御部は、
実行中の呼制御シーケンス情報に関し、当該呼制御を構成する各処理に対応する前記呼制御シーケンス情報部分であるシーケンスパターンの実行順序を管理するサービス機能部と、このサービス機能部で管理される実行順序に基づいて実行中のシーケンスパターンを保持するシーケンス機能部と、前記サーバ間の呼処理に関する信号の送受信処理を行うユーザエージェント機能部とを有し、これらの機能部が相互に連携して呼制御に関する信号の処理を行い、
前記ユーザエージェント機能部は、いずれかの前記サーバから呼制御に関する信号を受信したときに、前記呼処理シーケンス情報に関わらず、前記受信した信号の種別に基づいて次に送信すべき信号の種別を一意に特定可能な場合には、この送信すべき信号を、前記受信元のサーバに送信し、次に送信すべき信号の種別を特定できなかった場合には、これを前記シーケンス機能部に通知することにより前記シーケンス機能部で特定される送信すべき信号を、この信号に基づいて特定する送信すべきサーバに送信し、
前記シーケンス機能部は、前記ユーザエージェント機能部から、受信した信号の種別に基づいて送信すべき信号の種別が特定されなかったことが通知された場合に、保持している実行中のシーケンスパターンに従って、前記受信した信号の種別に基づいて次に送信すべき信号の種別を特定し、
前記サービス機能部は、前記シーケンス機能部において保持しているシーケンスパターンに基づいた信号の送受信処理が完了したと判断されたときに、管理しているシーケンスパターンの実行順序に従って次に実行すべきシーケンスパターンを前記シーケンス機能部に指示し、
前記処理データ記憶部は、
いずれかの前記サーバから呼制御に関する信号を受信したときに、前回の信号受信時において前記呼処理制御部で取得された情報との変更点を保持し、
前記同期処理制御部は、
前記処理データ記憶部に記憶された情報の変更点を、予め設定された、前回の前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報との同期処理以降の変更点の情報が喪失しても前記呼制御処理が復旧できるタイミングで、自サーバ内の前記同期領域記憶部に書き込み、さらに、前記予備用系呼制御サーバに転送して、前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報とを同期させ、
前記同期領域記憶部は、
前記呼処理制御部のサービス機能部、シーケンス機能部、およびユーザエージェント機能部に対応する領域を有する、
ことを特徴とする呼制御システム。
【請求項２】
前記同期領域記憶部は、呼接続ごとに、並列して同時に書き込み可能な複数のセクションで構成される
ことを特徴とする請求項１に記載の呼制御システム。
【請求項３】
前記同期処理制御部は、前記予備用系呼制御サーバの同期領域記憶部の、転送処理に該当するセクションを、当該転送処理以外からの書き込みを不可能なロック状態にして転送処理を実行する
ことを特徴とする請求項１または２に記載の呼制御システム。
【請求項４】
前記同期領域記憶部は、情報量拡張時に利用する予備領域をさらに有する
ことを特徴とする請求項１〜３いずれか１項に記載の呼制御システム。
【請求項５】
呼処理を実行する複数のサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働し、予備用系呼制御サーバとを備えた呼制御システムの現用系呼制御サーバが、
実行中の呼制御シーケンス情報に関し、当該呼制御を構成する各処理に対応する前記呼制御シーケンス情報部分であるシーケンスパターンの実行順序を管理するサービス機能部と、このサービス機能部で管理される実行順序に基づいて実行中のシーケンスパターンを保持するシーケンス機能部と、前記サーバ間の呼処理に関する信号の送受信処理を行うユーザエージェント機能部とを有し、これらの機能部が相互に連携して呼制御に関する信号の処理を行い、
前記ユーザエージェント機能部が、いずれかの前記サーバから呼制御に関する信号を受信したときに、前記呼処理シーケンス情報に関わらず、前記受信した信号の種別に基づいて次に送信すべき信号の種別を一意に特定可能な場合には、この送信すべき信号を、前記受信元のサーバに送信し、次に送信すべき信号の種別を特定できなかった場合には、これを前記シーケンス機能部に通知することにより前記シーケンス機能部で特定される送信すべき信号を、この信号に基づいて特定する送信すべきサーバに送信し、
前記シーケンス機能部が、前記ユーザエージェント機能部から、受信した信号の種別に基づいて送信すべき信号の種別が特定されなかったことが通知された場合に、保持している実行中のシーケンスパターンに従って、前記受信した信号の種別に基づいて次に送信すべき信号の種別を特定し、
前記サービス機能部が、前記シーケンス機能部において保持しているシーケンスパターンに基づいた信号の送受信処理が完了したと判断されたときに、管理しているシーケンスパターンの実行順序に従って次に実行すべきシーケンスパターンを前記シーケンス機能部に指示する呼処理制御ステップと、
いずれかの前記サーバから呼制御に関する信号を受信したときに、前回の信号受信時において前記呼処理制御ステップで取得された情報との変更点を自サーバ内の処理データ記憶部に保持する処理データ記憶ステップと、
前記処理データ記憶部に記憶された情報の変更点を、予め設定された、前回の前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報との同期処理以降の変更点の情報が喪失しても前記呼制御処理が復旧できるタイミングで、自サーバ内の、前記サービス機能部、シーケンス機能部、およびユーザエージェント機能部に対応する領域を有する同期領域記憶部に書き込み、さらに、前記予備用系呼制御サーバに転送して、前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報とを同期させる同期処理制御ステップと、
を有することを特徴とする呼制御に利用する情報の冗長化方法。
【請求項６】
前記同期処理制御ステップでは、前記予備用系呼制御サーバの同期領域記憶部の、転送処理に該当するセクションを、当該転送処理以外からの書き込みを不可能なロック状態にして転送処理を実行する
ことを特徴とする請求項５に記載の呼制御に利用する情報の冗長化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、呼制御によりセッション確立の制御を行う呼制御システムおよび呼制御に利用する情報の冗長化方法に関する。
【背景技術】
【０００２】
従来、呼制御によりセッション確立の制御を行う技術として、通信制御プロトコルであるＳＩＰ（Session Initiation Protocol）が開発されている。このＳＩＰは、ＩＰネットワークを利用して、固定電話網が持つような高い品質、信頼性、および安定性を保持してユーザ端末間で音声情報や映像情報等のメディア通信を行うことを可能にする。
【０００３】
ＳＩＰによる呼制御は、ＩＰネットワークを介して接続された、エンドユーザが利用する加入者端末と加入者端末間の通信を中継するＳＩＰサーバ間や、複数のＳＩＰサーバ間で実行される。
【０００４】
この呼制御による通信を高い信頼性で確立するために、図１に示すような、ＡＣＴ（現用）系呼制御サーバ６１とＳＢＹ（予備用）系呼制御サーバ６２とを冗長化した呼制御システム６を利用する技術がある。
【０００５】
この呼制御システムでは、ＡＣＴ（現用）系呼制御サーバ６１とＳＢＹ（予備用）系呼制御サーバ６２とでセッション確立に関する情報の同期がとられており、通常時はＡＣＴ（現用）系呼制御サーバ６１で呼制御が実行され、このＡＣＴ（現用）系呼制御サーバ６１において故障が発生したときにはＳＢＹ（予備用）系呼制御サーバ６２が現用系に切り替わって呼制御が実行される。
【０００６】
このように呼制御を行うサーバが冗長化されることにより、ユーザの意図しないタイミングで故障により通信が切断されてしまうことを防止することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２８７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した従来の呼制御システムでは、ＡＣＴ（現用）系呼制御サーバ６１に記憶されているセッション確立に関する情報（例えば自装置内でセッションを一意に特定するための情報テーブル、実行中の通信制御の処理シーケンスの進行状態、セッションリフレッシュタイマを始めとする各種タイマの設定に関する情報、セッションのダイアログ情報、セッションのオーディオ情報やメディア種別情報等）に変更があったときに、その都度ＳＢＹ（予備用）系呼処理サーバ６２に変更点が転送され情報が更新されることで、これらのサーバ間で情報の同期がとられている。
【０００９】
しかし、変更箇所が発生した都度、ＡＣＴ（現用）系呼処理サーバ６１からＳＢＹ（予備用）系呼処理サーバ６２に変更点が転送されるようにすると、データ量の小さい変更点の情報が高頻度で転送処理され、オーバーヘッドの影響が大きくなり非効率的な処理になるという問題があった。
【００１０】
またこの転送の際には、ＡＣＴ（現用）系呼処理サーバ６１の処理遅延を発生させないようにするため、ＳＢＹ（予備用）系呼処理サーバ６２への転送完了を待たずに、非同期転送処理によりＡＣＴ（現用）系呼処理サーバ６１において通信制御処理が進められているため、故障が発生しＡＣＴ（現用）系呼処理サーバ６１からＳＢＹ（予備用）系呼処理サーバ６２に切り替えられるときに、どの情報まで正しくＳＢＹ（予備用）系呼処理サーバ６２に転送できたかを把握することができず、未転送の可能性のある情報についてすべて再転送する必要があり、ＳＢＹ（予備用）系呼処理サーバ６２の起動に時間がかかるという問題があった。
【００１１】
さらには、ＡＣＴ（現用）系呼処理サーバ６１が故障したときに、未転送の情報が再転送によって完全には転送されず、ユーザの意図しないタイミングで通信が切断されてしまう可能性があり、通信サービスの品質が低下するという問題があった。
【００１２】
そこで本発明では、効率良く呼制御を実行することが可能であるとともに、高品質の通信サービスを提供することが可能な呼制御システムおよび呼制御に利用する情報の冗長化方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するための、本発明の呼制御システムは、呼処理を実行する複数のサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムであって、前記現用系呼制御サーバは、呼処理制御部と、処理データ記憶部と、同期処理制御部と、同期領域記憶部とを有し、前記呼処理制御部は、実行中の呼制御シーケンス情報に関し、当該呼制御を構成する各処理に対応する前記呼制御シーケンス情報部分であるシーケンスパターンの実行順序を管理するサービス機能部と、このサービス機能部で管理される実行順序に基づいて実行中のシーケンスパターンを保持するシーケンス機能部と、前記サーバ間の呼処理に関する信号の送受信処理を行うユーザエージェント機能部とを有し、これらの機能部が相互に連携して呼制御に関する信号の処理を行い、前記ユーザエージェント機能部は、いずれかの前記サーバから呼制御に関する信号を受信したときに、前記呼処理シーケンス情報に関わらず、前記受信した信号の種別に基づいて次に送信すべき信号の種別を一意に特定可能な場合には、この送信すべき信号を、前記受信元のサーバに送信し、次に送信すべき信号の種別を特定できなかった場合には、これを前記シーケンス機能部に通知することにより前記シーケンス機能部で特定される送信すべき信号を、この信号に基づいて特定する送信すべきサーバに送信し、前記シーケンス機能部は、前記ユーザエージェント機能部から、受信した信号の種別に基づいて送信すべき信号の種別が特定されなかったことが通知された場合に、保持している実行中のシーケンスパターンに従って、前記受信した信号の種別に基づいて次に送信すべき信号の種別を特定し、前記サービス機能部は、前記シーケンス機能部において保持しているシーケンスパターンに基づいた信号の送受信処理が完了したと判断されたときに、管理しているシーケンスパターンの実行順序に従って次に実行すべきシーケンスパターンを前記シーケンス機能部に指示し、前記処理データ記憶部は、いずれかの前記サーバから呼制御に関する信号を受信したときに、前回の信号受信時において前記呼処理制御部で取得された情報との変更点を保持し、前記同期処理制御部は、前記処理データ記憶部に記憶された情報の変更点を、予め設定された、前回の前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報との同期処理以降の変更点の情報が喪失しても前記呼制御処理が復旧できるタイミングで、自サーバ内の前記同期領域記憶部に書き込み、さらに、前記予備用系呼制御サーバに転送して、前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報とを同期させ、前記同期領域記憶部は、前記呼処理制御部のサービス機能部、シーケンス機能部、およびユーザエージェント機能部に対応する領域を有することを特徴とする。
【００１４】
また本発明の呼制御に利用する情報の冗長化方法は、呼処理を実行する複数のサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働し、予備用系呼制御サーバとを備えた呼制御システムの現用系呼制御サーバが、実行中の呼制御シーケンス情報に関し、当該呼制御を構成する各処理に対応する前記呼制御シーケンス情報部分であるシーケンスパターンの実行順序を管理するサービス機能部と、このサービス機能部で管理される実行順序に基づいて実行中のシーケンスパターンを保持するシーケンス機能部と、前記サーバ間の呼処理に関する信号の送受信処理を行うユーザエージェント機能部とを有し、これらの機能部が相互に連携して呼制御に関する信号の処理を行い、前記ユーザエージェント機能部が、いずれかの前記サーバから呼制御に関する信号を受信したときに、前記呼処理シーケンス情報に関わらず、前記受信した信号の種別に基づいて次に送信すべき信号の種別を一意に特定可能な場合には、この送信すべき信号を、前記受信元のサーバに送信し、次に送信すべき信号の種別を特定できなかった場合には、これを前記シーケンス機能部に通知することにより前記シーケンス機能部で特定される送信すべき信号を、この信号に基づいて特定する送信すべきサーバに送信し、前記シーケンス機能部が、前記ユーザエージェント機能部から、受信した信号の種別に基づいて送信すべき信号の種別が特定されなかったことが通知された場合に、保持している実行中のシーケンスパターンに従って、前記受信した信号の種別に基づいて次に送信すべき信号の種別を特定し、前記サービス機能部が、前記シーケンス機能部において保持しているシーケンスパターンに基づいた信号の送受信処理が完了したと判断されたときに、管理しているシーケンスパターンの実行順序に従って次に実行すべきシーケンスパターンを前記シーケンス機能部に指示する呼処理制御ステップと、いずれかの前記サーバから呼制御に関する信号を受信したときに、前回の信号受信時において前記呼処理制御ステップで取得された情報との変更点を自サーバ内の処理データ記憶部に保持する処理データ記憶ステップと、前記処理データ記憶部に記憶された情報の変更点を、予め設定された、前回の前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報との同期処理以降の変更点の情報が喪失しても前記呼制御処理が復旧できるタイミングで、自サーバ内の、前記サービス機能部、シーケンス機能部、およびユーザエージェント機能部に対応する領域を有する同期領域記憶部に書き込み、さらに、前記予備用系呼制御サーバに転送して、前記現用系呼制御サーバに記憶された情報と前記予備用系呼制御サーバに記憶された情報とを同期させる同期処理制御ステップとを有することを特徴とする。
【発明の効果】
【００１５】
本発明の呼制御システムおよび呼制御に利用する情報の冗長化方法によれば、効率良く呼制御を実行することが可能であるとともに、高品質の通信サービスを提供することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による呼制御システムを用いたＳＩＰ通信システムの構成を示す全体図である。
【図２】本発明の一実施形態による呼制御システムの構成を示すブロック図である。
【図３】本発明の一実施形態による呼制御システムの呼処理制御部の構成を示すブロック図である。
【図４】本発明の一実施形態による呼制御システム内のサーバで実行されるシーケンスパターンの一例を示す説明図である。
【図５】本発明の一実施形態による呼制御システム内のサーバの記憶部の構成を示す説明図である。
【図６】本発明の一実施形態による呼制御システム内のサーバにおける信号ごとの動作を示すフローチャートである。
【図７】本発明の一実施形態による呼制御システム内のサーバで実行されるシーケンス上の、救済データ転送タイミングを示す説明図である。
【発明を実施するための形態】
【００１７】
本発明の一実施形態による呼制御装置は前後に１以上のＳＩＰサーバが接続されたＳＩＰサーバであり、これら前後のＳＩＰサーバとの間で、予め設定された一連の処理シーケンス（工程）情報に従ってＳＩＰ信号を送受信することにより、セッションを確立させメディア通信のサービス提供を可能にさせるものである。
【００１８】
この予め設定される処理シーケンス情報は、一連の呼制御シーケンス処理の一部を構成する、セッション接続、応答、切断等の詳細処理単位のシーケンス部分である「シーケンスパターン」が所定の実行順序で組み合わせられて構成されている。
【００１９】
〈一実施形態による呼制御サーバを利用したＳＩＰ通信システムの構成〉
本発明の一実施形態による呼制御サーバを利用したＳＩＰ通信システム１の構成について、図１を参照して説明する。
【００２０】
本実施形態によるＳＩＰ通信システム１は、複数の加入者端末２Ａ〜２Ｄと、これらの加入者端末のうち加入者端末２Ａおよび加入者端末２ＢにＩＰネットワーク３を介して接続されたプロキシサーバであるＳＩＰサーバ４Ａと、加入者端末２Ｃおよび加入者端末２ＤにＩＰネットワーク３を介して接続されたプロキシサーバであるＳＩＰサーバ４Ｂと、ＳＩＰサーバ４ＡおよびＳＩＰサーバ４Ｂに接続されたＩＰネットワーク３上の複数の転送装置３Ａ〜３Ｆと、ＳＩＰサーバ４ＡとＳＩＰサーバ４Ｂとの間を中継する中継装置５Ａ、５Ｂと、ＳＩＰサーバ４Ａ、ＳＩＰサーバ４Ｂ、および中継サーバ５Ｂ等に接続された呼制御サーバ６と、呼制御サーバ６に接続されたＩＰネットワーク３上のメディアサーバ７Ａ、７Ｂとを有する。音声情報や映像情報等のメディア情報のトラヒックは、ＩＰネットワーク３上の転送装置３Ａ〜３Ｆ等を経由して、加入者端末２Ａ〜２Ｄ間や、加入者端末２Ａ〜２Ｄとメディアサーバ７Ａ、７Ｂ間で転送される。
【００２１】
加入者端末２Ａ〜２Ｄはそれぞれ、ユーザである加入者が利用するＩＰ電話、HGW（ホームゲートウェイ）等であり、ＳＩＰを利用して音声情報や映像情報などの加入者端末間で利用するメディア通信を行うためのＳＩＰネゴシエーションを行う機能を有する。加入者端末２Ａ〜２Ｄは、ＳＩＰネゴシエーションの結果決定した、信号条件でメディア通信を行う機能を有する。
【００２２】
転送装置３Ａ〜３Ｇはそれぞれ、ＩＰネットワーク３に位置し、加入者端末間２Ａ〜２Ｄのメディア通信のトラヒックを転送する。
【００２３】
ＳＩＰサーバ４Ａは、加入者端末２Ａおよび２ＢのＳＩＰ信号を中継するプロキシサーバであり、ＳＩＰサーバ４Ｂは加入者端末２Ｃおよび２ＤのＳＩＰ信号を中継するプロキシサーバである。ＳＩＰサーバ４Ａ、４Ｂは、加入者端末間のＳＩＰネゴシエーションを中継し、加入者契約情報に基づいて補足する機能を有し、あらかじめ保持したルールに従ってＳＩＰ信号を編集する機能を有している。
【００２４】
中継サーバ５Ａ、５Ｂは、ＳＩＰサーバ４ＡとＳＩＰサーバ４Ｂと接続し、ＳＩＰ信号中継する機能を有する。
【００２５】
呼制御システム６は、図２に示すようにクラスタシステムとして構築されたＡＣＴ（現用）系呼制御サーバ６１とＳＢＹ（予備用）系呼制御サーバ６２とを有し、いずれかのサーバにより、ＳＩＰサーバでの加入者契約情報種別および要求サービスに基づいてＳＩＰサーバ４Ａと４Ｂとの間のセッションの確立、切断の制御を行い、必要に応じてメディアサーバ７Ａ、７Ｂと加入者端末２Ａ〜２Ｄとのメディア通信ができるよう、ＳＩＰネゴシエーションを行う。また、その後の加入者端末２Ａ〜２Ｄ間のメディア通信が行えるように、ＳＩＰ信号を編集してＳＩＰネゴシエーションを中継し、セッションを確立する。
【００２６】
図１においては呼制御サーバ６には２台のＳＩＰサーバ（プロキシサーバ）４Ａ、４Ｂ、および２台のメディアサーバ７Ａ、７Ｂ等が接続されている場合について示しているが、実際にはさらに多くのＳＩＰサーバ、メディアサーバ等に接続され、これらの装置間における複数のセッションの確立、切断の制御が可能である。
【００２７】
通常時にはＡＣＴ（現用）系呼制御サーバ６１が稼働し、このＡＣＴ（現用）系呼制御サーバ６１に故障が発生したときに、ＳＢＹ（予備用）系呼制御サーバ６２が現用系に切り替わって稼働する。
【００２８】
ＡＣＴ（現用）系呼制御サーバ６１は図２に示すように、呼処理制御部６１１と、処理データ記憶部６１２と、同期処理制御部６１３と、同期領域記憶部６１４とを有する。呼処理制御部６１１の構成について、図３を参照して詳細に説明する。
【００２９】
呼処理制御部６１１は、トランスポート機能部６１１１と、受信信号バッファ６１１２と、プロトコル機能部６１１３と、ユーザエージェント（ＵＡ）機能部６１１４と、シーケンス機能部６１１５と、サービス機能部６１１６と、送信信号バッファ６１１７とを有する。トランスポート機能部６１１１、プロトコル機能部６１１３、ユーザエージェント（ＵＡ）機能部６１１４、シーケンス機能部６１１５、およびサービス機能部６１１６は、下位の機能を有するトランスポート機能部６１１１から上位の機能を有するサービス機能部６１１６へ、階層的に構築されている。
【００３０】
トランスポート機能部６１１１は、受信ＳＩＰ信号の受信時に、当該受信ＳＩＰ信号を自装置で処理するためのパース処理（前処理）を実行する受信処理部６１１１ａと、送信ＳＩＰ信号の送信時に、送信信号バッファ６１１７の情報に基づいて送信用ＳＩＰ信号を生成する逆パース処理を行う送信処理部６１１１ｂとを有する。
【００３１】
受信信号バッファ６１１２は、トランスポート機能部６１１１でパース処理された受信信号情報を保持する。パース処理後の情報を受信信号バッファ６１１２に保持しておくことで、後述するプロトコル機能部６１１３、ＵＡ機能部６１１４においてパース処理済後の受信信号を参照することが可能になり、効率的に処理を実行することが可能になる。
【００３２】
プロトコル機能部６１１３は受信信号バッファを参照し、パース処理された受信信号情報をプロトコルに従って解析し、発着加入者端末２のダイアログ情報やトランザクション情報を取得して保持する受信処理部６１１３ａと、送信ＳＩＰ生成のためのダイアログ情報やトランザクション情報を送信ＳＩＰ信号の生成に用いる情報として送信信号バッファ６１１７に送出する送信処理部６１１３ｂとを有する。
【００３３】
ＳＩＰ信号の送受信は、必ずserver-clientの関係で行われるため、ＵＡ機能部６１１４は、発信側がＵＡＣ（User Agent Client）の場合に、この発信側に対応するＵＡＳ（User Agent Server）６１１４ａと、着信側がＵＡＳ（User Agent Server）の場合に、この着信側に対応するＵＡＣ（User Agent Client）６１１４ｂとを有し、これらが連携して発着信側のＳＩＰサーバとの通信に関する処理を行う。
【００３４】
このようにＵＡ機能部６１１４内にＵＡＳ６１１４ａとＵＡＣ６１１４ｂを設けこれらが連携して発着信側のサーバや端末との通信を行うことにより、これらの接続されたサーバや端末に対して自呼制御サーバ６１がＵＡＳとしてもＵＡＣとしても機能することができ、従来の単純なプロキシサーバでは実現し難い高度なサービスをネットワーク側から発着信側に提供することが可能である。また、発着信側のＵＳＡ、ＵＡＣの関係を保ったまま通信可能であるため、ネットワークポリシーを維持しやすいという利点がある。
【００３５】
ＵＡＳ６１１４ａは受信信号バッファ６１１２を参照し、パース処理された受信信号情報から受信ＳＩＰ信号の種別を判定し、この判定した種別から、処理シーケンス中の段階にかかわらず折り返し送信元に応答すべきＳＩＰ信号の種別（ステータスコード）がプロトコルに従って一意に特定される場合には、この特定した種別のＳＩＰ信号をプロトコル機能部６１１３の受信処理部６１１３ａ、トランスポート機能部６１１１の受信処理部６１１１ａによる処理を介して受信ＳＩＰ信号の送信元のＳＩＰサーバに送信することで応答し、判定した種別により応答すべきＳＩＰ信号の種別が一意に特定されない場合には上位のシーケンス機能部６１１５へ通知を行う。
【００３６】
例えば、ＵＡＳ６１１４ａが受信信号バッファ６１１２を参照して受信ＳＩＰ信号のCall-ID、リモートタグ、ローカルタグ等を取得し、これが自サーバ６１内に呼制御の情報として保持されているかどうかを確認し、自サーバ６１内に呼制御の情報として保持されていないときには、既に確立されているセッションを維持するためのリフレッシュ信号の１つであるre-INVITE信号であると判定する。
【００３７】
そして、re-INVITE信号に対しては呼制御シーケンス情報に関わらず折り返し応答すべき信号のステータスコードを「200（応答）」として特定することができ、このステータスコード「200（応答）」の情報を受信信号バッファ６１１２に送出する。
【００３８】
また、ＵＡＳ６１１４ａが取得した受信ＳＩＰ信号のCall-IDが自サーバ６１内に呼制御の情報として保持されていたとき、例えば受信ＳＩＰ信号が呼び出し制御中の暫定応答としてのPRACK信号であると判定したときには、受信ＳＩＰ信号が「PRACK信号」である情報をシーケンス機能部６１１５へ通知する。
【００３９】
ＵＡＣ６１１４ｂは、後述するシーケンス機能部６１１５で特定された送信すべき信号のステータスコード、これに基づいて特定した送信先のＳＩＰサーバの情報を送信信号バッファ６１１７に送出する。保持した送信先の情報は、セッション切断時にメモリの該当部分を解放することで削除（無効化）する。また、セッション切断時に解放ステータスにして、タイマを設定して、タイムアウト時に削除してもよい。
【００４０】
シーケンス機能部６１１５は実行中のサービスに関する処理シーケンス（工程）パターンを選択して自装置内のメモリ（図示せず）に保持し、ＵＡ機能部６１１４から受信ＳＩＰ信号の信号種別に基づいて応答すべき信号のステータスコードを一意に特定できないことが通知されたときに、保持した処理シーケンスパターン中における現在の段階の特定を行う。そして、この段階に基づいて次に送信すべき信号（例えば、「Init-INVITE」、「180（呼出中）」、「PRACK」、「200（応答）」等）を送信ＳＩＰ信号の生成のために特定する。
【００４１】
処理シーケンスパターンの例を、図４に示す。図４（ａ）はセッション接続部分のシーケンスパターンａであり、図４（ｂ）はセッション確立後の応答部分のシーケンスパターンｂであり、図４（ｃ）はセッション切断部分のシーケンスパターンｃである。シーケンスパターンは、発信側（呼制御サーバ６における受信側）に接続されたサーバとの送受信に関する発側シーケンスパターンと、信号送信側（呼制御サーバ６における送信側）に接続されたサーバとの送受信に関する着側シーケンスパターンとを有している。そしてこれらの発側シーケンスパターンと着側シーケンスパターンとは連携しており、例えば発側シーケンスパターンに従って受信した信号の種別に基づいて、次に送信すべき信号の種別およびＵＡ機能部で保持されているＵＡＳおよびＵＡＣを、前記送信側シーケンスパターンに従って特定する。
【００４２】
シーケンス機能部６１１５では例えば、受信ＳＩＰ信号がPRACK信号であるときには、送信すべき信号を「PRACK」として、送信ＳＩＰ信号の生成のために特定する。
【００４３】
ここで、シーケンス機能部６１１５は、処理中のシーケンスパターンが最後まで完了したと判断したときにはメモリの該当部分を解放することで保持したシーケンスパターン情報を削除（無効化）するとともに、サービス機能部６１１６へ通知する。このシーケンスパターンの削除は、後述するようにサービス機能部６１１６へ通知したことにより新たなシーケンスパターンが指示されこれを保持した後に実行してもよいし、シーケンスパターンの完了時に解放ステータスにしてタイマを設定し、タイムアウト時に削除するようにしてもよい。
【００４４】
サービス機能部６１１６は、発着加入者端末２で加入されているサービス内容に基づいて、シーケンス機能部６１１５で用いられるシーケンスパターンの実行順序であるシナリオを管理し、シーケンス機能部６１１５で処理中のシーケンスパターンの処理が完了したことが通知されたときに、このシナリオに基づいて次に実行させるシーケンスパターンをシーケンス機能部６１１５に指示する。
【００４５】
例えば、図４のシーケンスパターンが、シーケンスパターンａ→シーケンスパターンｂ→シーケンスパターンｃの順で実行されるように組み合わせられた処理シーケンスを、一連の呼接続処理のサービス内容として予め保持し、これに基づいてシーケンス機能部６１１５に対し次の処理対象のシーケンスパターンを指示する。
【００４６】
上記の機能部のうち、トランスポート機能部６１１１、プロトコル機能部６１１３、およびＵＡ機能部６１１４は信号単位でプロトコルに従ってＳＩＰ信号処理を実行し、シーケンス機能部６１１５、およびサービス機能部６１１６はサービスの実行や制御に関する処理を実行する。
【００４７】
送信信号バッファ６１１７は、ＵＡ機能部６１１４のＵＡＣ６１１４ｂから送出された送信すべき信号のステータスコード、送信先の情報、プロトコル機能部６１１３の送信処理部６１１３ｂから送出されたダイアログ情報、トランザクション情報を、送信ＳＩＰ信号を生成するための情報として保持する。
【００４８】
処理データ記憶部６１２はメモリのヒープ領域であり、呼処理制御部６１１の各機能部で実行された処理に関する情報を一時的に記憶する。
【００４９】
同期処理制御部６１３は、ＳＢＹ（予備用）系呼制御サーバ６２の同期処理制御部６２３と転送制御信号の送受信をすることにより、ＡＣＴ（現用）系呼制御サーバ６１に記憶された情報とＳＢＹ（予備用）系呼制御サーバ６２に記憶された情報の同期をとるための、ＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２への情報の転送処理を制御する。
【００５０】
同期領域記憶部６１４は、呼処理制御部６１１の各機能部に対応する領域を固定的に有する。この同期領域記憶部６１４の構成について、図５を参照して詳細に説明する。
【００５１】
同期領域記憶部６１４は、セッションごとに情報を記憶する領域を有し、第１セッションの処理に用いる情報を記憶する第１セッション情報領域６１４Ａと、第２セッションの処理に用いる情報を記憶する第２セッション情報領域６１４Ｂと、第３セッションの処理に用いる情報を記憶する第３セッション情報領域６１４Ｃとを有する。
【００５２】
これらの第１セッション情報領域６１４Ａ、第２セッション情報領域６１４Ｂ、および第３セッション情報領域６１４Ｃはそれぞれ別の呼（セッション）に関するデータを保持する領域であり、各セクションで１呼分の処理に必要なデータを保持することが可能である。これらのセッション情報領域６１４Ａ〜６１４Ｃはそれぞれ、呼処理制御部６１１のトランスポート機能部６１１１の処理に関する情報を記憶するトランスポート機能部情報領域６１４１Ａ〜６１４１Ｃと、プロトコル機能部６１１３の処理に関する情報を記憶するプロトコル機能部情報領域６１４２Ａ〜６１４２Ｃと、ＵＡ機能部６１１４の処理に関する情報を記憶するＵＡ機能部情報領域６１４３Ａ〜６１４３Ｃと、シーケンス機能部６１１５の処理に関する情報を記憶するシーケンス機能部情報領域６１４４Ａ〜６１４４Ｃと、サービス機能部６１１６の処理に関する情報を記憶するサービス機能部情報領域６１４５Ａ〜６１４５Ｃと、これらの情報を統括的に管理するデータ管理情報領域６１４６Ａ〜６１４６Ｃと、予備領域６１４７Ａ〜６１４７Ｃとを有する。
【００５３】
ＳＢＹ（予備用）系呼制御サーバ６２は、呼処理制御部６２１と、処理データ記憶部６２２と、同期処理制御部６２３と、同期領域記憶部６２４とを有する。
【００５４】
呼処理制御部６２１は、呼処理制御部６２１は、トランスポート機能部６２１１と、受信信号バッファ６１１２と、プロトコル機能部６２１３と、ユーザエージェント（ＵＡ）機能部６２１４と、シーケンス機能部６２１５と、サービス機能部６２１６と、送信信号バッファ６２１７とを有し、ＳＢＹ（予備用）系呼制御サーバ６２が稼働したときに稼働する。これらの機能部の機能は、ＡＣＴ（現用）系呼制御サーバ６１の呼処理制御部６１１の対応する機能部の機能と同様のため、詳細な説明は省略する。
【００５５】
処理データ記憶部６２２は、ＳＢＹ（予備用）系呼制御サーバ６２が稼働したときに、同期領域記憶部６２４から実行中の処理に必要なデータを取得するとともに、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２と同様に呼処理制御部６１１の各機能部で実行された処理に関する情報を一時的に記憶する。
【００５６】
同期領域制御部６２３は、ＡＣＴ（現用）系呼制御サーバ６１の同期処理制御部６１３と転送制御に関する信号の送受信をすることにより、ＡＣＴ（現用）系呼制御サーバ６１に記憶された情報とＳＢＹ（予備用）系呼制御サーバ６２に記憶された情報の同期をとるための、ＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２への情報の転送処理を制御する。
【００５７】
同期領域記憶部６２４は、呼処理制御部６２１の各機能部に対応する領域を固定的に有する。この同期領域記憶部６２４の構成について、図５を参照して詳細に説明する。
【００５８】
同期領域記憶部６２４は、セッションごとに情報を記憶する領域を有し、第１セッションの処理に用いる情報を記憶する第１セッション情報領域６２４Ａと、第２セッションの処理に用いる情報を記憶する第２セッション情報領域６２４Ｂと、第３セッションの処理に用いる情報を記憶する第３セッション情報領域６２４Ｃとを有する。
【００５９】
この第１セッション情報領域６２４Ａ、第２セッション情報領域６２４Ｂ、第３セッション情報領域６２４Ｃはそれぞれ異なるセクションで、メモリ内で並列して書き込み処理可能であり、各セクションは他のセクションから独立して排他ロックをかけることができる。つまり、ロックをかけている間はそのセクションでは、当該処理以外に関する情報を書き込むことができない状態にすることができる。
【００６０】
これらの第１セッション情報領域６２４Ａ、第２セッション情報領域６２４Ｂ、および第３セッション情報領域６２４Ｃはそれぞれ、ＡＣＴ（現用）系呼制御サーバ６１のトランスポート機能部情報領域６１４１Ａ〜６１４１Ｃに対応するトランスポート機能部情報領域６２４１Ａ〜６２４１Ｃと、プロトコル機能部情報領域６１４２Ａ〜６１４２Ｃに対応するプロトコル機能部情報領域６２４２Ａ〜６２４２Ｃと、ＵＡ機能部情報領域６１４３Ａ〜６１４３Ｃに対応するＵＡ機能部情報領域６２４３Ａ〜６２４３Ｃと、シーケンス機能部情報領域６１４４Ａ〜６１４４Ｃに対応するシーケンス機能部情報領域６２４４Ａ〜６２４４Ｃと、サービス機能部情報領域６１４５Ａ〜６１４５Ｃに対応するサービス機能部情報領域６２４５Ａ〜６２４５Ｃと、データ管理情報領域６１４６Ａ〜６１４６Ｃに対応するデータ管理情報領域６２４６Ａ〜６２４６Ｃと、予備領域６２４７Ａ〜６２４７Ｃとを有する。
【００６１】
ＡＣＴ（現用）系呼制御サーバ６１の同期領域記憶部６１４およびＳＢＹ（予備用）系呼制御サーバ６２の同期領域記憶部６２４にそれぞれ設けられたセクション数は呼（セッション）数と関連しており、本実施形態においては双方の同期領域記憶部に３つの呼（セッション）に対応するように３のセクションを有する場合を示したが、さらに多くの数のセッションにそれぞれ対応するようにセクションを設けてもよい。また、１つの呼（セッション）に対して複数のセッションずつ割り当てるようにしてもよい。
【００６２】
〈一実施形態による呼制御サーバを利用したＳＩＰ通信システムの動作〉
本発明の一実施形態によるＳＩＰ通信システム１において、発信端末である加入者端末２Ａまたは２ＢからＳＩＰサーバ４Ａ、呼制御システム６、ＳＩＰサーバ４Ｂを経由して加入者端末２Ｃまたは２Ｄに呼制御に関するＳＩＰ信号が送信されるときの、呼制御システム６のＡＣＴ（現用）系呼制御サーバ６１の動作について、図６のフローチャートを参照して説明する。
【００６３】
本実施形態において、同期処理制御部６１３には、故障時にＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２に切り替えられたときにセッション接続を維持させるために必要な情報である救済データを、ＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２に転送するタイミングである救済データ転送タイミングに関する情報が、予め保持されているものとする。この救済データ転送タイミングの詳細については、後述する。
【００６４】
まず、ＳＩＰサーバ４Ａから、新規にセッションを確立するためのInit-INVITE信号が送信されると、INVITE信号に関して起呼信号であるか、セッションリフレッシュ信号であるかが呼処理制御部６１１において判定される。
【００６５】
ここでは、受信信号バッファ６１１２、送信信号バッファ６１１７や、各機能部に関して保存されたデータが処理データ記憶部６１２に何もなく新規の呼制御であると判定され、サービス機能部６１１６において発着加入者端末２で加入されているサービス内容のシナリオに基づいて、実行するシーケンスパターンがシーケンス機能部６１１５に指示される。サービスに応じて複数のシーケンスパターンを同時に選択するように指示することもできる。
【００６６】
シーケンス機能部６１１５では、サービス機能部６１１６から指示されたシーケンスパターンが実行するシーケンスパターンとして選択され保持される。
【００６７】
実行するシーケンスパターンが保持された後に、ＳＩＰサーバ４Ａから受信されたInit-INVITE信号は（Ｓ１）、トランスポート機能部６１１１の受信処理部６１１１ａにおいてこの受信ＳＩＰ信号を自装置で処理するためのパース処理（前処理）が実行される（Ｓ２）。具体的には、受信ＳＩＰ信号がInit-INVITE信号であることを自装置内で識別しやすくするための識別情報「１」を１バイト目に付加する等の処理が行われる。パース処理が実行された受信信号情報は、受信信号バッファ６１１２に保持される。
【００６８】
パース処理で取得された情報は、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。また、受信信号バッファ６１１２に保持された情報は、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。
【００６９】
次にプロトコル機能部６１１３の受信処理部６１１３ａにおいて受信信号バッファ６１１２が参照され、パース処理された受信信号がプロトコルに従って解析され、発着加入者端末２のダイアログ情報やトランザクション情報が取得される（Ｓ３）。取得されたダイアログ情報やトランザクション情報は、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。ここまでの処理により、受信処理が完了する（Ｓ４）。
【００７０】
受信処理が完了すると、呼処理制御部６１１のトランスポート機能部６１１１において、パース処理で取得された受信ＳＩＰ信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される（Ｓ５）。
【００７１】
本実施形態における救済データ転送タイミングについて図７（ａ）〜（ｃ）を参照して説明する。
【００７２】
図７（ａ）は呼制御処理が実行されるときの、ＳＩＰサーバ間での呼単位の各ＳＩＰ信号の送受信順序をシーケンスで示したものである。
【００７３】
図７（ａ）に示すように、ＡＣＴ（現用）系呼制御サーバ６１では、セッション開始要求を示すInit-INVITE信号が発信側のＳＩＰサーバ４Ａから送信される（Ｓ２１）と、試行中であることを示すTrying(100)信号をＳＩＰサーバ４Ａに返信する（Ｓ２２）とともに、着信側のＳＩＰサーバ４ＢにInit-INVITE信号を転送する（Ｓ２３）。そして、ＳＩＰサーバ４Ｂに転送したInit-INVITE信号の返信としてのTrying(100)信号を受信する（Ｓ２４）。
【００７４】
その後、着信側の加入者端末で呼び出し中であることを示すRinging(180)信号をＳＩＰサーバ４Ｂから受信する（Ｓ２５）と、これを発信側のＳＩＰサーバ４Ａに転送し（Ｓ２６）、これに対する暫定応答としてPRACK信号を受信する（Ｓ２７）。
【００７５】
次に、受信したPRACK信号をさらに着信側のＳＩＰサーバ４Ｂに送信し（Ｓ２８）、これに対する暫定応答として200(PRACK)信号を受信し（Ｓ２９）、これをさらに発信側のＳＩＰサーバ４Ａに転送する（Ｓ３０）。
【００７６】
その後、着信側の加入者端末で応答したことを示す200(Init-INVITE)をＳＩＰサーバ４Ｂから受信すると（Ｓ３１）、これを発信側のＳＩＰサーバ４Ａに転送し（Ｓ３２）、着信側の加入者端末で応答されたことが通知される。
【００７７】
これに対応して送信側のＳＩＰサーバ４Ａからセッション確立了解を示すACK信号が送信される（Ｓ３３）とこれを着信側のＳＩＰサーバ４Ｂに転送し（Ｓ３４）、通信が開始される。
【００７８】
この通信確立中は、図６（ｂ）または（ｃ）のシーケンスに示すように、セッションリフレッシュが実行されることによりセッションタイマが更新され、セッションの確立が維持される。
【００７９】
図６（ｂ）は、re-INVITE信号によりセッションリフレッシュが実行される場合のシーケンスであり、発着信側の加入者端末からre-INVITE信号が送信されると（Ｓ４１）、ＳＩＰサーバが応答して200信号を返信する（Ｓ４２）ことによりACK信号が送信されて（Ｓ４３）セッションタイマが更新され、セッションの確立が維持される。
【００８０】
または、ＳＩＰサーバからre-INVITE信号が送信されると（Ｓ４４）、発着信側の加入者端末が応答して200信号を返信する（Ｓ４５）ことによりACK信号を返信して（Ｓ４６）セッションタイマが更新され、セッションの確立が維持される。
【００８１】
また図６（ｃ）は、UPDATE信号によりセッションリフレッシュが実行される場合のシーケンスであり、発着信側の加入者端末からUPDATE信号が送信されると（Ｓ５１）、ＳＩＰサーバが応答して200信号を返信する（Ｓ５２）ことによりセッションタイマが更新され、セッションの確立が維持される。
【００８２】
または、ＳＩＰサーバからUPDATE信号が送信されると（Ｓ５３）、ＳＩＰサーバが応答して200信号を返信する（Ｓ５４）ことによりセッションタイマが更新され、セッションの確立が維持される。
【００８３】
図７（ａ）に戻り、発信側のＳＩＰサーバ４Ａからセッション切断要求を示すBYE信号が送信されると（Ｓ３５）、呼制御システム６では、これに対する応答として200(BYE)を返信する（Ｓ３６）とともに、着信側のＳＩＰサーバ４ＢにBYE信号を転送する（Ｓ３７）。そして、ＳＩＰサーバ４Ｂに転送したBYE信号の返信としての200(BYE)信号を受信する（Ｓ３８）ことにより、セッションが切断される。
【００８４】
このように実行される呼制御処理において、ＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２への救済データ転送タイミングは、前回のＡＣＴ（現用）系呼制御サーバ６１とＳＢＹ（予備用）系呼制御サーバ６２との情報の同期処理（救済データの転送処理）以降の変更点の情報が喪失しても、プロトコルに従って呼制御処理が復旧できるタイミングで設定される。
【００８５】
具体的には、(i)呼制御サーバ６１への再送が期待できす、該信号を送受信したことを記憶していないと呼制御サーバ６１からの再送も不可能でありシーケンスの復旧、継続が不可能な信号の送受信時（例えばステップＳ２３のInit-INVITE信号の送信時）、および、(ii)該信号を送受信したことを記憶しておらず、故障が発生しシーケンスが巻き戻ってしまっても、次に受信する信号を呼制御サーバ６１で適切に処理可能な信号の送受信時（例えばステップＳ２５のRinging(180)信号の受信時）である。
【００８６】
本実施形態においては、図７（ａ）〜（ｃ）中の、タイミングt1〜t17で示す時が、上記(i)または(ii)に該当する救済データ転送タイミングとして設定されているものとする。
【００８７】
このように救済データ転送タイミングが設定されることにより、例えばステップＳ２５において受信したRinging(180)信号の受信信号バッファ６１１２への記憶が完了する前に故障が発生し、稼働するサーバがＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２に移った場合に、ＳＢＹ（予備用）系呼制御サーバ６２にはステップＳ２４のTrying(100)信号の受信に関する記録はなくステップＳ２３のInit-INVITE信号の転送に関する記録までしか残っていないが、再度ステップＳ２３のInit-INVITE信号の転送から処理が再開されるように巻き戻っても、プロトコルに従って適切に処理が続行される。
【００８８】
この救済データ転送タイミングの設定に関する情報は、Init-INVITEを受信してサービス判定を行いサービスが決定した段階で、転送が必要な信号のリストとしてサービス機能部６１１６から指定しそれをトランスポート機能部６１１１でもっておくようにしておいてもよいし、信号の送受信毎にトランスポート機能部６１１１がシーケンス機能部６１１５に問い合わせて、シーケンス機能部６１１５がシーケンスパターンから救済データ転送タイミングであるか否かを判断し、トランスポート機能部６１１１に通知するようにしてもよい。
【００８９】
図６に戻り、Init-INVITE信号を受信した時点では救済データ転送タイミングではないと判断される（Ｓ５の「NO」）。
【００９０】
次にＵＡ機能部６１１４のＵＡＳ６１１４ａにおいて受信信号バッファ６１１２が参照され、当該受信ＳＩＰ信号の送信元のＳＩＰサーバのアドレス、および送信先のＳＩＰサーバのアドレスが取得されて処理データ記憶部６１２に保持されるとともに、当該受信ＳＩＰ信号の種別がパース処理で付加された識別情報に基づいて判定され、この判定された種別から、折り返し応答すべき信号のステータスコードが一意に特定されるか否かが判定される（Ｓ６）。
【００９１】
ここではＵＡＳ６１１４ａにおいて、新規の「Init-INVITE信号」に対しては処理シーケンスにかかわらずプロトコルに従って折り返し送信元にステータスコード「100（試行中）」信号を応答することが判定され、処理データ記憶部６１２に保持された情報に基づいて、プロトコル機能部６３によるダイアログ処理、トランザクション処理が行われ、トランスポート機能部６１１１によりステータスコード「100（試行中）」の送信ＳＩＰ信号が生成されて、ＳＩＰサーバ４Ａに送信される（Ｓ６の「YES」、Ｓ９〜Ｓ１１）。
【００９２】
またステータスコード「100（試行中）」の送信ＳＩＰ信号が送信されるとさらに、ＵＡＳ６１１４ａにより、新規の「Init-INVITE信号」を受信したことがシーケンス機能部６１１５に通知される（Ｓ６の「NO」、Ｓ７）。
【００９３】
シーケンス機能部６１１５では、ＵＡ機能部６１１４から、「Init-INVITE信号」が受信されたことが通知されると、保持した処理シーケンスパターンが選択され、このシーケンス中の現在の段階が特定される（Ｓ８）。ここでは、図４（ａ）のセッション接続部分のシーケンスパターンａ中の現在の段階が特定され、さらにこの段階に基づいて次に送信すべき信号「Init-INVITE」とＵＡ機能部６１１４に保持しているＵＡＳ６１１４ａ及びＵＡＣ６１１４ｂが特定される。シーケンス中の現在の段階ではＵＡＣ６１１４ｂにInit-INVITEの送信指示がなされる。指示を受けたＵＡＣ６１１４ｂにおいては、ＵＡＣ６１１４ｂに対応して処理データ記憶部６１２に保持している送信先の情報等とともにInit-INVITE信号に関する情報が送信信号バッファ６１１７に送出される（Ｓ９）。なお、送信先の情報は受信したInit-INVITE信号に含まれており、受信時にＵＡＳ６１１４ａで処理データ記憶部６１２に保持しておき、上記のタイミングでＵＡＣ６１１４ｂに送信先情報等のデータを引き継ぐ。また、プロトコル機能部６３の送信処理部６３２により、処理データ記憶部６１２に保持している送信ＳＩＰ生成のためのダイアログ情報やトランザクション情報等の送信情報が送信信号バッファ６１１７に送出される。
【００９４】
次にトランスポート機能部６１１１の送信処理部６１２において、送信信号バッファ６１１７の情報が用いられて逆パース処理が行われて送信ＳＩＰ信号が生成される（Ｓ１０）。そして、生成された送信ＳＩＰ信号が、ＳＩＰサーバ４Ｂに送信される（Ｓ１１）。送信信号バッファ６１１７に保持された情報は、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。
【００９５】
ここで、送信ＳＩＰ信号の送信処理が完了すると、呼処理制御部６１１のトランスポート機能部６１１１において、送信ＳＩＰ信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される（Ｓ１２）。
【００９６】
ここでは受信したInit-INVITE信号に対してTrying(100)信号がＳＩＰサーバ４Ａに返信されるとともにInit-INVITE信号がＳＩＰサーバ４Ｂに転送されており、これらの送信時点（図７のタイミングt1,t2）は救済データ転送タイミングであると判断される（Ｓ１２の「YES」）。
【００９７】
救済データ転送タイミングであると判断されると、ＡＣＴ（現用）系呼制御サーバ６１の同期処理制御部６１３からＳＢＹ（予備用）系呼制御サーバ６２の同期処理制御部６２３に、まずＳＢＹ（予備用）系呼制御サーバ６２の同期領域記憶部６２４の該当するセクション（ここでは第１セッション情報領域６２４Ａ）が当該転送処理以外の処理で書き込みが行われないようにするためのロック状態とする指示が送信される。そして、ＳＢＹ（予備用）系呼制御サーバ６２の同期処理制御部６２３によりこの指示に基づいて同期領域記憶部６２４の第１セッション情報領域６１４Ａがロック状態にされる。
【００９８】
次に、ＡＣＴ（現用）系呼制御サーバ６１の同期処理制御部６１３からデータの書き込み指示が送出され、この指示により処理データ記憶部６１２に記憶されている各機能部の処理に関するデータが、自サーバ６１の同期領域記憶部６１４内の該当するトランスポート機能部情報領域６１４１Ａ、プロトコル機能部情報領域６１４２Ａ、ＵＡ機能部情報領域６１４３Ａ、シーケンス機能部情報領域６１４４Ａ、サービス機能部情報領域６１４５Ａ、データ管理領域６１４６Ａに書き込まれる。
【００９９】
さらにＡＣＴ（現用）系呼制御サーバ６１の同期処理制御部６１３からデータの転送指示が送出され、この指示により処理データ記憶部６１２に記憶されている各機能部の処理に関するデータが、ＳＢＹ（予備用）系呼制御サーバ６２に救済データとして転送される（Ｓ１３）。ＳＢＹ（予備用）系呼制御サーバ６２では、受信した救済データが、同期領域記憶部６２４の第１セッション情報領域６２４Ａのそれぞれ該当する機能部領域に記憶される。
【０１００】
このように処理データ記憶部６１２のデータの自サーバ６１への書き込み処理、ＳＢＹ（予備用）系呼制御サーバ６２への転送処理が完了すると、ＡＣＴ（現用）系呼制御サーバ６１の同期処理制御部６１３からＳＢＹ（予備用）系呼制御サーバ６２の同期処理制御部６２３に、同期領域記憶部６２４の第１セッション情報領域６２４Ａのロックを解除する指示が送信される。そして、ＳＢＹ（予備用）系呼制御サーバ６２の同期処理制御部６２３によりこの指示に基づいて同期領域記憶部６２４の第１セッション情報領域６２４Ａのロックが解除される。
【０１０１】
このように同期領域記憶部６２４をロック状態にして転送処理が実行されることにより、同期領域記憶部６１４と同期領域記憶部６２４との対応するセクションで記憶されるデータに差分ができることを防止することができる。
【０１０２】
次に、ＳＩＰサーバ４Ａから、確立されたセッションを維持するためのリフレッシュ信号の１つであるre-INVITE信号が送信されたときの呼制御システム６の動作について説明する。
【０１０３】
ＳＩＰサーバ４ＡからＡＣＴ（現用）系呼制御サーバ６１においてre-INVITE信号が受信される（Ｓ１）と、INVITE信号に関して起呼信号であるか、セッションリフレッシュ信号であるかが判定される。
【０１０４】
ここではセッションリフレッシュ信号のre-INVITE信号であると判定される。
【０１０５】
次にトランスポート機能部６１１１の受信処理部６１１１ａにおいてこの受信ＳＩＰ信号を自装置で処理するためのパース処理（前処理）が実行される（Ｓ２）。
【０１０６】
パース処理で取得された情報は、前回の信号処理時との変更点が、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。
【０１０７】
次にプロトコル機能部６１１３の受信処理部６１１３ａにおいて受信信号バッファ６１１２が参照され、パース処理された受信信号がプロトコルに従って解析され、発着加入者端末２のダイアログ情報やトランザクション情報が取得される（Ｓ３）。取得されたダイアログ情報やトランザクション情報は、前回の信号処理時との変更点が、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶される。ここまでの処理により、受信処理が完了する（Ｓ４）。
【０１０８】
受信処理が完了すると、呼処理制御部６１１のトランスポート機能部６１１１においてのパース処理で取得された受信ＳＩＰ信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される（Ｓ５）。
【０１０９】
ここでre-INVITE信号を受信した時点では図７（ｂ）の情報に基づいて救済データ転送タイミングではないと判断される（Ｓ５の「NO」）。
【０１１０】
次にＵＡ機能部６１１４のＵＡＳ６１１４ａにおいて受信信号バッファ６１１２が参照され、当該受信ＳＩＰ信号の送信元のＳＩＰサーバのアドレス、および送信先のＳＩＰサーバのアドレスが取得され、当該受信ＳＩＰ信号の種別がパース処理で付加された識別情報に基づいて判定され、この判定された種別から、折り返し応答すべき信号のステータスコードが一意に特定されるか否かが判定される（Ｓ６）。ここでは、受信ＳＩＰ信号の送信元のＳＩＰサーバのアドレス、および送信先のＳＩＰサーバのアドレスについては前回の信号処理時と変更点がないため処理データ記憶部６１２への変更点の書き込みは行われない。
【０１１１】
ここでは、ＵＡＳ６１１４ａにおいて、「re-INVITE信号」に対しては処理シーケンスにかかわらずプロトコルに従って折り返し送信元にステータスコード「200（応答）」信号を応答することが判定される（Ｓ６の「YES」）。
【０１１２】
ＵＡＳ６１１４ａにおいて応答すべき信号のステータスコードが特定されると、処理データ記憶部６１２に保持された情報に基づいて、トランスポート機能部６１１１の受信処理部６１１１ａによりステータスコード「200（応答）」の送信ＳＩＰ信号が生成されて、ＳＩＰサーバ４Ａに送信されることで応答される（Ｓ９〜Ｓ１１）。
【０１１３】
ここで、送信ＳＩＰ信号の送信処理が完了すると、呼処理制御部６１１のトランスポート機能部６１１１において、送信ＳＩＰ信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される（Ｓ１２）。
【０１１４】
ここでは受信したre-INVITE信号に対して応答(200)信号をＳＩＰサーバ４Ａに返信され、この送信時点（図７のタイミングt11）は救済データ転送タイミングであると判断される（Ｓ１０の「YES」）。
【０１１５】
救済データ転送タイミングであると判断されると、上述した転送処理により、ＡＣＴ（現用）系呼制御サーバ６１の処理データ記憶部６１２に記憶されている各機能部の処理に関する変更点が、ＡＣＴ(現用)系呼制御サーバ６１の処理データ記憶部６１２内の該当するデータ管理情報領域６１４１Ａ、トランスポート機能部情報領域６１４１Ａ、プロトコル機能部情報領域６１４２Ａ、ＵＡ機能部情報領域６１４３Ａ、シーケンス機能部情報領域６１４４Ａ、サービス機能部情報領域６１４５Ａに書き込まれるとともに、ＳＢＹ（予備用）系呼制御サーバ６２に救済データとしてロック状態で転送され、それぞれ該当する機能部領域に記憶される（Ｓ１３）。
【０１１６】
上記実施形態において、シーケンス機能部６１１５で処理中のシーケンスパターンが最後まで完了したと判断されたときにはさらにサービス機能部６１１６へ通知され、シーケンス機能部６１１５において処理中として保持されていたシーケンスパターン情報のメモリ部分は解放される。また通知されたサービス機能部６１１６では、シーケンス機能部６１１５で処理中のシーケンスパターンの処理が完了したことが通知されたときには、該当する発着加入者端末２で加入されているサービス内容により管理しているシナリオに基づいて次に実行させるシーケンスパターンが特定され、シーケンス機能部６１１５に次に使用するシーケンスパターンの指示がなされる。
【０１１７】
また上記実施形態において、呼制御システム６により確立された通信を利用して、発信元の加入者端末とメディアサーバ７Ａ，７Ｂとの間で中継装置５Ａ，５Ｂ等を経由して音声情報や映像情報等のメディア情報を転送し、加入者端末にこれらの情報が提供されるようにしてもよい。
【０１１８】
また上記実施形態において、セッション切断のシーケンスが実行されたときには、このシーケンスの中で、ＵＡ機能部６１１４のＵＡＣ６１１４ｂで保持された送信先の情報、およびシーケンス機能部６１１５で保持されたシーケンスパターンの情報に関するメモリの該当部分が解放され、削除（無効化）される。解放はタイマを張って解放してもよい。タイマを張ってから解放する効果として、BYEなどの信号が再送されてきた場合も、ある一定期間であれば正しく信号処理することが可能である。
【０１１９】
上述した本実施形態の呼制御システムによれば、呼制御に利用する情報を、自装置の記憶部にセッションごとに並列して書き込み可能なデータ構造としたため、複数の呼制御に対して同時に円滑に通信処理を行うことができ、受信ＳＩＰ信号を受信してから送信ＳＩＰ信号を生成して送信するまでの時間を短縮することができ、処理効率を向上させることができる。
【０１２０】
本例は発側と着側が１対１での通信例だが、これが電話会議サービスのような三者間通話等の複数人との通話にも対応可能である。三者間通話の場合、起呼時にサービス機能部６１１６がサービスシナリオを参照し、シーケンス機能部６１１５に三者分のシーケンスパターンを使用するように指示する。指示を受けたシーケンス機能部６１１５は三者分のシーケンスパターンを読み込み、ＵＡ機能部６１１４に三者分のＵＡを生成するように指示する。指示を受けたＵＡ機能部６１１４は三者分のＵＡ(ＵＡＳ１つとＵＡＣを２つ)生成する。以降の信号処理は先の例で示したように実行される。このように、複雑なシーケンスパターンも機能部を作りかえることなく実現可能である。
【０１２１】
また本実施形態の呼制御システムにおいては、セッションの処理に用いる情報を記憶するＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２への救済データ転送タイミングが、前回のＡＣＴ（現用）系呼制御サーバ６１とＳＢＹ（予備用）系呼制御サーバ６２との情報の同期処理（救済データの転送処理）以降の変更点の情報が喪失しても、プロトコルに従って呼制御処理が復旧できるタイミングで設定されるため、ＡＣＴ（現用系）呼制御サーバ６１に故障が発生してもユーザの意図しないタイミングでセッションが切断されてしまうことを防ぐことができる。
【０１２２】
またこの救済データの転送は、ＳＩＰ信号の処理中に呼処理サーバ内の当該セッションの処理に用いる情報に変更が生じる都度転送されず、信号単位でまとめて転送されるため転送回数を少なくすることができ、通信のオーバーヘッドの影響を小さくすることができ、効率のよい処理を実行することができる。
【０１２３】
また本実施形態の呼制御システムにおいては、ＡＣＴ（現用）系呼制御サーバ６１内の各領域とＳＢＹ（予備用）系呼制御サーバ６２内の各領域とを、同じ構成で、セッションごとおよび呼処理制御部６１１の機能部ごとに設けてそれぞれ対応する領域の情報を同期させるようにしたため、呼制御ごとに関連のある情報がまとまって記憶され、故障時の解析処理を容易に行うことが可能になる。
【０１２４】
また本実施形態の呼制御システムにおいては、ＡＣＴ（現用）系呼制御サーバ６１からＳＢＹ（予備用）系呼制御サーバ６２へ救済データを転送する際に、転送処理に該当するセクションが、当該転送処理以外からの書き込みを不可能な状態とするロック状態にされて転送処理が実行されるため、確実に救済データを転送することができ、故障時に「未転送の可能性のある情報」が発生しないためこれを再送する必要がなく、効率のよい処理を行うことができる。
【０１２５】
また、本実施形態において構築されたＡＣＴ（現用）系呼制御サーバおよびＳＢＹ（予備用）系呼制御サーバの記憶部にはそれぞれ予備領域を設けたため、新たなサービスの追加時やプロトコルの変更によるデータサイズの変更時等の情報量拡張時に、この予備領域を有効に利用することにより柔軟に対応することができる。
【０１２６】
本方式のメリットとして、呼制御サーバにおいて発着別々に処理部を持ちデータが管理されているため、指定した信号を送受信するタイミングで一律転送するというのではなく、それぞれの接続の送受信時に救済タイミングを柔軟に設定でき、効率的にＳＢＹ系と同期できる。また、電話端末に加えてメディアサーバを含む３者以上の複数者間でのサービスを考えた場合、端末やメディアサーバ毎に対応して呼制御サーバにユーザエージェント機能部、プロトコル機能部、トランスポート機能部を生成し、サービスに応じたシナリオやシーケンスパターンを用意することで、呼制御サーバの機能部を作りかえることなく対応可能で、２者間でのサービス例と同様の効果が得られる。
【符号の説明】
【０１２７】
１…ＳＩＰ通信システム
２Ａ〜２Ｄ…加入者端末
３…ＩＰネットワーク
４Ａ、４Ｂ…ＳＩＰサーバ（プロキシサーバ）
５Ａ、５Ｂ…中継サーバ
６…呼制御システム
７Ａ、７Ｂ…メディアサーバ
６１…ＡＣＴ（現用）系呼制御サーバ
６２…ＳＢＹ（予備用）系呼制御サーバ
６１１…呼処理制御部
６１２…処理データ記憶部
６１３…同期処理制御部
６１４…同期領域記憶部
６１１１…トランスポート機能部
６１１２…受信信号バッファ
６１１３…プロトコル機能部
６１１４…ユーザエージェント（ＵＡ）機能部
６１１４ａ…ＵＡＳ
６１１４ｂ…ＵＡＣ
６１１５…シーケンス機能部
６１１６…サービス機能部
６１１７…送信信号バッファ
【図１】
0005342578.tif 000002
【図２】
0005342578.tif 000003
【図３】
0005342578.tif 000004
【図４】
0005342578.tif 000005
【図５】
0005342578.tif 000006
【図６】
0005342578.tif 000007
【図７】
0005342578.tif 000008