JP2006244099A - Sip server acceleration architecture - Google Patents
Sip server acceleration architecture Download PDFInfo
- Publication number
- JP2006244099A JP2006244099A JP2005058334A JP2005058334A JP2006244099A JP 2006244099 A JP2006244099 A JP 2006244099A JP 2005058334 A JP2005058334 A JP 2005058334A JP 2005058334 A JP2005058334 A JP 2005058334A JP 2006244099 A JP2006244099 A JP 2006244099A
- Authority
- JP
- Japan
- Prior art keywords
- information
- sip
- server
- sip server
- session
- 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.)
- Granted
Links
Images
Abstract
Description
本発明はSIP(Session Initiation Protocol)に関し、特にSIPサーバにおいてSIPの通信を管理するために必要な情報の格納場所に関する。 The present invention relates to SIP (Session Initiation Protocol), and more particularly to a storage location of information necessary for managing SIP communication in a SIP server.
企業内通信インフラのIPベースへの統合、VoIP(Voice over IP)の台頭から、SIP(Session Initiation Protocol)サーバの需要が着実に伸びてきている。この中で、SIPサーバの処理速度や安定性は当然、SIPサービスを利用する側に求められるものである。 The demand for SIP (Session Initiation Protocol) servers has been steadily increasing due to the integration of in-house communication infrastructure into IP base and the rise of VoIP (Voice over IP). Of these, the processing speed and stability of the SIP server are naturally required by the side using the SIP service.
従来のSIPサーバにおいては、通信において使用する情報を全てSIPサーバ内メモリに格納していた。通信において使用する情報とは、加入者情報・レジストラ情報・発信フィルタ情報・着信フィルタ情報・セッション情報を指す。 In a conventional SIP server, all information used for communication is stored in the memory in the SIP server. Information used in communication refers to subscriber information, registrar information, outgoing filter information, incoming filter information, and session information.
加入者情報とはSIPサービスを受けることができる加入者の情報を示す。レジストラ情報とは、REGISTERというリクエストメッセージにより、加入者がSIPサーバに伝える自分の情報を指す。発信フィルタ情報とは、加入者ごとに、受けることができるSIPサービスを限定することができる情報である。具体的には、「受けることができるSIPサービス=受けつけるリクエストメッセージ」 となり、例えば「VoIP(VoiceOverIP)サービスを受けることができる=INVITEリクエストメッセージを受け付ける」 となる。着信フィルタ情報とは、加入者が、ある特定のユーザからの着信を拒否するために使用する情報である。セッション情報とは、SIPプロトコルにおいて、INVITEリクエストメッセージによりユーザとユーザの間で確立した、VoIPセッションの情報を指す。 The subscriber information is information on subscribers who can receive the SIP service. The registrar information refers to own information that the subscriber conveys to the SIP server by a request message called REGISTER. The outgoing filter information is information that can limit the SIP service that can be received for each subscriber. Specifically, “Acceptable SIP service = Accepted request message”, for example, “Receivable VoIP (VoiceOverIP) service = Accept INVITE request message”. The incoming filter information is information used by the subscriber to reject incoming calls from a specific user. Session information refers to information on a VoIP session established between users by an INVITE request message in the SIP protocol.
次に、今まで説明してきた、通信において使用する情報のそれぞれが、通信においてどう使用されるかを説明する。加入者情報にUser−A・User−Bが登録されていると仮定する。User−AがREGISTERリクエストを送信すると、User−Aが正規のユーザであるかどうかを確認するためDBサーバは加入者情報を検索する。User−Aの情報は存在するので、SIPサーバはレジストラ情報にUser−Aの情報を書き込む。SIPサービスを利用するために、User−BがREGISTER登録を行うと、同様にレジストラ情報に書き込まれる。次に、User−BからUser−AにVoIPセッション確立要求をするためにINVITEリクエストメッセージを送信すると、SIPサーバはレジストラ情報にUser−Bが存在するかを確認する。存在していない場合はエラー応答を返す。存在する場合は、宛先であるUser−Aが存在するかを確認する。存在していない場合はエラー応答を返す。存在する場合は、User−Aのレジストラ情報のコンタクトアドレスから位置情報を割り出す。次に発信フィルタ情報からUser−BがVoIPサービスを利用できるかをチェックする。利用できない場合はエラー応答を返す。利用できる場合は、処理が次に進み、着信フィルタ情報からUser−BからUser−A宛のリクエストメッセージが許容されるかをチェックする。許容されない場合はエラー応答を返す。許容される場合は、上記で割り出したUser−Aの位置情報宛てに、INVITEリクエストメッセージを転送する。User−Aが200応答をし、INVITEリクエストに了解することでセッションが確立するが、このときSIPサーバはセッション情報をメモリに書き込む。 Next, how each piece of information used in communication that has been described so far is used in communication will be described. It is assumed that User-A and User-B are registered in the subscriber information. When User-A sends a REGISTER request, the DB server retrieves subscriber information to confirm whether User-A is a legitimate user. Since the User-A information exists, the SIP server writes the User-A information in the registrar information. When User-B performs REGISTER registration to use the SIP service, it is similarly written in the registrar information. Next, when an INVITE request message is transmitted from User-B to User-A to make a VoIP session establishment request, the SIP server confirms whether User-B exists in the registrar information. If it does not exist, an error response is returned. If it exists, it is confirmed whether User-A as the destination exists. If it does not exist, an error response is returned. If it exists, the position information is determined from the contact address of the registrar information of User-A. Next, it is checked whether User-B can use the VoIP service from the outgoing filter information. If it cannot be used, an error response is returned. If available, the process proceeds to check whether a request message addressed from User-B to User-A is allowed from the incoming filter information. Returns an error response if not allowed. If allowed, the INVITE request message is transferred to the location information of User-A determined above. When User-A makes a 200 response and accepts the INVITE request, the session is established. At this time, the SIP server writes the session information in the memory.
従来のSIPサーバにおいては、これらの通信において使用する情報を、全てSIPサーバ内のメモリに格納するという形態を取り、処理の高速化を図っていた。具体的には、全ての情報を記載した、加入者情報用ファイル・発信フィルタ情報ファイル・着信フィルタ情報ファイルをあらかじめ用意しておき、SIPサーバ起動時にそれらを全て読み込み、メモリに展開するという形態を取っている。 The conventional SIP server takes the form of storing all the information used in these communications in the memory in the SIP server to increase the processing speed. Specifically, the subscriber information file, the outgoing filter information file, and the incoming filter information file in which all information is described are prepared in advance, and when the SIP server is started, all of them are read and expanded in the memory. taking it.
また、上記で説明したSIPサーバのようにメモリ内に情報を持たず、外部DB(DataBase)サーバを用意し、そこに通信において使用する情報を格納する形態もあった。通信において使用する情報を全てメモリ内に持とうとしたとき、登録数に限界があり、大量に登録しようとした場合、相当なスペックのサーバ機器を要求されるため、コストが非常にかかる。これらの問題を外部DBサーバ化によって解決する形態である。動的に変更される可能性のあるレジストラ情報およびセッション情報のみメモリ内に格納する。特許文献1には、レジストラ情報(本明細書の「ロケーション情報」に対応)を外部DBサーバに格納する形態を取っている。
In addition, there is a form in which an external DB (DataBase) server is prepared and information used for communication is stored therein without having information in the memory like the SIP server described above. There is a limit to the number of registrations when trying to have all the information used in communication in memory, and when a large number of registrations are attempted, a server device with a considerable specification is required, which is very expensive. This is a form to solve these problems by using an external DB server. Only registrar information and session information that may be dynamically changed are stored in the memory.
以下、説明の便宜上、通信において使用する情報を全てSIPサーバ内のメモリに格納する従来技術を従来技術1、通信において使用する情報を全てSIPサーバ外部のDBサーバに格納する従来技術を従来技術2と記載する。
Hereinafter, for convenience of explanation, the
上記従来技術1においては、全ての情報をメモリ内に持つため、処理の高速化は図れるが、大量情報登録を行うことはできない。従来技術1は登録数が少ないことが前提となり、そのときはリクエストメッセージ受信〜転送までの通常の処理時間は10msであったが、登録数を増加させようとした場合はメモリ増加による処理の遅延を引き起こし、最悪の場合はSIPサーバがプロセスダウンするという事象も起こりえた。登録数が多いほど、上記不具合はもっと早い段階で起こる。処理の高速化のための全情報メモリ内展開ではあったが、登録数によって処理遅延を引き起こすという結果になっていた。
In the
また、上記従来技術2においては、外部DBサーバ化によってメモリの圧迫を防いでいるが、元々の処理性能が、DBアクセスにより遅くなるため、リクエストメッセージ受信〜転送までの処理時間が100msほどかかっていた。特許文献1でも処理性能については言及されておらず、DBアクセスによるリクエストメッセージ処理遅延が考えられる。
Further, in the above
本発明において解決しようとする課題は、上記2つの従来技術がかかえていた課題を纏めて解決することである。 The problem to be solved in the present invention is to collectively solve the problems of the above two conventional techniques.
従来よりも大量の情報登録をするためには、メモリ圧迫を防ぐ外部DBサーバ化は必須である。従って外部DBサーバに格納されている情報のうちの一部であって、メモリに展開することでその後の処理の高速化が図れる情報だけをメモリ内に展開することで処理の高速化とともに使用するメモリ量の減少を実現する。 In order to register a larger amount of information than before, it is essential to create an external DB server that prevents memory pressure. Therefore, only information that is part of the information stored in the external DB server and that can be developed in the memory to speed up the subsequent processing is used together with the speeding up of the processing in the memory. A reduction in the amount of memory is realized.
外部DBサーバにアクセスすることで取得する情報と、SIPサーバのメモリに格納する情報とに二分することで、SIPサーバのメモリの増大を防ぐとともに処理の高速化を図る。 By dividing the information into information obtained by accessing the external DB server and information stored in the memory of the SIP server, an increase in the memory of the SIP server is prevented and the processing speed is increased.
以下に、図面を参照して、本発明の実施例について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、SIPサービスの発着通信制御を行うSIPサーバ2を中心とした、該サービス全体のネットワーク構成を示す。SIPサーバ2およびSIP通信において使用する情報を格納した外部DBサーバ3は、SIPサービスを運用する側のネットワークである運用者LAN(Local Area Network)5に接続され、運用者LAN5はIPネットワーク4に接続される。また、SIPサービスを利用するユーザ端末1もIPネットワーク4に接続される。各ユーザ端末1は、REGISTERやINVITEといったSIPリクエストメッセージをIPパケットでSIPサーバ2に送信する。またSIPサーバ2は、外部DBサーバ3に格納されている情報をSIP通信において使用するために、IPネットワーク4を介して外部DBサーバ3にアクセスする。IPネットワーク4における1ドメインにつき、1台のSIPサーバ2が用意される。図1はIPネットワーク4の1ドメインの構成を示している。
FIG. 1 shows a network configuration of the entire service centered on a
図2は、SIPサーバ2の構成を示すブロック図である。SIPサーバ2は、IPネットワーク4に繋がる各ユーザ端末1や外部DBサーバ3とIPパケットの送受信を行うIPインタフェース部21と、通信制御を行うプロセッサ22と、プロセッサが実行する、上記通信制御用のプログラムを格納するプログラム格納メモリ23と、上記通信制御に必要な各種テーブルを格納するためのメインメモリ24とを備えている。プログラム格納メモリ23には、REGISTERやINVITEなどのSIPメッセージを送受信処理するSIPメッセージ処理プログラム231と、レジストラ情報のテーブル書き込みや検索削除を行うレジストラ情報処理プログラム232と、セッション情報のテーブル書き込みや検索削除を行うセッション情報処理プログラム233と、発信フィルタ情報のテーブル書き込みや検索削除を行う発信フィルタ処理プログラム234と、着信フィルタ情報のテーブル書き込みや検索削除を行う着信フィルタ処理プログラム235と、外部DBサーバ3へのテーブル検索要求などのDBアクセスを司るDBアクセスプログラム236が格納される。メインメモリ24には、レジストラテーブル241と、セッションテーブル242と、発信フィルタテーブル243と、着信フィルタテーブル244が格納される。各種情報と各種テーブルについては、図4以降にて説明する。
FIG. 2 is a block diagram showing the configuration of the
図3は、外部DBサーバ3の構成を示すブロック図である。外部DBサーバ3は、IPネットワーク4に繋がるSIPサーバ2とIPパケットの送受信を行うIPインタフェース部31と、DB制御を行うプロセッサ32と、プロセッサが実行する、上記DB制御用のプログラムを格納するプログラム格納メモリ33と、上記DB制御する対象である各種テーブルを格納するためのメインメモリ34とを備えている。プログラム格納メモリ33には、メインメモリ34内のテーブル情報を検索するためのテーブル検索プログラム331と、外部(本実施例においてはSIPサーバ2)との情報のやり取りを司る外部アクセスプログラム332が格納される。メインメモリ34には、加入者テーブル341と、発信フィルタテーブル342と、着信フィルタテーブル343が格納されている。次に、SIPサーバ2および外部DBサーバ3における各種テーブルについて説明する。
FIG. 3 is a block diagram showing the configuration of the
図4は、レジストラテーブル241の構成について示している。SIPプロトコルでは、REGISTERというリクエストメッセージにより、ユーザはSIPサーバ2に自分の情報を伝えるが、その情報をレジストラ情報といい、レジストラ情報を格納するのがレジストラテーブル241である。ただし、以下で説明する加入者テーブルの中に存在しないユーザからのREGISTERリクエストメッセージについては、SIPサーバ2はレジストラテーブル241への書き込みは行わず、該ユーザにはエラー応答を返す。レジストラテーブル241は、SIPプロトコルにおける加入者識別子であるSIP−URI・加入者が静的ユーザの場合はその位置情報を示すコンタクトアドレス・加入者がSIPサービスを受けることができる時間を示すExpires(単位:秒)・SIPプロトコルにおけるリクエストメッセージ識別子であるCall−ID・同一Call−IDのリクエストメッセージのカウントを示すCseqといった情報から成る。SIPプロトコルでは、REGISTERリクエストメッセージに上記情報が全て記述されていなければならない。また、Expiresに示された時間を経過すると、そのユーザのレジストラテーブル241はSIPサーバ2により削除される。このレジストラテーブル241は、SIPサーバ2のメインメモリ24で持つ。
FIG. 4 shows the configuration of the registrar table 241. In the SIP protocol, the user transmits his / her information to the
図5は、セッションテーブル242の構成について示している。SIPプロトコルにおいて、INVITEリクエストメッセージによりユーザとユーザの間でVoIPセッションを確立するが、このセッションの情報をセッション情報といい、この情報を格納するのがセッションテーブル242である。セッションテーブル242は、INVITE送信者のSIP−URI(fromSIP−URI)・INVITE受信者のSIP−URI(toSIP−URI)・INVITE送信者のコンタクトアドレス(fromSIP−URI)・INVITE受信者のコンタクトアドレス(toSIP−URI)・加入者がVoIPセッションを受けることができる時間を示すSession−Expires(単位:秒)・SIPプロトコルにおけるリクエストメッセージ識別子であるCall−ID・同一Call−IDのリクエストメッセージのカウントを示すCseqといった情報から成る。Session−Expiresに示された時間を経過すると、そのセッションの情報はSIPサーバ2により削除される。このセッションテーブル242は、SIPサーバ2のメインメモリ24で持つ。
FIG. 5 shows the configuration of the session table 242. In the SIP protocol, a VoIP session is established between users by an INVITE request message. This session information is called session information, and the session table 242 stores this information. The session table 242 includes an INVITE sender's SIP-URI (from SIP-URI), an INVITE receiver's SIP-URI (toSIP-URI), an INVITE sender's contact address (from SIP-URI), and an INVITE receiver's contact address ( toSIP-URI) ・ Session-Expires (unit: seconds) indicating the time during which a subscriber can receive a VoIP session ・ Call-ID which is a request message identifier in the SIP protocol ・ Shows the count of request messages with the same Call-ID It consists of information such as Cseq. When the time indicated in Session-Expires elapses, the session information is deleted by the
図6は、加入者テーブル341の構成について示している。加入者情報を格納するのが加入者テーブル341であり、加入者情報とはSIPサービスを受けることができる加入者の情報を示す。加入者テーブル341は、SIP−URI・加入者が動的ユーザであるか静的ユーザであるかを識別する動的/静的ユーザ種別・コンタクトアドレスから成る。SIPプロトコルでは、REGISTERというリクエストメッセージにより、加入者が自分のコンタクトアドレス等の情報をSIPサーバ2に教える形態を取るが、その形態を取る加入者を動的ユーザといい、REGISTERリクエストを行わず、SIPサービス加入前からあらかじめ固定のコンタクトアドレスをSIPサーバ2運用側に伝えておき、登録してもらっている加入者を、静的ユーザという。この加入者テーブル341は、外部DBサーバ3のメインメモリ34で持ち、あるユーザからのREGISTERリクエスト時に、SIPサーバ2が検索する。
FIG. 6 shows the configuration of the subscriber table 341. Subscriber information is stored in a subscriber table 341. The subscriber information indicates information on subscribers who can receive the SIP service. The subscriber table 341 includes a SIP-URI, a dynamic / static user type for identifying whether the subscriber is a dynamic user or a static user, and a contact address. In the SIP protocol, the subscriber teaches the
図7は、発信テーブル342の構成について示している。発信フィルタ情報を格納するのが発信フィルタテーブル342であり、発信フィルタ情報とは、加入者ごとに、受けることができるSIPサービスを限定することができる情報である。具体的には、「受けることができるSIPサービス=受けつけるリクエストメッセージ」 となり、例えば「VoIP(VoiceOverIP)サービスを受けることができる」=「INVITEリクエストメッセージを受け付ける」 となる。発信フィルタテーブル342は、リクエストメッセージ発信者のSIP−URI・その発信者が受けることができるサービスが何であるかを数値化して示した利用サービス種別から成る。例えば、利用サービス種別が1ならVoIPサービスのみ利用可、2ならVoIPサービスとPresenceサービスを利用可・・といった分類をする。上記例において、ユーザAの利用サービス種別が1として、ユーザAがPresenceサービスにおけるリクエストメッセージ(例えばSUBSCRIBE)を送信してきたとすると、ユーザAはVoIPサービスしか利用できないため、SIPサーバ2はエラー応答を返す。この発信フィルタテーブル342は、外部DBサーバ3のメインメモリ34で持ち、あるユーザからのREGISTERリクエスト時に、SIPサーバ2のメインメモリ24内に書き込まれる。テーブル構成は発信フィルタテーブル243も同じである。
FIG. 7 shows the configuration of the transmission table 342. The outgoing filter information is stored in the outgoing filter table 342. The outgoing filter information is information that can limit the SIP service that can be received for each subscriber. Specifically, “Acceptable SIP service = accepted request message”, for example, “Receivable VoIP (VoiceOverIP) service” = “Accept INVITE request message”. The outgoing filter table 342 includes the SIP-URI of the request message sender and the type of service used, which shows numerically what services the sender can receive. For example, if the usage service type is 1, only the VoIP service can be used, and if it is 2, the VoIP service and the presence service can be used. In the above example, if user A uses
図8は、着信フィルタテーブル343の構成について示している。着信フィルタ情報を格納するのが着信フィルタテーブル343であり、着信フィルタ情報とは、加入者が、ある特定のユーザからの着信を拒否するために使用する情報である。着信フィルタ情報は、着信者のSIP−URI(toSIP−URI)・発信者のSIP−URI(fromSIP−URI)・着信者がその発信者からのリクエストを許可(Allow)するか拒否(Deny)するかを示すパーミッションフラグから成る。パーミッションフラグがDenyの場合、記述された発信者から着信者宛てのリクエストメッセージを、SIPサーバ2はエラー応答で返す。また、それ以外の発信者から上記着信者宛てのリクエストメッセージは通過させる。パーミッションフラグがAllowの場合はその逆である。この着信フィルタテーブル343は、外部DBサーバ3のメインメモリ34で持ち、あるユーザからのREGISTERリクエスト時に、SIPサーバ2のメインメモリ24内に書き込まれる。テーブル構成は着信フィルタテーブル244も同じである。
FIG. 8 shows the configuration of the incoming filter table 343. The incoming filter information is stored in the incoming filter table 343. The incoming filter information is information used by the subscriber to reject incoming calls from a specific user. The incoming filter information includes the SIP-URI (toSIP-URI) of the callee, the SIP-URI of the caller (from SIP-URI), and the callee permits (Allows) or denies (Deny) the request from the caller. It consists of permission flags that indicate When the permission flag is Deny, the
次に図9を使用して、REGISTERリクエスト時にユーザ端末1・SIPサーバ2・外部DBサーバ3間でやり取りされるメッセージについて説明する。上記で説明したように、ユーザ端末1は、SIPサービス利用時にREGISTERリクエストメッセージをSIPサーバ2に向けて送信し、ユーザ端末1のレジストラ情報をSIPサーバ2に知らせる(901・902)。REGISTERリクエストメッセージには、レジストラ情報であるSIP−URI・コンタクトアドレス・Expires・Call−ID・Cseqが指定してある。
Next, a message exchanged between the
ここでSIPサーバ2は、外部DBサーバ3に、このユーザ端末1のSIP−URIが加入者テーブル341に存在するものであるかを確認するため、検索信号を送信し(903)、外部DBサーバはこの検索信号を受信する(904)。例えばSQL文を発行し、外部DBサーバ3に問い合わせる。外部DBサーバ3はこの検索要求に対し、該SIP−URIが存在するかそうでないかを検索し(905)、応答信号を送信する(906)。例えばSQL文により外部DBサーバ3内の加入者テーブル341を検索し、SQL文によりSIPサーバ2に応答する。SIPサーバ2はこの応答信号を受信し(907)、もし該SIP−URIが加入者テーブル341に存在すれば、REGISTERリクエストメッセージのレジストラ情報をSIPサーバ2のメインメモリ24上にあるレジストラテーブル241に書き込み(908)、200応答をユーザ端末1に送信する(909・910)。
Here, the
またSIPサーバ2は、該SIP−URIのユーザの発信フィルタ情報および着信フィルタ情報が外部DBサーバに格納されているか否かを確認するため、外部DBサーバ3に検索信号を送信する(911)。例えばSQL文により、外部DBサーバ3に問い合わせる。外部DBサーバ3はこの検索要求を受信し(912)、発信フィルタ情報と着信フィルタ情報が存在するかそうでないかを検索して(913)応答信号を送信する(914)。例えばSQL文により外部DBサーバ3内の発信フィルタテーブル342および着信フィルタテーブル343を検索し、SQL文によりSIPサーバ2に応答する。
In addition, the
SIPサーバ2はこの応答信号を受信し(915)、もし該発信フィルタ情報および着信フィルタ情報が存在すれば、SIPサーバ2内の発信フィルタテーブル243および着信フィルタテーブル244に書き込む(916)。なお、SIPサーバ2が200応答を送信することと、発信フィルタ情報および着信フィルタ情報を外部DBサーバ3に問い合わせることは、同期を取る必要はない。200応答は、加入者テーブル341に情報がある時点で返して良いものであるからである。
The
次に図10を使用して、INVITEリクエスト時に発側ユーザ端末1a・SIPサーバ2・着側ユーザ端末1b間でやり取りされるメッセージについて説明する。このやり取りにおいて、外部DBサーバ3は登場しない。上記で説明したように、発側ユーザ端末1aは、SIPのVoIPサービス利用時にINVITEリクエストメッセージをSIPサーバ2に向けて送信する(1001・1002)。INVITEリクエストメッセージには宛先が示されているため、それを元に、SIPサーバ2のメインメモリ24上にあるレジストラテーブル241・発信フィルタテーブル243・着信フィルタテーブル244を検索し、VoIP相手の着側ユーザ端末1bに転送する。
Next, a message exchanged between the calling user terminal 1a, the
具体的には、INVITEリクエストメッセージには、セッション情報であるfromSIP−URI・toSIP−URI・fromコンタクトアドレス・toコンタクトアドレス・Session−Expires・Call−ID・Cseqが指定してある。SIPサーバ2はINVITEを受信すると、fromSIP−URIが存在するかを確認する。これは、該SIP―URIがレジストラテーブル241に登録されているか(REGISTER済みであるか)を確認するためである。されていない場合は、エラー応答を発側ユーザ端末1aに送信する。
Specifically, from SIP-URI, toSIP-URI, from contact address, to contact address, Session-Expires, Call-ID, and Cseq, which are session information, are specified in the INVITE request message. When the
次に、toSIP−URIの位置情報を割り出すため、toSIP−URIをキーに、レジストラテーブル241を検索する。レジストラテーブル241に該情報がない場合は、エラー応答を発側ユーザ端末1aに送信する。ある場合は、toSIP-URIのコンタクトアドレスを記憶しておく。次に、SIPサーバ2内の発信フィルタテーブル243を検索する。利用サービス種別からfromSIP-URIがINVITEサービス利用可能ユーザであるかを確認するためである。INVITEサービス利用可能ユーザでない場合は、エラー応答を発側ユーザ端末1aに送信する。ある場合は、サービス利用可能と判断し、次の処理に進む。
Next, in order to determine the location information of toSIP-URI, the registrar table 241 is searched using toSIP-URI as a key. If there is no such information in the registrar table 241, an error response is transmitted to the originating user terminal 1a. If there is, the contact address of toSIP-URI is stored. Next, the outgoing filter table 243 in the
次に、SIPサーバ2内の着信フィルタテーブル244を検索する。該INVITEリクエストメッセージのfromSIP-URI・toSIP−URIの組み合わせが、パーミッションフラグ「deny」として着信フィルタテーブル244に登録されている場合は、エラー応答を発側ユーザ端末1aに送信する。ない場合は、上記で記憶したtoSIP-URIのコンタクトアドレス宛て、つまり着側ユーザ端末1b宛てにINVITEを転送する(1003・1004・1005)。INVITEを受信した着側ユーザ端末1bは、200応答を返して(1006)SIPサーバ2がそれを受信(1007)、SIPサーバ2は200応答を発側ユーザ端末1aに転送して(1008)発側ユーザ端末1aはそれを受信する(1009)。SIPサーバ2は200応答転送後、セッションテーブル242にセッション情報を書き込む(1010)。
Next, the incoming filter table 244 in the
図9と図10を比較して分かるように、REGISTERのときのみ、SIPサーバ2から外部DBサーバ3へのアクセスがあり、SIPサービス利用時、例えばVoIPサービス(INVITE)利用時では、SIPサーバ2から外部DBサーバ3へのアクセスがなくメモリ内の情報を検索するため、処理が高速である。REGISTERは、SIPサービスを利用したいユーザ側が最初に実施するものである(例えばユーザ端末1のSIPアプリケーションを立ち上げたときにREGISTER送信)。最初の1回のみDBアクセスが発生するため処理が若干遅くなるが、それ以降はメモリ内の情報を検索するために処理が高速だということである。また、REGISTER時に、そのREGISTERを送信してきたユーザの分のみのフィルタ情報をメモリに読むため、必要な情報のみをメモリ内に持つことができ、リソースの効率的な活用ができている。
As can be seen by comparing FIG. 9 and FIG. 10, the
次に図11を使用して、SIPサーバ2および外部DBサーバ3の処理フローチャートについて説明する。SIPプロトコルにはSUBSCRIBEやMESSAGEなどのリクエストも存在するが、説明の便宜上、REGISTERとINVITEのみとして以下説明する。ユーザ端末1がリクエストメッセージを送信すると、SIPサーバ2はIPインタフェース部21を介してパケットを受信し(1101)、REGISTERかINVITEかのパケット種別を判別する。
Next, a processing flowchart of the
REGISTERの場合は、外部DBサーバ3に、REGISTERリクエストメッセージに記述されるSIP−URIが加入者テーブル341に登録されているかを検索するために、外部DBサーバ3にIPインタフェース部21を介して要求し、該SIP−URIが加入者テーブル341に加入者として登録されているかを、外部DBサーバ3からIPインタフェース部21を介して応答を受ける(1102)。ここで、該SIP−URIが加入者テーブル341に存在していなかった場合は、ユーザ端末1にエラー応答を送信する(1104)。存在していた場合は、REGISTERリクエストメッセージに記述されたレジストラ情報をレジストラテーブル241に書き込み(1103)、ユーザ端末1に200応答を送信する(1105)。次にSIPサーバ2は、IPインタフェース部21を介して外部DBサーバ3に、該SIP−URIのフィルタ情報(発信フィルタ情報・着信フィルタ情報)を問い合わせ、外部DBサーバ3内部のフィルタテーブル(発信フィルタテーブル342・着信フィルタテーブル343)に該SIP−URIの情報があればその情報を、ない場合はその旨、外部DBサーバ3からIPインタフェース部21を介して応答を受ける(1106)。SIPサーバ2は、フィルタ情報がない場合は何も書き込まず(1108)、フィルタ情報がある場合は内部のフィルタテーブル(発信フィルタテーブル243・着信フィルタテーブル244)に書き込みを行う(1107)。
In the case of REGISTER, a request is made to the
INVITEの場合は、外部DBサーバ3へのアクセスはなく、全てSIPサーバ2内部の処理となる。INVITEのfromSIP−URIをキーとして、レジストラテーブル241に該fromSIP−URIの情報があるかないかを検索する(1109)。ない場合は、ユーザ端末1にエラー応答を送信する(1111)。ある場合は、toSIP−URIをキーとして、レジストラテーブル241を検索する(1110)。ない場合は、ユーザ端末1にエラー応答を送信する(1113)。ある場合は、該toSIP−URIのコンタクトアドレスを、INVITE転送処理のために記憶しておく(1112)。
In the case of INVITE, there is no access to the
次に、発信フィルタテーブル243を、fromSIP−URIをキーとして検索する(1114)。該fromSIP−URIの利用サービス種別がINVITEを制限するものの場合は、ユーザ端末1にエラー応答を送信する(1116)。そうでない場合は、着信フィルタテーブル244を、fromSIP−URIとtoSIP−URIをキーとして検索する(1115)。着信フィルタテーブル244に、該fromSIP−URIからtoSIP−URIへのリクエストを制限するような情報があった場合、ユーザ端末1にエラー応答を送信する(1118)。ない場合、上記で記憶しておいた該toSIP−URIのコンタクトアドレス宛てに、INVITEを転送する(1117)。なお、着信側のユーザ端末1が200応答を送信してきた場合は、その200応答を発信側ユーザ端末1に転送し、かつセッションテーブル242に該セッション情報を書き込む処理が入るが、本発明の本質ではないため、図11および12には記載していない。
Next, the outgoing filter table 243 is searched using the fromSIP-URI as a key (1114). When the use service type of the from SIP-URI restricts INVITE, an error response is transmitted to the user terminal 1 (1116). Otherwise, the incoming filter table 244 is searched using the fromSIP-URI and toSIP-URI as keys (1115). If there is information in the incoming filter table 244 that restricts the request from the from SIP-URI to the to SIP-URI, an error response is transmitted to the user terminal 1 (1118). If not, INVITE is transferred to the contact address of the toSIP-URI stored above (1117). If the
以上の実施例のような構成を取ることにより、加入者情報・発信フィルタ情報・着信フィルタ情報について、現在SIPサービス利用者の情報のみをメモリ内に持つため、従来技術1のようにSIPサーバが使用しない、無駄な情報をメモリ内に持たず、メモリの有効活用を実現している。従来のように全てをメモリ内に持とうとしたときに要求されるハイスペックなサーバ機器も必要なく、コストパフォーマンスも良いといえる。
By adopting the configuration as in the above embodiment, since only the information of the current SIP service user is stored in the memory for the subscriber information, outgoing filter information, and incoming filter information, the SIP server as in the
また、REGISTERリクエストメッセージ処理時のみ、加入者SIP−URIの参照のためのDBアクセスが行われ、処理速度が落ちるが、それ以外のINVITE・SUBSCRIBEリクエストメッセージや発信/着信フィルタ処理は、メモリ内に必要な情報を持つため、処理が高速になる。従来技術2のように、外部DBサーバ化を行っただけの構成では、メモリの低減は狙えても、DBアクセスによる性能劣化が起こる問題が残ってしまっていたが、その問題をも解決する。具体的には、加入者情報80000件登録、レジストラ情報8000件登録、発信/着信フィルタ情報80000件登録、セッション情報4000件登録をおこない、リクエストメッセージ受信〜転送までの処理時間10msを実現している。
In addition, DB access for referencing the subscriber SIP-URI is performed only when the REGISTER request message is processed, and the processing speed decreases. However, other INVITE / SUBSCRIBE request messages and outgoing / incoming filter processing are stored in the memory. Because it has the necessary information, the processing is faster. In the configuration in which the external DB server is simply used as in the
2 SIPサーバ
3 外部DBサーバ
241 レジストラテーブル
242 セッションテーブル
243、342 発信フィルタテーブル
244、343 着信フィルタテーブル
341 加入者テーブル
2
Claims (3)
前記通信端末間のセッションの設定に使用する情報を保持するデータベースとを有し、
前記セッション管理装置は、通信端末から登録を要求するメッセージを受信した場合に、
当該通信端末のユーザが受けられるサービスに関する情報を前記データベースに問い合わせて取得し、取得した情報を自装置のメモリに保持することを特徴とするセッション管理システム。 A session management device for managing the start and end of a session between communication terminals;
A database holding information used for setting a session between the communication terminals,
When the session management device receives a message requesting registration from a communication terminal,
A session management system characterized in that information relating to a service that can be received by a user of the communication terminal is obtained by inquiring the database, and the obtained information is held in a memory of the own device.
前記通信端末間のセッションを管理するために使用する情報を保持するデータベースとを有し、
前記セッション管理装置は、通信端末から登録を要求するメッセージを受信した場合に、当該通信端末のユーザが着信を拒否する相手ユーザの情報を前記データベースに問い合わせて取得し、取得した情報を自装置のメモリに保持することを特徴とするセッション管理システム。 A session management device for connecting a session between communication terminals and then disconnecting the session;
A database holding information used to manage a session between the communication terminals,
When the session management device receives a message requesting registration from a communication terminal, the user of the communication terminal inquires the database to obtain information on a partner user who rejects the incoming call, and obtains the acquired information from the own device. A session management system characterized by being held in a memory.
前記登録を要求するメッセージはREGISTERメッセージであることを特徴とするセッション管理システム。
In the session management system according to claim 1 or 3,
The session management system according to claim 1, wherein the registration request message is a REGISTER message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005058334A JP4513604B2 (en) | 2005-03-03 | 2005-03-03 | SIP server acceleration architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005058334A JP4513604B2 (en) | 2005-03-03 | 2005-03-03 | SIP server acceleration architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006244099A true JP2006244099A (en) | 2006-09-14 |
JP4513604B2 JP4513604B2 (en) | 2010-07-28 |
Family
ID=37050457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005058334A Expired - Fee Related JP4513604B2 (en) | 2005-03-03 | 2005-03-03 | SIP server acceleration architecture |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4513604B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006325038A (en) * | 2005-05-19 | 2006-11-30 | Fujitsu Ltd | Controlling method of server device, controlling method of client device, and session controlling method |
JP2008219688A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Sip proxy server and subscriber cache control method |
JP2009232430A (en) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | Relay device, and computer program |
JP2010028286A (en) * | 2008-07-16 | 2010-02-04 | Hitachi Ltd | Sip server and communication system |
JP2010193367A (en) * | 2009-02-20 | 2010-09-02 | Nippon Telegr & Teleph Corp <Ntt> | Call processing apparatus and call processing method |
JP2016149670A (en) * | 2015-02-13 | 2016-08-18 | 日本電信電話株式会社 | Call control server and operation method of call control server |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1093704A (en) * | 1996-09-18 | 1998-04-10 | Fujitsu Ltd | Communication service system for personal identification number |
WO2003069947A1 (en) * | 2002-02-14 | 2003-08-21 | Qualcomm Incorporated | A server for initiating a group call in a group communication network |
WO2003103308A1 (en) * | 2002-05-13 | 2003-12-11 | Markport Limited | Control of plmn messaging services in ip domains |
-
2005
- 2005-03-03 JP JP2005058334A patent/JP4513604B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1093704A (en) * | 1996-09-18 | 1998-04-10 | Fujitsu Ltd | Communication service system for personal identification number |
WO2003069947A1 (en) * | 2002-02-14 | 2003-08-21 | Qualcomm Incorporated | A server for initiating a group call in a group communication network |
WO2003103308A1 (en) * | 2002-05-13 | 2003-12-11 | Markport Limited | Control of plmn messaging services in ip domains |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006325038A (en) * | 2005-05-19 | 2006-11-30 | Fujitsu Ltd | Controlling method of server device, controlling method of client device, and session controlling method |
JP4481876B2 (en) * | 2005-05-19 | 2010-06-16 | 富士通株式会社 | Server device control method, client device control method, and session control method |
JP2008219688A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Sip proxy server and subscriber cache control method |
JP2009232430A (en) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | Relay device, and computer program |
US8249223B2 (en) | 2008-03-25 | 2012-08-21 | Fujitsu Limited | Relay apparatus and memory product |
JP2010028286A (en) * | 2008-07-16 | 2010-02-04 | Hitachi Ltd | Sip server and communication system |
JP2010193367A (en) * | 2009-02-20 | 2010-09-02 | Nippon Telegr & Teleph Corp <Ntt> | Call processing apparatus and call processing method |
JP2016149670A (en) * | 2015-02-13 | 2016-08-18 | 日本電信電話株式会社 | Call control server and operation method of call control server |
Also Published As
Publication number | Publication date |
---|---|
JP4513604B2 (en) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4653173B2 (en) | Method and apparatus for multimedia communication | |
CA2671034C (en) | Communication system | |
JP2005318503A (en) | Presence server, session control server, packet relay system, server, and system | |
JP4513604B2 (en) | SIP server acceleration architecture | |
JP2017510116A (en) | Method and server for enabling a first user to automatically detect a second user's social network identifier and the respective status of this second user in those social networks | |
US9699220B2 (en) | System and method to provide combinational services to anonymous callers | |
JP4838386B2 (en) | System and method for setting up IP communication with call originator by circuit switching | |
JP4576115B2 (en) | VoIP gateway device and method for controlling call arrival and departure in VoIP gateway device | |
US8711841B2 (en) | Communication system | |
KR102185260B1 (en) | Relay device for handling call, call handling method performed by relay device and storage medium storing computer program for executing call handling method | |
US20090016520A1 (en) | Apparatus, method, computer program product, and terminal device for controlling communications | |
EP2863603A1 (en) | A method for optimizing the capability discovery of terminals in an IMS network | |
JP4677350B2 (en) | Call control signal transfer apparatus, call control signal transfer method, and call control signal transfer program | |
KR102156853B1 (en) | Distributed network system for handling call, call handling method performed by distributed network system | |
JP2008199395A (en) | Radio terminal calling method of mobile communication system, gateway device and mobile communication system | |
JP2006333220A (en) | Network telephone system, and server device thereof | |
KR100402787B1 (en) | Call Setup Method for Video Telephony Service in mobile radio communication network | |
JP2004242090A (en) | Proxy answering control method for ip telephone system | |
US20080310605A1 (en) | Call connection system & method | |
US11653334B2 (en) | Systems and methods for reducing transcoding resource allocation during call setup to multiple terminations | |
KR101708007B1 (en) | System for present communication service to a plurality of terminals having same identification number, apparatus thereof, server thereof and method thereof | |
JP4747957B2 (en) | Connection control apparatus, connection control method, and program | |
EP2130347B1 (en) | System and method to provide combinational services to anonymous callers | |
KR101562470B1 (en) | Signaling gateway and method of providing enterprise telephone service using personal mobile terminal | |
KR100596004B1 (en) | Method for controlling a communication device using an internet protocol exchanger and apparatus of enabling the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100420 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100503 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |