JP4513604B2 - Sipサーバ高速化アーキテクチャ - Google Patents

Sipサーバ高速化アーキテクチャ Download PDF

Info

Publication number
JP4513604B2
JP4513604B2 JP2005058334A JP2005058334A JP4513604B2 JP 4513604 B2 JP4513604 B2 JP 4513604B2 JP 2005058334 A JP2005058334 A JP 2005058334A JP 2005058334 A JP2005058334 A JP 2005058334A JP 4513604 B2 JP4513604 B2 JP 4513604B2
Authority
JP
Japan
Prior art keywords
information
sip
server
sip server
external
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.)
Expired - Fee Related
Application number
JP2005058334A
Other languages
English (en)
Other versions
JP2006244099A (ja
Inventor
貴史 宮本
恵理 川井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005058334A priority Critical patent/JP4513604B2/ja
Publication of JP2006244099A publication Critical patent/JP2006244099A/ja
Application granted granted Critical
Publication of JP4513604B2 publication Critical patent/JP4513604B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明はSIP(Session Initiation Protocol)に関し、特にSIPサーバにおいてSIPの通信を管理するために必要な情報の格納場所に関する。
企業内通信インフラのIPベースへの統合、VoIP(Voice over IP)の台頭から、SIP(Session Initiation Protocol)サーバの需要が着実に伸びてきている。この中で、SIPサーバの処理速度や安定性は当然、SIPサービスを利用する側が求めるものである。
従来のSIPサーバにおいては、通信において使用する情報を全てSIPサーバ内メモリに格納していた。通信において使用する情報とは、加入者情報・レジストラ情報・発信フィルタ情報・着信フィルタ情報・セッション情報を指す。
加入者情報とはSIPサービスを受けることができる加入者の情報を示す。レジストラ情報とは、REGISTERというリクエストメッセージにより、加入者がSIPサーバに伝える自分の情報を指す。発信フィルタ情報とは、加入者ごとに、受けることができるSIPサービスを限定することができる情報である。具体的には、「受けることができるSIPサービス=受けつけるリクエストメッセージ」 となり、例えば「VoIP(VoiceOverIP)サービスを受けることができる=INVITEリクエストメッセージを受け付ける」 となる。着信フィルタ情報とは、加入者が、ある特定のユーザからの着信を拒否するために使用する情報である。セッション情報とは、SIPプロトコルにおいて、INVITEリクエストメッセージによりユーザとユーザの間で確立した、VoIPセッションの情報を指す。
次に、今まで説明してきた、通信において使用する情報のそれぞれが、通信においてどう使用されるかを説明する。加入者情報に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サーバはセッション情報をメモリに書き込む。
従来のSIPサーバにおいては、これらの通信において使用する情報を、全てSIPサーバ内のメモリに格納するという形態を取り、処理の高速化を図っていた。具体的には、全ての情報を記載した、加入者情報用ファイル・発信フィルタ情報ファイル・着信フィルタ情報ファイルをあらかじめ用意しておき、SIPサーバ起動時にそれらを全て読み込み、メモリに展開するという形態を取っている。
また、上記で説明したSIPサーバのようにメモリ内に情報を持たず、外部DB(DataBase)サーバを用意し、そこに通信において使用する情報を格納する形態もあった。通信において使用する情報を全てメモリ内に持とうとしたとき、登録数に限界があり、大量に登録しようとした場合、相当なスペックのサーバ機器を要求されるため、コストが非常にかかる。これらの問題を外部DBサーバ化によって解決する形態である。動的に変更される可能性のあるレジストラ情報およびセッション情報のみメモリ内に格納する。特許文献1には、ロケーション情報(本明細書の「レジストラ情報」に対応)を外部DBサーバに格納する形態を取っている。
以下、説明の便宜上、通信において使用する情報を全てSIPサーバ内のメモリに格納する従来技術を従来技術1、通信において使用する情報を全てSIPサーバ外部のDBサーバに格納する従来技術を従来技術2と記載する。
特開2002−152805
上記従来技術1においては、全ての情報をメモリ内に持つため、処理の高速化は図れるが、大量情報登録を行うことはできない。従来技術1は登録数が少ないことが前提となり、そのときはリクエストメッセージ受信〜転送までの通常の処理時間は10msであったが、登録数を増加させようとした場合はメモリ増加による処理の遅延を引き起こし、最悪の場合はSIPサーバがプロセスダウンするという事象も起こりえた。登録数が多いほど、上記不具合はもっと早い段階で起こる。処理の高速化のための全情報メモリ内展開ではあったが、登録数によって処理遅延を引き起こすという結果になっていた。
また、上記従来技術2においては、外部DBサーバ化によってメモリの圧迫を防いでいるが、元々の処理性能が、DBアクセスにより遅くなるため、リクエストメッセージ受信〜転送までの処理時間が100msほどかかっていた。特許文献1でも処理性能については言及されておらず、DBアクセスによるリクエストメッセージ処理遅延が考えられる。
本発明において解決しようとする課題は、上記2つの従来技術がかかえていた課題を纏めて解決することである。
従来よりも大量の情報登録をするためには、メモリ圧迫を防ぐ外部DBサーバ化は必須である。従って外部DBサーバに格納されている情報のうちの一部であって、メモリに展開することでその後の処理の高速化が図れる情報だけをメモリ内に展開することで処理の高速化とともに使用するメモリ量の減少を実現する。
外部DBサーバにアクセスすることで取得する情報と、SIPサーバのメモリに格納する情報とに二分することで、SIPサーバのメモリの増大を防ぐとともに処理の高速化を図る。
以下に、図面を参照して、本発明の実施例について説明する。
図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ドメインの構成を示している。
図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以降にて説明する。
図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における各種テーブルについて説明する。
図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で持つ。
図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で持つ。
図6は、加入者テーブル341の構成について示している。加入者情報を格納するのが加入者テーブル341であり、加入者情報とはSIPサービスを受けることができる加入者の情報を示す。加入者テーブル341は、SIP−URI・加入者が動的ユーザであるか静的ユーザであるかを識別する動的/静的ユーザ種別・コンタクトアドレスから成る。SIPプロトコルでは、REGISTERというリクエストメッセージにより、加入者が自分のコンタクトアドレス等の情報をSIPサーバ2に教える形態を取るが、その形態を取る加入者を動的ユーザといい、REGISTERリクエストを行わず、SIPサービス加入前からあらかじめ固定のコンタクトアドレスをSIPサーバ2運用側に伝えておき、登録してもらっている加入者を、静的ユーザという。この加入者テーブル341は、外部DBサーバ3のメインメモリ34で持ち、あるユーザからのREGISTERリクエスト時に、SIPサーバ2が検索する。
図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も同じである。
図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も同じである。
次に図9を使用して、REGISTERリクエスト時にユーザ端末1・SIPサーバ2・外部DBサーバ3間でやり取りされるメッセージについて説明する。上記で説明したように、ユーザ端末1は、SIPサービス利用時にREGISTERリクエストメッセージをSIPサーバ2に向けて送信し、ユーザ端末1のレジストラ情報をSIPサーバ2に知らせる(901・902)。REGISTERリクエストメッセージには、レジストラ情報であるSIP−URI・コンタクトアドレス・Expires・Call−ID・Cseqが指定してある。
ここで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)。
またSIPサーバ2は、該SIP−URIのユーザの発信フィルタ情報および着信フィルタ情報が外部DBサーバに格納されているか否かを確認するため、外部DBサーバ3に検索信号を送信する(911)。例えばSQL文により、外部DBサーバ3に問い合わせる。外部DBサーバ3はこの検索要求を受信し(912)、発信フィルタ情報と着信フィルタ情報が存在するかそうでないかを検索して(913)応答信号を送信する(914)。例えばSQL文により外部DBサーバ3内の発信フィルタテーブル342および着信フィルタテーブル343を検索し、SQL文によりSIPサーバ2に応答する。
SIPサーバ2はこの応答信号を受信し(915)、もし該発信フィルタ情報および着信フィルタ情報が存在すれば、SIPサーバ2内の発信フィルタテーブル243および着信フィルタテーブル244に書き込む(916)。なお、SIPサーバ2が200応答を送信することと、発信フィルタ情報および着信フィルタ情報を外部DBサーバ3に問い合わせることは、同期を取る必要はない。200応答は、加入者テーブル341に情報がある時点で返して良いものであるからである。
次に図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に転送する。
具体的には、INVITEリクエストメッセージには、セッション情報であるfromSIP−URI・toSIP−URI・fromコンタクトアドレス・toコンタクトアドレス・Session−Expires・Call−ID・Cseqが指定してある。SIPサーバ2はINVITEを受信すると、fromSIP−URIが存在するかを確認する。これは、該SIP―URIがレジストラテーブル241に登録されているか(REGISTER済みであるか)を確認するためである。されていない場合は、エラー応答を発側ユーザ端末1aに送信する。
次に、toSIP−URIの位置情報を割り出すため、toSIP−URIをキーに、レジストラテーブル241を検索する。レジストラテーブル241に該情報がない場合は、エラー応答を発側ユーザ端末1aに送信する。ある場合は、toSIP-URIのコンタクトアドレスを記憶しておく。次に、SIPサーバ2内の発信フィルタテーブル243を検索する。利用サービス種別からfromSIP-URIがINVITEサービス利用可能ユーザであるかを確認するためである。INVITEサービス利用可能ユーザでない場合は、エラー応答を発側ユーザ端末1aに送信する。ある場合は、サービス利用可能と判断し、次の処理に進む。
次に、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)。
図9と図10を比較して分かるように、REGISTERのときのみ、SIPサーバ2から外部DBサーバ3へのアクセスがあり、SIPサービス利用時、例えばVoIPサービス(INVITE)利用時では、SIPサーバ2から外部DBサーバ3へのアクセスがなくメモリ内の情報を検索するため、処理が高速である。REGISTERは、SIPサービスを利用したいユーザ側が最初に実施するものである(例えばユーザ端末1のSIPアプリケーションを立ち上げたときにREGISTER送信)。最初の1回のみDBアクセスが発生するため処理が若干遅くなるが、それ以降はメモリ内の情報を検索するために処理が高速だということである。また、REGISTER時に、そのREGISTERを送信してきたユーザの分のみのフィルタ情報をメモリに読むため、必要な情報のみをメモリ内に持つことができ、リソースの効率的な活用ができている。
次に図11を使用して、SIPサーバ2および外部DBサーバ3の処理フローチャートについて説明する。SIPプロトコルにはSUBSCRIBEやMESSAGEなどのリクエストも存在するが、説明の便宜上、REGISTERとINVITEのみとして以下説明する。ユーザ端末1がリクエストメッセージを送信すると、SIPサーバ2はIPインタフェース部21を介してパケットを受信し(1101)、REGISTERかINVITEかのパケット種別を判別する。
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)。
INVITEの場合は、外部DBサーバ3へのアクセスはなく、全てSIPサーバ2内部の処理となる。INVITEのfromSIP−URIをキーとして、レジストラテーブル241に該fromSIP−URIの情報があるかないかを検索する(1109)。ない場合は、ユーザ端末1にエラー応答を送信する(1111)。ある場合は、toSIP−URIをキーとして、レジストラテーブル241を検索する(1110)。ない場合は、ユーザ端末1にエラー応答を送信する(1113)。ある場合は、該toSIP−URIのコンタクトアドレスを、INVITE転送処理のために記憶しておく(1112)。
次に、発信フィルタテーブル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には記載していない。
以上の実施例のような構成を取ることにより、加入者情報・発信フィルタ情報・着信フィルタ情報について、現在SIPサービス利用者の情報のみをメモリ内に持つため、従来技術1のようにSIPサーバが使用しない、無駄な情報をメモリ内に持たず、メモリの有効活用を実現している。従来のように全てをメモリ内に持とうとしたときに要求されるハイスペックなサーバ機器も必要なく、コストパフォーマンスも良いといえる。
また、REGISTERリクエストメッセージ処理時のみ、加入者SIP−URIの参照のためのDBアクセスが行われ、処理速度が落ちるが、それ以外のINVITE・SUBSCRIBEリクエストメッセージや発信/着信フィルタ処理は、メモリ内に必要な情報を持つため、処理が高速になる。従来技術2のように、外部DBサーバ化を行っただけの構成では、メモリの低減は狙えても、DBアクセスによる性能劣化が起こる問題が残ってしまっていたが、その問題をも解決する。具体的には、加入者情報80000件登録、レジストラ情報8000件登録、発信/着信フィルタ情報80000件登録、セッション情報4000件登録をおこない、リクエストメッセージ受信〜転送までの処理時間10msを実現している。
ネットワーク全体構成図の一実施例を示す図である。 SIPサーバの機能ブロックの一実施例を示す図である。 DBサーバの機能ブロックの一実施例を示す図である。 レジストラテーブルの一実施例を示す図である。 セッションテーブルの一実施例を示す図である。 加入者テーブルの一実施例を示す図である。 発信フィルタテーブルの一実施例を示す図である。 着信フィルタテーブルの一実施例を示す図である。 REGISTER処理の一実施例を示す図である。 INVITE処理の一実施例を示す図である。 SIPサーバの処理フローチャートの一実施例を示す図である。
符号の説明
2 SIPサーバ
3 外部DBサーバ
241 レジストラテーブル
242 セッションテーブル
243、342 発信フィルタテーブル
244、343 着信フィルタテーブル
341 加入者テーブル

Claims (2)

  1. 通信端末間のセッションの開始と終了を管理するSIPサーバと、
    前記通信端末間のセッションの設定に使用する情報を保持する外部DBサーバとを有し、
    前記SIPサーバは、通信端末から登録を要求するメッセージを受信した場合に、当該通信端末の加入者情報を前記外部DBサーバに問い合わせて取得し、当該取得した加入者情報を自装置のメモリに保持し、前記通信端末に登録応答を送信し、
    当該登録応答と非同期で、当該通信端末の加入者ごとに受けることができるSIPサービスを限定する発信フィルタ情報、及び、加入者が特定のユーザからの着信を拒否するために使用する着信フィルタ情報を前記外部DBサーバに問い合わせて取得し、取得した前記発信フィルタ情報および前記着信フィルタ情報を自装置のメモリに保持することを特徴とするセッション管理システム。
  2. 請求項1に記載のセッション管理システムにおいて、
    前記登録を要求するメッセージはREGISTERメッセージであることを特徴とする
    セッション管理システム。
JP2005058334A 2005-03-03 2005-03-03 Sipサーバ高速化アーキテクチャ Expired - Fee Related JP4513604B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005058334A JP4513604B2 (ja) 2005-03-03 2005-03-03 Sipサーバ高速化アーキテクチャ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005058334A JP4513604B2 (ja) 2005-03-03 2005-03-03 Sipサーバ高速化アーキテクチャ

Publications (2)

Publication Number Publication Date
JP2006244099A JP2006244099A (ja) 2006-09-14
JP4513604B2 true JP4513604B2 (ja) 2010-07-28

Family

ID=37050457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005058334A Expired - Fee Related JP4513604B2 (ja) 2005-03-03 2005-03-03 Sipサーバ高速化アーキテクチャ

Country Status (1)

Country Link
JP (1) JP4513604B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4481876B2 (ja) * 2005-05-19 2010-06-16 富士通株式会社 サーバ装置の制御方法、クライアント装置の制御方法、セッション制御方法
JP5056076B2 (ja) * 2007-03-07 2012-10-24 富士通株式会社 セッション制御サーバ及び加入者キャッシュ制御方法
JP5141328B2 (ja) * 2008-03-25 2013-02-13 富士通株式会社 中継装置及びコンピュータプログラム
JP2010028286A (ja) * 2008-07-16 2010-02-04 Hitachi Ltd Sipサーバおよび通信システム
JP4838328B2 (ja) * 2009-02-20 2011-12-14 日本電信電話株式会社 呼処理装置および呼処理方法
JP6352828B2 (ja) * 2015-02-13 2018-07-04 日本電信電話株式会社 呼制御サーバおよび呼制御サーバの動作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093704A (ja) * 1996-09-18 1998-04-10 Fujitsu Ltd 個人識別番号通信サービスシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
JP2006244099A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
US8837704B2 (en) Client controlled dynamic call forwarding
CA2671034C (en) Communication system
JP2008022584A (ja) ワイヤレスマルチメディア通信システム及び方法
JP2005318503A (ja) プレゼンスサーバ、セッション制御サーバ、パケット中継システム、サーバ、及びシステム
JP4513604B2 (ja) Sipサーバ高速化アーキテクチャ
JP2017510116A (ja) 第1のユーザが第2のユーザのソーシャル・ネットワーク識別子およびそれらのソーシャル・ネットワークにおけるこの第2のユーザのそれぞれのステータスを自動的に検出できるようにする方法およびサーバ
US9699220B2 (en) System and method to provide combinational services to anonymous callers
US8300644B2 (en) Coordination of user information across session initiation protocol-based proxy servers
KR102185260B1 (ko) 호 처리를 위한 릴레이 장치, 릴레이 장치에 의해 수행되는 호 처리 방법 및 호 처리 방법을 실행하는 프로그램이 기록된 기록매체
US8711841B2 (en) Communication system
KR100369982B1 (ko) 인터넷 폰 서비스 시스템
EP2863603A1 (en) A method for optimizing the capability discovery of terminals in an IMS network
JP4677350B2 (ja) 呼制御信号転送装置、呼制御信号転送方法および呼制御信号転送プログラム
KR102156853B1 (ko) 호 처리를 위한 분산네트워크 시스템 및 동 시스템에 의해 수행되는 호 처리 방법
JP2006333220A (ja) ネットワーク電話システム及びこのネットワーク電話システムのサーバ装置
KR100402787B1 (ko) 이동통신망에서 화상전화 서비스를 위한 호 설정 방법
US20080310605A1 (en) Call connection system & method
US11653334B2 (en) Systems and methods for reducing transcoding resource allocation during call setup to multiple terminations
KR101708007B1 (ko) 동일한 식별번호를 가지는 복수의 단말에 통화 서비스를 제공하기 위한 시스템, 이를 위한 장치 및 이를 위한 방법
JP4747957B2 (ja) 接続制御装置及び接続制御方法並びにプログラム
KR101562470B1 (ko) 개인용 이동통신 단말기를 이용한 기업용 전화 서비스 제공 방법 및 시그널링 게이트웨이
KR100596004B1 (ko) Ip 교환기를 이용하여 단말을 제어하기 위한 방법 및 그장치
JP2004282508A (ja) Ip電話通信システム、ip電話端末
JP2006203311A (ja) 呼制御システム、呼制御方法、および呼制御プログラム
JP2003152769A (ja) データ管理装置、ゲートキーパ制御装置およびゲートキーパシステム

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