(57)【特許請求の範囲】
【請求項１】
ＳＩＰサーバを利用してネットワークパケット通信を行う通信端末であって、
前記ＳＩＰサーバに関するＳＩＰサーバ情報を取得する取得手段と、
ＳＩＰメソッドを使用し、当該ＳＩＰメソッドに対するレスポンスデータに基づき、前記ＳＩＰサーバの種別を判別する判別手段と、
前記判別手段が判別した前記ＳＩＰサーバの種別に対応付けて、前記取得手段が取得した前記ＳＩＰサーバ情報を記憶する記憶手段と、を備えることを特徴とする通信端末。
【請求項２】
前記取得手段は、前記ＳＩＰサーバ情報の取得に、ＤＨＣＰｖ４又はＤＨＣＰｖ６を用いることを特徴とする請求項１記載の通信端末。
【請求項３】
前記取得手段は、前記ＳＩＰサーバ情報の取得に、マルチキャストパケット又はブロードキャストパケットを使用することを特徴とする請求項１記載の通信端末。
【請求項４】
前記ＳＩＰサーバの種別には、ＳＩＰ登録サーバ、ＳＩＰプロキシサーバ、ＳＩＰリダイレクトサーバ及びＳＩＰロケーションサーバの少なくとも１つが含まれることを特徴とする請求項１記載の通信端末。
【請求項５】
ユーザによるＳＩＰサーバの種別の選択を可能にするユーザインタフェースを更に備えることを特徴とする請求項１記載の通信端末。
【請求項６】
前記判別手段は、前記ＳＩＰメソッドに対する前記レスポンスデータのフィールドから前記ＳＩＰサーバの種別を判別することを特徴とする請求項１記載の通信端末。
【請求項７】
前記判別手段は、ＯＰＴＩＯＮＳメソッドを使用し、当該ＯＰＴＩＯＮＳメソッドに対するレスポンスデータのＡｌｌｏｗフィールドから前記ＳＩＰサーバの種別を判別することを特徴とする請求項６記載の通信端末。
【請求項８】
前記判別手段は、Ｒｅｇｉｓｔｅｒメソッドを使用し、当該Ｒｅｇｉｓｔｅｒメソッドに対するレスポンスデータのレスポンスコードから前記ＳＩＰサーバの種別を判別することを特徴とする請求項６記載の通信端末。
【請求項９】
前記判別手段は、Ｉｎｖｉｔｅメソッドを使用し、当該Ｉｎｖｉｔｅメソッドに対するレスポンスデータのレスポンスコードから前記ＳＩＰサーバの種別を判別することを特徴とする請求項６記載の通信端末。
【請求項１０】
ユーザが前記ＳＩＰサーバ情報をＳＩＰサーバの種別毎に確認することを可能にする確認手段を更に備えることを特徴とする請求項１記載の通信端末。
【請求項１１】
前記取得手段は、前記通信端末の起動時に前記ＳＩＰサーバ情報を自動的に取得することを特徴とする請求項１記載の通信端末。
【請求項１２】
前記取得手段は、ユーザが予め設定した定期的な時間に前記ＳＩＰサーバ情報を自動的に取得することを特徴とする請求項１記載の通信端末。
【請求項１３】
ＳＩＰサーバを利用してネットワークパケット通信を行う通信端末の制御方法であって、
前記ＳＩＰサーバに関するＳＩＰサーバ情報を取得する取得ステップと、
ＳＩＰメソッドを使用し、当該ＳＩＰメソッドに対するレスポンスデータに基づき、前記ＳＩＰサーバの種別を判別する判別ステップと、
前記判別ステップにて判別された前記ＳＩＰサーバの種別に対応付けて、前記取得ステップにて取得された前記ＳＩＰサーバ情報を記憶装置に記憶する記憶ステップと、を有することを特徴とする通信装置の制御方法。
【請求項１４】
請求項１３に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＩＰサーバを利用してネットワークパケット通信を行う通信端末に関する。
【背景技術】
【０００２】
近年、広域イーサネット(登録商標)やＩＰ−ＶＰＮ（Internet Protocol-Virtual Private Network）の発達と普及が進み、従来の専用線やＡＴＭ（Asynchronous Transfer Mode）からＷＡＮ（Wide Area Network）をＩＰネットワークで実現する環境が増加してきている。これに伴い、従来、ＰＢＸ（Private Branch Exchange）を使用してＰＳＴＮ（Public Switched Telephone Network）で実現していた音声サービスを、ＶｏＩＰ（Voice Over IP）ゲートウェイやＶｏＩＰアダプタを使用してＶｏＩＰで実現することが可能になってきた。特に、ＶｏＩＰによる音声サービスを実現するためのシグナリングプロトコルとして、データ構造が複雑なＨ．３２３よりも、テキスト記述に基づいており、ＨＴＴＰ（Hyper Text Transfer Protocol）とも親和性の高いＳＩＰ（Session Initiation Protocol）の普及が進んでいる。
【０００３】
ＳＩＰ環境では、ＳＩＰ端末と共にＳＩＰサーバが設置されることが一般的であり、ＳＩＰサーバは、ＳＩＰサーバアドレスの登録や名前解決及び呼のルーティング等の機能を提供する。ＳＩＰサーバは、ＩＳＰ（Internet Service Provider）のパブリックネットワークに設置されることもあれば、企業内のプライベートネットワーク内に設置されることもある。
【０００４】
ＳＩＰサーバは、機能によって３つの種別に大別される。第１のＳＩＰサーバは、ＳＩＰサーバアドレスの登録処理や名前解決処理を行うＳＩＰ登録サーバである。第２のＳＩＰサーバは、ＳＩＰ端末の代替に対向のＳＩＰ端末やＶｏＩＰゲートウェイとＳＩＰ通信を行うＳＩＰプロキシサーバである。第３のＳＩＰサーバは、ＳＩＰ端末に適切な呼のルーティングを行う対向の接続先を応答するＳＩＰリダイレクトサーバである。これらのＳＩＰサーバを、機能毎に別々に設置したネットワークシステムが知られている（例えば、特許文献１参照）。
【０００５】
機能毎に別々のＳＩＰサーバを設置する場合、ＳＩＰ端末から適切なＳＩＰサーバに適切なＳＩＰメッセージ（ＳＩＰサーバの種別に応じたＳＩＰメッセージ）を送信しないと、ＳＩＰサーバからは正常な応答を得ることはできない。例えば、ＳＩＰ登録サーバにＳＩＰ通信開始を要求するメッセージを送るとエラーとなってしまい、ＳＩＰプロキシサーバにＳＩＰサーバアドレスの登録メッセージを送ってもエラーとなってしまう。そのため、ＳＩＰ端末側で適切なＳＩＰサーバ設定が実施されていないと、ＳＩＰ通信ができない可能性がある。
【０００６】
このような問題に対して、ＳＩＰサーバの種別も含めた設定を手動で行うようにすれば、適切なＳＩＰサーバアドレスを１つ１つ手動で設定することで、この問題を回避することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−０３３５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したようにＳＩＰサーバの種別も含めた設定を手動で行う場合は、ユーザの手間がかかるという問題がある。一方、ＲＦＣ３３６１等で規定されているように、ＤＨＣＰ（Dynamic Host Configuration Protocol）やＤＨＣＰｖ６によってＳＩＰサーバ情報を自動的に取得することが知られている。更には、マルチキャスト検索やブロードキャスト検索によって、ＳＩＰサーバ情報を自動的に取得することも知られている。
【０００９】
しかしながら、ＳＩＰサーバ情報の自動取得を行った場合、ＳＩＰサーバの種別に関する情報は付加されていない。そのため、検索されたＳＩＰサーバの種別を判別することができず、ＳＩＰサーバに対して誤ったＳＩＰメッセージ（ＳＩＰサーバの種別に合わないＳＩＰメッセージ）を送信してしまう場合がある。
【００１０】
本発明は、ＳＩＰメソッドを使用し、当該ＳＩＰメソッドに対するレスポンスデータに基づき、ＳＩＰサーバの種別を判別し、判別した種別に対応付けてＳＩＰサーバ情報を記憶することにより、ＳＩＰ通信を正常に行えるようにする仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る通信端末は、ＳＩＰサーバを利用してネットワークパケット通信を行う通信端末であって、前記ＳＩＰサーバに関するＳＩＰサーバ情報を取得する取得手段と、ＳＩＰメソッドを使用し、当該ＳＩＰメソッドに対するレスポンスデータに基づき、前記ＳＩＰサーバの種別を判別する判別手段と、前記判別手段が判別した前記ＳＩＰサーバの種別に対応付けて、前記取得手段が取得した前記ＳＩＰサーバ情報を記憶する記憶手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＳＩＰメソッドを使用し、当該ＳＩＰメソッドに対するレスポンスデータに基づき、ＳＩＰサーバの種別を判別し、判別した種別に対応付けてＳＩＰサーバ情報を記憶することにより、ＳＩＰ通信を正常に行えるようにすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るＳＩＰ通信ネットワークシステムの構成を示すブロック図である。
【図２】ＳＩＰ端末でのＳＩＰサーバ情報の取得及び設定のためのＵＩの一例を示す図である。
【図３】ＳＩＰ端末のハードウェア構成を示すブロック図である。
【図４】ＳＩＰ端末のソフトウェア構成を示すブロック図である。
【図５】ＳＩＰサーバ情報自動取得部によるＳＩＰ情報自動取得処理のフローチャートである。
【図６】ＳＩＰサーバ情報自動取得部がＤＨＣＰｖ４で正常にＳＩＰサーバ情報を取得することができた場合のＤＨＣＰリプライパケットの一例を示す図である
【図７】ＳＩＰサーバ情報判別部による第１実施形態に係るＳＩＰ情報判別処理のフローチャートである。
【図８】ＳＩＰサーバ情報判別部が送信するＯＰＴＩＯＮＳメソッドの送信パケットのボディ部の一例を示す図である。
【図９】図８に示した送信パケットに対するレスポンスパケットのボディ部の一例を示す図である。
【図１０】ＳＩＰサーバ情報判別部による第２実施形態に係るＳＩＰ情報判別処理のフローチャートである。
【図１１】図１０に示すＳＩＰ情報判別処理で用いられるＳＩＰレスポンスコードの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
【００１５】
＜ＳＩＰ通信ネットワークシステムの概略構成＞
図１は、本発明の実施形態に係るＳＩＰ通信ネットワークシステムの構成を示すブロック図である。このＳＩＰ通信ネットワークシステムを構成する第１のＬＡＮ（Local Area Network）１０９に接続された通信端末であるＳＩＰ端末１００は、ＳＩＰ呼制御機能を有する端末である。ＤＨＣＰサーバ１０１は、少なくともオプション１２０をサポートし、ＳＩＰサーバ情報を配布できる機能を有する。なお、“オプション１２０”は、ＩＡＮＡ（Internet Assigned Numbers Authority）が管理するＳＩＰサーバに関する規格である。
【００１６】
ＳＩＰ登録サーバ１０２は、ＳＩＰ端末１００からＳＩＰサーバアドレス等の登録処理を受け付ける。ＳＩＰプロキシサーバ１０３は、ＳＩＰ端末１００の代替に対向のＳＩＰ端末（不図示）とＳＩＰ呼制御を行う。ＳＩＰリダイレクトサーバ１０４は、ＳＩＰ端末１００からリクエストを受け付け、対向のＳＩＰ端末１００のアドレスを通知する。
【００１７】
ＶｏＩＰゲートウェイ１０５はＩＰパケットをアナログ音声データに変換する。ＰＢＸ１０６は構内交換機であり、アナログ電話機１０８等と接続され、また、ＰＳＴＮ１１１を介して公衆回線とつながる。ＬＡＮ１０９は、ルータ１０７を介してインターネット１１０に接続されており、更にインターネット１１０を介して第２のＬＡＮ１１３及び第３のＬＡＮ１１３等の他のＬＡＮと接続されている。ＩＰパケットは、ルータ１０７を介してＬＡＮ１０９とインターネット１１０との間で通信可能となっている。
【００１８】
＜ＳＩＰサーバ情報の取得・設定のためのユーザインタフェース（ＵＩ）＞
図２は、ＳＩＰ端末１００でのＳＩＰサーバ情報の取得及び設定のためのＵＩ（User Interface）の一例を示す図である。図２中の［ＳＩＰサーバ取得方法］では、ユーザは、手動で設定するか［手動］、ＤＨＣＰサーバ１０１から取得するか［ＤＨＣＰから取得］又はマルチキャスト検索を行うか［マルチキャスト検索］の中からいずれか１つを選択することができる。
【００１９】
また、ＳＩＰサーバとして、ＳＩＰ登録サーバ、ＳＩＰプロキシサーバ及びＳＩＰリダイレクトサーバの３種類が設定可能となっている。各サーバについて、プライマリ及びセカンダリを設定できるようになっており、それぞれＩＰｖ４アドレス、ＩＰｖ６アドレス、ホスト名、ＳＩＰアドレス等の形式で設定可能となっている。
【００２０】
［ＳＩＰサーバ取得方法］で［手動］を選択した場合、各サーバのアドレス欄には、ユーザが手動で値を入力することとなり、この入力は、後述するオペレーションパネル３０９（図３参照）を通じて行うことができるようになっている。一方、［ＤＨＣＰから取得］又は［マルチキャスト検索］が選択されている場合は、起動時にＳＩＰサーバ情報の自動取得が実施され、取得することができたＳＩＰサーバ情報が格納される。
【００２１】
＜ＳＩＰ端末のハードウェア構成＞
図３は、ＳＩＰ端末１００のハードウェア構成を示すブロック図である。ＣＰＵ３０１は、ＳＩＰ通信ネットワークシステムのソフトウェアプログラムを実行し、ＳＩＰ端末１００全体の制御を行う。ＲＡＭ３０２は、ＣＰＵ３０１が装置を制御する際の一時的なデータの格納等に使用される。ＲＯＭ３０３は、ＳＩＰ端末１００のブートプログラムや固定パラメータ等を格納している。ＨＤＤ３０４は様々なデータやプログラムを格納することができる。なお、ＨＤＤ３０４は記憶装置の一例であり、これに代えて他の記憶装置（例えば、フラッシュメモリ、ＤＶＤ−ＲＡＭ等）を用いてもよい。
【００２２】
タイマ３０８は、タイマ処理における経過時刻の管理を行う。ＮＶＲＡＭ３０５には、ＳＩＰに関する情報をはじめとして、ＳＩＰ通信ネットワークシステムの各種設定値が保存される。パネル制御部３０６は、使用者からの指示入力等のために、オペレーションパネル３０９を制御し、各種情報の表示を行う。なお、図２のＳＩＰサーバ情報の取得・設定のための画面は、オペレーションパネル３０９に表示され、ユーザは設定されたＳＩＰサーバ情報をオペレーションパネル３０９の表示によって確認することもできる。ネットワークＩ／Ｆ部３０７は、ＬＡＮ１０９を介してネットワークパケットの通信を行う。
【００２３】
＜ＳＩＰ端末のソフトウェア構成＞
図４は、ＳＩＰ端末１００のソフトウェア構成を示すブロック図である。図４に示される各部の機能は、ＣＰＵ３０１がＲＯＭ３０３等に格納された所定のプログラムやＨＤＤ３０４及びＮＶＲＡＭ３０５に格納されたデータ等に基づく演算処理を実行し、ＳＩＰ端末１００を構成する各種のハードウェアを動作させることで実現される。
【００２４】
ＳＩＰ制御部４０１は、ＳＩＰメッセージの作成や解釈を始めとして、ＳＩＰ通信に関する全体的な制御を行う。ＳＩＰサーバ情報自動取得部４０２は、ＬＡＮ１０９を介して、例えばＤＨＣＰｖ４やＤＨＣＰｖ６によってＳＩＰサーバ情報を自動的に取得し、又は、マルチキャストパケットやブロードキャストパケットを送信することでＳＩＰサーバ情報を取得する。ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバ情報自動取得部４０２からＳＩＰサーバ情報を受け取ってＳＩＰサーバの種別を判別し、適切なＳＩＰサーバ情報をＳＩＰサーバの種別に対応付けてＳＩＰサーバ情報記憶・設定部４０８に格納すると共に、ＳＩＰ制御部４０１に通知する。
【００２５】
ＳＩＰ情報登録部４０４は、ＳＩＰ登録サーバ１０２にＳＩＰ端末１００の情報を登録する処理を行う。ＳＩＰライブラリ部４０５は、ＳＩＰアプリケーション部４０６がＳＩＰ通信を実現するためのライブラリを提供する。ＳＩＰアプリケーション部４０６は、ＳＩＰ上で実現するアプリケーション群であり、アプリケーションとしては、例えばＳＩＰ−ＦＡＸやＩＰ電話、ＳＩＰ印刷等が挙げられる。
【００２６】
ＵＩ制御部４０７は、ユーザがＵＩを通じて設定したＳＩＰサーバ情報をＳＩＰサーバ情報記憶・設定部４０８に格納し、ＳＩＰ制御部４０１に通知する。ＳＩＰサーバ情報記憶・設定部４０８は、ＳＩＰサーバ情報判別部４０３により又はＵＩを通じて取得したＳＩＰサーバ情報を情報を格納し、ＳＩＰ端末１００にＳＩＰサーバ情報を設定する。プロトコルスタック４０９は、ＳＩＰ通信ネットワークシステムにおけるＩＰ及びＴＣＰ／ＵＤＰを制御し、ＬＡＮ１０９を介してネットワークパケット通信を行うＮＩＣ（Network Interface Card）を制御するＮＩＣ制御部として機能する。
【００２７】
＜第１実施形態に係るＳＩＰサーバ情報の判別方法＞
《ＳＩＰサーバ情報の自動取得方法》
図５は、ＳＩＰサーバ情報自動取得部４０２によるＳＩＰ情報自動取得処理のフローチャートである。ＳＩＰ端末１００が起動すると、ＳＩＰサーバ情報自動取得部４０２は、ＳＩＰサーバ情報取得設定からＳＩＰサーバ情報の取得方法を判別する（ステップＳ５０１）。なお、ＳＩＰサーバ情報の取得方法の設定は、予めユーザがオペレーションパネル３０９を介して設定し、その設定がＮＶＲＡＭ３０５（又はＨＤＤ３０４）に保存されているものとし、図２に従って行われているものとする。
【００２８】
ステップＳ５０１において、情報取得方法の設定が手動設定であると判別された場合、ＳＩＰサーバ情報自動取得部４０２は、ＳＩＰ制御部４０１に手動設定の旨を通知し（ステップＳ５０２）、その後、処理を終了させる。なお、ＳＩＰ制御部４０１は、ＵＩ制御部４０７を通じて、図２のＳＩＰサーバ情報の取得・設定のための画面をオペレーションパネル３０９に表示させ、ユーザにＳＩＰサーバ情報の手動設定を促す。
【００２９】
ステップＳ５０１において、情報取得方法の設定がＤＨＣＰから取得する設定であると判別された場合、ＳＩＰサーバ情報自動取得部４０２は、オプション１２０を含むＤＨＣＰリクエストをＤＨＣＰサーバ１０１に対して送信する（ステップＳ５０３）。続いて、ＳＩＰサーバ情報自動取得部４０２は、ＤＨＣＰリクエストに対するレスポンスデータであるＤＨＣＰレスポンスを解釈してＳＩＰサーバ情報の取得に成功したか否かを判別する（ステップＳ５０５）。
【００３０】
ＤＨＣＰサーバ１０１から応答がない場合やＤＨＣＰレスポンスにエラーの情報が入っている等の場合は、ＳＩＰサーバ情報の取得に失敗したものと判断される（Ｓ５０５で“ＮＯ”）。この場合、ＳＩＰサーバ情報自動取得部４０２は、ＳＩＰ制御部４０１及びＵＩ制御部４０７に取得失敗の通知を行う（ステップＳ５０７）。不図示であるが、ＵＩ制御部４０７は、取得失敗の通知を受けるとオペレーションパネル３０９に、例えば「ＳＩＰサーバ情報の取得に失敗しました」等の表示を行い、ユーザに通知する。その後、処理は終了する。
【００３１】
正常にＳＩＰサーバ情報を取得することができた場合（Ｓ５０５で“ＹＥＳ”）、ＳＩＰサーバ情報自動取得部４０２はＳＩＰサーバ情報判別部４０３にＳＩＰサーバ情報を通知し（ステップＳ５０６）、その後、処理は終了する。図６に、ＤＨＣＰｖ４で正常にＳＩＰサーバ情報を取得することができた場合のＤＨＣＰリプライパケットの一例を示す。ＳＩＰサーバとして３つのリスト（IP address）が取得できているが、ＳＩＰサーバの種別までは定義されていない。ＳＩＰサーバ情報判別部４０３によるＳＩＰサーバの種別の判別方法については後に説明する。
【００３２】
ステップＳ５０１において情報取得方法の設定がマルチキャスト検索と判別された場合、ＳＩＰサーバ情報自動取得部４０２は、ＳＩＰサーバを検索するためのマルチキャストパケットを送信する（ステップＳ５０４）。続いて、ＳＩＰサーバ情報の取得に成功したか否かが判別される（ステップＳ５０５）。マルチキャストパケットの応答（レスポンス）がない場合や取得に失敗した場合は（Ｓ５０５で“ＮＯ”）、ＤＨＣＰから取得する場合と同様のエラー処理を行う（ステップＳ５０７）。また、ＳＩＰサーバ情報の取得に成功した場合（Ｓ５０５で“ＹＥＳ”）、ＤＨＣＰから取得する場合と同様の成功処理（ステップＳ５０６）を行う。
【００３３】
上記処理は、ＳＩＰサーバに関する情報であれば、オプション１２０に限定せずに、実施することができる。また、ＤＨＣＰにはＤＨＣＰｖ４とＤＨＣＰｖ６があるが、本実施形態は、両方のプロトコルに適用可能である。マルチキャストパケットにもＩＰｖ４とＩＰｖ６があるが、本実施形態は両方のプロトコルに適用可能である。
【００３４】
《取得したＳＩＰサーバ情報の判別方法》
図７は、第１実施形態に係る、ＳＩＰサーバ情報判別部４０３によるＳＩＰ情報判別処理のフローチャートである。ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバ情報自動取得部４０２からＳＩＰサーバ情報が通知されたか否かを判断し（ステップＳ６０１）、ＳＩＰサーバ情報が通知されるまで待つ（Ｓ６０１で“ＮＯ”）。ＳＩＰサーバ情報自動取得部４０２は、ＳＩＰサーバ情報が通知されたら（Ｓ６０１で“ＹＥＳ”）、通知されたＳＩＰサーバ情報からＳＩＰサーバの種別を判別可能か否かを判断する（ステップＳ６０２）。
【００３５】
ＳＩＰサーバの種別を判別可能な場合（Ｓ６０２で“ＹＥＳ”）、ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバの種別の情報やアドレス情報をＳＩＰサーバ情報記憶・設定部４０８に格納すると共に、ＳＩＰ制御部４０１に通知する（ステップＳ６１１）。これにより、ＳＩＰ端末１００にＳＩＰサーバ情報が設定されて図２のＵＩに適切なＳＩＰサーバ情報が反映され、ユーザは設定されたＳＩＰサーバ情報をＵＩを通じて確認することができるようになる。
【００３６】
ＳＩＰサーバの種別を判別できず（Ｓ６０２で“ＮＯ”）、図６に示したようなＳＩＰサーバ情報リストが通知された場合（ステップＳ６０３）、ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバ情報リストの内容からはＳＩＰサーバの種別を判別できない。そこで、ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバの種別を判別するために、リストに記載されたＳＩＰサーバの１つ１つに対して、ＳＩＰメソッドの１つであるＯＰＴＩＯＮＳメソッドを送信する（ステップＳ６０４）。
【００３７】
図８は、ＳＩＰサーバ情報判別部４０３が送信するＯＰＴＩＯＮＳメソッドの送信パケットのボディ部の一例である。ＯＰＴＩＯＮＳがＣＳｅｑフィールドに格納され、ＳＩＰサーバ情報自動取得部４０２から通知されたＳＩＰサーバアドレス又はホスト名がＴＯフィールドに格納される。他のフィールドフォーマットは、ＳＩＰのＲＦＣ規定に従う。
【００３８】
図９は、図８に示した送信パケットに対するレスポンスデータであるレスポンスパケットのボディ部の一例である。Ａｌｌｏｗフィールドに対象のＳＩＰサーバがサポートするＳＩＰメソッドの一覧が格納されている。図９の例では、Ｉｎｖｉｔｅ、Ａｃｋ、Ｂｙｅ、ＯＰＴＳＩＯＮＳ、Ｃａｎｃｅｌ、Ｒｅｆｅｒ、Ｒｅｇｉｓｔｅｒｎの各ＳＩＰメソッドがサポートされており、ＳＩＰサーバ情報判別部４０３は、これらのフィールドからＳＩＰサーバの種別を判別する。
【００３９】
ステップＳ６０４の後、ＡｌｌｏｗフィールドにＲｅｇｉｓｔｅｒメソッドが含まれているか否かが判別される（ステップＳ６０５）。Ｒｅｇｉｓｔｅｒメソッドが含まれている場合（Ｓ６０５で“ＹＥＳ”）、そのＳＩＰサーバはＳＩＰ登録サーバの機能を有しているため、ＳＩＰ登録サーバであると判別される（ステップＳ６０７）。そして、次のＳＩＰサーバリストの処理へと進み、ＳＩＰサーバリストがなくなると（ステップＳ６１０）、ステップＳ６１１へ進む。
【００４０】
ＡｌｌｏｗフィールドにＲｅｇｉｓｔｅｒメソッドが含まれていない場合（Ｓ６０５で“ＮＯ”）、ＡｌｌｏｗフィールドにＲｅｆｅｒメソッドが含まれているか否かが判別される（ステップＳ６０６）。Ｒｅｆｅｒメソッドが含まれている場合（Ｓ６０６で“ＹＥＳ”）、そのＳＩＰサーバはＳＩＰプロキシサーバの機能を有しているため、そのＳＩＰサーバはＳＩＰプロキシサーバであると判別される（ステップＳ６０８）。Ｒｅｆｅｒメソッドが含まれていない場合（Ｓ６０６で“ＮＯ”）、そのＳＩＰサーバはＳＩＰリダイレクトサーバであると判別される（ステップＳ６０９）。ステップＳ６０８，６０９の後には、次のＳＩＰサーバリストの処理へと進み、ＳＩＰサーバリストがなくなると（ステップＳ６１０）、ステップＳ６１１へ進む。
【００４１】
ステップＳ６０３において通知された全てのＳＩＰサーバに対する種別の判別が完了した後、ＳＩＰサーバ情報判別部４０３は、ＳＩＰサーバアドレスの情報と種別情報をＳＩＰサーバ情報記憶・設定部４０８に各情報を格納すると共に、ＳＩＰ制御部４０１に通知する（ステップＳ６１１）。これにより、ＳＩＰ端末１００にＳＩＰサーバ情報が設定されて図２のＵＩに適切なＳＩＰサーバ情報が反映され、ユーザはＳＩＰサーバの種別毎に設定されたＳＩＰサーバ情報をＵＩを通じて確認することができるようになる。
【００４２】
なお、ステップＳ６０３において通知された全てのＳＩＰサーバについて種別を判別せずに、ＳＩＰ端末１００で設定されているＳＩＰサーバの上限数に達したら、ＳＩＰサーバの種別の判別処理を抜けて、ステップＳ６１１に進んでもよい。
【００４３】
上記処理によれば、ＳＩＰ制御部４０１は、ＳＩＰサーバ情報が自動設定される場合に、適切なＳＩＰサーバの種別の判別が終了した後に通知を受け取っている。また、前述の通り、ＳＩＰサーバ情報を手動設定する場合、ＵＩ制御部４０７を通してユーザによってＳＩＰサーバ情報が設定されると、ＵＩ制御部４０７は設定されたＳＩＰサーバ情報をＳＩＰ制御部４０１に通知する。
【００４４】
ＳＩＰ制御部４０１は、ＳＩＰサーバ情報が手動設定と自動設定のいずれの場合にも、この通知の完了後にＳＩＰ通信が開始可能と判断し、ＳＩＰ情報登録部４０４やＳＩＰアプリケーション部４０６を起動するか、又はこれらに起動準備完了の通知を行う。これより、ＳＩＰ情報登録部４０４が送信するＳＩＰサーバアドレスの登録処理は、図１に示された適切なＳＩＰ登録サーバ１０２に送信され、正常に完了する。また、ＳＩＰアプリケーション部４０６が、ＳＩＰプロキシ通信を要求する場合は、ＳＩＰプロキシサーバ１０３に送信され、リダイレクト通信を要求する場合は、ＳＩＰリダイレクトサーバ１０４に送信される。このように、適切なＳＩＰサーバに対する通信が実現される。
【００４５】
上記のＳＩＰサーバの種別の判別処理は、ＳＩＰ端末１００の起動時に１度実施されればよく、ＳＩＰメッセージ送信の度に行う必要がないため、ＳＩＰ送信パフォーマンスを低下させることがない。
【００４６】
なお、上述した説明においては、ＳＩＰサーバ情報を取得したときにＳＩＰサーバの種別を判別するようにしているが、ＳＩＰメッセージを送信するときにＳＩＰサーバの種別を判別するようにしても構わない。但し、このようにした場合は、ＳＩＰメッセージを送信するまでに時間がかかる場合があり、送信パフォーマンスが低下するおそれがある。これに対して、上述した説明のように、ＳＩＰサーバ情報を取得したときにＳＩＰサーバの種別を判別しておけば、送信パフォーマンスの低下を防止することができる。
【００４７】
＜第２実施形態に係るＳＩＰサーバ情報の判別方法＞
《取得したＳＩＰサーバ情報の判別方法》
第２実施形態において、ＳＩＰサーバ情報の自動取得方法は上記第１実施形態において図５を参照して説明した方法と同じであり、そのため、ここでの説明を省略する。図１０は、第２実施形態に係る、ＳＩＰサーバ情報判別部４０３によるＳＩＰ情報判別処理のフローチャートである。
【００４８】
第１実施形態では、ＳＩＰサーバの種別の判別方法として、ＯＰＴＩＯＮＳメソッドのレスポンスを利用したが、ＯＰＴＩＯＮＳメソッドのレスポンスが不正又は得られない場合が想定され、ＳＩＰサーバの種別を適切に判別することができなくなるおそれがある。例えば、ＳＩＰ登録サーバであったためにＡｌｌｏｗフィールドにＲｅｇｉｓｔｅｒを含んでＯＰＴＳＩＯＮ応答してこない場合や、ＯＰＴＩＯＮＳメソッド自体にＳＩＰサーバが応答しない場合等が考えられる。第２実施形態は、このような問題を回避して、適切にＳＩＰサーバの種別を判別することができる判別方法に関する。
【００４９】
第２実施形態では、ＳＩＰサーバの種別の判別に、第１実施形態で用いたＯＰＴＩＯＮＳメソッドを使用しない。図１０に示すステップＳ７０１〜７０３，７１１，７１２の各処理は、図７に示したステップＳ６０１〜６０３，６１０，６１１の各処理と同じであるので、ここでの詳細な説明を省略する。よって、ステップＳ７０４〜ステップＳ７１０の処理について、以下に詳細に説明する。
【００５０】
ステップＳ７０３の処理の後、ＳＩＰサーバ情報判別部４０３は、対象のＳＩＰサーバに対してＲｅｇｉｓｔｅｒメソッドを送信する（ステップＳ７０４）。ステップＳ７０４のメソッドが成功した場合、そのＳＩＰサーバはＳＩＰ登録サーバであると判別される（ステップＳ７０６）。ステップＳ７０４でのメソッドが失敗した場合、適当な宛先ＳＩＰサーバアドレスを格納したＩｎｖｉｔｅメソッドが対象のＳＩＰサーバに送信される（ステップＳ７０５）。
【００５１】
ステップＳ７０５の結果、レスポンスパケットのレスポンスコードが３００番台（３ＸＸ）である場合、そのＳＩＰサーバはＳＩＰリダイレクトサーバであると判別される（ステップＳ７０７）。一方、ステップＳ７０５の結果、レスポンスコードが２００番台（２ＸＸ）である場合、そのＳＩＰサーバはＳＩＰプロキシサーバである判別される（ステップＳ７０８）。
【００５２】
しかし、ステップＳ７０５の結果、レスポンスコードが６００番台（６ＸＸ）の場合、ＳＩＰサーバの種別を判別することができない。そのため、判別を終了して次のＳＩＰサーバリストの処理へと進む。前記以外のレスポンスコードを受信した場合は、一定時間待機して再試行を試みる（ステップＳ７１０）。
【００５３】
図１１は、ＳＩＰレスポンスコードの一例を示す図であり、レスポンスコードはＲＦＣによって定義されている。ステップＳ７０６〜７０９の各処理の終了後は、第１実施形態の場合と同様に、ステップＳ７１１以降の処理へと進む。
【００５４】
＜その他の実施形態＞
以上、本発明の実施の形態について説明したが、本発明は上記形態に限定されるものではない。例えば、上述した第１実施形態と第２実施形態のどちらを実施するかについては、ＵＩを通してユーザが選択可能な構成とすることも好ましい。また、ユーザのネットワーク環境に適するように、実施例１と実施例２を組み合わせて実施してもよい。その場合、どちらの実施形態を先に実行するか、また、どちらの実施形態の実施結果を優先するか等について、重み付けを設定してもよいし、その設定をユーザに選択させるようにしてもよい。
【００５５】
上記の実施形態では、ＳＩＰサーバの種別として、ＳＩＰ登録サーバ、ＳＩＰプロキシサーバ、ＳＩＰリダイレクトサーバを取り上げたが、これらに限られず、本発明は、ＳＩＰロケーションサーバ等のあらゆるＳＩＰサーバに適用可能である。また、ＳＩＰサーバの種別についても、ユーザが複数のＳＩＰサーバの種別から任意の種別を選択又は新規登録することができるようにしてもよい。
【００５６】
ＳＩＰサーバ情報の自動取得は、第１及び第２実施形態のように、ＳＩＰ端末１００の起動時に１度実施するだけでもよいし、ユーザがタイマ３０８を用いて予め設定した時間に実施し、更にタイマ３０８に設定された一定時間毎に定期的に実施してもよい。更にＳＩＰサーバアドレスが変更されたタイミング等の任意のトリガをユーザが予め設定しておいて、そのトリガの実施タイミングでＳＩＰサーバ情報の自動取得が実施されるようにしてもよい。
【００５７】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００５８】
１００    ＳＩＰ端末
１０２    ＳＩＰ登録サーバ
１０３    ＳＩＰプロキシサーバ
１０４    ＳＩＰリダイレクトサーバ
４０１    ＳＩＰ制御部
４０２    ＳＩＰサーバ情報自動取得部
４０３    ＳＩＰサーバ情報判別部
１０９    ＬＡＮ
【図１】
0005693065.tif 000002
【図２】
0005693065.tif 000003
【図３】
0005693065.tif 000004
【図４】
0005693065.tif 000005
【図５】
0005693065.tif 000006
【図６】
0005693065.tif 000007
【図７】
0005693065.tif 000008
【図８】
0005693065.tif 000009
【図９】
0005693065.tif 000010
【図１０】
0005693065.tif 000011
【図１１】
0005693065.tif 000012