説明

呼制御に利用する情報の冗長化方法および呼制御システム

【課題】 冗長化された呼制御システムにおいて、効率良く短時間で系切り替え処理を実行することが可能な呼制御に利用する情報の冗長化方法および呼制御システムを提供する。
【解決手段】 現用系呼制御サーバ61は、自サーバで処理中の呼処理に関する情報の変更点を、所定の転送タイミングで前記予備用系呼制御サーバ62に転送し、予備用系呼制御サーバ62は、前記現用系呼制御サーバ61から転送された前記処理中の呼処理に関する情報の変更点で、自サーバ内の同期領域記憶部624に記憶した処理中の呼処理に関する情報を更新し、予備用系呼制御サーバ62の処理データ記憶部622で同期領域記憶部624内に記憶された情報が更新されたことを検知したときに、当該更新された情報を取得して、自サーバが稼動したときに呼処理に利用させるために自サーバ内の処理データ記憶部622内の領域に展開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、呼制御に利用する情報の冗長化方法および呼制御システムに関する。
【背景技術】
【0002】
従来、呼制御によりセッション確立の制御を行う技術として、通信制御プロトコルであるSIP(Session Initiation Protocol)が開発されている。このSIPは、IPネットワークを利用して、固定電話網が持つような高い品質、信頼性、および安定性を保持してユーザ端末間で音声情報や映像情報等のメディア通信を行うことを可能にする。
【0003】
SIPによる呼制御は、IPネットワークを介して接続された、エンドユーザが利用する加入者端末と加入者端末間の通信を中継するSIPサーバとの間や、複数のSIPサーバ間で実行される。
【0004】
この呼制御による通信を高い信頼性で確立するために、非特許文献1および特許文献1に示すように、ACT(現用)系呼制御サーバとSBY(予備用)系呼制御サーバとを冗長化した呼制御システムを利用する技術がある。
【0005】
この呼制御システムでは、ACT(現用)系呼制御サーバとSBY(予備用)系呼制御サーバとでセッション確立に関する情報が所定のタイミングで同期がとられており、通常時はACT(現用)系呼制御サーバで呼制御が実行され、このACT(現用)系呼制御サーバにおいて故障が発生したときにはSBY(予備用)系呼制御サーバに切り替えられて呼制御が実行される。
【0006】
このように呼制御を行うサーバが冗長化されることにより、ユーザの意図しないタイミングで故障により通信が切断されてしまうことを防止することができる。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】緒方祐介,原大輔,松尾和雅,江村義樹:呼処理サーバの系切替え時間短縮化方法,2010年電子情報通信学会総合大会講演論文集,B-6-15 ( Mar.2010).
【特許文献】
【0008】
【特許文献1】特開2011−175382号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述した非特許文献1および特許文献1の呼制御システムでは、同期処理の際に、ACT(現用)系呼制御サーバから転送されたセッション確立に関する情報はSBY(予備用)系呼制御サーバの同期領域に格納されている。
【0010】
そして、ACT(現用)系呼制御サーバにおいて故障が発生し呼制御を行うサーバが切り替えられる際に、SBY(予備用)系呼制御サーバは、同期領域に格納されている情報をヒープ領域に展開して呼処理を再開する。
【0011】
しかし、このように系切り替え時にSBY(予備用)系呼制御サーバにおいて同期領域からヒープ領域への情報の展開処理を行うと、呼制御の再開までにこの展開処理のための時間を要し、系切り替えに時間がかかるという問題があった。
【0012】
そこで本発明では、冗長化された呼制御システムにおいて、効率良く短時間で系切り替え処理を実行するための呼制御に利用する情報の冗長化方法および呼制御システムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記の課題を解決するための、本発明の呼制御に利用する情報の冗長化方法は、呼処理を実行する複数のSIPサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムの、前記予備用系呼制御サーバが、前記現用系呼制御サーバで処理中の呼処理に関する情報を、自サーバ内の同期領域記憶部に記憶するステップと、前記現用系呼制御サーバが、自サーバで処理中の呼処理に関する情報の変更点を、所定の転送タイミングで前記予備用系呼制御サーバに転送するステップと、前記予備用系呼制御サーバが、自サーバ内の同期処理制御部により、前記現用系呼制御サーバから転送された前記処理中の呼処理に関する情報の変更点で、前記同期領域記憶部に記憶した情報を更新するステップと、前記予備用系呼制御サーバ内の処理データ記憶部において、前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して、自サーバが稼動したときに呼処理で利用するために前記処理データ記憶部内の領域に展開するステップとを有することを特徴とする。
【0014】
また前記予備用系呼制御サーバの処理データ記憶部では、所定時間間隔で前記同期領域記憶部に情報の更新の有無を確認した結果、前記同期領域記憶部内に記憶された情報が更新されたことを検知したとき、または、前記同期領域記憶部から更新があったことが通知されたことにより前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して前記処理データ記憶部内の領域に展開するようにしてもよい。
【0015】
また本発明の呼制御システムは、呼処理を実行する複数のSIPサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムであって、前記現用系呼制御サーバは、自サーバで処理中の呼処理に関する情報の変更点を、所定の転送タイミングで前記予備用系呼制御サーバに転送する同期処理制御部を有し、前記予備用系呼制御サーバは、前記現用系呼制御サーバで処理中の呼処理に関する情報を記憶し、この記憶した情報を前記現用系呼制御サーバから転送された前記処理中の呼処理に関する情報の変更点で更新する同期領域記憶部と、前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して、自サーバが稼動したときに呼処理で利用するための領域に展開する処理データ記憶部とを有することを特徴とする。
【発明の効果】
【0016】
本発明の呼制御に利用する情報の冗長化方法および呼制御システムによれば、冗長化された呼制御システムにおいて、効率良く短時間で系切り替え処理を実行することが可能になる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態による呼制御システムを用いたSIP通信システムの構成を示す全体図である。
【図2】本発明の一実施形態による呼制御システムの構成を示すブロック図である。
【図3】本発明の一実施形態による呼制御システムの呼処理制御部の構成を示すブロック図である。
【図4】本発明の一実施形態による呼制御システム内のサーバで実行されるシーケンスパターンの一例を示す説明図である。
【図5】本発明の一実施形態による呼制御システム内のACT(現用)系呼制御サーバの記憶部の構成を示す説明図である。
【図6】本発明の一実施形態による呼制御システム内のSBY(予備用)系呼制御サーバの記憶部の構成を示す説明図である。
【図7】本発明の一実施形態による呼制御システム内のサーバにおける動作を示すフローチャートである。
【図8】本発明の一実施形態による呼制御システム内のサーバで実行されるシーケンス上の救済データ転送タイミングを示す説明図である。
【図9】本発明の一実施形態による呼制御システム内のSBN(予備用)系呼制御サーバの処理データ記憶部への、ポーリングに基づく展開タイミングでの情報の展開動作を示すフローチャートである。
【図10】本発明の一実施形態による呼制御システム内のSBN(予備用)系呼制御サーバの処理データ記憶部への、イベントドリブンに基づく展開タイミングでの情報の展開動作を示すフローチャートである。
【発明を実施するための形態】
【0018】
本発明の一実施形態による呼制御システムは前後に1以上のSIPサーバが接続され、これら前後のSIPサーバとの間で、予め設定された一連の処理シーケンス(工程)情報に従ってSIP信号を送受信することにより、呼を確立させメディア通信のサービス提供を可能にさせるものである。
【0019】
この予め設定される処理シーケンス情報は、一連の呼制御シーケンス処理の一部を構成する、呼接続、応答、切断等の詳細処理単位のシーケンス部分である「シーケンスパターン」が所定の実行順序で組み合わせられて構成されている。
【0020】
〈一実施形態による呼制御システムを利用したSIP通信システムの構成〉
本発明の一実施形態による呼制御システムを利用したSIP通信システム1の構成について、図1を参照して説明する。
【0021】
本実施形態によるSIP通信システム1は、複数の加入者端末2A〜2Dと、これらの加入者端末のうち加入者端末2Aおよび加入者端末2BにIPネットワーク3を介して接続されたプロキシサーバであるSIPサーバ4Aと、加入者端末2Cおよび加入者端末2DにIPネットワーク3を介して接続されたプロキシサーバであるSIPサーバ4Bと、SIPサーバ4AおよびSIPサーバ4Bに接続されたIPネットワーク3上の複数の転送装置3A〜3Gと、SIPサーバ4AとSIPサーバ4Bとの間を中継する中継サーバ5A、5Bと、SIPサーバ4A、SIPサーバ4B、および中継サーバ5B等に接続された呼制御システム6と、呼制御システム6に接続されたIPネットワーク3上のメディアサーバ7A、7Bとを有する。音声情報や映像情報等のメディア情報のトラヒックは、IPネットワーク3上の転送装置3A〜3G等を経由して、加入者端末2A〜2D間や、加入者端末2A〜2Dとメディアサーバ7A、7B間で転送される。
【0022】
加入者端末2A〜2Dはそれぞれ、ユーザである加入者が利用するIP電話、HGW(ホームゲートウェイ)等であり、SIPを利用して音声情報や映像情報などの加入者端末間で利用するメディア通信を行うためのSIPネゴシエーションを行う機能を有する。加入者端末2A〜2Dは、SIPネゴシエーションの結果決定した、信号条件でメディア通信を行う機能を有する。
【0023】
転送装置3A〜3Gはそれぞれ、IPネットワーク3に位置し、加入者端末間2A〜2Dのメディア通信のトラヒックを転送する。
【0024】
SIPサーバ4Aは、加入者端末2Aおよび2BのSIP信号を中継するプロキシサーバであり、SIPサーバ4Bは加入者端末2Cおよび2DのSIP信号を中継するプロキシサーバである。SIPサーバ4A、4Bは、加入者端末間のSIPネゴシエーションを中継し、加入者契約情報に基づいて補足する機能を有し、あらかじめ保持したルールに従ってSIP信号を編集する機能を有している。
【0025】
中継サーバ5A、5Bは、SIPサーバ4AとSIPサーバ4Bと接続し、SIP信号中継する機能を有する。
【0026】
呼制御システム6は、図2に示すようにクラスタシステムとして構築されたACT(現用)系呼制御サーバ61とSBY(予備用)系呼制御サーバ62とを有し、いずれかのサーバにより、SIPサーバでの加入者契約情報種別および要求サービスに基づいてSIPサーバ4Aと4Bとの間の呼の確立、切断の制御を行い、必要に応じてメディアサーバ7A、7Bと加入者端末2A〜2Dとのメディア通信ができるよう、SIPネゴシエーションを行う。また、その後の加入者端末2A〜2D間のメディア通信が行えるように、SIP信号を編集してSIPネゴシエーションを中継し、呼を確立する。
【0027】
図1においては呼制御システム6には2台のSIPサーバ(プロキシサーバ)4A、4B、および2台のメディアサーバ7A、7B等が接続されている場合について示しているが、実際にはさらに多くのSIPサーバ、メディアサーバ等に接続され、これらの装置間における複数の呼の確立、切断の制御が可能である。
【0028】
通常時にはACT(現用)系呼制御サーバ61が稼働し、このACT(現用)系呼制御サーバ61に故障が発生したときに、SBY(予備用)系呼制御サーバ62が現用系に切り替わって稼働する。
【0029】
ACT(現用)系呼制御サーバ61は図2に示すように、第1呼処理制御部611と、第1処理データ記憶部612と、第1同期処理制御部613と、第1同期領域記憶部614とを有する。第1呼処理制御部611の構成として、処理内容に基づいて分類された複数の機能部が階層的に構築されている場合の例を、図3を参照して詳細に説明する。
【0030】
本実施形態における第1呼処理制御部611は、トランスポート機能部6111と、受信信号バッファ6112と、プロトコル機能部6113と、ユーザエージェント(UA)機能部6114と、シーケンス機能部6115と、サービス機能部6116と、送信信号バッファ6117とを有する。トランスポート機能部6111、プロトコル機能部6113、ユーザエージェント(UA)機能部6114、シーケンス機能部6115、およびサービス機能部6116は、下位の機能を有するトランスポート機能部6111から上位の機能を有するサービス機能部6116へ、階層的に構築されている。
【0031】
トランスポート機能部6111は、受信SIP信号の受信時に、当該受信SIP信号を自装置で処理するためのパース処理(前処理)を実行する受信処理部6111aと、送信SIP信号の送信時に、送信信号バッファ6117の情報に基づいて送信用SIP信号を生成する逆パース処理を行う送信処理部6111bとを有する。
【0032】
受信信号バッファ6112は、トランスポート機能部6111でパース処理された受信信号情報を保持する。パース処理後の情報を受信信号バッファ6112に保持しておくことで、後述するプロトコル機能部6113、UA機能部6114においてパース処理済後の受信信号を参照することが可能になり、効率的に処理を実行することが可能になる。
【0033】
プロトコル機能部6113は受信信号バッファを参照し、パース処理された受信信号情報をプロトコルに従って解析し、発着加入者端末2との呼処理による通信に使用されるインタフェースとしてのダイアログ情報や信号受信時に発生する更新処理対象であるトランザクション情報、ダイアログを維持するためのタイマ情報等を取得して保持する受信処理部6113aと、送信SIP生成のためのダイアログ情報やトランザクション情報、ダイアログを維持するためのタイマ情報等を送信SIP信号の生成に用いる情報として送信信号バッファ6117に送出する送信処理部6113bとを有する。
【0034】
SIP信号の送受信は、必ずserver-clientの関係で行われるため、UA機能部6114は、発信側がUAC(User Agent Client)の場合に、この発信側に対応するUAS(User Agent Server)6114aと、着信側がUAS(User Agent Server)の場合に、この着信側に対応するUAC(User Agent Client)6114bとを有し、これらが連携して発着信側のSIPサーバとの通信に関する処理を行う。
【0035】
このようにUA機能部6114内にUAS6114aとUAC6114bを設けこれらが連携して発着信側のサーバや端末との通信を行うことにより、これらの接続されたサーバや端末に対して自呼制御サーバ61がUASとしてもUACとしても機能することができ、さらにそれらのUAS6114aとUAC6114bとを連携させてサービスを実行する仕組みを持つことで、従来の単純なプロキシサーバでは実現し難い高度なサービスをネットワーク側から発着信側に提供することも可能である。また、発着信側のUAS6114a、UAC6114bの関係を保ったまま通信可能であるため、ネットワークポリシーを維持しやすいという利点がある。
【0036】
UAS6114aは受信信号バッファ6112を参照し、パース処理された受信信号情報から受信SIP信号の種別を判定し、この判定した種別から、処理シーケンス中の段階にかかわらず折り返し送信元に応答すべきSIP信号の種別(ステータスコード)がプロトコルに従って一意に特定される場合には、この特定した種別のSIP信号をプロトコル機能部6113の受信処理部6113a、トランスポート機能部6111の受信処理部6111aによる処理を介して受信SIP信号の送信元のSIPサーバに送信することで応答し、判定した種別により応答すべきSIP信号の種別が一意に特定されない場合には上位のシーケンス機能部6115へ通知を行う。
【0037】
例えば、UAS6114aが受信信号バッファ6112を参照して受信SIP信号のCall-ID、リモートタグ、ローカルタグ等を取得し、これが自サーバ61内に呼制御の情報として保持されているかどうかを確認し、自サーバ61内に呼制御の情報として保持されていないときには、既に確立されている呼を維持するためのリフレッシュ信号の1つであるre-INVITE信号であると判定する。
【0038】
そして、re-INVITE信号に対しては呼制御シーケンス情報に関わらず折り返し応答すべき信号のステータスコードを「200(応答)」として特定することができ、このステータスコード「200(応答)」の情報を受信信号バッファ6112に送出する。
【0039】
また、UAS6114aが取得した受信SIP信号のCall-IDが自サーバ61内に呼制御の情報として保持されていたとき、例えば受信SIP信号が呼び出し制御中の暫定応答としてのPRACK信号であると判定したときには、受信SIP信号が「PRACK信号」である情報をシーケンス機能部6115へ通知する。
【0040】
UAC6114bは、後述するシーケンス機能部6115で特定された送信すべき信号のステータスコード、これに基づいて特定した送信先のSIPサーバの情報を送信信号バッファ6117に送出する。保持した送信先の情報は、呼切断時にメモリの該当部分を解放することで削除(無効化)する。また、呼切断時に解放ステータスにして、タイマを設定して、タイムアウト時に削除してもよい。
【0041】
シーケンス機能部6115は実行中のサービスの処理に関する処理シーケンス(工程)パターンを選択して自装置内のメモリ(図示せず)に保持し、UA機能部6114から受信SIP信号の信号種別に基づいて応答すべき信号のステータスコードを一意に特定できないことが通知されたときに、保持した処理シーケンスパターン中における現在の段階の特定を行う。そして、この段階に基づいて次に送信すべき信号(例えば、「Init-INVITE」、「180(呼出中)」、「PRACK」、「200(応答)」等)を送信SIP信号の生成のために特定する。
【0042】
処理シーケンスパターンの例を、図4に示す。図4(a)は呼接続部分のシーケンスパターンaであり、図4(b)は呼確立後の応答部分のシーケンスパターンbであり、図4(c)は呼切断部分のシーケンスパターンcである。シーケンスパターンは、発信側(呼制御システム6における受信側)に接続されたサーバとの送受信に関する発側シーケンスパターンと、信号送信側(呼制御システム6における送信側)に接続されたサーバとの送受信に関する着側シーケンスパターンとを有している。そしてこれらの発側シーケンスパターンと着側シーケンスパターンとは連携しており、例えば発側シーケンスパターンに従って受信した信号の種別に基づいて、次に送信すべき信号の種別およびUA機能部6114で対応するUAS6114aおよびUAC6114bを、前記着側シーケンスパターンに従って特定する。
【0043】
シーケンス機能部6115では例えば、受信SIP信号がPRACK信号であるときには、送信すべき信号を「PRACK」として、送信SIP信号の生成のために特定する。
【0044】
ここで、シーケンス機能部6115は、処理中のシーケンスパターンが最後まで完了したと判断したときにはメモリの該当部分を解放することで保持したシーケンスパターン情報を削除(無効化)するとともに、サービス機能部6116へ通知する。このシーケンスパターンの削除は、後述するようにサービス機能部6116へ通知したことにより新たなシーケンスパターンが指示されこれを保持した後に実行してもよいし、シーケンスパターンの完了時に解放ステータスにしてタイマを設定し、タイムアウト時に削除するようにしてもよい。
【0045】
サービス機能部6116は、発着加入者端末2で加入されているサービス内容に基づいて、シーケンス機能部6115で用いられるシーケンスパターンの実行順序であるシナリオを管理し、シーケンス機能部6115で処理中のシーケンスパターンの処理が完了したことが通知されたときに、このシナリオに基づいて次に実行させるシーケンスパターンをシーケンス機能部6115に指示する。
【0046】
例えば、図4の各シーケンスパターンが、シーケンスパターンa→シーケンスパターンb→シーケンスパターンcの順で実行されるように組み合わせられた処理シーケンスを、一連の呼接続処理のサービス内容として予め保持し、これに基づいてシーケンス機能部6115に対し次の処理対象のシーケンスパターンを指示する。
【0047】
上記の機能部のうち、トランスポート機能部6111、プロトコル機能部6113、およびUA機能部6114は信号単位でプロトコルに従ってSIP信号処理を実行し、シーケンス機能部6115、およびサービス機能部6116はサービスの実行や制御に関する処理を実行する。
【0048】
送信信号バッファ6117は、UA機能部6114のUAC6114bから送出された送信すべき信号のステータスコード、送信先の情報、プロトコル機能部6113の送信処理部6113bから送出されたダイアログ情報、トランザクション情報を、送信SIP信号を生成するための情報として保持する。
【0049】
第1処理データ記憶部612はメモリのヒープ領域であり、第1呼処理制御部611の各機能部で実行された処理に関する情報を、呼ごと、および機能部ごとに展開して一時的に記憶し、呼処理の継続のために利用する。この第1処理データ記憶部612の構成について、図5を参照して説明する。
【0050】
第1処理データ記憶部612は、セッションごとに情報を記憶する領域を有し、第1セッションの処理に用いる情報を記憶する第1セッション情報領域612Aと、第2セッションの処理に用いる情報を記憶する第2セッション情報領域612Bと、第3セッションの処理に用いる情報を記憶する第3セッション情報領域612Cとを有する。
【0051】
これらの第1セッション情報領域612A、第2セッション情報領域612B、および第3セッション情報領域612Cはそれぞれ別の呼(セッション)に関するデータを保持する領域であり、各セクションで1呼分の処理に必要なデータを保持することが可能である。これらのセッション情報領域612A〜612Cはそれぞれ、第1呼処理制御部611のトランスポート機能部6111の処理に関する情報を記憶するトランスポート機能部情報領域6121A〜6121Cと、プロトコル機能部6113の処理に関する情報を記憶するプロトコル機能部情報領域6122A〜6122Cと、UA機能部6114の処理に関する情報を記憶するUA機能部情報領域6123A〜6123Cと、シーケンス機能部6115の処理に関する情報を記憶するシーケンス機能部情報領域6124A〜6124Cと、サービス機能部6116の処理に関する情報を記憶するサービス機能部情報領域6125A〜6125Cとを有する。トランスポート機能部情報領域6121A〜6121Cにはそれぞれ、受信処理部6111aの処理に関する情報を記憶する受信処理部情報領域6121A(a)〜6121C(a)および送信処理部6111bの処理に関する情報を記憶する送信処理部情報領域6121A(b)〜6121C(b)を有し、プロトコル機能部情報領域6122A〜6122Cにはそれぞれ、受信処理部6113aの処理に関する情報を記憶する受信処理部情報領域6122A(a)〜6122C(a)および送信処理部6113bに関する情報を記憶する送信処理部情報領域6122A(b)〜6122C(b)を有し、UA機能部情報領域6123A〜6123Cにはそれぞれ、UAS6114aの処理に関する情報を記憶するUAS情報領域6123A(a)〜6123C(a)およびUAC6114bに関する情報を記憶するUAC情報領域6123A(b)〜6123C(b)を有する。
【0052】
第1同期処理制御部613は、SBY(予備用)系呼制御サーバ62の第2同期処理制御部623との間で転送制御信号の送受信をすることにより、ACT(現用)系呼制御サーバ61に記憶された情報とSBY(予備用)系呼制御サーバ62に記憶された情報の同期をとるための、ACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62への情報の転送処理を制御する。
【0053】
第1同期領域記憶部614は、第1呼処理制御部611の各機能部に対応する領域を固定的に有する。この第1同期領域記憶部614の構成について、図5を参照して詳細に説明する。
【0054】
第1同期領域記憶部614は、セッションごとに情報を記憶する領域を有し、第1セッションの処理に用いる情報を記憶する第1セッション情報領域614Aと、第2セッションの処理に用いる情報を記憶する第2セッション情報領域614Bと、第3セッションの処理に用いる情報を記憶する第3セッション情報領域614Cとを有する。
【0055】
これらの第1セッション情報領域614A、第2セッション情報領域614B、および第3セッション情報領域614Cはそれぞれ別の呼(セッション)に関するデータを保持する領域であり、各セクションで1呼分の処理に必要なデータを保持することが可能である。これらのセッション情報領域614A〜614Cはそれぞれ、第1呼処理制御部611のトランスポート機能部6111の処理に関する情報を記憶するトランスポート機能部情報領域6141A〜6141Cと、プロトコル機能部6113の処理に関する情報を記憶するプロトコル機能部情報領域6142A〜6142Cと、UA機能部6114の処理に関する情報を記憶するUA機能部情報領域6143A〜6143Cと、シーケンス機能部6115の処理に関する情報を記憶するシーケンス機能部情報領域6144A〜6144Cと、サービス機能部6116の処理に関する情報を記憶するサービス機能部情報領域6145A〜6145Cと、これらの情報を統括的に管理するデータ管理情報領域6146A〜6146Cと、予備領域6147A〜6147Cとを有する。
【0056】
トランスポート機能部6111の処理としては、パース処理や信号生成処理があり、これらに関する情報としては、受信SIP信号情報や送信SIP信号情報等がある。
【0057】
また、プロトコル機能部6113のトランザクション処理としては、トランザクションの特定、再送信号処理、ダイアログを維持するためのタイマの監視処理があり、これらに関する情報としては、各種タイマのタイマ満了となる時刻情報、SIP信号によるリクエストまたは応答のルートバスであるViaヘッダのbranchパラメータ情報、トランザクションに関するCseqヘッダ情報、Rseqヘッダ情報等がある。
【0058】
また、UA機能部6114の処理としては、ダイアログの管理処理、トランザクションの管理処理、SIP信号の制御処理等があり、これらに関する情報としては、リクエストの送信者を示すTOヘッダ情報、メッセージの送信者を示すFromヘッダ情報、プロキシの経路指定を示すRouteヘッダ情報、プロキシが挿入するリクエストの経路記録を示すRecord-Routeヘッダ情報、メッセージ送信者のコンタクトアドレスを示すContactヘッダ情報、Toヘッダのtagパラメータ情報、Fromヘッダのtagパラメータ情報等がある。
【0059】
また、シーケンス機能部6115の処理としては、シーケンスの実行処理があり、これに関する情報としては、サービスで使用しているUAの管理情報等がある。
【0060】
サービス機能部6116の処理としては、サービスの判定処理、シナリオの実行処理、メディアの張替え処理、メディアの変更処理等があり、これらに関する情報としては、SDP情報(メディアの情報)、契約者データ(変換元と変換先の電話番号データ等)、システム依存データ等がある。
【0061】
SBY(予備用)系呼制御サーバ62は、第2呼処理制御部621と、第2第2処理データ記憶部622と、第2同期処理制御部623と、第2同期領域記憶部624とを有する。
【0062】
第2呼処理制御部621は、トランスポート機能部6211と、受信信号バッファ6212と、プロトコル機能部6213と、ユーザエージェント(UA)機能部6214と、シーケンス機能部6215と、サービス機能部6216と、送信信号バッファ6217とを有し、SBY(予備用)系呼制御サーバ62が稼働したときに稼働する。これらの機能部の機能は、ACT(現用)系呼制御サーバ61の第1呼処理制御部611の対応する機能部の機能と同様のため、詳細な説明は省略する。
【0063】
第2処理データ記憶部622は、ACT(現用)系呼制御サーバ61が稼動しているときにも所定のタイミングで第2同期領域記憶部624から実行中の処理に必要なデータを取得して展開するとともに、SBY(予備用)系呼制御サーバ62が稼動しているときには第2呼処理制御部621の各機能部で実行された処理に関する情報を一時的に記憶し、ACT(現用)系呼制御サーバ61に故障が発生して自サーバが現用系に切り替わって稼動するときに呼処理の継続のために利用する。この第2処理データ記憶部622の構成について、図6を参照して説明する。
【0064】
第2処理データ記憶部622は、セッションごとに情報を記憶する領域を有し、第1セッションの処理に用いる情報を記憶する第1セッション情報領域622Aと、第2セッションの処理に用いる情報を記憶する第2セッション情報領域622Bと、第3セッションの処理に用いる情報を記憶する第3セッション情報領域622Cとを有する。
【0065】
これらの第1セッション情報領域622A、第2セッション情報領域622B、および第3セッション情報領域622Cはそれぞれ別の呼(セッション)に関するデータを保持する領域であり、各セクションで1呼分の処理に必要なデータを保持することが可能である。これらのセッション情報領域622A〜622Cはそれぞれ、第2呼処理制御部621のトランスポート機能部6211の処理に関する情報を記憶するトランスポート機能部情報領域6221A〜6221Cと、プロトコル機能部6113の処理に関する情報を記憶するプロトコル機能部情報領域6222A〜6222Cと、UA機能部6214の処理に関する情報を記憶するUA機能部情報領域6223A〜6223Cと、シーケンス機能部6215の処理に関する情報を記憶するシーケンス機能部情報領域6224A〜6224Cと、サービス機能部6216の処理に関する情報を記憶するサービス機能部情報領域6225A〜6225Cとを有する。トランスポート機能部情報領域6221A〜6221Cにはそれぞれ、受信処理部6211aの処理に関する情報を記憶する受信処理部情報領域6221A(a)〜6221C(a)および送信処理部6211bの処理に関する情報を記憶する送信処理部領域6221A(b)〜6221C(b)を有し、プロトコル機能部情報領域6222A〜6222Cにはそれぞれ、受信処理部6213aの処理に関する情報を記憶する受信処理部情報領域6222A(a)〜6222C(a)および送信処理部6213bに関する情報を記憶する送信処理部領域6222A(b)〜6222C(b)を有し、UA機能部情報領域6223A〜6223Cにはそれぞれ、UAS6214aの処理に関する情報を記憶するUAS情報領域6223A(a)〜6223C(a)およびUAC6214bに関する情報を記憶するUAC情報領域6223A(b)〜6223C(b)を有する。
【0066】
第2同期処理制御部623は、ACT(現用)系呼制御サーバ61の第1同期処理制御部613と転送制御に関する信号の送受信をすることにより、ACT(現用)系呼制御サーバ61に記憶された情報とSBY(予備用)系呼制御サーバ62に記憶された情報の同期をとるための、ACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62への情報の転送処理を制御する。
【0067】
第2同期領域記憶部624は、第2呼処理制御部621の各機能部に対応する領域を固定的に有する。この第2同期領域記憶部624の構成について、図6を参照して詳細に説明する。
【0068】
第2同期領域記憶部624は、セッションごとに情報を記憶する領域を有し、第1セッションの処理に用いる情報を記憶する第1セッション情報領域624Aと、第2セッションの処理に用いる情報を記憶する第2セッション情報領域624Bと、第3セッションの処理に用いる情報を記憶する第3セッション情報領域624Cとを有する。
【0069】
この第1セッション情報領域624A、第2セッション情報領域624B、第3セッション情報領域624Cはそれぞれ異なるセクションで、メモリ内で並列して書き込み処理可能であり、各セクションは他のセクションから独立して排他ロックをかけることができる。つまり、ロックをかけている間はそのセクションでは、当該処理以外に関する情報を書き込むことができない状態にすることができる。
【0070】
これらの第1セッション情報領域624A、第2セッション情報領域624B、および第3セッション情報領域624Cはそれぞれ、ACT(現用)系呼制御サーバ61のトランスポート機能部情報領域6141A〜6141Cに対応するトランスポート機能部情報領域6241A〜6241Cと、プロトコル機能部情報領域6142A〜6142Cに対応するプロトコル機能部情報領域6242A〜6242Cと、UA機能部情報領域6143A〜6143Cに対応するUA機能部情報領域6243A〜6243Cと、シーケンス機能部情報領域6144A〜6144Cに対応するシーケンス機能部情報領域6244A〜6244Cと、サービス機能部情報領域6145A〜6145Cに対応するサービス機能部情報領域6245A〜6245Cと、データ管理情報領域6146A〜6146Cに対応するデータ管理情報領域6246A〜6246Cと、予備領域6247A〜6247Cとを有する。
【0071】
ACT(現用)系呼制御サーバ61の第1同期領域記憶部614およびSBY(予備用)系呼制御サーバ62の第2同期領域記憶部624にそれぞれ設けられたセクション数は呼(セッション)数と関連しており、本実施形態においては双方の同期領域記憶部に3つの呼(セッション)に対応するように3のセクションを有する場合を示したが、さらに多くの数のセッションにそれぞれ対応するようにセクションを設けてもよい。また、1つの呼(セッション)に対して複数のセッションずつ割り当てるようにしてもよい。
【0072】
〈一実施形態による呼制御システムを利用したSIP通信システムの動作〉
本発明の一実施形態によるSIP通信システム1において、発信端末である加入者端末2Aまたは2BからSIPサーバ4A、呼制御システム6、SIPサーバ4Bを経由して加入者端末2Cまたは2Dに呼制御に関するSIP信号が送信されるときの、呼制御システム6のACT(現用)系呼制御サーバ61の動作について、図7のフローチャートを参照して説明する。
【0073】
本実施形態において、第1同期処理制御部613には、故障時にACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62に切り替えられたときに呼接続を維持させるために必要な情報である救済データのうち、ACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62に転送するタイミングである救済データ転送タイミングに関する情報が、予め保持されているものとする。この救済データ転送タイミングの詳細については、後述する。
【0074】
まず、SIPサーバ4Aから、新規に呼を確立するためのInit-INVITE信号が送信されると、INVITE信号に関して起呼信号であるか、セッションリフレッシュ信号であるかが第1呼処理制御部611において判定される。
【0075】
ここでは、受信信号バッファ6112、送信信号バッファ6117や、各機能部に関して保存されたデータが第1処理データ記憶部612に何もなく新規の呼制御であると判定され、サービス機能部6116において発着加入者端末2で加入されているサービス内容のシナリオに基づいて、実行するシーケンスパターンがシーケンス機能部6115に指示される。サービスに応じて複数のシーケンスパターンを同時に選択するように指示することもできる。
【0076】
シーケンス機能部6115では、サービス機能部6116から指示されたシーケンスパターン(例えばシーケンスパターンa)が実行するシーケンスパターンとして選択され保持される。
【0077】
実行するシーケンスパターンが保持された後に、SIPサーバ4Aから受信されたInit-INVITE信号は(S1)、トランスポート機能部6111の受信処理部6111aにおいてこの受信SIP信号を自装置で処理するためのパース処理(前処理)が実行される(S2)。具体的には、受信SIP信号がInit-INVITE信号であることを自装置内で識別しやすくするための識別情報「1」を1バイト目に付加する等の処理が行われる。パース処理が実行された受信信号情報は、受信信号バッファ6112に保持される。
【0078】
パース処理で取得された情報は、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612に記憶される。また、受信信号バッファ6112に保持された情報は、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612の対応する領域に記憶される。
【0079】
次にプロトコル機能部6113の受信処理部6113aにおいて受信信号バッファ6112が参照され、パース処理された受信信号がプロトコルに従って解析され、発着加入者端末2のダイアログ情報やトランザクション情報、ダイアログを維持するためのタイマ情報等が取得される(S3)。取得されたダイアログ情報やトランザクション情報、ダイアログを維持するためのタイマ情報等は、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612の対応する領域に記憶される。ここまでの処理により、受信処理が完了する(S4)。
【0080】
受信処理が完了すると、第1呼処理制御部611のトランスポート機能部6111において、パース処理で取得された受信SIP信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される(S5)。
【0081】
本実施形態における救済データ転送タイミングについて図8(a)〜(c)を参照して説明する。
【0082】
図8(a)は呼制御処理が実行されるときの、SIPサーバ間での呼単位の各SIP信号の送受信順序をシーケンスで示したものである。
【0083】
図8(a)に示すように、ACT(現用)系呼制御サーバ61では、呼開始要求を示すInit-INVITE信号が発信側のSIPサーバ4Aから送信される(S21)と、試行中であることを示すTrying(100)信号をSIPサーバ4Aに返信する(S22)とともに、着信側のSIPサーバ4BにInit-INVITE信号を転送する(S23)。そして、SIPサーバ4Bに転送したInit-INVITE信号の返信としてのTrying(100)信号を受信する(S24)。
【0084】
その後、着信側の加入者端末で呼び出し中であることを示すRinging(180)信号をSIPサーバ4Bから受信する(S25)と、これを発信側のSIPサーバ4Aに転送し(S26)、これに対する暫定応答としてPRACK信号を受信する(S27)。
【0085】
次に、受信したPRACK信号をさらに着信側のSIPサーバ4Bに送信し(S28)、これに対する暫定応答として200(PRACK)信号を受信し(S29)、これをさらに発信側のSIPサーバ4Aに転送する(S30)。
【0086】
その後、着信側の加入者端末で応答したことを示す200(Init-INVITE)をSIPサーバ4Bから受信すると(S31)、これを発信側のSIPサーバ4Aに転送し(S32)、着信側の加入者端末で応答されたことが通知される。
【0087】
これに対応して送信側のSIPサーバ4Aから呼確立了解を示すACK信号が送信される(S33)とこれを着信側のSIPサーバ4Bに転送し(S34)、通信が開始される。
【0088】
図8(b)は、通話中にre-INVITE信号によりセッションリフレッシュが実行される場合のシーケンスであり、発着信側の加入者端末からのre-INVITE信号がSIPサーバ4Aから送信されると(S41)、呼制御システム6が応答して200信号を返信する(S42)ことによりACK信号が送信されて(S43)セッションタイマが更新され、呼の確立が維持される。
【0089】
または、呼制御システム6からre-INVITE信号が送信されると(S44)、発着信側の加入者端末が応答したことを示す200信号を返信する(S45)ことにより呼制御システム6がACK信号を返信して(S46)セッションタイマが更新され、呼の確立が維持される。
【0090】
また図8(c)は、UPDATE信号によりセッションリフレッシュが実行される場合のシーケンスであり、発着信側の加入者端末からUPDATE信号が送信されると(S51)、呼制御システム6が応答して200信号を返信する(S52)ことによりセッションタイマが更新され、呼の確立が維持される。
【0091】
または、呼制御システム6からUPDATE信号が送信されると(S53)、発着信側の加入者端末が応答して200信号を返信する(S54)ことによりセッションタイマが更新され、呼の確立が維持される。
【0092】
図8(a)に戻り、発信側のSIPサーバ4Aから呼切断要求を示すBYE信号が送信されると(S35)、呼制御システム6では、これに対する応答として200(BYE)を返信する(S36)とともに、着信側のSIPサーバ4BにBYE信号を転送する(S37)。そして、SIPサーバ4Bに転送したBYE信号の返信としての200(BYE)信号を受信する(S38)ことにより、呼が切断される。
【0093】
このように実行される呼制御処理において、ACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62への救済データ転送タイミングは、前回のACT(現用)系呼制御サーバ61とSBY(予備用)系呼制御サーバ62との情報の同期処理(救済データの転送処理)以降の変更点の情報が喪失しても、プロトコルに従って呼制御処理が復旧できるタイミングで設定される。
【0094】
具体的には、(i)呼制御サーバ61への再送が期待できす、該信号を送受信したことを記憶していないと呼制御サーバ61からの再送も不可能でありシーケンスの復旧、継続が不可能な信号の送受信時(例えばステップS23のInit-INVITE信号の送信時)、および、(ii)該信号を送受信したことを記憶しておらず、故障が発生しシーケンスが巻き戻ってしまっても、次に受信する信号を呼制御サーバ61で適切に処理可能な信号の送受信時(例えばステップS25のRinging(180)信号の受信時)であり、エンドツーエンドで送受信する信号のトランザクションを開始する信号(PRACKやUPDATE信号等)や終了する信号(200 OK信号等)を送受信するタイミングである。
【0095】
本実施形態においては、図8(a)〜(c)中の、タイミングt1〜t17で示す時が、上記(i)または(ii)に該当する救済データ転送タイミングとして設定されているものとする。呼制御サーバ61が信号を受信した場合でその信号が(i)及び(ii)に該当するときは受信信号の処理の過程で他系(SBY系)にデータ転送を完了する。一方、呼制御サーバ61が信号を送信した場合でその信号が(i)及び(ii)に該当するときは送信信号の生成処理の過程で他系(SBY系)にデータ転送を完了する。
【0096】
このように救済データ転送タイミングが設定されることにより、例えばステップS25において受信したRinging(180)信号の受信信号バッファ6112への記憶が完了する前に故障が発生し、稼働するサーバがACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62に移った場合に、SBY(予備用)系呼制御サーバ62にはステップS24のTrying(100)信号の受信に関する記録はなくステップS23のInit-INVITE信号の転送に関する記録までしか残っていないが、再度ステップS23のInit-INVITE信号の転送から処理が再開されるように巻き戻っても、プロトコルに従って適切に処理が続行される。
【0097】
この救済データ転送タイミングの設定に関する情報は、Init-INVITEを受信してサービス判定を行いサービスが決定した段階で、転送が必要な信号のリストとしてサービス機能部6116から指定しそれをトランスポート機能部6111でもっておくようにしておいてもよいし、信号の送受信毎にトランスポート機能部6111がシーケンス機能部6115に問い合わせて、シーケンス機能部6115がシーケンスパターンから救済データ転送タイミングであるか否かを判断し、トランスポート機能部6111に通知するようにしてもよい。
【0098】
図7に戻り、Init-INVITE信号を受信した時点では救済データ転送タイミングではないと判断される(S5の「NO」)。
【0099】
次にUA機能部6114のUAS6114aにおいて受信信号バッファ6112が参照され、当該受信SIP信号の送信元のSIPサーバのアドレス、および送信先のSIPサーバのアドレスが取得されて第1処理データ記憶部612の対応する領域に保持されるとともに、当該受信SIP信号の種別がパース処理で付加された識別情報に基づいて判定され、この判定された種別から、折り返し応答すべき信号のステータスコードが一意に特定されるか否かが判定される(S6)。
【0100】
ここではUAS6114aにおいて、新規の「Init-INVITE信号」に対しては処理シーケンスにかかわらずプロトコルに従って折り返し送信元にステータスコード「100(試行中)」信号を応答することが判定され、第1処理データ記憶部612に保持された情報に基づいて、プロトコル機能部6113によるダイアログ処理、トランザクション処理が行われ、トランスポート機能部6111によりステータスコード「100(試行中)」の送信SIP信号が生成されて、SIPサーバ4Aに送信される(S6の「YES」、S9〜S11、S22)。
【0101】
またステータスコード「100(試行中)」の送信SIP信号が送信されるとさらに、UAS6114aにより、新規の「Init-INVITE信号」を受信したことがシーケンス機能部6115に通知される(S6の「NO」、S7)。
【0102】
シーケンス機能部6115では、UA機能部6114から、「Init-INVITE信号」が受信されたことが通知されると、保持した処理シーケンスパターンが選択され、このシーケンス中の現在の段階が特定される(S8)。ここでは、図4(a)の呼接続部分のシーケンスパターンa中の現在の段階が特定され、さらにこの段階に基づいて次に送信すべき信号「Init-INVITE」とUA機能部6114に保持しているUAS6114a及びUAC6114bが特定される。シーケンス中の現在の段階ではUAC6114bにInit-INVITEの送信指示がなされる。指示を受けたUAC6114bにおいては、UAC6114bに対応して第1処理データ記憶部612に保持している送信先の情報等とともにInit-INVITE信号に関する情報が送信信号バッファ6117に送出される(S9)。なお、送信先の情報は受信したInit-INVITE信号に含まれており、受信時にUAS6114aで第1処理データ記憶部612の対応する領域に保持しておき、上記のタイミングでUAC6114bに送信先情報等のデータを引き継ぐ。また、プロトコル機能部6113の送信処理部6113bにより、第1処理データ記憶部612に保持している送信SIP生成のためのダイアログ情報やトランザクション情報等の送信情報が送信信号バッファ6117に送出される。
【0103】
次にトランスポート機能部6111の送信処理部6111bにおいて、送信信号バッファ6117の情報が用いられて逆パース処理が行われて送信SIP信号が生成される(S10)。そして、生成された送信SIP信号が、SIPサーバ4Bに送信される(S11、S23)。送信信号バッファ6117に保持された情報は、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612の対応する領域に記憶される。
【0104】
ここで、送信SIP信号の送信処理が完了すると、第1呼処理制御部611のトランスポート機能部6111において、送信SIP信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される(S12)。
【0105】
ここでは受信したInit-INVITE信号に対してTrying(100)信号がSIPサーバ4Aに返信されるとともにInit-INVITE信号がSIPサーバ4Bに転送されており、これらの送信時点(図8のタイミングt1,t2)は救済データ転送タイミングであると判断される(S12の「YES」)。
【0106】
救済データ転送タイミングであると判断されると、ACT(現用)系呼制御サーバ61の第1同期処理制御部613からSBY(予備用)系呼制御サーバ62の第2同期処理制御部623に、まずSBY(予備用)系呼制御サーバ62の第2同期領域記憶部624の変更対象に該当する呼のセクション、例えば第1セッション情報領域624Aが当該転送処理以外の処理で書き込みが行われないようにするためのロック状態とする指示が送信される。そして、SBY(予備用)系呼制御サーバ62の第2同期処理制御部623によりこの指示に基づいて第2同期領域記憶部624の該当する呼の第1セッション情報領域624Aがロック状態にされる。
【0107】
次に、ACT(現用)系呼制御サーバ61の第1同期処理制御部613からデータの書き込み指示が送出され、この指示により第1処理データ記憶部612に記憶されている各機能部の処理に関するデータが、自サーバ61の第1同期領域記憶部614内の該当するトランスポート機能部情報領域6141A、プロトコル機能部情報領域6142A、UA機能部情報領域6143A、シーケンス機能部情報領域6144A、サービス機能部情報領域6145A、データ管理情報領域6146Aに書き込まれる。
【0108】
さらにACT(現用)系呼制御サーバ61の第1同期処理制御部613から救済ポイントにおけるデータの転送指示が送出され、この指示により第1処理データ記憶部612に記憶されている各機能部の処理に関するデータが、SBY(予備用)系呼制御サーバ62に救済データとして転送される(S13)。SBY(予備用)系呼制御サーバ62では、受信した救済データが、第2同期領域記憶部624のそれぞれ該当する呼情報セクションの機能部領域、例えば第1セッション情報領域624Aのそれぞれ該当する機能部領域に記憶される。
【0109】
このように第1処理データ記憶部612のデータの自サーバ61への書き込み処理、SBY(予備用)系呼制御サーバ62への該当する救済データの転送処理が完了すると、ACT(現用)系呼制御サーバ61の第1同期処理制御部613からSBY(予備用)系呼制御サーバ62の第2同期処理制御部623に、第2同期領域記憶部624の該当セクションのロックを解除する指示が送信される。そして、SBY(予備用)系呼制御サーバ62の第2同期処理制御部623によりこの指示に基づいて第2同期領域記憶部624の該当セクションのロックが解除される。
【0110】
ロックが解除された段階で、指示された書き込み処理および転送処理の完了が第1同期処理制御部613から第1呼処理制御部611に通知され、第1呼処理制御部611では継続して受信SIP信号の処理が行われる。
【0111】
このように第2同期領域記憶部624の該当セクションをロック状態にして転送処理が実行されることにより、第1同期領域記憶部614と第2同期領域記憶部624との対応するセクションで記憶されるデータに差分ができることを防止することができる。
【0112】
次に、SIPサーバ4Aから、確立された呼を維持するためのリフレッシュ信号の1つであるre-INVITE信号が送信されたときの呼制御システム6の動作について説明する。
【0113】
SIPサーバ4AからACT(現用)系呼制御サーバ61においてre-INVITE信号が受信される(S1)と、INVITE信号に関して起呼信号であるか、セッションリフレッシュ信号であるかが判定される。
【0114】
ここではセッションリフレッシュ信号のre-INVITE信号であると判定される。
【0115】
次にトランスポート機能部6111の受信処理部6111aにおいてこの受信SIP信号を自装置で処理するためのパース処理(前処理)が実行される(S2)。
【0116】
パース処理で取得された情報は、前回の信号処理時との変更点が、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612の対応する領域に記憶される。
【0117】
次にプロトコル機能部6113の受信処理部6113aにおいて受信信号バッファ6112が参照され、パース処理された受信信号がプロトコルに従って解析され、発着加入者端末2のダイアログ情報やトランザクション情報、ダイアログを維持するためのタイマ情報等が取得される(S3)。取得されたダイアログ情報やトランザクション情報、ダイアログを維持するためのタイマ情報等の前回の信号処理時との変更点は、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612の対応する領域に記憶される。ここまでの処理により、受信処理が完了する(S4)。
【0118】
受信処理が完了すると、第1呼処理制御部611のトランスポート機能部6111においてのパース処理で取得された受信SIP信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される(S5)。
【0119】
ここでre-INVITE信号を受信した時点では図8(b)の情報に基づいて救済データ転送タイミングではないと判断される(S5の「NO」)。
【0120】
次にUA機能部6114のUAS6114aにおいて受信信号バッファ6112が参照され、当該受信SIP信号の送信元のSIPサーバのアドレス、および送信先のSIPサーバのアドレスが取得され、当該受信SIP信号の種別がパース処理で付加された識別情報に基づいて判定され、この判定された種別から、折り返し応答すべき信号のステータスコードが一意に特定されるか否かが判定される(S6)。ここでは、受信SIP信号の送信元のSIPサーバのアドレス、および送信先のSIPサーバのアドレスについては前回の信号処理時と変更点がないため第1処理データ記憶部612への変更点の書き込みは行われない。
【0121】
ここでは、UAS6114aにおいて、「re-INVITE信号」に対しては処理シーケンスにかかわらずプロトコルに従って折り返し送信元にステータスコード「200(応答)」信号を応答することが判定される(S6の「YES」)。
【0122】
UAS6114aにおいて応答すべき信号のステータスコードが特定されると、第1処理データ記憶部612に保持された情報に基づいて、トランスポート機能部6111の受信処理部6111aによりステータスコード「200(応答)」の送信SIP信号が生成されて、SIPサーバ4Aに送信されることで応答される(S9〜S11)。
【0123】
ここで、送信SIP信号の送信処理が完了すると、第1呼処理制御部611のトランスポート機能部6111において、送信SIP信号の識別情報に基づいて、この時点が救済データ転送タイミングであるか否かが判定される(S12)。
【0124】
ここでは受信したre-INVITE信号に対して応答(200)信号がSIPサーバ4Aに返信され、この送信時点(図8のタイミングt11)は救済データ転送タイミングであると判断される(S12の「YES」)。
【0125】
救済データ転送タイミングであると判断されると、上述した転送処理により、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612に記憶されている各機能部の処理に関する変更点で、ACT(現用)系呼制御サーバ61の第1同期領域記憶部614内の呼情報セクションの領域、例えば第1セッション情報領域614Aのトランスポート機能部情報領域6141A、プロトコル機能部情報領域6142A、UA機能部情報領域6143A、シーケンス機能部情報領域6144A、サービス機能部情報領域6145A、データ管理情報領域6146Aが更新されるとともに、SBY(予備用)系呼制御サーバ62に救済データとしてロック状態で転送され、それぞれ該当する呼情報セクションの機能部領域、例えば第1セッション情報領域624Aのトランスポート機能部情報領域6241A、プロトコル機能部情報領域6242A、UA機能部情報領域6243A、シーケンス機能部情報領域6244A、サービス機能部情報領域6245A、データ管理情報領域6246Aが更新される(S13)。
【0126】
上述したように救済データ転送タイミングに救済データの転送が実行されながら呼制御が行われている状態において、SBY(予備用)系呼制御サーバ62の処理データ記憶部622では、第2同期領域記憶部624に記憶された各機能部の情報が、自サーバが現用系に切り替わって稼動するときに利用させるために、第2処理データ記憶部622の対応する領域に展開される。
【0127】
第2同期領域記憶部624に記憶された情報が展開される展開タイミングには、以下の(i)ポーリングに基づく展開タイミングと、(ii)イベントドリブンに基づく展開タイミングの2つがある。それぞれの展開タイミングについて説明する。
【0128】
(i) ポーリングに基づく展開タイミング
ポーリングに基づく展開タイミングによる展開処理は、図7のフローチャートに示すように必要に応じて救済データの転送処理およびこの転送処理の完了通知が行われている状態で、これらの処理とは別個に所定のタイミングで実行される。この展開処理に関するSBY(予備用)系呼制御サーバ62の第2処理データ記憶部622の動作について、図9のフローチャートを参照して説明する。
【0129】
まず、第2処理データ記憶部622において前回の展開タイミングから予め設定された一定時間が経過したか否かが監視され(S61)、この一定時間が経過したと判断されたときに(S61の「YES」)に、第2同期領域記憶部624に記憶された情報の中で前回の展開タイミングからの更新の有無が確認される(S62)。
【0130】
この確認の結果、第2同期領域記憶部624に記憶された情報の中に、前回の展開タイミングから更新があったことが検知されたとき(S62の「YES」)は、既に第2処理データ記憶部622の各機能部領域に展開された情報の実態がなければ(S63の「NO」)、第2同期領域記憶部624に記憶されている情報が第2処理データ記憶部622の対応するセッション情報領域の対応する機能部に展開される(S64)。
【0131】
次に、第2同期領域記憶部624において更新された情報が、第2処理データ記憶部622で取得される(S65)。この処理は、更新されたすべての情報分が取得されるまで繰り返される。
【0132】
そして、ステップS64において第2処理データ記憶部622に展開された情報、またはステップS63「YES」において判断されたように既に展開されている情報が、ステップS65で取得された更新情報で更新され展開される(S66)。
【0133】
このように(i) ポーリングに基づく所定の展開タイミングで第2同期領域記憶部624に記憶された情報が第2処理データ記憶部622に展開され最新の情報に更新されることで、ACT(現用)系呼制御サーバ61における呼処理の効率を低下させることなく、SBY(予備用)系呼制御サーバ62の第2処理データ記憶部622に、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612に展開されていた情報と同様の情報を展開させることができる。
【0134】
(ii) イベントドリブンに基づく展開タイミング
イベントドリブンに基づく展開タイミングによる展開処理は、図7のフローチャート中のステップS13またはS14において救済データがACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62に転送されたときに実行される。この展開処理に関するSBY(予備用)系呼制御サーバ62の第2処理データ記憶部622の動作について、図10のフローチャートを参照して説明する。
【0135】
この展開処理では、図7のフローチャート中のステップS13またはS14において救済データが転送されて第2同期領域記憶部624に記憶された情報が更新されたときに、第2同期領域記憶部624から第2処理データ記憶部622に、更新通知が送出される。
【0136】
第2処理データ記憶部622では、第2同期領域記憶部624から更新通知が取得されたか否かが監視され(S71)、更新通知が取得されたことにより更新されたことが検知されると(S71の「YES」)展開処理が開始される。
【0137】
展開処理が開始されたときに、既に第2処理データ記憶部622の各機能部領域に展開された情報の実態がなければ(S72の「NO」)、第2同期領域記憶部624に記憶されている情報が第2処理データ記憶部622の対応するセッション情報領域の対応する機能部に展開される(S73)。
【0138】
次に、第2同期領域記憶部624において更新された情報が、第2処理データ記憶部622で取得される(S74)。この処理は、更新されたすべての情報分が取得されるまで繰り返される。
【0139】
そして、ステップS73において第2処理データ記憶部622に展開された情報、またはステップS72「YES」において判断されたように既に展開されている情報が、ステップS74で取得された更新情報で更新され展開される(S75)。第2処理データ記憶部622の更新処理が完了すると、第2同期領域記憶部624からACT(現用)系呼制御サーバ61へ転送処理の完了通知が送信される。
【0140】
このように(ii) イベントドリブンに基づく展開タイミングにより第2同期領域記憶部624に記憶された情報が第2処理データ記憶部622に展開され逐次最新の情報に更新されることで、SBY(予備用)系呼制御サーバ62の第2処理データ記憶部622に、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612に展開されていた情報と同様の情報を確実に展開させることができる。
【0141】
そして、上述したように(i) ポーリングに基づく展開タイミングまたは(ii) イベントドリブンに基づく展開タイミングにより、ACT(現用)系呼制御サーバ61の第1処理データ記憶部612に展開されていた情報と同様の情報をSBY(予備用)系呼制御サーバ62の第2処理データ記憶部622に展開させておくことにより、呼制御の処理をACT(現用)系呼制御サーバ61からSBY(予備用)系呼制御サーバ62に切り替えるときには未転送の情報のみを転送すればよいため処理量を削減することができ、系切り替え処理時間を短縮することができる。
【0142】
また、ACT(現用系)呼制御サーバ61に故障が発生してもユーザの意図しないタイミングで呼が切断されてしまうことを防ぎ効率のよい処理を実行することができ、高品質の通信サービスを提供することができる。
【0143】
上記実施形態において、シーケンス機能部6115で処理中のシーケンスパターンが最後まで完了したと判断されたときにはさらにサービス機能部6116へ通知され、シーケンス機能部6115において処理中として保持されていたシーケンスパターン情報のメモリ部分は解放される。また通知されたサービス機能部6116では、シーケンス機能部6115で処理中のシーケンスパターンの処理が完了したことが通知されたときには、該当する発着加入者端末2で加入されているサービス内容により管理しているシナリオに基づいて次に実行させるシーケンスパターンが特定され、シーケンス機能部6115に次に使用するシーケンスパターンの指示がなされる。
【0144】
また上記実施形態において、呼制御システム6により確立された通信を利用して、SDP情報により、情報発信元の加入者端末とメディアサーバ7A,7Bとの間で中継サーバ5A,5B等を経由して音声情報や映像情報等のメディア情報を転送し、加入者端末にこれらの情報が提供されるようにしてもよい。
【0145】
また上記実施形態において、呼切断のシーケンスが実行されたときには、このシーケンスの中で、UA機能部6114のUAC6114bで保持された送信先の情報、およびシーケンス機能部6115で保持されたシーケンスパターンの情報に関するメモリの該当部分が解放され、削除(無効化)される。解放はタイマを張って解放してもよい。タイマを張ってから解放する効果として、BYEなどの信号が再送されてきた場合も、ある一定期間であれば正しく信号処理することが可能である。
【0146】
本例は発側と着側が1対1での通信例だが、これが電話会議サービスのような三者間通話等の複数人との通話にも対応可能である。三者間通話の場合、起呼時にサービス機能部6116がサービスシナリオを参照し、シーケンス機能部6115に三者分のシーケンスパターンを使用するように指示する。指示を受けたシーケンス機能部6115は三者分のシーケンスパターンを読み込み、UA機能部6114に三者分のUAを生成するように指示する。指示を受けたUA機能部6114は三者分のUA(UAS1つとUACを2つ)生成する。以降の信号処理は先の例で示したように実行される。このように、複雑なシーケンスパターンも機能部を作りかえることなく実現可能である。
【0147】
また本実施形態の呼制御システムにおいては、救済データを、前回のACT(現用)系呼制御サーバ61とSBY(予備用)系呼制御サーバ62との情報の同期処理(救済データの転送処理)以降の変更点の情報が喪失しても、プロトコルに従って呼制御処理が復旧できるタイミングで転送するように設定しているため、系切り替え時にはすべてのデータではなく未転送のデータのみを転送すればよいため、系切替え時間を短縮化することが可能になる。
【0148】
また、本実施形態において構築されたACT(現用)系呼制御サーバおよびSBY(予備用)系呼制御サーバの記憶部にはそれぞれ予備領域を設けたため、新たなサービスの追加時やプロトコルの変更によるデータサイズの変更時等の情報量拡張時に、この予備領域を有効に利用することにより柔軟に対応することができる。
【0149】
本方式のメリットとして、呼制御サーバにおいて発着別々に処理部を持ちデータが管理されているため、指定した信号を送受信するタイミングで一律転送するというのではなく、それぞれの接続の送受信時に救済タイミングを柔軟に設定でき、効率的にACT系サーバの情報とSBY系サーバの情報とを同期させることができる。また、電話端末に加えてメディアサーバを含む3者以上の複数者間でのサービスを考えた場合、端末やメディアサーバ毎に対応して呼制御サーバにユーザエージェント機能部、プロトコル機能部、トランスポート機能部を生成し、サービスに応じたシナリオやシーケンスパターンを用意することで、呼制御サーバの機能部を作りかえることなく対応可能で、2者間でのサービス例と同様の効果が得られる。
【符号の説明】
【0150】
1…SIP通信システム
2A〜2D…加入者端末
3…IPネットワーク
3A〜3G…転送装置
4A,4B…SIPサーバ
5A,5B…中継サーバ
6…呼制御システム
7A,7B…メディアサーバ
61…ACT(現用)系呼制御サーバ
62…SBY(予備用)系呼制御サーバ
611…第1呼処理制御部
612…第1処理データ記憶部
612A…第1セッション情報領域
612B…第2セッション情報領域
612C…第3セッション情報領域
613…第1同期処理制御部
614…第1同期領域記憶部
614A…第1セッション情報領域
614B…第2セッション情報領域
614C…第3セッション情報領域
621…第2呼処理制御部
622…第2処理データ記憶部
622A…第1セッション情報領域
622B…第2セッション情報領域
622C…第3セッション情報領域
623…第2同期処理制御部
624…第2同期領域記憶部
624A…第1セッション情報領域
624B…第2セッション情報領域
624C…第3セッション情報領域
6111…トランスポート機能部
6111a…受信処理部
6111b…送信処理部
6112…受信信号バッファ
6113…プロトコル機能部
6113a…受信処理部
6113b…送信処理部
6114…UA(ユーザエージェント)機能部
6114a…UAS
6114b…UAC
6115…シーケンス機能部
6116…サービス機能部
6117…送信信号バッファ

【特許請求の範囲】
【請求項1】
呼処理を実行する複数のSIPサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムの、
前記予備用系呼制御サーバが、前記現用系呼制御サーバで処理中の呼処理に関する情報を、自サーバ内の同期領域記憶部に記憶するステップと、
前記現用系呼制御サーバが、自サーバで処理中の呼処理に関する情報の変更点を、所定の転送タイミングで前記予備用系呼制御サーバに転送するステップと、
前記予備用系呼制御サーバが、自サーバ内の同期処理制御部により、前記現用系呼制御サーバから転送された前記処理中の呼処理に関する情報の変更点で、前記同期領域記憶部に記憶した情報を更新するステップと、
前記予備用系呼制御サーバ内の処理データ記憶部において、前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して、自サーバが稼動したときに呼処理で利用させるために前記処理データ記憶部内の領域に展開するステップと、
を有することを特徴とする呼制御に利用する情報の冗長化方法。
【請求項2】
前記予備用系呼制御サーバの処理データ記憶部では、
所定時間間隔で前記同期領域記憶部に情報の更新の有無を確認した結果、前記同期領域記憶部内に記憶された情報が更新されたことを検知したとき、または、前記同期領域記憶部から更新があったことが通知されたことにより前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して前記処理データ記憶部内の領域に展開する
ことを特徴とする請求項1に記載の呼制御に利用する情報の冗長化方法。
【請求項3】
呼処理を実行する複数のSIPサーバ間の呼処理を制御し、通常時に稼働する現用系呼制御サーバとこの現用系呼制御サーバに故障が発生したときに現用系に切り替わって稼働する予備用系呼制御サーバとを備えた呼制御システムであって、
前記現用系呼制御サーバは、
自サーバで処理中の呼処理に関する情報の変更点を、所定の転送タイミングで前記予備用系呼制御サーバに転送する同期処理制御部を有し、
前記予備用系呼制御サーバは、
前記現用系呼制御サーバで処理中の呼処理に関する情報を記憶し、この記憶した情報を前記現用系呼制御サーバから転送された前記処理中の呼処理に関する情報の変更点で更新する同期領域記憶部と、
前記同期領域記憶部内に記憶された情報が更新されたことを検知したときに、当該更新された情報を前記同期領域記憶部から取得して、自サーバが稼動したときに呼処理で利用するための領域に展開する処理データ記憶部とを有する、
ことを特徴とする呼制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−110668(P2013−110668A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−256025(P2011−256025)
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】