(57)【要約】【課題】複数のＳＩＰサーバから構成される分散システムにて、電話交換機能を実現する。【解決手段】信号に付された振り分けキーに応じて、分散システムを構成する複数のＳＩＰサーバに信号を振り分ける振り分け装置は、信号を第１の信号として解析する解析部１１と、解析の結果をデータベースに書き込む書き込み部１２と、第１の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、電話交換機能を実現する処理に用いられる信号である場合、データベースを参照して、第１の信号に係る通話で通話開始時に取得した第２の信号の識別子と、第１の信号の識別子とが異なるか否かを判定する判定部１３と、異なる場合には、第１の信号の識別子を、第２の信号の識別子に差し替え、第２の信号が振り分けられたＳＩＰサーバに第１の信号を振り分ける振り分け部１４と、を備える。【選択図】図１
2018170710.tif 000002
【特許請求の範囲】
【請求項１】
信号に付された振り分けキーに応じて、分散システムを構成する複数のＳＩＰ（Session Initiation Protocol）サーバに前記信号を振り分ける振り分け装置であって、
前記信号を第１の信号として解析する解析部と、
前記解析の結果をデータベースに書き込む書き込み部と、
前記第１の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第１の信号に係る通話で通話開始時に取得した第２の信号の識別子と、前記第１の信号の識別子とが異なるか否かを判定する判定部と、
異なる場合には、前記第１の信号の識別子を、前記第２の信号の識別子に差し替え、前記第２の信号が振り分けられたＳＩＰサーバに前記第１の信号を振り分ける振り分け部と、を備える、
ことを特徴とする振り分け装置。
【請求項２】
前記所定の電話交換機能は、コールピック機能、コールパーク機能、または、保留転送機能の何れかである、
ことを特徴とする請求項１に記載の振り分け装置。
【請求項３】
信号に付された振り分けキーに応じて、分散システムを構成する複数のＳＩＰサーバに前記信号を振り分ける振り分け装置における振り分け方法であって、
前記振り分け装置が、
前記信号を第１の信号として解析する解析ステップと、
前記解析の結果をデータベースに書き込む書き込みステップと、
前記第１の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第１の信号に係る通話で通話開始時に取得した第２の信号の識別子と、前記第１の信号の識別子とが異なるか否かを判定する判定ステップと、
異なる場合には、前記第１の信号の識別子を、前記第２の信号の識別子に差し替え、前記第２の信号が振り分けられたＳＩＰサーバに前記第１の信号を振り分ける振り分けステップと、を実行する、
ことを特徴とする振り分け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振り分け装置および振り分け方法に関する。
【背景技術】
【０００２】
近年、分散処理の技術が向上し、システム処理能力の向上をスケールアウトにより実現する分散システムの開発が進んでいる。分散システムを構成する複数のサーバに信号を振り分ける方式には、コンシステント・ハッシュ法が用いられることが多い（非特許文献１参照）。コンシステント・ハッシュ法では、信号に付された振り分けキーに応じて、当該信号の処理を担当するサーバが決められている。分散システムに入力された信号は、振り分けキーに基づいて担当のサーバに振り分けられる。
【０００３】
従来技術として、いわゆるＮ−ＡＣＴ構成をとる分散システムを構成する複数のＳＩＰ（Session Initiation Protocol）サーバによる２者間通話が実現されている。電話機間でやり取りされる通話の信号は、当該信号に付された振り分けキーに応じて、担当のＳＩＰサーバによって処理される。振り分けキーは、例えば、信号に含まれるＣａｌｌ−ｉｄ、Ｆｒｏｍヘッダ、および、Ｔｏヘッダを所定の演算処理で組み合わせたものとすることができる。２者間通話では、振り分けキーは、２者間通話に関わる一連のトランザクション（ＩＮＶＩＴＥ〜ＢＹＥ）で同一となり、信号は同じＳＩＰサーバに振り分けられる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】入江  道生、他４名、“スケールアウト型セッション制御サーバにおける動的構成変更に関する一検討”、電子情報通信学会技術研究報告、vol.110、no.448、NS2010-236、pp.407-410、2011年03月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
社内の電話機に導入されているビジネスフォン機能（ＰＢＸ（Private Branch eXchange）機能：電話交換機能）を、複数のＳＩＰサーバから構成される分散システム上で動作させたいという要望がある。このとき、各ＳＩＰサーバには、ＰＢＸ機能をソフトウェアで実現するｖＰＢＸ（virtual ＰＢＸ。アプリケーションの１種。）を備える。
【０００６】
しかし、ＰＢＸ機能の一部（例：代表着信時のコールピック動作（他の人の電話に代理で応答する動作）、コールパークからの着信動作（保留した通話を別の電話機から応答させる動作））については、通話確立前では、当該ＰＢＸ機能に関わる一連のトランザクションで振り分けキーが同一であることが保証されていない。このため、通話確立前では信号が別々のＳＩＰサーバに振り分けられる場合があり、この場合、ＰＢＸ機能が実現しない。結果として、従来では、複数のＳＩＰサーバから構成される分散システムにＰＢＸ機能を導入することが困難となっている。なお、ｖＰＢＸを相応に改造して、ＰＢＸ機能を導入してもよいが、このような改造は、多大な労力とコストを要するため採用できない。
【０００７】
このような背景を鑑みて本発明がなされたのであり、本発明は、複数のＳＩＰサーバから構成される分散システムにて、電話交換機能を実現することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、請求項１に記載の発明は、信号に付された振り分けキーに応じて、分散システムを構成する複数のＳＩＰ（Session Initiation Protocol）サーバに前記信号を振り分ける振り分け装置であって、前記信号を第１の信号として解析する解析部と、前記解析の結果をデータベースに書き込む書き込み部と、前記第１の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第１の信号に係る通話で通話開始時に取得した第２の信号の識別子と、前記第１の信号の識別子とが異なるか否かを判定する判定部と、異なる場合には、前記第１の信号の識別子を、前記第２の信号の識別子に差し替え、前記第２の信号が振り分けられたＳＩＰサーバに前記第１の信号を振り分ける振り分け部と、を備える、ことを特徴とする。
【０００９】
また、請求項３に記載の発明は、信号に付された振り分けキーに応じて、分散システムを構成する複数のＳＩＰサーバに前記信号を振り分ける振り分け装置における振り分け方法であって、前記振り分け装置が、前記信号を第１の信号として解析する解析ステップと、前記解析の結果をデータベースに書き込む書き込みステップと、前記第１の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第１の信号に係る通話で通話開始時に取得した第２の信号の識別子と、前記第１の信号の識別子とが異なるか否かを判定する判定ステップと、異なる場合には、前記第１の信号の識別子を、前記第２の信号の識別子に差し替え、前記第２の信号が振り分けられたＳＩＰサーバに前記第１の信号を振り分ける振り分けステップと、を実行する、ことを特徴とする。
【００１０】
請求項１，３に記載の発明によれば、所定の電話交換機能を実現する処理に用いられる複数種類の信号に付された振り分けキーの値が異なっていても、信号の識別子の差し替えによって、複数種類の信号を同じＳＩＰサーバに送信することができる。
したがって、複数のＳＩＰサーバから構成される分散システムにて、電話交換機能を実現することができる。
【００１１】
また、請求項２に記載の発明は、請求項１に記載の振り分け装置であって、前記所定の電話交換機能は、コールピック機能、コールパーク機能、または、保留転送機能の何れかである、ことを特徴とする。
【００１２】
請求項２に記載の発明によれば、複数のＳＩＰサーバから構成される分散システムにて、コールピック機能、コールパーク機能、または、保留転送機能を実現することができる。
【発明の効果】
【００１３】
本発明によれば、複数のＳＩＰサーバから構成される分散システムにて、電話交換機能を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の振り分け装置の機能構成図である。
【図２】振り分け装置が実行する処理を示すフローチャートである。
【図３】比較例１における、コールパークからの着信動作の説明図である。
【図４】比較例２における、コールパークからの着信動作の説明図である。
【図５】本実施例における、コールパークからの着信動作の説明図である。
【発明を実施するための形態】
【００１５】
次に、本発明を実施するための形態について説明する。
【００１６】
≪構成≫
図１に示すように、本実施形態の振り分け装置１と、分散システムを構成するＳＩＰサーバ２ａ〜２ｃと、電話機３Ａ〜３Ｃとが通信可能に接続されている。なお、分散システムを構成するＳＩＰサーバは、図１に示すように、３台に限定されず、２台以下でもよいし、４台以上でもよい。また、電話機は、図１に示すように、３台に限定されず、２台以下でもよいし、４台以上でもよい。
ＳＩＰサーバ２ａ〜２ｃは、ＰＢＸ機能をソフトウェアで実現するｖＰＢＸを備えるサーバである。
電話機３Ａ〜３Ｃは、ＰＢＸ機能を利用した通信を行うＳＩＰ端末である。
振り分け装置１は、通信時に電話機３Ａ〜３Ｃから受信した信号をＳＩＰサーバ２ａ〜２ｃのいずれかに振り分ける。信号の振り分けは、例えば、コンシステント・ハッシュ法に従うようにしてもよいが、これに限定されない。
【００１７】
なお、振り分け装置１、ＳＩＰサーバ２ａ〜２ｃ、および、電話機３Ａ〜３Ｃはそれぞれ、ＣＰＵ（Central Processing Unit）と、メモリと、ハードディスクなどの記憶手段（記憶部）と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラムを実行することにより、各機能を実現する。
【００１８】
振り分け装置１は、解析部１１と、書き込み部１２と、判定部１３と、振り分け部１４と、ＤＢ（データベース）１５とを備える。
解析部１１は、電話機３Ａ〜３Ｃから受信した信号を解析する。具体的には、解析部１１は、受信した信号の種類（ＩＮＶＩＴＥ、ＮＯＴＩＦＹなど）を特定したり、受信した信号に含まれるＣａｌｌ−ｉｄ、Ｆｒｏｍヘッダ、および、Ｔｏヘッダを特定したりする。信号の解析により、当該信号が用いられる処理で実現されるＰＢＸ機能の種類を特定することができる。解析した信号が、コールパーク機能に用いられる信号である場合、解析部１１は、信号からコールパーク番号を特定することができる。
【００１９】
書き込み部１２は、解析部１１による解析の結果をＤＢ１５に書き込む。
【００２０】
判定部１３は、解析部１１が解析した信号が、所定のＰＢＸ機能を実現する処理に用いられる信号であるか否かを判定する。信号がどのようなＰＢＸ機能を実現する処理に用いられる信号であるかという判定は、解析部１１の解析の結果に基づいて実行可能な周知技術であるため、詳細な説明は省略する。例えば、パーク保留の判定は、電話機３Ａ〜３Ｃが、ＳＩＰ信号内のＴｏヘッダ（例えば、sip:101＠10.10.10.1）内にパーク番号を付与して発信した場合に可能となる。よって、判定部１３は、対象の信号がコールパーク機能に用いられる信号である、と判定することができる。
【００２１】
また、例えば、コールピック動作の判定は、ＳＩＰ信号内のReplacesヘッダ内のＣａｌｌ−ｉｄ情報を読み取ることで可能となる。よって、判定部１３は、対象の信号がコールピック機能に用いられる信号である、と判定することができる。
【００２２】
また、例えば、保留転送の判定は、ＩＮＶＩＴＥ信号内のＳＤＰ（Session Description Protocol）パラメータを読み取ったときに、音声データ形式として、a=sendonly等が格納されており、Ｃａｌｌ−ｉｄをＤＢ１５に格納するといった引き継ぎがなされたことで可能となる。よって、判定部１３は、対象の信号が保留転送機能に用いられる信号である、と判定することができる。
【００２３】
また、判定部１３は、解析部１１が解析した信号（第１の信号）が所定のＰＢＸ機能を実現する処理に用いられる信号である場合、ＤＢ１５を参照して、解析部１１が解析した信号に係る通話で通話開始時に取得した信号（第２の信号）のＣａｌｌ−ｉｄ（識別子）と、解析部１１が解析した信号の識別子とが異なるか否かを判定する。換言すれば、ＤＢ１５には、解析部１１が解析した信号がやり取りされた通話に関して、当該通話でやり取りされた信号群のＣａｌｌ−ｉｄが格納されている。そこで、判定部１３は、ＰＢＸ機能が実行された通話の開始時に取得されるＩＮＶＩＴＥ信号のＣａｌｌ−ｉｄが存在するか否かをＤＢ１５から確認する。
【００２４】
なお、先述したように、Ｎ−ＡＣＴ構成をとる従来の分散システムにて、コンシステント・ハッシュ法によって信号の振り分けを実行した場合、ＰＢＸ機能の一部については、通話確立前では、当該ＰＢＸ機能に関わる一連のトランザクションで振り分けキーが同一であることが保証されていない。つまり、１つの通話でやり取りされる信号群のＣａｌｌ−ｉｄは、通話が確立するまでは同一とはならない。例えば、ＰＢＸ機能がコールパーク機能である場合、パーク保留の保留前と保留解除後とでは異なるＣａｌｌ−ｉｄが用いられるという特性がある。そこで、振り分け装置１が受信した信号が、通話確立前の信号であるか通話確立後の信号であるかを判定することが好ましい。
【００２５】
判定部１３は、解析部１１が信号を解析したときの結果に応じて、当該信号が通話確立前の信号であるか通話確立後の信号であるかを判定することができる。具体的には、例えば、ＳＩＰ信号である場合には、判定部１３は、ヘッダ内のＣａｌｌ−ｉｄの値を特定し、同じ通話で事前にやり取りされた他の信号のＣａｌｌ−ｉｄがＤＢ１５に格納されているかを判定することで、換言すれば、通話が完了していないＣａｌｌ−ｉｄの有無を判定することで、通話確立前の信号であるか否かを判定することができる。
【００２６】
また、判定部１３は、ＳＩＰ信号内に、WWW-Authenticateヘッダのない（ユーザ発の）イニシャルＩＮＶＩＴＥが有れば、当該信号が通話確立前の信号であると判定することができる。
【００２７】
振り分け部１４は、判定部１２によるこれらの判定の結果に応じて、解析部１１が解析した信号の振り分け先（ＳＩＰサーバ２ａ〜２ｃのいずれか）を決定する。具体的には、振り分け部１４は、ＤＢ１５にアクセスし、解析部１１が解析した（最新の）信号のＣａｌｌ−ｉｄと、ＤＢ１５に事前に書き込まれていた信号であって、解析部１１が解析した信号に係る通話の通話開始時に取得した信号のＣａｌｌ−ｉｄとを比較する。そして、両Ｃａｌｌ−ｉｄが異なる場合には、振り分け部１４は、解析部１１が解析した（最新の）信号のＣａｌｌ−ｉｄを、通話開始時に取得した信号のＣａｌｌ−ｉｄに差し替える。
【００２８】
また、振り分け部１４は、コンシステント・ハッシュ法に従い、電話機３Ａ〜３Ｃから受信した信号に付された振り分けキーに応じて、当該信号の振り分け先（ＳＩＰサーバ２ａ〜２ｃのいずれか）に信号を振り分ける。振り分けキーは、例えば、信号に含まれるＣａｌｌ−ｉｄ、Ｆｒｏｍヘッダ、および、Ｔｏヘッダを所定の演算処理で組み合わせたものとすることができるが、これに限定されない。
【００２９】
先述したＣａｌｌ−ｉｄの差し替えがあった場合、振り分け部１４は、コンシステント・ハッシュ法にしたがって、通話開始時に取得した信号を振り分けたＳＩＰサーバに、解析部１１が解析した（最新の）信号を振り分けることができる。つまり、通話でやり取りされた信号群を同じＳＩＰサーバに振り分けることができる。
【００３０】
ＤＢ１５は、判定部１２および変更部１３がアクセス可能となるように、解析部１１による解析の結果を保存する。
【００３１】
≪処理≫
本実施形態の振り分け装置１が実行する処理について説明する。
図２に示すように、本実施形態の振り分け装置１が実行する処理は、電話機３Ａ〜３Ｃから信号を取得した時に開始する。
【００３２】
まず、振り分け装置１は、解析部１１によって、取得した信号を解析する（ステップＳ１）。
次に、振り分け装置１は、書き込み部１２によって、解析部１１による解析の結果をＤＢ１５に書き込む（ステップＳ２）。
【００３３】
次に、振り分け装置１は、判定部１３によって、解析部１１が解析した信号が、所定のＰＢＸ機能を実現する処理に用いられる信号であるか否かを判定する（ステップＳ３）。換言すれば、判定部１３は、取得した信号が用いられる処理で実現されるＰＢＸ機能の種類を特定する。所定のＰＢＸ機能を実現する処理に用いられる信号でない場合（ステップＳ３／Ｎｏ）、ステップＳ６に進む。この場合、当該信号がＰＢＸ機能を利用しない通常の通話（２者間の通話）の信号であり、本発明を特徴づけるＣａｌｌ−ｉｄの差し替えを必要としないことを意味する。
【００３４】
一方、所定のＰＢＸ機能を実現する処理に用いられる信号である場合（ステップＳ３／Ｙｅｓ）、振り分け装置１は、判定部１３がＤＢ１５を参照することによって、（ステップＳ１で）解析部１１が解析した信号のＣａｌｌ−ｉｄ（第１の信号の識別子）が、当該信号に係る通話で通話開始時に取得した信号のＣａｌｌ−ｉｄ（第２の信号の識別子）とは異なるか否かを判定する（ステップＳ４）。同じである場合（ステップＳ４／Ｎｏ）、ステップＳ６に進む。この場合、解析部１１が解析した信号の振り分け先と、通話開始時に取得した信号の振り分け先とが偶然同じになり、本発明の目的を自ずと達成することができることを意味する。また、解析部１１が解析した信号が通話開始時に取得した信号であった場合も「ステップＳ４／Ｎｏ」に便宜上該当するものとする。
【００３５】
一方、両Ｃａｌｌ−ｉｄが異なる場合（ステップＳ４／Ｙｅｓ）、振り分け装置１は、振り分け部１４によって、Ｃａｌｌ−ｉｄの差し替えを実行する（ステップＳ５）。具体的には、振り分け部１５は、（ステップＳ１で）解析部１１が解析した信号のＣａｌｌ−ｉｄを、通話開始時に取得した信号のＣａｌｌ−ｉｄに差し替える。これにより、解析部１１が解析した信号に付された振り分けキーの値を、通話開始時に取得した信号に付された振り分けキーの値と同じにすることができる。
【００３６】
次に、振り分け装置１は、振り分け部１４によって、振り分け処理を実行する（ステップＳ６）。具体的には、振り分け部１４は、信号に付された振り分けキーに応じて、ＳＩＰサーバ２ａ〜２ｃのいずれかに信号を振り分ける。また、振り分け部１４は、Ｃａｌｌ−ｉｄの差し替えによって、特定のＰＢＸ機能を実現する処理全体（ＩＮＶＩＴＥ〜ＢＹＥ）を実行する特定のＳＩＰサーバに、当該ＰＢＸ機能を実現する処理に用いられる信号を集中して振り分ける。また、解析部１１が解析した信号が通話開始時に取得した信号であった場合（ステップＳ４／Ｎｏ）、振り分け部１４は、当該信号に付された振り分けキーに応じて、ＳＩＰサーバ２ａ〜２ｃのいずれかに信号を振り分ける。
【００３７】
図２の処理によれば、Ｃａｌｌ−ｉｄ、Ｆｒｏｍヘッダ、および、Ｔｏヘッダの組み合わせが異なり、振り分けキーの値がばらばらであるため、振り分け先が異なってしまう複数の信号を、特定のＳＩＰサーバ（通話開始の処理を担当したＳＩＰサーバ）へ狙い撃つことが可能となる。よって、特定のＳＩＰサーバ上で電話交換機能を実現することができる。
【００３８】
≪コールパークからの着信動作に関する具体例≫
本実施形態の具体例として、コールパークからの着信動作を採り上げ説明する。
【００３９】
＜比較例１＞
まず、図３を参照して、後記の本実施例に対する比較例１として、電話機３Ａ〜３Ｃに対して、分散システム上の１台のＳＩＰサーバ２ｄが、コールパークからの着信動作（通常）に関する処理を実行する場合について説明する。
【００４０】
この説明の前提条件は以下の３つである。
前提条件１：電話機３Ｂ，３Ｃは、同一のコールパーク番号に所属している。
前提条件２：電話機３Ａからの着信（通話開始）に対して電話機３Ｂが応答する。
前提条件３：電話機３Ｂにてパークボタンが押されると、電話機３Ｃに電話に出るように指示される。
【００４１】
比較例１によるコールパークからの着信動作は、まず、電話機３Ａからの着信に応答した電話機３Ｂは、パークボタンが押されると（ステップＡ１）、電話機３Ａ，３Ｂ間のＲＴＰ（Real-time Transfer Protocol）による信号配信を中断され通話が保留される（破線矢印。通信未確立。）。このとき、ＳＩＰサーバ２ｄは、保留された通話にコールパーク番号を割り当てる。
【００４２】
次に、ＳＩＰサーバ２ｄは、ＮＯＴＩＦＹ信号を電話機３Ｂ，３Ｃに送信することで（ステップＡ２）、コールパーク番号を通知する。このとき、電話機３Ｂ，３Ｃは、ランプ表示と鳴動を行う。
【００４３】
次に、電話機３Ｃは、ＳＩＰサーバ２ｄを経由して電話機３ＡにＩＮＶＩＴＥ信号を送信し、電話機３Ａから２００ＯＫ等のメッセージを受信する（ステップＡ３）。このとき、電話機３Ｃは、ＩＮＶＩＴＥ信号のＴｏヘッダに、電話機Ａが保留されているコールパーク番号を含める。
【００４４】
最後に、電話機３Ａ，３Ｃ間でＲＴＰによる信号配信がなされ、通信が確立する（ステップＡ４）。
比較例１のように、ＳＩＰサーバを１台だけ用意する場合には、コールパークからの着信動作の処理を確実に実現することができる。
【００４５】
＜比較例２＞
続いて、図４を参照して、後記の本実施例に対する比較例２として、電話機３Ａ〜３Ｃに対して、分散システム上のＳＩＰサーバ２ａ〜２ｃ（Ｎ−ＡＣＴ構成）が、コールパークからの着信動作に関する処理を実行する場合について説明する。前提条件は、比較例１と同様である。また、図４に示す振り分け装置１ａは、従来の振り分け装置であって、コンシステント・ハッシュ法に従い、電話機３Ａ〜３Ｃから受信した信号に付された振り分けキーに応じて、ＳＩＰサーバ２ａ〜２ｃのいずれかに信号を振り分ける。
【００４６】
比較例１によるコールパークからの着信動作は、まず、比較例１のステップＡ１（図３）と同様、電話機３Ａからの着信に応答した電話機３Ｂは、パークボタンが押されると（ステップＢ１）、電話機３Ａ，３Ｂ間のＲＴＰによる信号配信を中断され通話が保留される（破線矢印）。
【００４７】
次に、ＳＩＰサーバ２ａは、振り分け装置１ａを経由してＮＯＴＩＦＹ信号を電話機３Ｂ，３Ｃに送信することで（ステップＢ２）、コールパーク番号を通知する。このとき、電話機３Ｂ，３Ｃは、ランプ表示と鳴動を行う。
【００４８】
次に、電話機３Ｃは、振り分け装置１ａにＩＮＶＩＴＥ信号を送信する（ステップＢ３）。このとき、電話機３Ｃは、ＩＮＶＩＴＥ信号のＴｏヘッダに、電話機Ａが保留されているコールパーク番号（単に、パーク番号と呼ぶ場合がある）を含め、電話機３Ｃからパーク番号宛のＩＮＶＩＴＥ信号とする。しかし、このＩＮＶＩＴＥ信号に付された振り分けキー、つまり、Ｃａｌｌ−ｉｄ、Ｆｒｏｍヘッダ、および、Ｔｏヘッダに基づく組み合わせは、電話機３Ａ，３Ｂ間の信号に付された振り分けキー（ステップＢ１前に電話機３Ａ，３Ｂ間で用いられていた振り分けキー）とは、異なった値を示す場合が多い。このため、電話機３Ｃからパーク番号宛のＩＮＶＩＴＥ信号の振り分け先が必ずしも、ＮＯＴＩＦＹ信号を送信したＳＩＰサーバ２ａとなるとは限らない（図４では、ＳＩＰサーバ２ｃが振り分け先として図示されている）。
【００４９】
このように、比較例２によるコールパークからの着信動作は、一連のトランザクションで、振り分けキーが同一であることが保証されない。このため、分散システムの別のＳＩＰサーバに信号が振り分けられてしまう可能性がある。結果として、コールパークからの着信動作が必ず実現されるとは限らない。
【００５０】
＜本実施例＞
続いて、図５を参照して、本実施例として、電話機３Ａ〜３Ｃに対して、分散システム上のＳＩＰサーバ２ａ〜２ｃ（Ｎ−ＡＣＴ構成）が、コールパークからの着信動作に関する処理を実行する場合について説明する。前提条件は、比較例１，２と同様である。また、本実施形態の振り分け装置１を用いる。
【００５１】
まず、振り分け装置１は、電話機３Ａから電話機３ＢにＩＮＶＩＴＥ信号が送信される（ステップＣ１）。具体的には、まず、振り分け装置１の解析部１１が、電話機３ＡからのＩＮＶＩＴＥ信号（通話開始時に取得した信号）を解析する。次に、振り分け装置１の書き込み部１２が、解析部１１の解析結果をＤＢ１５に書き込む。電話機３ＡからのＩＮＶＩＴＥ信号に対する解析部１１の解析結果は、Ｆｒｏｍヘッダ（3A＠xxx.com）と、Ｔｏヘッダ（3B＠xxx.com）と、電話機３Ａから電話機３Ｂ宛のＣａｌｌ−ｉｄ（1f3e＠xxx.com）との関連情報（図５中の太枠）である。次に、振り分け部１４が、コンシステント・ハッシュ法によって、ＩＮＶＩＴＥ信号に付された振り分けキーに応じてそのＩＮＶＩＴＥ信号をＳＩＰサーバ２ａに振り分ける。次に、ＳＩＰサーバ２ａは、振り分け装置１を経由してＩＮＶＩＴＥ信号を電話機３Ｂに送信する。
【００５２】
ステップＣ１により、電話機３Ａ，３Ｂ間で通信が確立し、ＲＴＰ（図示せず）による通話が開始される。その後、電話機３Ｂにてパークボタンが押下され、電話機３Ａ，３Ｂ間のＲＴＰによる信号配信を中断され通話が保留されたとする（通信未確立）。すると、ＳＩＰサーバ２ａは、比較例２のステップＢ２と同様、振り分け装置１ａを経由してＮＯＴＩＦＹ信号を電話機３Ｂ，３Ｃに送信することで（ステップＣ２）、コールパーク番号を通知する。
【００５３】
このとき、書き込み部１２は、ＮＯＴＩＦＹ信号から、電話機３Ａから電話機３Ｂ宛のＣａｌｌ−ｉｄ（1f3e＠xxx.com）と、コールパーク番号（１０１）とを取得し、ＤＢ１５に書き込む。ＤＢ１５では、ＮＯＴＩＦＹ信号から取得したＣａｌｌ−ｉｄ（1f3e＠xxx.com）をキーにして、Ｆｒｏｍヘッダ（3A＠xxx.com）と、Ｔｏヘッダ（3B＠xxx.com）と、電話機３Ａから電話機３Ｂ宛のＣａｌｌ−ｉｄ（1f3e＠xxx.com）との関連情報に、ＮＯＴＩＦＹ信号から取得したコールパーク番号（１０１）（図５中破線枠）が関連付けられる。
【００５４】
次に、電話機３Ｃは、比較例２のステップＢ３と同様、振り分け装置１にＩＮＶＩＴＥ信号を送信する（ステップＣ３）。このとき、解析部１１が、電話機３ＣからのＩＮＶＩＴＥ信号を解析し、宛先となるパーク番号を取得する。また、判定部１３は、解析部１１の解析結果から、電話機３ＣからのＩＮＶＩＴＥ信号が、コールパークの着信動作を実現する処理に用いられる信号であると判定することができる。なお、電話機３Ｃが送信するＩＮＶＩＴＥ信号のＣａｌｌ−ｉｄは、1f3e＠xxx.comとは異なるとする。
【００５５】
よって、判定部１３は、電話機３ＣからのＩＮＶＩＴＥ信号に関する判定の結果を振り分け部１４に出力する。また、判定部１３は、判定の結果に応じて、ＤＢ１５にアクセスし、電話機３ＣからのＩＮＶＩＴＥ信号のＴｏヘッダ内にあるパーク番号をキーにして、パーク済のＣａｌｌ−ｉｄの有無を確認する。本実施例の場合、Ｆｒｏｍヘッダ（3A＠xxx.com）と、Ｔｏヘッダ（3B＠xxx.com）と、電話機３Ａから電話機３Ｂ宛のＣａｌｌ−ｉｄ（1f3e＠xxx.com）と、コールパーク番号（１０１）との関連情報がＤＢ１５に存在するため、パーク済のＣａｌｌ−ｉｄは有る。そこで、振り分け部１４は、電話機３ＣからのＩＮＶＩＴＥ信号のＣａｌｌ−ｉｄを1f3e＠xxx.comに差し替える。これにより、電話機３ＣからのＩＮＶＩＴＥ信号の振り分け先は、ＮＯＴＩＦＹ信号を電話機３Ｂ，３Ｃに送信したＳＩＰサーバ２ａになる。また、振り分け部１４は、電話機３ＣからのＩＮＶＩＴＥ信号に付された振り分けキーを、関連情報に含まれる、Ｆｒｏｍヘッダ（3A＠xxx.com）と、Ｔｏヘッダ（3B＠xxx.com）と、電話機３Ａから電話機３Ｂ宛のＣａｌｌ−ｉｄ（1f3e＠xxx.com）とに基づく組み合わせとすることができる。
【００５６】
振り分け部１４は、電話機３ＣからのＩＮＶＩＴＥ信号をＳＩＰサーバ２ａに振り分ける。振り分け装置１は、振り分け部１４によるＣａｌｌ−ｉｄの差し替えが無ければ電話機３ＣからのＩＮＶＩＴＥ信号をＳＩＰサーバ２ｃに振り分けていた（図５中の破線矢印Ｄ１参照）。しかし、振り分け装置１は、振り分け部１４によるＣａｌｌ−ｉｄの差し替えによって、電話機３ＣからのＩＮＶＩＴＥ信号を、電話機３Ａ，３Ｂ間の通話を元々処理していたＳＩＰサーバ２ａに送信することができる。その結果、ＳＩＰサーバ２ａが、コールパークからの着信動作を完了させることができる。
【００５７】
≪コールピック機能、保留転送機能≫
本実施形態のロジックは、上記のコールパーク機能だけでなく、代表着信時のコールピック機能や保留転送機能といった他のＰＢＸ機能にも適用することができる。コールピック機能も保留転送機能も、コールパーク機能と同様、やり取りされる複数種類の信号を同一のＳＩＰサーバで処理する必要がある。しかし、通話確立前にやり取りされる信号群において、Ｆｒｏｍヘッダと、Ｔｏヘッダと、Ｃａｌｌ−ｉｄとに基づく組み合わせが同一ではなく、振り分けキーが同じにならないため、Ｎ−ＡＣＴ構成をとる分散システムの場合、同じＳＩＰサーバに信号が振り分けられるとは限らない。
【００５８】
本実施形態によれば、振り分け装置１が、コールピック機能や保留転送機能を実現する通話完了前の処理に用いられる信号を解析することで、当該機能の一連のトランザクションの処理を最初に担当したＳＩＰサーバ（ＩＮＶＩＴＥ信号を処理したＳＩＰサーバ：通話開始時の処理を担当したＳＩＰサーバ）を特定することができる。その結果、振り分け装置１は、前述したＣａｌｌ−ｉｄの差し替えによって、Ｆｒｏｍヘッダと、Ｔｏヘッダと、Ｃａｌｌ−ｉｄとの組み合わせが異なる通信を、特定のＳＩＰサーバへ狙い撃つことができ、コールピック機能や保留転送機能を実現することができる。
【００５９】
≪まとめ≫
本実施形態によれば、所定の電話交換機能を実現する通信確立前の処理に用いられる複数種類の信号に付された振り分けキーの値が異なっていても、信号のＣａｌｌ−ｉｄの差し替えによって、複数種類の信号を同じＳＩＰサーバに送信することができる。
したがって、複数のＳＩＰサーバから構成される分散システムにて、電話交換機能を実現することができる。
また、ＰＢＸ機能をソフトウェアで実現するｖＰＢＸを無改造で分散システムに搭載することができ、開発コストを削減することができる。
【００６０】
なお、本発明は、上記した実施形態に限定されることなく、その趣旨を逸脱しない範囲で変更することができる。
例えば、分散システムは、Ｎ−ＡＣＴ構成に限らず、ＳＴＢ／ＡＣＴ構成（ＡＣＴのＳＩＰサーバは２台以上存在）にも本発明を適用することができる。
【符号の説明】
【００６１】
１      振り分け装置
２ａ〜２ｃ  ＳＩＰサーバ
３Ａ〜３Ｃ  電話機
１１    解析部
１２    書き込み部
１３    判定部
１４    振り分け部
１５    ＤＢ（データベース）
【図１】
2018170710.tif 000003
【図２】
2018170710.tif 000004
【図３】
2018170710.tif 000005
【図４】
2018170710.tif 000006
【図５】
2018170710.tif 000007