(57)【要約】【課題】ＳＩＰ網上の登録サーバに対する複数のＳＩＰ端末それぞれのＵＲＩの登録処理を、ネットワーク負荷及び登録処理に要する負荷を軽減した上で、効率良く実行し得るＳＩＰトランクゲートウェイ装置を提供する。【解決手段】構内交換機１において、複数のＳＩＰＵＲＩをレジストラサーバＳＶに登録する際に、分散間隔計算部１４によりＳＩＰＵＲＩテーブル１１に登録されたＳＩＰＵＲＩ数と登録周期とから分散間隔を計算し、レジスタ制御部１２にてＳＩＰ端末Ｔ１〜ＴｎのＳＩＰＵＲＩの登録処理を分散間隔で行ない、この分散間隔に相当する時間内で空いている時間を他の交換処理や通信処理などに充てるようにしている。【選択図】      図２
2008092101.tif 000002
【特許請求の範囲】
【請求項１】
互いにＳＩＰ（Session Initiation Protocol）で規定される通信機能を備えた複数のＳＩＰ端末を収容し、かつＳＩＰ網を接続可能とし、当該ＳＩＰ網上の登録サーバに対し前記複数のＳＩＰ端末それぞれの接続ＩＤを予め決められた登録周期で登録することで、前記複数のＳＩＰ端末と前記ＳＩＰ網との間を接続し通信を可能とするＳＩＰトランクゲートウェイ装置において、
前記複数の接続ＩＤを前記登録サーバに登録する際に、前記登録周期を前記接続ＩＤの数に応じて複数の分散間隔に分割し、複数の接続ＩＤのうち第１の接続ＩＤの登録開始から前記分散間隔を空けて次の第２の接続ＩＤの登録処理を実行する制御手段を備えたことを特徴とするＳＩＰトランクゲートウェイ装置。
【請求項２】
前記制御手段は、前記第１の接続ＩＤの登録開始から前記分散間隔に相当する時間が経過しても前記第１の接続ＩＤの登録処理が完了しない場合に、前記第１の接続ＩＤの登録処理が完了した後で、前記第２の接続ＩＤの登録処理を実行することを特徴とする請求項１記載のＳＩＰトランクゲートウェイ装置。
【請求項３】
前記制御手段は、登録すべく接続ＩＤの数の変更に応じて、前記分散間隔を変更することを特徴とする請求項１記載のＳＩＰトランクゲートウェイ装置。
【請求項４】
前記制御手段は、前記登録周期を第１周期と第２周期とに分割すると共に、前記第１及び第２周期をそれぞれ前記接続ＩＤの数に応じて複数の分散間隔に分割し、前記第１周期について第１の接続ＩＤの登録開始から前記分散間隔を空けて次の第２の接続ＩＤの登録処理を実行し、前記第２周期について前記複数の接続ＩＤのうち前記第１周期で登録に失敗した第３の接続ＩＤについて前記分散間隔で登録処理を実行することを特徴とする請求項１記載のＳＩＰトランクゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＳＩＰ（Session Initiation Protocol）で規定される通信機能を備えた複数のＳＩＰ端末とＳＩＰ網との間を接続するＳＩＰトランクゲートウェイ装置に関する。
【背景技術】
【０００２】
近年、ＩＰ網を介して、双方向に画像や音声をパケットデータとして、リアルタイムに送受信するネットワーク電話システム（ＩＰ電話システム）が普及し始めている。このＩＰ電話システムでは、ＩＰ網に接続される主装置ごとに内線間通信や外線発着信を行えることは勿論のこと、ＩＰ網を経由した主装置間での内線通信や外線発着信を行うことができる。また、このＩＰ電話システムでは、そのプロトコルとしてＳＩＰ（Session Initiation Protocol）が広く使われている。
【０００３】
この種のシステムでは、主装置ごとのＳＩＰ端末のＵＲＩ（接続ＩＤ）をＳＩＰ網上の事業者の登録サーバに予め登録しておき、ＳＩＰ端末にてＳＩＰ網を使用して通話を行う際に、上記登録されたＵＲＩを基にサーバがＳＩＰ端末の認証を行うようにしている。
【０００４】
ところで、上記システムでは、ＳＩＰ網上の登録サーバに複数のＳＩＰ端末のＵＲＩを登録する場合に、ＳＩＰ網を１台の主装置で独占してしまい、ＳＩＰ網のトラフィックが高くなってしまうことになり、また登録処理における主装置の処理負荷が高くなる。このことは、主装置が収容するＳＩＰ端末の台数が増えるほど、顕著となる。
【０００５】
なお、従来では、ネットワーク管理サーバを使用して端末の起動時刻をずらすことにより、登録処理の負荷分散を行う手法も考えられている（例えば、特許文献１）。
【特許文献１】特開２００６−４２１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記手法では、ネットワーク管理サーバといったＳＩＰ網上の登録サーバが各ＳＩＰ端末の起動時刻を算出するものであり、この場合、主装置の台数やＳＩＰ端末の台数が増えると、その分登録サーバの処理負荷が増大してしまうことになる。
【０００７】
そこで、この発明の目的は、ＳＩＰ網上の登録サーバに対する複数のＳＩＰ端末それぞれのＵＲＩの登録処理を、ネットワーク負荷及び登録処理に要する負荷を軽減した上で、効率良く実行し得るＳＩＰトランクゲートウェイ装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この発明に係わるＳＩＰトランクゲートウェイ装置は、互いにＳＩＰ（Session Initiation Protocol）で規定される通信機能を備えた複数のＳＩＰ端末を収容し、かつＳＩＰ網を接続可能とし、当該ＳＩＰ網上の登録サーバに対し前記複数のＳＩＰ端末それぞれの接続ＩＤを予め決められた登録周期で登録することで、複数のＳＩＰ端末とＳＩＰ網との間を接続し通信を可能とするＳＩＰトランクゲートウェイ装置において、複数の接続ＩＤを登録サーバに登録する際に、登録周期を接続ＩＤの数に応じて複数の分散間隔に分割し、複数の接続ＩＤのうち第１の接続ＩＤの登録開始から分散間隔を空けて次の第２の接続ＩＤの登録処理を実行する制御手段を備えるようにしたものである。
【０００９】
この構成によれば、複数の接続ＩＤを登録サーバに登録する際に、１台のＳＩＰ端末の接続ＩＤの登録処理が登録周期を複数時間に分割した分散間隔で行なわれ、この分散間隔に相当する時間内で空いている時間を他の交換処理や通信処理などに充てることができる。従って、複数の接続ＩＤを登録サーバに登録するために、ＳＩＰ網を占有することもなくなり、これにより登録に要する処理及びネットワークトラフィックの負荷分散が可能になる。また、ＳＩＰ網を多数のＳＩＰ端末により共用する場合に、その有効利用率を高めることができる。
【００１０】
制御手段は、第１の接続ＩＤの登録開始から分散間隔に相当する時間が経過しても第１の接続ＩＤの登録処理が完了しない場合に、第１の接続ＩＤの登録処理が完了した後で、第２の接続ＩＤの登録処理を実行することを特徴とする。
【００１１】
この構成によれば、第１の接続ＩＤの登録開始から分散間隔に相当する時間が経過しても第１の接続ＩＤの登録処理が完了しない場合に、第１の接続ＩＤの登録処理が完了した後で、第２の接続ＩＤの登録処理を実行するようにしているので、登録処理における信頼性を高めることができる。
【００１２】
制御手段は、登録すべく接続ＩＤの数の変更に応じて、分散間隔を変更する。
【００１３】
この構成によれば、ＳＩＰ端末の台数の追加や削除に応じて、最適な分散間隔に変更することができる。
【００１４】
制御手段は、登録周期を第１周期と第２周期とに分割すると共に、第１及び第２周期をそれぞれ接続ＩＤの数に応じて複数の分散間隔に分割し、第１周期について第１の接続ＩＤの登録開始から分散間隔を空けて次の第２の接続ＩＤの登録処理を実行し、第２周期について複数の接続ＩＤのうち第１周期で登録に失敗した第３の接続ＩＤについて分散間隔で登録処理を実行することを特徴とする。
【００１５】
この構成によれば、登録周期を第１周期と第２周期とに分けることにより、第１周期で登録に失敗した接続ＩＤを第２周期で登録することができ、これにより登録の確実性を高めることができる。
【発明の効果】
【００１６】
以上詳述したようにこの発明によれば、ＳＩＰ網上の登録サーバに対する複数のＳＩＰ端末それぞれのＵＲＩの登録処理を、ネットワーク負荷及び登録処理に要する負荷を軽減した上で、効率良く実行し得るＳＩＰトランクゲートウェイ装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、この発明の実施形態について図面を参照して詳細に説明する。  
（第１の実施形態）  
図１は、この発明の第１の実施形態に係わるＩＰ電話システムの概略構成図であり、１はＳＩＰトランクゲートウェイ装置としての構内交換機を示している。
【００１８】
この構内交換機１は、複数のＳＩＰ端末Ｔ１〜Ｔｎ（ｎは自然数）を収容している。また、構内交換機１には、ＳＩＰ網ＮＷを介してレジストラサーバＳＶが接続されている。
【００１９】
図２は、構内交換機１の機能構成を示すブロック図である。  
すなわち、構内交換機１は、ＳＩＰ網ＮＷのサービスプロバイダから各ＳＩＰ端末Ｔ１〜Ｔｎに対し付与された複数のＳＩＰＵＲＩを記憶するＳＩＰＵＲＩテーブル１１と、ＳＩＰＵＲＩをＳＩＰ網ＮＷのレジストラサーバＳＶに登録する処理を行なうレジスタ制御部１２と、登録処理に必要な各種情報を保存するレジスタ制御情報テーブル１３と、複数のＳＩＰＵＲＩを登録する間隔を計算する分散間隔計算部１４と、タイマ１５とから構成される。
【００２０】
構内交換機１は、分散間隔計算部１４により予め設定された登録周期とＳＩＰＵＲＩの数から分散間隔を計算し、レジスタ制御部１２にてこの間隔を空けて複数のＳＩＰＵＲＩをレジストラサーバＳＶに登録するためのＲＥＧＩＳＴＥＲメッセージをＳＩＰ網ＮＷ上のレジストラサーバＳＶに向けて送信する。
【００２１】
図３は、レジスタ制御情報テーブル１３とＳＩＰＵＲＩテーブル１１を示す。
【００２２】
レジスタ制御テーブル１３には、レジスタ処理を実施するための制御情報が保存されている。
【００２３】
ＳＩＰＵＲＩテーブル１１には、レジスタ実施対象となる複数のＳＩＰＵＲＩが保存されている。
【００２４】
レジスタ制御テーブル１３中の登録シークポイントは、ＳＩＰＵＲＩテーブル１１内の一つのＳＩＰＵＲＩエントリを指し示すポインタで、該当ＳＩＰＵＲＩのレジスタ処理終了で次のＳＩＰＵＲＩに移行する。
【００２５】
分散間隔は、予め決められたレジスタ周期とＳＩＰＵＲＩ数から計算された各ＳＩＰＵＲＩのレジスタ処理を行なう間隔で以下の式により計算される。
【００２６】
計算式：  分散間隔  ＝  (レジスタ周期 − 登録猶予時間) ／２／ SIP-URI数
分散間隔カウンタは、分散間隔を計測するためのカウンタでタイマ１５から１秒毎のタイマ満了通知を受けて加算する。そして、ＳＩＰＵＲＩのレジスタ処理完了の都度０リセットされる。
【００２７】
登録猶予期間は、レジストラサーバＳＶにレジスタタイムアウトを発生させないようレジスタ周期から僅かに短い時間で次のレジストを実施するために設けるマージンである。
【００２８】
サービス状態は、レジスタ周期を２周期に分けるために持つ制御情報で、FIRST_SERVICEは１周期目を、SECOND_SERVICEは２周期目を表わす。
【００２９】
ＳＩＰＵＲＩテーブル１１中のレジスタ結果はレジスタ処理の結果を示し、RESULT_OKは正常にレジスタされたことを、RESULT_NGはレジスタ処理が失敗したことを、RESULT_NONEはレジスタ処理が完了していないことを表わす。
【００３０】
図４は、レジスタ送信負荷分散方式を示す。
【００３１】
１つのレジスタメッセージを送信してからレジスタ結果が判明するまで最大３２秒かかる場合が有る。
【００３２】
幾つかのＳＩＰＵＲＩでこのタイムラグが発生した場合を考慮してレジスタ周期をFIRST_SERVICEとSECOND_SERVICEの２周期に分ける。この際、レジストラサーバＳＶにレジスタタイムアウトを発生させないようレジスタ周期から僅かに短い時間でレジスタ処理を完了させるために予めレジスタ周期から登録猶予時間を引いておく。
【００３３】
２周期に分けた各々の周期をＳＩＰＵＲＩ数で割った値を分散間隔とし、各ＳＩＰＵＲＩ送信間隔を分散間隔にすることによりレジスタ処理の負荷分散を実現する。
【００３４】
図４の方式では、１周期目に全てのＳＩＰＵＲＩについて分散間隔を空けてレジスタ送信する。２周期目には１周期目でレジスタ処理が失敗したＳＩＰＵＲＩについてのみ１周期目と同じタイミングでレジスタ送信する。２周期目のレジスタ処理により１周期目でレジスタ処理が失敗したＳＩＰＵＲＩについて救済が可能になる。
【００３５】
図５は、ＳＩＰＵＲＩ間の同期方式を示す。
【００３６】
前述の如く、１つのレジスタメッセージを送信してからレジスタ結果が判明するまで最大32秒かかる場合が有るため、分散間隔が本時間より短い場合にも次のＳＩＰＵＲＩのレジスタ処理が重ならないよう同期をとることにより負荷分散の確実性を保つ。
【００３７】
図５の方式では１つのＳＩＰＵＲＩのレジスタ処理が完了してから分散間隔を空けて次のＳＩＰＵＲＩのレジスタ処理を実施する。
【００３８】
図６は、上記レジスタ制御部１２の分散間隔カウンタインクリメント処理動作を示す。
【００３９】
まず、レジスタ制御部１２は、タイマ１５から１秒毎にタイマ満了通知を受ける。
【００４０】
そして、レジスタ制御部１２はタイマ満了通知を受けると分散間隔カウンタをインクリメントする。
【００４１】
図７は、レジスタ制御部１２におけるレジスタ開始判定処理（１周期目）を示す。
【００４２】
上記図６の処理で分散間隔カウンタをインクリメント後、レジスタ制御部１２は分散間隔と分散間隔カウンタの比較を行なう。
【００４３】
分散間隔カウンタ  ≧  分散間隔
であれば登録シークポイントが指しているＳＩＰＵＲＩが現在レジスタ処理実施中か否かをＳＩＰＵＲＩテーブル１１のレジスタ結果から判定する。
【００４４】
そして、レジスタ処理実施中（RESULT_NONE）ならばレジスタ処理が重ならないよう次のＳＩＰＵＲＩのレジスタ処理は行なわない。
【００４５】
次にサービス状態を確認し、FIRST_SERVICEならば１周期目の処理として以下を行なう。
【００４６】
すなわち、レジスタ制御部１２は、レジスタ処理が既に完了（RESULT_OKまたはRESULT_NG）ならば登録シークポイントを一つ進め、次のＳＩＰＵＲＩのレジスタ処理を開始する。また、この時レジスタ結果にRESULT_NONEを書き込む。
【００４７】
図８は、レジスタ制御部１２におけるレジスタ開始判定処理（１周期目／末尾ＳＩＰＵＲＩ）を示す。
【００４８】
図７の処理で登録シークポイントを一つ進めた際に、ＳＩＰＵＲＩテーブル１１のエントリがＮＵＬＬならば末尾と判断して登録シークポイントは先頭ＳＩＰＵＲＩに移動する。この時、サービス状態をFIRST_SERVICEからSECOND_SERVICEに変更する。
【００４９】
図９は、レジスタ制御部１２におけるレジスタ開始判定処理（２周期目）を示す。
【００５０】
図６の処理で分散間隔カウンタをインクリメント後、レジスタ制御部１２は分散間隔と分散間隔カウンタの比較を行なう。
【００５１】
分散間隔カウンタ  ≧  分散間隔
であれば登録シークポイントが指しているＳＩＰＵＲＩが現在レジスタ処理実施中か否かをＳＩＰＵＲＩテーブル１１のレジスタ結果から判定する。
【００５２】
そして、レジスタ処理実施中（RESULT_NONE）ならばレジスタ処理が重ならないよう次のＳＩＰＵＲＩのレジスタ処理は行なわない。
【００５３】
次に、レジスタ制御部１２は、サービス状態を確認し、SECOND_SERVICEならば２周期目の処理として以下を行なう。
【００５４】
つまり、レジスタ制御部１２は、レジスタ処理が既に完了していて１周期目で失敗している、つまりレジスタ結果がRESULT_NGのＳＩＰＵＲＩが見つかるまで登録シークポイント進めていく。
【００５５】
そして、ＳＩＰＵＲＩが見つかったら、レジスタ制御部１２はレジスタ処理を開始する。また、この時レジスタ結果にRESULT_NONEを書き込む。
【００５６】
図１０は、レジスタ制御部１２におけるレジスタ開始判定処理（２周期目／末尾ＳＩＰＵＲＩ）を示す。
【００５７】
図９の処理で登録シークポイントを一つ進めた際に、ＳＩＰＵＲＩテーブル１１のエントリがNULLならば末尾と判断して登録シークポイントは先頭ＳＩＰＵＲＩに移動する。この時、レジスタ制御部１２は、サービス状態をSECOND_SERVICEからFIRST_SERVICEに変更する。
【００５８】
図１１は、レジスタ制御部１２におけるレジスタ終了処理を示す。
【００５９】
レジスタ制御部１２がREGISTER応答メッセージ受信、REGISTER送信タイムアウト通知等のレジスタ終了を意味するイベントを受け取ると、登録シークポイントが示すＳＩＰＵＲＩにRESULT_OKまたはRESULT_NGのレジスタ結果を記録する。また、分散間隔カウンタを０クリアする。
【００６０】
以上のように上記第１の実施形態では、構内交換機１において、複数のＳＩＰＵＲＩをレジストラサーバＳＶに登録する際に、分散間隔計算部１４によりＳＩＰＵＲＩテーブル１１に登録されたＳＩＰＵＲＩ数と登録周期とから分散間隔を計算し、レジスタ制御部１２にてＳＩＰ端末Ｔ１〜ＴｎのＳＩＰＵＲＩの登録処理を分散間隔で行ない、この分散間隔に相当する時間内で空いている時間を他の交換処理や通信処理などに充てるようにしている。
【００６１】
従って、複数のＳＩＰＵＲＩをレジストラサーバＳＶに登録するために、１台の構内交換機１でＳＩＰ網ＮＷを占有することもなくなり、これにより構内交換機１における登録に要する処理及びネットワークトラフィックの負荷分散が可能になる。また、ＳＩＰ網ＮＷを多数のＳＩＰ端末Ｔ１〜Ｔｎにより共用する場合に、その有効利用率を高めることができる。
【００６２】
また、上記第１の実施形態では、レジスタ制御部１２において、ＳＩＰＵＲＩ＃２の登録開始から分散間隔に相当する時間が経過してもＳＩＰＵＲＩ＃２の登録処理が完了しない場合に、ＳＩＰＵＲＩ＃２の登録処理が完了した後で、次のＳＩＰＵＲＩ＃３の登録処理を実行するようにしているので、登録処理における信頼性を高めることができる。
【００６３】
さらに、上記第１の実施形態では、レジスタ制御部１２において、登録周期をFIRST_SERVICEとSECOND_SERVICEとに分けて分散間隔による登録処理を実行するようにしているので、FIRST_SERVICEで登録に失敗したＳＩＰＵＲＩをSECOND_SERVICEで登録することができ、これにより登録の確実性を高めることができる。
【００６４】
（第２の実施形態）  
図１２は、この発明の第２の実施形態として、レジスタ制御部１２の制御処理手順を示すフローチャートである。
【００６５】
まず、レジスタ制御部１２は、収容されているＳＩＰ端末Ｔ１〜Ｔｎそれぞれの使用状況、つまり起動中であるか否かを監視し（ステップＳＴ１２ａ）、例えばＳＩＰ端末Ｔ４が起動中から停止に変化した場合に、変更のあったＳＩＰ端末Ｔ４を分散間隔計算部１４に通知するとともに、ＳＩＰＵＲＩテーブル１１中のＳＩＰ端末Ｔ４のＳＩＰＵＲＩ＃４を削除する（ステップＳＴ１２ｂ）。
【００６６】
かくして、分散間隔計算部１４は、ＳＩＰＵＲＩ＃４を除いたＳＩＰＵＲＩ数で分散間隔を計算し、この計算結果をレジスト制御情報テーブル１３に登録する。
【００６７】
なお、登録すべきＳＩＰ端末の台数が増えた場合も、レジスタ制御部１２は、上記と同様の手順を実行する。
【００６８】
以上のように上記第２の実施形態であれば、登録すべきＳＩＰ端末の台数の追加や削除に応じて、最適な分散間隔に変更することができる。
【００６９】
（その他の実施形態）  
なお、この発明は上記各実施形態に限定されるものではない。例えば、上記各実施形態において、ＳＩＰで規定される通信機能を備えているものであれば、無線ＬＡＮを利用した端末や、パーソナル・コンピュータ上のソフトウェアで実現しているソフトフォンであってもよい。
【００７０】
その他、システムの構成及び種類、構内交換機の構成及び種類、レジスタ制御情報テーブルの記憶内容、ＳＩＰＵＲＩの登録時間間隔の計算方法や登録制御方法等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【図面の簡単な説明】
【００７１】
【図１】この発明の第１の実施形態に係わるＩＰ電話システムの概略構成図。
【図２】上記図１に示した構内交換機の機能構成を示すブロック図。
【図３】上記図２に示したレジスタ制御情報テーブル及びＳＩＰＵＲＩテーブルそれぞれの記憶内容の一例を示す図。
【図４】同第１の実施形態におけるレジスタ送信負荷分散方式を説明するために示す図。
【図５】同第１の実施形態におけるＳＩＰＵＲＩ間の同期方式を説明するために示す図。
【図６】同第１の実施形態におけるレジスタ制御部の分散間隔カウンタインクリメント処理動作を示す図。
【図７】同第１の実施形態におけるレジスタ制御部におけるレジスタ開始判定処理（１周期目）を示す図。
【図８】同第１の実施形態におけるレジスタ制御部のレジスタ開始判定処理（１周期目／末尾SIPURI）を示す図。
【図９】同第１の実施形態におけるレジスタ制御部のレジスタ開始判定処理（２周期目）を示す図。
【図１０】同第１の実施形態におけるレジスタ制御部のレジスタ開始判定処理（２周期目／末尾SIPURI）を示す図。
【図１１】同第１の実施形態におけるレジスタ制御部のレジスタ終了処理を示す図。
【図１２】この発明の第２の実施形態として、レジスタ制御部の制御処理手順を示すフローチャート。
【符号の説明】
【００７２】
１…構内交換機、１１…ＳＩＰＵＲＩテーブル、１２…レジスタ制御部、１３…レジスタ制御情報テーブル、１４…分散間隔計算部、１５…タイマ、Ｔ１〜Ｔｎ…ＳＩＰ端末、ＳＶ…レジストラサーバ、ＮＷ…ＳＩＰ網。
【図１】
2008092101.tif 000003
【図２】
2008092101.tif 000004
【図３】
2008092101.tif 000005
【図４】
2008092101.tif 000006
【図５】
2008092101.tif 000007
【図６】
2008092101.tif 000008
【図７】
2008092101.tif 000009
【図８】
2008092101.tif 000010
【図９】
2008092101.tif 000011
【図１０】
2008092101.tif 000012
【図１１】
2008092101.tif 000013
【図１２】
2008092101.tif 000014