JP6660337B2 - Sorting device and sorting method - Google Patents
Sorting device and sorting method Download PDFInfo
- Publication number
- JP6660337B2 JP6660337B2 JP2017068343A JP2017068343A JP6660337B2 JP 6660337 B2 JP6660337 B2 JP 6660337B2 JP 2017068343 A JP2017068343 A JP 2017068343A JP 2017068343 A JP2017068343 A JP 2017068343A JP 6660337 B2 JP6660337 B2 JP 6660337B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- call
- distribution
- function
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Sub-Exchange Stations And Push- Button Telephones (AREA)
- Telephonic Communication Services (AREA)
Description
本発明は、振り分け装置および振り分け方法に関する。 The present invention relates to a sorting device and a sorting method.
近年、分散処理の技術が向上し、システム処理能力の向上をスケールアウトにより実現する分散システムの開発が進んでいる。分散システムを構成する複数のサーバに信号を振り分ける方式には、コンシステント・ハッシュ法が用いられることが多い(非特許文献1参照)。コンシステント・ハッシュ法では、信号に付された振り分けキーに応じて、当該信号の処理を担当するサーバが決められている。分散システムに入力された信号は、振り分けキーに基づいて担当のサーバに振り分けられる。 In recent years, the technology of distributed processing has been improved, and the development of distributed systems for realizing an improvement in system processing capacity by scale-out has been progressing. As a method of distributing signals to a plurality of servers constituting a distributed system, a consistent hash method is often used (see Non-Patent Document 1). In the consistent hash method, a server in charge of processing a signal is determined according to a distribution key assigned to the signal. The signal input to the distributed system is distributed to the server in charge based on the distribution key.
従来技術として、いわゆるN−ACT構成をとる分散システムを構成する複数のSIP(Session Initiation Protocol)サーバによる2者間通話が実現されている。電話機間でやり取りされる通話の信号は、当該信号に付された振り分けキーに応じて、担当のSIPサーバによって処理される。振り分けキーは、例えば、信号に含まれるCall−id、Fromヘッダ、および、Toヘッダを所定の演算処理で組み合わせたものとすることができる。2者間通話では、振り分けキーは、2者間通話に関わる一連のトランザクション(INVITE〜BYE)で同一となり、信号は同じSIPサーバに振り分けられる。 As a conventional technique, a two-party call is realized by a plurality of SIP (Session Initiation Protocol) servers constituting a distributed system having a so-called N-ACT configuration. A signal of a call exchanged between telephones is processed by a SIP server in charge according to a distribution key assigned to the signal. The distribution key may be, for example, a combination of a Call-id, a From header, and a To header included in the signal by a predetermined calculation process. In a two-party call, the distribution key is the same in a series of transactions (INVITE to BYE) related to the two-party call, and the signal is distributed to the same SIP server.
社内の電話機に導入されているビジネスフォン機能(PBX(Private Branch eXchange)機能:電話交換機能)を、複数のSIPサーバから構成される分散システム上で動作させたいという要望がある。このとき、各SIPサーバには、PBX機能をソフトウェアで実現するvPBX(virtual PBX。アプリケーションの1種。)を備える。 There is a demand that a business phone function (PBX (Private Branch eXchange) function: telephone exchange function) introduced in a telephone in a company be operated on a distributed system composed of a plurality of SIP servers. At this time, each SIP server includes a vPBX (virtual PBX, a type of application) that implements the PBX function by software.
しかし、PBX機能の一部(例:代表着信時のコールピック動作(他の人の電話に代理で応答する動作)、コールパークからの着信動作(保留した通話を別の電話機から応答させる動作))については、通話確立前では、当該PBX機能に関わる一連のトランザクションで振り分けキーが同一であることが保証されていない。このため、通話確立前では信号が別々のSIPサーバに振り分けられる場合があり、この場合、PBX機能が実現しない。結果として、従来では、複数のSIPサーバから構成される分散システムにPBX機能を導入することが困難となっている。なお、vPBXを相応に改造して、PBX機能を導入してもよいが、このような改造は、多大な労力とコストを要するため採用できない。 However, a part of the PBX function (eg, a call picking operation at the time of representative incoming call (operation to answer another person's phone on behalf), an incoming operation from a call park (operation to answer a held call from another telephone) Regarding the item ()), it is not guaranteed that the distribution key is the same in a series of transactions related to the PBX function before the call is established. Therefore, before the call is established, the signal may be distributed to different SIP servers, and in this case, the PBX function is not realized. As a result, it has conventionally been difficult to introduce the PBX function into a distributed system composed of a plurality of SIP servers. It should be noted that vPBX may be modified accordingly to introduce the PBX function, but such modification cannot be adopted because it requires a great deal of labor and cost.
このような背景を鑑みて本発明がなされたのであり、本発明は、複数のSIPサーバから構成される分散システムにて、電話交換機能を実現することを課題とする。 The present invention has been made in view of such a background, and an object of the present invention is to realize a telephone exchange function in a distributed system including a plurality of SIP servers.
前記した課題を解決するため、請求項1に記載の発明は、信号に付された振り分けキーに応じて、分散システムを構成する複数のSIP(Session Initiation Protocol)サーバに前記信号を振り分ける振り分け装置であって、前記信号を第1の信号として解析する解析部と、前記解析の結果をデータベースに書き込む書き込み部と、前記第1の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第1の信号に係る通話で通話開始時に取得した第2の信号の識別子と、前記第1の信号の識別子とが異なるか否かを判定する判定部と、異なる場合には、前記第1の信号の識別子を、前記第2の信号の識別子に差し替え、前記第2の信号が振り分けられたSIPサーバに前記第1の信号を振り分ける振り分け部と、を備える、ことを特徴とする。
In order to solve the above-mentioned problem, the invention according to
また、請求項3に記載の発明は、信号に付された振り分けキーに応じて、分散システムを構成する複数のSIPサーバに前記信号を振り分ける振り分け装置における振り分け方法であって、前記振り分け装置が、前記信号を第1の信号として解析する解析ステップと、前記解析の結果をデータベースに書き込む書き込みステップと、前記第1の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第1の信号に係る通話で通話開始時に取得した第2の信号の識別子と、前記第1の信号の識別子とが異なるか否かを判定する判定ステップと、異なる場合には、前記第1の信号の識別子を、前記第2の信号の識別子に差し替え、前記第2の信号が振り分けられたSIPサーバに前記第1の信号を振り分ける振り分けステップと、を実行する、ことを特徴とする。 The invention according to claim 3 is a distribution method in a distribution device that distributes the signal to a plurality of SIP servers configuring a distributed system according to a distribution key attached to a signal, wherein the distribution device includes: An analysis step of analyzing the signal as a first signal, a writing step of writing the result of the analysis to a database, and whether the first signal is a signal used for processing for realizing a predetermined telephone exchange function If the signal is used for processing for realizing the telephone exchange function, referring to the database, the identifier of the second signal acquired at the start of the call in the call related to the first signal, A determining step of determining whether or not the identifier of the first signal is different; if not, replacing the identifier of the first signal with the identifier of the second signal; Replacement executes a sorting step of sorting the first signal to the SIP server to which the second signal is allocated, characterized in that.
請求項1,3に記載の発明によれば、所定の電話交換機能を実現する処理に用いられる複数種類の信号に付された振り分けキーの値が異なっていても、信号の識別子の差し替えによって、複数種類の信号を同じSIPサーバに送信することができる。
したがって、複数のSIPサーバから構成される分散システムにて、電話交換機能を実現することができる。
According to the first and third aspects of the present invention, even if the values of the sorting keys assigned to a plurality of types of signals used in the processing for realizing the predetermined telephone exchange function are different, the replacement of the signal identifier can A plurality of types of signals can be transmitted to the same SIP server.
Therefore, a telephone exchange function can be realized in a distributed system including a plurality of SIP servers.
また、請求項2に記載の発明は、請求項1に記載の振り分け装置であって、前記所定の電話交換機能は、コールピック機能、コールパーク機能、または、保留転送機能の何れかである、ことを特徴とする。
The invention according to claim 2 is the sorting device according to
請求項2に記載の発明によれば、複数のSIPサーバから構成される分散システムにて、コールピック機能、コールパーク機能、または、保留転送機能を実現することができる。 According to the second aspect of the present invention, a call pick function, a call park function, or a hold transfer function can be realized in a distributed system including a plurality of SIP servers.
本発明によれば、複数のSIPサーバから構成される分散システムにて、電話交換機能を実現することができる。 According to the present invention, a telephone exchange function can be realized in a distributed system including a plurality of SIP servers.
次に、本発明を実施するための形態について説明する。 Next, an embodiment for carrying out the present invention will be described.
≪構成≫
図1に示すように、本実施形態の振り分け装置1と、分散システムを構成するSIPサーバ2a〜2cと、電話機3A〜3Cとが通信可能に接続されている。なお、分散システムを構成するSIPサーバは、図1に示すように、3台に限定されず、2台以下でもよいし、4台以上でもよい。また、電話機は、図1に示すように、3台に限定されず、2台以下でもよいし、4台以上でもよい。
SIPサーバ2a〜2cは、PBX機能をソフトウェアで実現するvPBXを備えるサーバである。
電話機3A〜3Cは、PBX機能を利用した通信を行うSIP端末である。
振り分け装置1は、通信時に電話機3A〜3Cから受信した信号をSIPサーバ2a〜2cのいずれかに振り分ける。信号の振り分けは、例えば、コンシステント・ハッシュ法に従うようにしてもよいが、これに限定されない。
≪Configuration≫
As shown in FIG. 1, the
Each of the
The
The
なお、振り分け装置1、SIPサーバ2a〜2c、および、電話機3A〜3Cはそれぞれ、CPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラムを実行することにより、各機能を実現する。
Note that the
In this computer, the CPU realizes each function by executing a program read into the memory.
振り分け装置1は、解析部11と、書き込み部12と、判定部13と、振り分け部14と、DB(データベース)15とを備える。
解析部11は、電話機3A〜3Cから受信した信号を解析する。具体的には、解析部11は、受信した信号の種類(INVITE、NOTIFYなど)を特定したり、受信した信号に含まれるCall−id、Fromヘッダ、および、Toヘッダを特定したりする。信号の解析により、当該信号が用いられる処理で実現されるPBX機能の種類を特定することができる。解析した信号が、コールパーク機能に用いられる信号である場合、解析部11は、信号からコールパーク番号を特定することができる。
The
The
書き込み部12は、解析部11による解析の結果をDB15に書き込む。
The
判定部13は、解析部11が解析した信号が、所定のPBX機能を実現する処理に用いられる信号であるか否かを判定する。信号がどのようなPBX機能を実現する処理に用いられる信号であるかという判定は、解析部11の解析の結果に基づいて実行可能な周知技術であるため、詳細な説明は省略する。例えば、パーク保留の判定は、電話機3A〜3Cが、SIP信号内のToヘッダ(例えば、sip:101@10.10.10.1)内にパーク番号を付与して発信した場合に可能となる。よって、判定部13は、対象の信号がコールパーク機能に用いられる信号である、と判定することができる。
The
また、例えば、コールピック動作の判定は、SIP信号内のReplacesヘッダ内のCall−id情報を読み取ることで可能となる。よって、判定部13は、対象の信号がコールピック機能に用いられる信号である、と判定することができる。
In addition, for example, a call pick operation can be determined by reading Call-id information in a Replaces header in a SIP signal. Therefore, the
また、例えば、保留転送の判定は、INVITE信号内のSDP(Session Description Protocol)パラメータを読み取ったときに、音声データ形式として、a=sendonly等が格納されており、Call−idをDB15に格納するといった引き継ぎがなされたことで可能となる。よって、判定部13は、対象の信号が保留転送機能に用いられる信号である、と判定することができる。
Also, for example, when the SDP (Session Description Protocol) parameter in the INVITE signal is read, a = sendonly or the like is stored as the audio data format, and the Call-id is stored in the
また、判定部13は、解析部11が解析した信号(第1の信号)が所定のPBX機能を実現する処理に用いられる信号である場合、DB15を参照して、解析部11が解析した信号に係る通話で通話開始時に取得した信号(第2の信号)のCall−id(識別子)と、解析部11が解析した信号の識別子とが異なるか否かを判定する。換言すれば、DB15には、解析部11が解析した信号がやり取りされた通話に関して、当該通話でやり取りされた信号群のCall−idが格納されている。そこで、判定部13は、PBX機能が実行された通話の開始時に取得されるINVITE信号のCall−idが存在するか否かをDB15から確認する。
In addition, when the signal (first signal) analyzed by the
なお、先述したように、N−ACT構成をとる従来の分散システムにて、コンシステント・ハッシュ法によって信号の振り分けを実行した場合、PBX機能の一部については、通話確立前では、当該PBX機能に関わる一連のトランザクションで振り分けキーが同一であることが保証されていない。つまり、1つの通話でやり取りされる信号群のCall−idは、通話が確立するまでは同一とはならない。例えば、PBX機能がコールパーク機能である場合、パーク保留の保留前と保留解除後とでは異なるCall−idが用いられるという特性がある。そこで、振り分け装置1が受信した信号が、通話確立前の信号であるか通話確立後の信号であるかを判定することが好ましい。
As described above, in the conventional distributed system having the N-ACT configuration, when signal distribution is performed by the consistent hash method, a part of the PBX function is provided before the call is established. It is not guaranteed that the distribution key is the same in a series of transactions involving. That is, the Call-id of the signal group exchanged in one call is not the same until the call is established. For example, when the PBX function is the call park function, there is a characteristic that different Call-ids are used before and after the hold of the park hold. Therefore, it is preferable to determine whether the signal received by the
判定部13は、解析部11が信号を解析したときの結果に応じて、当該信号が通話確立前の信号であるか通話確立後の信号であるかを判定することができる。具体的には、例えば、SIP信号である場合には、判定部13は、ヘッダ内のCall−idの値を特定し、同じ通話で事前にやり取りされた他の信号のCall−idがDB15に格納されているかを判定することで、換言すれば、通話が完了していないCall−idの有無を判定することで、通話確立前の信号であるか否かを判定することができる。
The
また、判定部13は、SIP信号内に、WWW-Authenticateヘッダのない(ユーザ発の)イニシャルINVITEが有れば、当該信号が通話確立前の信号であると判定することができる。
Further, if there is an initial INVITE (from the user) without a WWW-Authenticate header in the SIP signal, the
振り分け部14は、判定部12によるこれらの判定の結果に応じて、解析部11が解析した信号の振り分け先(SIPサーバ2a〜2cのいずれか)を決定する。具体的には、振り分け部14は、DB15にアクセスし、解析部11が解析した(最新の)信号のCall−idと、DB15に事前に書き込まれていた信号であって、解析部11が解析した信号に係る通話の通話開始時に取得した信号のCall−idとを比較する。そして、両Call−idが異なる場合には、振り分け部14は、解析部11が解析した(最新の)信号のCall−idを、通話開始時に取得した信号のCall−idに差し替える。
The
また、振り分け部14は、コンシステント・ハッシュ法に従い、電話機3A〜3Cから受信した信号に付された振り分けキーに応じて、当該信号の振り分け先(SIPサーバ2a〜2cのいずれか)に信号を振り分ける。振り分けキーは、例えば、信号に含まれるCall−id、Fromヘッダ、および、Toヘッダを所定の演算処理で組み合わせたものとすることができるが、これに限定されない。
Further, the
先述したCall−idの差し替えがあった場合、振り分け部14は、コンシステント・ハッシュ法にしたがって、通話開始時に取得した信号を振り分けたSIPサーバに、解析部11が解析した(最新の)信号を振り分けることができる。つまり、通話でやり取りされた信号群を同じSIPサーバに振り分けることができる。
When the Call-id is replaced as described above, the
DB15は、判定部12および変更部13がアクセス可能となるように、解析部11による解析の結果を保存する。
The
≪処理≫
本実施形態の振り分け装置1が実行する処理について説明する。
図2に示すように、本実施形態の振り分け装置1が実行する処理は、電話機3A〜3Cから信号を取得した時に開始する。
≪Process≫
Processing executed by the
As shown in FIG. 2, the process executed by the
まず、振り分け装置1は、解析部11によって、取得した信号を解析する(ステップS1)。
次に、振り分け装置1は、書き込み部12によって、解析部11による解析の結果をDB15に書き込む(ステップS2)。
First, the
Next, the
次に、振り分け装置1は、判定部13によって、解析部11が解析した信号が、所定のPBX機能を実現する処理に用いられる信号であるか否かを判定する(ステップS3)。換言すれば、判定部13は、取得した信号が用いられる処理で実現されるPBX機能の種類を特定する。所定のPBX機能を実現する処理に用いられる信号でない場合(ステップS3/No)、ステップS6に進む。この場合、当該信号がPBX機能を利用しない通常の通話(2者間の通話)の信号であり、本発明を特徴づけるCall−idの差し替えを必要としないことを意味する。
Next, the
一方、所定のPBX機能を実現する処理に用いられる信号である場合(ステップS3/Yes)、振り分け装置1は、判定部13がDB15を参照することによって、(ステップS1で)解析部11が解析した信号のCall−id(第1の信号の識別子)が、当該信号に係る通話で通話開始時に取得した信号のCall−id(第2の信号の識別子)とは異なるか否かを判定する(ステップS4)。同じである場合(ステップS4/No)、ステップS6に進む。この場合、解析部11が解析した信号の振り分け先と、通話開始時に取得した信号の振り分け先とが偶然同じになり、本発明の目的を自ずと達成することができることを意味する。また、解析部11が解析した信号が通話開始時に取得した信号であった場合も「ステップS4/No」に便宜上該当するものとする。
On the other hand, when the signal is used for processing for realizing the predetermined PBX function (step S3 / Yes), the
一方、両Call−idが異なる場合(ステップS4/Yes)、振り分け装置1は、振り分け部14によって、Call−idの差し替えを実行する(ステップS5)。具体的には、振り分け部15は、(ステップS1で)解析部11が解析した信号のCall−idを、通話開始時に取得した信号のCall−idに差し替える。これにより、解析部11が解析した信号に付された振り分けキーの値を、通話開始時に取得した信号に付された振り分けキーの値と同じにすることができる。
On the other hand, when both Call-ids are different (Step S4 / Yes), the
次に、振り分け装置1は、振り分け部14によって、振り分け処理を実行する(ステップS6)。具体的には、振り分け部14は、信号に付された振り分けキーに応じて、SIPサーバ2a〜2cのいずれかに信号を振り分ける。また、振り分け部14は、Call−idの差し替えによって、特定のPBX機能を実現する処理全体(INVITE〜BYE)を実行する特定のSIPサーバに、当該PBX機能を実現する処理に用いられる信号を集中して振り分ける。また、解析部11が解析した信号が通話開始時に取得した信号であった場合(ステップS4/No)、振り分け部14は、当該信号に付された振り分けキーに応じて、SIPサーバ2a〜2cのいずれかに信号を振り分ける。
Next, the
図2の処理によれば、Call−id、Fromヘッダ、および、Toヘッダの組み合わせが異なり、振り分けキーの値がばらばらであるため、振り分け先が異なってしまう複数の信号を、特定のSIPサーバ(通話開始の処理を担当したSIPサーバ)へ狙い撃つことが可能となる。よって、特定のSIPサーバ上で電話交換機能を実現することができる。 According to the processing of FIG. 2, the combination of the Call-id, the From header, and the To header is different, and the values of the distribution keys are different. It is possible to aim and shoot at the SIP server that was in charge of the process of starting the call. Therefore, a telephone exchange function can be realized on a specific SIP server.
≪コールパークからの着信動作に関する具体例≫
本実施形態の具体例として、コールパークからの着信動作を採り上げ説明する。
具体 Specific example of call reception from call park≫
As a specific example of this embodiment, an incoming call operation from a call park will be described.
<比較例1>
まず、図3を参照して、後記の本実施例に対する比較例1として、電話機3A〜3Cに対して、分散システム上の1台のSIPサーバ2dが、コールパークからの着信動作(通常)に関する処理を実行する場合について説明する。
<Comparative Example 1>
First, referring to FIG. 3, as a comparative example 1 with respect to the present embodiment described later, one
この説明の前提条件は以下の3つである。
前提条件1:電話機3B,3Cは、同一のコールパーク番号に所属している。
前提条件2:電話機3Aからの着信(通話開始)に対して電話機3Bが応答する。
前提条件3:電話機3Bにてパークボタンが押されると、電話機3Cに電話に出るように指示される。
The prerequisites for this description are the following three.
Precondition 1: the
Precondition 2: The
Precondition 3: When the park button is pressed on the
比較例1によるコールパークからの着信動作は、まず、電話機3Aからの着信に応答した電話機3Bは、パークボタンが押されると(ステップA1)、電話機3A,3B間のRTP(Real-time Transfer Protocol)による信号配信を中断され通話が保留される(破線矢印。通信未確立。)。このとき、SIPサーバ2dは、保留された通話にコールパーク番号を割り当てる。
In the incoming call operation from the call park according to the comparative example 1, first, the
次に、SIPサーバ2dは、NOTIFY信号を電話機3B,3Cに送信することで(ステップA2)、コールパーク番号を通知する。このとき、電話機3B,3Cは、ランプ表示と鳴動を行う。
Next, the
次に、電話機3Cは、SIPサーバ2dを経由して電話機3AにINVITE信号を送信し、電話機3Aから200OK等のメッセージを受信する(ステップA3)。このとき、電話機3Cは、INVITE信号のToヘッダに、電話機Aが保留されているコールパーク番号を含める。
Next, the
最後に、電話機3A,3C間でRTPによる信号配信がなされ、通信が確立する(ステップA4)。
比較例1のように、SIPサーバを1台だけ用意する場合には、コールパークからの着信動作の処理を確実に実現することができる。
Finally, a signal is delivered by RTP between the
When only one SIP server is prepared as in Comparative Example 1, it is possible to reliably realize the processing of the incoming call operation from the call park.
<比較例2>
続いて、図4を参照して、後記の本実施例に対する比較例2として、電話機3A〜3Cに対して、分散システム上のSIPサーバ2a〜2c(N−ACT構成)が、コールパークからの着信動作に関する処理を実行する場合について説明する。前提条件は、比較例1と同様である。また、図4に示す振り分け装置1aは、従来の振り分け装置であって、コンシステント・ハッシュ法に従い、電話機3A〜3Cから受信した信号に付された振り分けキーに応じて、SIPサーバ2a〜2cのいずれかに信号を振り分ける。
<Comparative Example 2>
Subsequently, referring to FIG. 4, as a second comparative example with respect to the present embodiment described later,
比較例1によるコールパークからの着信動作は、まず、比較例1のステップA1(図3)と同様、電話機3Aからの着信に応答した電話機3Bは、パークボタンが押されると(ステップB1)、電話機3A,3B間のRTPによる信号配信を中断され通話が保留される(破線矢印)。
First, as in step A1 of comparative example 1 (FIG. 3), the
次に、SIPサーバ2aは、振り分け装置1aを経由してNOTIFY信号を電話機3B,3Cに送信することで(ステップB2)、コールパーク番号を通知する。このとき、電話機3B,3Cは、ランプ表示と鳴動を行う。
Next, the
次に、電話機3Cは、振り分け装置1aにINVITE信号を送信する(ステップB3)。このとき、電話機3Cは、INVITE信号のToヘッダに、電話機Aが保留されているコールパーク番号(単に、パーク番号と呼ぶ場合がある)を含め、電話機3Cからパーク番号宛のINVITE信号とする。しかし、このINVITE信号に付された振り分けキー、つまり、Call−id、Fromヘッダ、および、Toヘッダに基づく組み合わせは、電話機3A,3B間の信号に付された振り分けキー(ステップB1前に電話機3A,3B間で用いられていた振り分けキー)とは、異なった値を示す場合が多い。このため、電話機3Cからパーク番号宛のINVITE信号の振り分け先が必ずしも、NOTIFY信号を送信したSIPサーバ2aとなるとは限らない(図4では、SIPサーバ2cが振り分け先として図示されている)。
Next, the
このように、比較例2によるコールパークからの着信動作は、一連のトランザクションで、振り分けキーが同一であることが保証されない。このため、分散システムの別のSIPサーバに信号が振り分けられてしまう可能性がある。結果として、コールパークからの着信動作が必ず実現されるとは限らない。 As described above, the incoming operation from the call park according to the comparative example 2 does not guarantee that the distribution key is the same in a series of transactions. For this reason, the signal may be distributed to another SIP server of the distributed system. As a result, the incoming operation from the call park is not always realized.
<本実施例>
続いて、図5を参照して、本実施例として、電話機3A〜3Cに対して、分散システム上のSIPサーバ2a〜2c(N−ACT構成)が、コールパークからの着信動作に関する処理を実行する場合について説明する。前提条件は、比較例1,2と同様である。また、本実施形態の振り分け装置1を用いる。
<Example>
Subsequently, referring to FIG. 5, as the present embodiment, for
まず、振り分け装置1は、電話機3Aから電話機3BにINVITE信号が送信される(ステップC1)。具体的には、まず、振り分け装置1の解析部11が、電話機3AからのINVITE信号(通話開始時に取得した信号)を解析する。次に、振り分け装置1の書き込み部12が、解析部11の解析結果をDB15に書き込む。電話機3AからのINVITE信号に対する解析部11の解析結果は、Fromヘッダ(3A@xxx.com)と、Toヘッダ(3B@xxx.com)と、電話機3Aから電話機3B宛のCall−id(1f3e@xxx.com)との関連情報(図5中の太枠)である。次に、振り分け部14が、コンシステント・ハッシュ法によって、INVITE信号に付された振り分けキーに応じてそのINVITE信号をSIPサーバ2aに振り分ける。次に、SIPサーバ2aは、振り分け装置1を経由してINVITE信号を電話機3Bに送信する。
First, the
ステップC1により、電話機3A,3B間で通信が確立し、RTP(図示せず)による通話が開始される。その後、電話機3Bにてパークボタンが押下され、電話機3A,3B間のRTPによる信号配信を中断され通話が保留されたとする(通信未確立)。すると、SIPサーバ2aは、比較例2のステップB2と同様、振り分け装置1aを経由してNOTIFY信号を電話機3B,3Cに送信することで(ステップC2)、コールパーク番号を通知する。
By step C1, communication is established between the
このとき、書き込み部12は、NOTIFY信号から、電話機3Aから電話機3B宛のCall−id(1f3e@xxx.com)と、コールパーク番号(101)とを取得し、DB15に書き込む。DB15では、NOTIFY信号から取得したCall−id(1f3e@xxx.com)をキーにして、Fromヘッダ(3A@xxx.com)と、Toヘッダ(3B@xxx.com)と、電話機3Aから電話機3B宛のCall−id(1f3e@xxx.com)との関連情報に、NOTIFY信号から取得したコールパーク番号(101)(図5中破線枠)が関連付けられる。
At this time, the
次に、電話機3Cは、比較例2のステップB3と同様、振り分け装置1にINVITE信号を送信する(ステップC3)。このとき、解析部11が、電話機3CからのINVITE信号を解析し、宛先となるパーク番号を取得する。また、判定部13は、解析部11の解析結果から、電話機3CからのINVITE信号が、コールパークの着信動作を実現する処理に用いられる信号であると判定することができる。なお、電話機3Cが送信するINVITE信号のCall−idは、1f3e@xxx.comとは異なるとする。
Next, the
よって、判定部13は、電話機3CからのINVITE信号に関する判定の結果を振り分け部14に出力する。また、判定部13は、判定の結果に応じて、DB15にアクセスし、電話機3CからのINVITE信号のToヘッダ内にあるパーク番号をキーにして、パーク済のCall−idの有無を確認する。本実施例の場合、Fromヘッダ(3A@xxx.com)と、Toヘッダ(3B@xxx.com)と、電話機3Aから電話機3B宛のCall−id(1f3e@xxx.com)と、コールパーク番号(101)との関連情報がDB15に存在するため、パーク済のCall−idは有る。そこで、振り分け部14は、電話機3CからのINVITE信号のCall−idを1f3e@xxx.comに差し替える。これにより、電話機3CからのINVITE信号の振り分け先は、NOTIFY信号を電話機3B,3Cに送信したSIPサーバ2aになる。また、振り分け部14は、電話機3CからのINVITE信号に付された振り分けキーを、関連情報に含まれる、Fromヘッダ(3A@xxx.com)と、Toヘッダ(3B@xxx.com)と、電話機3Aから電話機3B宛のCall−id(1f3e@xxx.com)とに基づく組み合わせとすることができる。
Therefore,
振り分け部14は、電話機3CからのINVITE信号をSIPサーバ2aに振り分ける。振り分け装置1は、振り分け部14によるCall−idの差し替えが無ければ電話機3CからのINVITE信号をSIPサーバ2cに振り分けていた(図5中の破線矢印D1参照)。しかし、振り分け装置1は、振り分け部14によるCall−idの差し替えによって、電話機3CからのINVITE信号を、電話機3A,3B間の通話を元々処理していたSIPサーバ2aに送信することができる。その結果、SIPサーバ2aが、コールパークからの着信動作を完了させることができる。
The
≪コールピック機能、保留転送機能≫
本実施形態のロジックは、上記のコールパーク機能だけでなく、代表着信時のコールピック機能や保留転送機能といった他のPBX機能にも適用することができる。コールピック機能も保留転送機能も、コールパーク機能と同様、やり取りされる複数種類の信号を同一のSIPサーバで処理する必要がある。しかし、通話確立前にやり取りされる信号群において、Fromヘッダと、Toヘッダと、Call−idとに基づく組み合わせが同一ではなく、振り分けキーが同じにならないため、N−ACT構成をとる分散システムの場合、同じSIPサーバに信号が振り分けられるとは限らない。
≪Call pick function, hold transfer function≫
The logic of the present embodiment can be applied not only to the above-described call park function but also to other PBX functions such as a call picking function at the time of representative reception and a hold transfer function. As with the call park function, both the call pick function and the hold transfer function need to process a plurality of types of exchanged signals with the same SIP server. However, in the signal group exchanged before the call is established, the combination based on the From header, the To header, and the Call-id is not the same, and the distribution key is not the same. In this case, the signal is not always distributed to the same SIP server.
本実施形態によれば、振り分け装置1が、コールピック機能や保留転送機能を実現する通話完了前の処理に用いられる信号を解析することで、当該機能の一連のトランザクションの処理を最初に担当したSIPサーバ(INVITE信号を処理したSIPサーバ:通話開始時の処理を担当したSIPサーバ)を特定することができる。その結果、振り分け装置1は、前述したCall−idの差し替えによって、Fromヘッダと、Toヘッダと、Call−idとの組み合わせが異なる通信を、特定のSIPサーバへ狙い撃つことができ、コールピック機能や保留転送機能を実現することができる。
According to the present embodiment, the
≪まとめ≫
本実施形態によれば、所定の電話交換機能を実現する通信確立前の処理に用いられる複数種類の信号に付された振り分けキーの値が異なっていても、信号のCall−idの差し替えによって、複数種類の信号を同じSIPサーバに送信することができる。
したがって、複数のSIPサーバから構成される分散システムにて、電話交換機能を実現することができる。
また、PBX機能をソフトウェアで実現するvPBXを無改造で分散システムに搭載することができ、開発コストを削減することができる。
≪Summary≫
According to the present embodiment, even if the values of the distribution keys assigned to a plurality of types of signals used in the process before establishing communication for realizing a predetermined telephone exchange function are different, by replacing the Call-id of the signal, A plurality of types of signals can be transmitted to the same SIP server.
Therefore, a telephone exchange function can be realized in a distributed system including a plurality of SIP servers.
Further, the vPBX that realizes the PBX function by software can be mounted without modification on the distributed system, and the development cost can be reduced.
なお、本発明は、上記した実施形態に限定されることなく、その趣旨を逸脱しない範囲で変更することができる。
例えば、分散システムは、N−ACT構成に限らず、STB/ACT構成(ACTのSIPサーバは2台以上存在)にも本発明を適用することができる。
Note that the present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit thereof.
For example, the present invention can be applied not only to the N-ACT configuration in the distributed system but also to the STB / ACT configuration (there are two or more ACT SIP servers).
1 振り分け装置
2a〜2c SIPサーバ
3A〜3C 電話機
11 解析部
12 書き込み部
13 判定部
14 振り分け部
15 DB(データベース)
DESCRIPTION OF
Claims (3)
前記信号を第1の信号として解析する解析部と、
前記解析の結果をデータベースに書き込む書き込み部と、
前記第1の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第1の信号に係る通話で通話開始時に取得した第2の信号の識別子と、前記第1の信号の識別子とが異なるか否かを判定する判定部と、
異なる場合には、前記第1の信号の識別子を、前記第2の信号の識別子に差し替え、前記第2の信号が振り分けられたSIPサーバに前記第1の信号を振り分ける振り分け部と、を備える、
ことを特徴とする振り分け装置。 A distribution device that distributes the signal to a plurality of SIP (Session Initiation Protocol) servers that constitute a distributed system according to a distribution key assigned to the signal,
An analyzer for analyzing the signal as a first signal;
A writing unit that writes the result of the analysis to a database,
It is determined whether the first signal is a signal used for processing for realizing a predetermined telephone exchange function, and if the first signal is a signal used for processing for realizing the telephone exchange function, refer to the database. A determination unit that determines whether the identifier of the second signal acquired at the start of the call in the call related to the first signal and the identifier of the first signal are different,
If different, an identifier for the first signal is replaced with an identifier for the second signal, and a distribution unit that distributes the first signal to the SIP server to which the second signal is distributed,
A sorting device, characterized in that:
ことを特徴とする請求項1に記載の振り分け装置。 The predetermined telephone exchange function is any of a call pick function, a call park function, or a hold transfer function,
The sorting device according to claim 1, wherein:
前記振り分け装置が、
前記信号を第1の信号として解析する解析ステップと、
前記解析の結果をデータベースに書き込む書き込みステップと、
前記第1の信号が所定の電話交換機能を実現する処理に用いられる信号であるか否かを判定し、前記電話交換機能を実現する処理に用いられる信号である場合、前記データベースを参照して、前記第1の信号に係る通話で通話開始時に取得した第2の信号の識別子と、前記第1の信号の識別子とが異なるか否かを判定する判定ステップと、
異なる場合には、前記第1の信号の識別子を、前記第2の信号の識別子に差し替え、前記第2の信号が振り分けられたSIPサーバに前記第1の信号を振り分ける振り分けステップと、を実行する、
ことを特徴とする振り分け方法。 A distribution method in a distribution device that distributes the signal to a plurality of SIP servers configuring a distributed system according to a distribution key assigned to a signal,
The sorting device,
An analyzing step of analyzing the signal as a first signal;
A writing step of writing the result of the analysis to a database,
It is determined whether the first signal is a signal used for processing for realizing a predetermined telephone exchange function, and if the first signal is a signal used for processing for realizing the telephone exchange function, refer to the database. A determination step of determining whether an identifier of the second signal acquired at the start of the call in the call related to the first signal is different from an identifier of the first signal;
If different, the step of replacing the identifier of the first signal with the identifier of the second signal and performing the distribution step of distributing the first signal to the SIP server to which the second signal has been distributed is executed. ,
A sorting method characterized by the fact that:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017068343A JP6660337B2 (en) | 2017-03-30 | 2017-03-30 | Sorting device and sorting method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017068343A JP6660337B2 (en) | 2017-03-30 | 2017-03-30 | Sorting device and sorting method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018170710A JP2018170710A (en) | 2018-11-01 |
| JP6660337B2 true JP6660337B2 (en) | 2020-03-11 |
Family
ID=64019511
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017068343A Active JP6660337B2 (en) | 2017-03-30 | 2017-03-30 | Sorting device and sorting method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6660337B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11689587B2 (en) * | 2021-01-19 | 2023-06-27 | Oracle International Corporation | Methods, systems, and computer readable media for optimized inter-session border controller (SBC) attended call transfer with re-use of transfer target session |
-
2017
- 2017-03-30 JP JP2017068343A patent/JP6660337B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018170710A (en) | 2018-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5169362B2 (en) | Session information replication method, call control server for executing the method, and program for the method | |
| CN102025718A (en) | Sip endpoint enhancer | |
| US8719434B2 (en) | Agnostic peripheral control for media communication appliances | |
| CN107566671B (en) | Network voice communication method and system, storage medium and electronic equipment | |
| CN112398845B (en) | Data transmission method, data transmission device, data transmission system and electronic equipment | |
| CN113162865A (en) | Load balancing method, server and computer storage medium | |
| US20200045091A1 (en) | On demand in-band signaling for conferences | |
| CN116233481A (en) | Media stream transmission method, media server and communication system | |
| CN105516176A (en) | Call center system, communication connection method and device of call center system | |
| WO2023011057A1 (en) | Communication method and apparatus | |
| CN114528203B (en) | Voice response system testing method, device, electronic device and storage medium | |
| US20070180079A1 (en) | Method and system for peer-to-peer stream | |
| JP6660337B2 (en) | Sorting device and sorting method | |
| US20170163809A1 (en) | Method and Device for Recording Multimedia Data | |
| CN117201376A (en) | IPPBX call pressure test method, device and medium based on WebRTC | |
| CN108989267A (en) | Gray scale dissemination method, system, equipment and storage medium based on SIP | |
| TW201826174A (en) | Method of Bidding Online Services | |
| JP2015091125A (en) | Method of expanding application interface for future application | |
| US20110276669A1 (en) | Method and System for Peer-to-Peer Stream | |
| US10686844B2 (en) | Trusted group identification code | |
| US10904301B2 (en) | Conference system and method for handling conference connection thereof | |
| CN108476265B (en) | Computing system for agent management | |
| KR102893604B1 (en) | Method and system of providing email phone call based on web real time communication | |
| CN101170602B (en) | a media information processing method, communication system and user terminal | |
| CN111726282B (en) | Communication method and device of web application, electronic equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190308 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200129 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200204 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200207 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6660337 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |