通信端末、通信端末の制御方法及びプログラム
【課題】SIP通信を正常に行える通信端末を提供する。
【解決手段】SIPサーバを利用してネットワークパケット通信を行う通信端末において、SIPサーバ情報自動取得部402がSIPサーバのSIPサーバ情報を自動取得し、SIPサーバ情報判別部403が取得したSIPサーバ情報に基づき、SIPサーバの種別を判別し、SIPサーバ情報記憶・設定部408が、判別した種別に対応付けてSIPサーバ情報を記憶する。
【解決手段】SIPサーバを利用してネットワークパケット通信を行う通信端末において、SIPサーバ情報自動取得部402がSIPサーバのSIPサーバ情報を自動取得し、SIPサーバ情報判別部403が取得したSIPサーバ情報に基づき、SIPサーバの種別を判別し、SIPサーバ情報記憶・設定部408が、判別した種別に対応付けてSIPサーバ情報を記憶する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SIPサーバを利用してネットワークパケット通信を行う通信端末に関する。
【背景技術】
【0002】
近年、広域イーサネット(登録商標)やIP−VPN(Internet Protocol-Virtual Private Network)の発達と普及が進み、従来の専用線やATM(Asynchronous Transfer Mode)からWAN(Wide Area Network)をIPネットワークで実現する環境が増加してきている。これに伴い、従来、PBX(Private Branch Exchange)を使用してPSTN(Public Switched Telephone Network)で実現していた音声サービスを、VoIP(Voice Over IP)ゲートウェイやVoIPアダプタを使用してVoIPで実現することが可能になってきた。特に、VoIPによる音声サービスを実現するためのシグナリングプロトコルとして、データ構造が複雑なH.323よりも、テキスト記述に基づいており、HTTP(Hyper Text Transfer Protocol)とも親和性の高いSIP(Session Initiation Protocol)の普及が進んでいる。
【0003】
SIP環境では、SIP端末と共にSIPサーバが設置されることが一般的であり、SIPサーバは、SIPサーバアドレスの登録や名前解決及び呼のルーティング等の機能を提供する。SIPサーバは、ISP(Internet Service Provider)のパブリックネットワークに設置されることもあれば、企業内のプライベートネットワーク内に設置されることもある。
【0004】
SIPサーバは、機能によって3つの種別に大別される。第1のSIPサーバは、SIPサーバアドレスの登録処理や名前解決処理を行うSIP登録サーバである。第2のSIPサーバは、SIP端末の代替に対向のSIP端末やVoIPゲートウェイとSIP通信を行うSIPプロキシサーバである。第3のSIPサーバは、SIP端末に適切な呼のルーティングを行う対向の接続先を応答するSIPリダイレクトサーバである。これらのSIPサーバを、機能毎に別々に設置したネットワークシステムが知られている(例えば、特許文献1参照)。
【0005】
機能毎に別々のSIPサーバを設置する場合、SIP端末から適切なSIPサーバに適切なSIPメッセージ(SIPサーバの種別に応じたSIPメッセージ)を送信しないと、SIPサーバからは正常な応答を得ることはできない。例えば、SIP登録サーバにSIP通信開始を要求するメッセージを送るとエラーとなってしまい、SIPプロキシサーバにSIPサーバアドレスの登録メッセージを送ってもエラーとなってしまう。そのため、SIP端末側で適切なSIPサーバ設定が実施されていないと、SIP通信ができない可能性がある。
【0006】
このような問題に対して、SIPサーバの種別も含めた設定を手動で行うようにすれば、適切なSIPサーバアドレスを1つ1つ手動で設定することで、この問題を回避することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−033558号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述したようにSIPサーバの種別も含めた設定を手動で行う場合は、ユーザの手間がかかるという問題がある。一方、RFC3361等で規定されているように、DHCP(Dynamic Host Configuration Protocol)やDHCPv6によってSIPサーバ情報を自動的に取得することが知られている。更には、マルチキャスト検索やブロードキャスト検索によって、SIPサーバ情報を自動的に取得することも知られている。
【0009】
しかしながら、SIPサーバ情報の自動取得を行った場合、SIPサーバの種別に関する情報は付加されていない。そのため、検索されたSIPサーバの種別を判別することができず、SIPサーバに対して誤ったSIPメッセージ(SIPサーバの種別に合わないSIPメッセージ)を送信してしまう場合がある。
【0010】
本発明は、SIPサーバの種別を判別し、判別した種別に対応付けてSIPサーバ情報を記憶することにより、SIP通信を正常に行えるようにする仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る通信端末は、SIPサーバを利用してネットワークパケット通信を行う通信端末であって、前記SIPサーバに関するSIPサーバ情報を取得する取得手段と、前記取得手段が取得したSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別手段と、前記判別手段が判別した種別に対応付けて、前記取得手段が取得したSIPサーバ情報を記憶する記憶手段と、を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、SIPサーバの種別を判別し、判別した種別に対応付けてSIPサーバ情報を記憶することにより、SIP通信を正常に行えるようにすることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るSIP通信ネットワークシステムの構成を示すブロック図である。
【図2】SIP端末でのSIPサーバ情報の取得及び設定のためのUIの一例を示す図である。
【図3】SIP端末のハードウェア構成を示すブロック図である。
【図4】SIP端末のソフトウェア構成を示すブロック図である。
【図5】SIPサーバ情報自動取得部によるSIP情報自動取得処理のフローチャートである。
【図6】SIPサーバ情報自動取得部がDHCPv4で正常にSIPサーバ情報を取得することができた場合のDHCPリプライパケットの一例を示す図である
【図7】SIPサーバ情報判別部による第1実施形態に係るSIP情報判別処理のフローチャートである。
【図8】SIPサーバ情報判別部が送信するOPTIONSメソッドの送信パケットのボディ部の一例を示す図である。
【図9】図8に示した送信パケットに対するレスポンスパケットのボディ部の一例を示す図である。
【図10】SIPサーバ情報判別部による第2実施形態に係るSIP情報判別処理のフローチャートである。
【図11】図10に示すSIP情報判別処理で用いられるSIPレスポンスコードの一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
【0015】
<SIP通信ネットワークシステムの概略構成>
図1は、本発明の実施形態に係るSIP通信ネットワークシステムの構成を示すブロック図である。このSIP通信ネットワークシステムを構成する第1のLAN(Local Area Network)109に接続された通信端末であるSIP端末100は、SIP呼制御機能を有する端末である。DHCPサーバ101は、少なくともオプション120をサポートし、SIPサーバ情報を配布できる機能を有する。なお、“オプション120”は、IANA(Internet Assigned Numbers Authority)が管理するSIPサーバに関する規格である。
【0016】
SIP登録サーバ102は、SIP端末100からSIPサーバアドレス等の登録処理を受け付ける。SIPプロキシサーバ103は、SIP端末100の代替に対向のSIP端末(不図示)とSIP呼制御を行う。SIPリダイレクトサーバ104は、SIP端末100からリクエストを受け付け、対向のSIP端末100のアドレスを通知する。
【0017】
VoIPゲートウェイ105はIPパケットをアナログ音声データに変換する。PBX106は構内交換機であり、アナログ電話機108等と接続され、また、PSTN111を介して公衆回線とつながる。LAN109は、ルータ107を介してインターネット110に接続されており、更にインターネット110を介して第2のLAN113及び第3のLAN113等の他のLANと接続されている。IPパケットは、ルータ107を介してLAN109とインターネット110との間で通信可能となっている。
【0018】
<SIPサーバ情報の取得・設定のためのユーザインタフェース(UI)>
図2は、SIP端末100でのSIPサーバ情報の取得及び設定のためのUI(User Interface)の一例を示す図である。図2中の[SIPサーバ取得方法]では、ユーザは、手動で設定するか[手動]、DHCPサーバ101から取得するか[DHCPから取得]又はマルチキャスト検索を行うか[マルチキャスト検索]の中からいずれか1つを選択することができる。
【0019】
また、SIPサーバとして、SIP登録サーバ、SIPプロキシサーバ及びSIPリダイレクトサーバの3種類が設定可能となっている。各サーバについて、プライマリ及びセカンダリを設定できるようになっており、それぞれIPv4アドレス、IPv6アドレス、ホスト名、SIPアドレス等の形式で設定可能となっている。
【0020】
[SIPサーバ取得方法]で[手動]を選択した場合、各サーバのアドレス欄には、ユーザが手動で値を入力することとなり、この入力は、後述するオペレーションパネル309(図3参照)を通じて行うことができるようになっている。一方、[DHCPから取得]又は[マルチキャスト検索]が選択されている場合は、起動時にSIPサーバ情報の自動取得が実施され、取得することができたSIPサーバ情報が格納される。
【0021】
<SIP端末のハードウェア構成>
図3は、SIP端末100のハードウェア構成を示すブロック図である。CPU301は、SIP通信ネットワークシステムのソフトウェアプログラムを実行し、SIP端末100全体の制御を行う。RAM302は、CPU301が装置を制御する際の一時的なデータの格納等に使用される。ROM303は、SIP端末100のブートプログラムや固定パラメータ等を格納している。HDD304は様々なデータやプログラムを格納することができる。なお、HDD304は記憶装置の一例であり、これに代えて他の記憶装置(例えば、フラッシュメモリ、DVD−RAM等)を用いてもよい。
【0022】
タイマ308は、タイマ処理における経過時刻の管理を行う。NVRAM305には、SIPに関する情報をはじめとして、SIP通信ネットワークシステムの各種設定値が保存される。パネル制御部306は、使用者からの指示入力等のために、オペレーションパネル309を制御し、各種情報の表示を行う。なお、図2のSIPサーバ情報の取得・設定のための画面は、オペレーションパネル309に表示され、ユーザは設定されたSIPサーバ情報をオペレーションパネル309の表示によって確認することもできる。ネットワークI/F部307は、LAN109を介してネットワークパケットの通信を行う。
【0023】
<SIP端末のソフトウェア構成>
図4は、SIP端末100のソフトウェア構成を示すブロック図である。図4に示される各部の機能は、CPU301がROM303等に格納された所定のプログラムやHDD304及びNVRAM305に格納されたデータ等に基づく演算処理を実行し、SIP端末100を構成する各種のハードウェアを動作させることで実現される。
【0024】
SIP制御部401は、SIPメッセージの作成や解釈を始めとして、SIP通信に関する全体的な制御を行う。SIPサーバ情報自動取得部402は、LAN109を介して、例えばDHCPv4やDHCPv6によってSIPサーバ情報を自動的に取得し、又は、マルチキャストパケットやブロードキャストパケットを送信することでSIPサーバ情報を取得する。SIPサーバ情報判別部403は、SIPサーバ情報自動取得部402からSIPサーバ情報を受け取ってSIPサーバの種別を判別し、適切なSIPサーバ情報をSIPサーバの種別に対応付けてSIPサーバ情報記憶・設定部408に格納すると共に、SIP制御部401に通知する。
【0025】
SIP情報登録部404は、SIP登録サーバ102にSIP端末100の情報を登録する処理を行う。SIPライブラリ部405は、SIPアプリケーション部406がSIP通信を実現するためのライブラリを提供する。SIPアプリケーション部406は、SIP上で実現するアプリケーション群であり、アプリケーションとしては、例えばSIP−FAXやIP電話、SIP印刷等が挙げられる。
【0026】
UI制御部407は、ユーザがUIを通じて設定したSIPサーバ情報をSIPサーバ情報記憶・設定部408に格納し、SIP制御部401に通知する。SIPサーバ情報記憶・設定部408は、SIPサーバ情報判別部403により又はUIを通じて取得したSIPサーバ情報を情報を格納し、SIP端末100にSIPサーバ情報を設定する。プロトコルスタック409は、SIP通信ネットワークシステムにおけるIP及びTCP/UDPを制御し、LAN109を介してネットワークパケット通信を行うNIC(Network Interface Card)を制御するNIC制御部として機能する。
【0027】
<第1実施形態に係るSIPサーバ情報の判別方法>
《SIPサーバ情報の自動取得方法》
図5は、SIPサーバ情報自動取得部402によるSIP情報自動取得処理のフローチャートである。SIP端末100が起動すると、SIPサーバ情報自動取得部402は、SIPサーバ情報取得設定からSIPサーバ情報の取得方法を判別する(ステップS501)。なお、SIPサーバ情報の取得方法の設定は、予めユーザがオペレーションパネル309を介して設定し、その設定がNVRAM305(又はHDD304)に保存されているものとし、図2に従って行われているものとする。
【0028】
ステップS501において、情報取得方法の設定が手動設定であると判別された場合、SIPサーバ情報自動取得部402は、SIP制御部401に手動設定の旨を通知し(ステップS502)、その後、処理を終了させる。なお、SIP制御部401は、UI制御部407を通じて、図2のSIPサーバ情報の取得・設定のための画面をオペレーションパネル309に表示させ、ユーザにSIPサーバ情報の手動設定を促す。
【0029】
ステップS501において、情報取得方法の設定がDHCPから取得する設定であると判別された場合、SIPサーバ情報自動取得部402は、オプション120を含むDHCPリクエストをDHCPサーバ101に対して送信する(ステップS503)。続いて、SIPサーバ情報自動取得部402は、DHCPリクエストに対するレスポンスデータであるDHCPレスポンスを解釈してSIPサーバ情報の取得に成功したか否かを判別する(ステップS505)。
【0030】
DHCPサーバ101から応答がない場合やDHCPレスポンスにエラーの情報が入っている等の場合は、SIPサーバ情報の取得に失敗したものと判断される(S505で“NO”)。この場合、SIPサーバ情報自動取得部402は、SIP制御部401及びUI制御部407に取得失敗の通知を行う(ステップS507)。不図示であるが、UI制御部407は、取得失敗の通知を受けるとオペレーションパネル309に、例えば「SIPサーバ情報の取得に失敗しました」等の表示を行い、ユーザに通知する。その後、処理は終了する。
【0031】
正常にSIPサーバ情報を取得することができた場合(S505で“YES”)、SIPサーバ情報自動取得部402はSIPサーバ情報判別部403にSIPサーバ情報を通知し(ステップS506)、その後、処理は終了する。図6に、DHCPv4で正常にSIPサーバ情報を取得することができた場合のDHCPリプライパケットの一例を示す。SIPサーバとして3つのリスト(IP address)が取得できているが、SIPサーバの種別までは定義されていない。SIPサーバ情報判別部403によるSIPサーバの種別の判別方法については後に説明する。
【0032】
ステップS501において情報取得方法の設定がマルチキャスト検索と判別された場合、SIPサーバ情報自動取得部402は、SIPサーバを検索するためのマルチキャストパケットを送信する(ステップS504)。続いて、SIPサーバ情報の取得に成功したか否かが判別される(ステップS505)。マルチキャストパケットの応答(レスポンス)がない場合や取得に失敗した場合は(S505で“NO”)、DHCPから取得する場合と同様のエラー処理を行う(ステップS507)。また、SIPサーバ情報の取得に成功した場合(S505で“YES”)、DHCPから取得する場合と同様の成功処理(ステップS506)を行う。
【0033】
上記処理は、SIPサーバに関する情報であれば、オプション120に限定せずに、実施することができる。また、DHCPにはDHCPv4とDHCPv6があるが、本実施形態は、両方のプロトコルに適用可能である。マルチキャストパケットにもIPv4とIPv6があるが、本実施形態は両方のプロトコルに適用可能である。
【0034】
《取得したSIPサーバ情報の判別方法》
図7は、第1実施形態に係る、SIPサーバ情報判別部403によるSIP情報判別処理のフローチャートである。SIPサーバ情報判別部403は、SIPサーバ情報自動取得部402からSIPサーバ情報が通知されたか否かを判断し(ステップS601)、SIPサーバ情報が通知されるまで待つ(S601で“NO”)。SIPサーバ情報自動取得部402は、SIPサーバ情報が通知されたら(S601で“YES”)、通知されたSIPサーバ情報からSIPサーバの種別を判別可能か否かを判断する(ステップS602)。
【0035】
SIPサーバの種別を判別可能な場合(S602で“YES”)、SIPサーバ情報判別部403は、SIPサーバの種別の情報やアドレス情報をSIPサーバ情報記憶・設定部408に格納すると共に、SIP制御部401に通知する(ステップS611)。これにより、SIP端末100にSIPサーバ情報が設定されて図2のUIに適切なSIPサーバ情報が反映され、ユーザは設定されたSIPサーバ情報をUIを通じて確認することができるようになる。
【0036】
SIPサーバの種別を判別できず(S602で“NO”)、図6に示したようなSIPサーバ情報リストが通知された場合(ステップS603)、SIPサーバ情報判別部403は、SIPサーバ情報リストの内容からはSIPサーバの種別を判別できない。そこで、SIPサーバ情報判別部403は、SIPサーバの種別を判別するために、リストに記載されたSIPサーバの1つ1つに対して、SIPメソッドの1つであるOPTIONSメソッドを送信する(ステップS604)。
【0037】
図8は、SIPサーバ情報判別部403が送信するOPTIONSメソッドの送信パケットのボディ部の一例である。OPTIONSがCSeqフィールドに格納され、SIPサーバ情報自動取得部402から通知されたSIPサーバアドレス又はホスト名がTOフィールドに格納される。他のフィールドフォーマットは、SIPのRFC規定に従う。
【0038】
図9は、図8に示した送信パケットに対するレスポンスデータであるレスポンスパケットのボディ部の一例である。Allowフィールドに対象のSIPサーバがサポートするSIPメソッドの一覧が格納されている。図9の例では、Invite、Ack、Bye、OPTSIONS、Cancel、Refer、Registernの各SIPメソッドがサポートされており、SIPサーバ情報判別部403は、これらのフィールドからSIPサーバの種別を判別する。
【0039】
ステップS604の後、AllowフィールドにRegisterメソッドが含まれているか否かが判別される(ステップS605)。Registerメソッドが含まれている場合(S605で“YES”)、そのSIPサーバはSIP登録サーバの機能を有しているため、SIP登録サーバであると判別される(ステップS607)。そして、次のSIPサーバリストの処理へと進み、SIPサーバリストがなくなると(ステップS610)、ステップS611へ進む。
【0040】
AllowフィールドにRegisterメソッドが含まれていない場合(S605で“NO”)、AllowフィールドにReferメソッドが含まれているか否かが判別される(ステップS606)。Referメソッドが含まれている場合(S606で“YES”)、そのSIPサーバはSIPプロキシサーバの機能を有しているため、そのSIPサーバはSIPプロキシサーバであると判別される(ステップS608)。Referメソッドが含まれていない場合(S606で“NO”)、そのSIPサーバはSIPリダイレクトサーバであると判別される(ステップS609)。ステップS608,609の後には、次のSIPサーバリストの処理へと進み、SIPサーバリストがなくなると(ステップS610)、ステップS611へ進む。
【0041】
ステップS603において通知された全てのSIPサーバに対する種別の判別が完了した後、SIPサーバ情報判別部403は、SIPサーバアドレスの情報と種別情報をSIPサーバ情報記憶・設定部408に各情報を格納すると共に、SIP制御部401に通知する(ステップS611)。これにより、SIP端末100にSIPサーバ情報が設定されて図2のUIに適切なSIPサーバ情報が反映され、ユーザはSIPサーバの種別毎に設定されたSIPサーバ情報をUIを通じて確認することができるようになる。
【0042】
なお、ステップS603において通知された全てのSIPサーバについて種別を判別せずに、SIP端末100で設定されているSIPサーバの上限数に達したら、SIPサーバの種別の判別処理を抜けて、ステップS611に進んでもよい。
【0043】
上記処理によれば、SIP制御部401は、SIPサーバ情報が自動設定される場合に、適切なSIPサーバの種別の判別が終了した後に通知を受け取っている。また、前述の通り、SIPサーバ情報を手動設定する場合、UI制御部407を通してユーザによってSIPサーバ情報が設定されると、UI制御部407は設定されたSIPサーバ情報をSIP制御部401に通知する。
【0044】
SIP制御部401は、SIPサーバ情報が手動設定と自動設定のいずれの場合にも、この通知の完了後にSIP通信が開始可能と判断し、SIP情報登録部404やSIPアプリケーション部406を起動するか、又はこれらに起動準備完了の通知を行う。これより、SIP情報登録部404が送信するSIPサーバアドレスの登録処理は、図1に示された適切なSIP登録サーバ102に送信され、正常に完了する。また、SIPアプリケーション部406が、SIPプロキシ通信を要求する場合は、SIPプロキシサーバ103に送信され、リダイレクト通信を要求する場合は、SIPリダイレクトサーバ104に送信される。このように、適切なSIPサーバに対する通信が実現される。
【0045】
上記のSIPサーバの種別の判別処理は、SIP端末100の起動時に1度実施されればよく、SIPメッセージ送信の度に行う必要がないため、SIP送信パフォーマンスを低下させることがない。
【0046】
なお、上述した説明においては、SIPサーバ情報を取得したときにSIPサーバの種別を判別するようにしているが、SIPメッセージを送信するときにSIPサーバの種別を判別するようにしても構わない。但し、このようにした場合は、SIPメッセージを送信するまでに時間がかかる場合があり、送信パフォーマンスが低下するおそれがある。これに対して、上述した説明のように、SIPサーバ情報を取得したときにSIPサーバの種別を判別しておけば、送信パフォーマンスの低下を防止することができる。
【0047】
<第2実施形態に係るSIPサーバ情報の判別方法>
《取得したSIPサーバ情報の判別方法》
第2実施形態において、SIPサーバ情報の自動取得方法は上記第1実施形態において図5を参照して説明した方法と同じであり、そのため、ここでの説明を省略する。図10は、第2実施形態に係る、SIPサーバ情報判別部403によるSIP情報判別処理のフローチャートである。
【0048】
第1実施形態では、SIPサーバの種別の判別方法として、OPTIONSメソッドのレスポンスを利用したが、OPTIONSメソッドのレスポンスが不正又は得られない場合が想定され、SIPサーバの種別を適切に判別することができなくなるおそれがある。例えば、SIP登録サーバであったためにAllowフィールドにRegisterを含んでOPTSION応答してこない場合や、OPTIONSメソッド自体にSIPサーバが応答しない場合等が考えられる。第2実施形態は、このような問題を回避して、適切にSIPサーバの種別を判別することができる判別方法に関する。
【0049】
第2実施形態では、SIPサーバの種別の判別に、第1実施形態で用いたOPTIONSメソッドを使用しない。図10に示すステップS701〜703,711,712の各処理は、図7に示したステップS601〜603,610,611の各処理と同じであるので、ここでの詳細な説明を省略する。よって、ステップS704〜ステップS710の処理について、以下に詳細に説明する。
【0050】
ステップS703の処理の後、SIPサーバ情報判別部403は、対象のSIPサーバに対してRegisterメソッドを送信する(ステップS704)。ステップS704のメソッドが成功した場合、そのSIPサーバはSIP登録サーバであると判別される(ステップS706)。ステップS704でのメソッドが失敗した場合、適当な宛先SIPサーバアドレスを格納したInviteメソッドが対象のSIPサーバに送信される(ステップS705)。
【0051】
ステップS705の結果、レスポンスパケットのレスポンスコードが300番台(3XX)である場合、そのSIPサーバはSIPリダイレクトサーバであると判別される(ステップS707)。一方、ステップS705の結果、レスポンスコードが200番台(2XX)である場合、そのSIPサーバはSIPプロキシサーバである判別される(ステップS708)。
【0052】
しかし、ステップS705の結果、レスポンスコードが600番台(6XX)の場合、SIPサーバの種別を判別することができない。そのため、判別を終了して次のSIPサーバリストの処理へと進む。前記以外のレスポンスコードを受信した場合は、一定時間待機して再試行を試みる(ステップS710)。
【0053】
図11は、SIPレスポンスコードの一例を示す図であり、レスポンスコードはRFCによって定義されている。ステップS706〜709の各処理の終了後は、第1実施形態の場合と同様に、ステップS711以降の処理へと進む。
【0054】
<その他の実施形態>
以上、本発明の実施の形態について説明したが、本発明は上記形態に限定されるものではない。例えば、上述した第1実施形態と第2実施形態のどちらを実施するかについては、UIを通してユーザが選択可能な構成とすることも好ましい。また、ユーザのネットワーク環境に適するように、実施例1と実施例2を組み合わせて実施してもよい。その場合、どちらの実施形態を先に実行するか、また、どちらの実施形態の実施結果を優先するか等について、重み付けを設定してもよいし、その設定をユーザに選択させるようにしてもよい。
【0055】
上記の実施形態では、SIPサーバの種別として、SIP登録サーバ、SIPプロキシサーバ、SIPリダイレクトサーバを取り上げたが、これらに限られず、本発明は、SIPロケーションサーバ等のあらゆるSIPサーバに適用可能である。また、SIPサーバの種別についても、ユーザが複数のSIPサーバの種別から任意の種別を選択又は新規登録することができるようにしてもよい。
【0056】
SIPサーバ情報の自動取得は、第1及び第2実施形態のように、SIP端末100の起動時に1度実施するだけでもよいし、ユーザがタイマ308を用いて予め設定した時間に実施し、更にタイマ308に設定された一定時間毎に定期的に実施してもよい。更にSIPサーバアドレスが変更されたタイミング等の任意のトリガをユーザが予め設定しておいて、そのトリガの実施タイミングでSIPサーバ情報の自動取得が実施されるようにしてもよい。
【0057】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0058】
100 SIP端末
102 SIP登録サーバ
103 SIPプロキシサーバ
104 SIPリダイレクトサーバ
401 SIP制御部
402 SIPサーバ情報自動取得部
403 SIPサーバ情報判別部
109 LAN
【技術分野】
【0001】
本発明は、SIPサーバを利用してネットワークパケット通信を行う通信端末に関する。
【背景技術】
【0002】
近年、広域イーサネット(登録商標)やIP−VPN(Internet Protocol-Virtual Private Network)の発達と普及が進み、従来の専用線やATM(Asynchronous Transfer Mode)からWAN(Wide Area Network)をIPネットワークで実現する環境が増加してきている。これに伴い、従来、PBX(Private Branch Exchange)を使用してPSTN(Public Switched Telephone Network)で実現していた音声サービスを、VoIP(Voice Over IP)ゲートウェイやVoIPアダプタを使用してVoIPで実現することが可能になってきた。特に、VoIPによる音声サービスを実現するためのシグナリングプロトコルとして、データ構造が複雑なH.323よりも、テキスト記述に基づいており、HTTP(Hyper Text Transfer Protocol)とも親和性の高いSIP(Session Initiation Protocol)の普及が進んでいる。
【0003】
SIP環境では、SIP端末と共にSIPサーバが設置されることが一般的であり、SIPサーバは、SIPサーバアドレスの登録や名前解決及び呼のルーティング等の機能を提供する。SIPサーバは、ISP(Internet Service Provider)のパブリックネットワークに設置されることもあれば、企業内のプライベートネットワーク内に設置されることもある。
【0004】
SIPサーバは、機能によって3つの種別に大別される。第1のSIPサーバは、SIPサーバアドレスの登録処理や名前解決処理を行うSIP登録サーバである。第2のSIPサーバは、SIP端末の代替に対向のSIP端末やVoIPゲートウェイとSIP通信を行うSIPプロキシサーバである。第3のSIPサーバは、SIP端末に適切な呼のルーティングを行う対向の接続先を応答するSIPリダイレクトサーバである。これらのSIPサーバを、機能毎に別々に設置したネットワークシステムが知られている(例えば、特許文献1参照)。
【0005】
機能毎に別々のSIPサーバを設置する場合、SIP端末から適切なSIPサーバに適切なSIPメッセージ(SIPサーバの種別に応じたSIPメッセージ)を送信しないと、SIPサーバからは正常な応答を得ることはできない。例えば、SIP登録サーバにSIP通信開始を要求するメッセージを送るとエラーとなってしまい、SIPプロキシサーバにSIPサーバアドレスの登録メッセージを送ってもエラーとなってしまう。そのため、SIP端末側で適切なSIPサーバ設定が実施されていないと、SIP通信ができない可能性がある。
【0006】
このような問題に対して、SIPサーバの種別も含めた設定を手動で行うようにすれば、適切なSIPサーバアドレスを1つ1つ手動で設定することで、この問題を回避することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−033558号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述したようにSIPサーバの種別も含めた設定を手動で行う場合は、ユーザの手間がかかるという問題がある。一方、RFC3361等で規定されているように、DHCP(Dynamic Host Configuration Protocol)やDHCPv6によってSIPサーバ情報を自動的に取得することが知られている。更には、マルチキャスト検索やブロードキャスト検索によって、SIPサーバ情報を自動的に取得することも知られている。
【0009】
しかしながら、SIPサーバ情報の自動取得を行った場合、SIPサーバの種別に関する情報は付加されていない。そのため、検索されたSIPサーバの種別を判別することができず、SIPサーバに対して誤ったSIPメッセージ(SIPサーバの種別に合わないSIPメッセージ)を送信してしまう場合がある。
【0010】
本発明は、SIPサーバの種別を判別し、判別した種別に対応付けてSIPサーバ情報を記憶することにより、SIP通信を正常に行えるようにする仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る通信端末は、SIPサーバを利用してネットワークパケット通信を行う通信端末であって、前記SIPサーバに関するSIPサーバ情報を取得する取得手段と、前記取得手段が取得したSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別手段と、前記判別手段が判別した種別に対応付けて、前記取得手段が取得したSIPサーバ情報を記憶する記憶手段と、を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、SIPサーバの種別を判別し、判別した種別に対応付けてSIPサーバ情報を記憶することにより、SIP通信を正常に行えるようにすることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るSIP通信ネットワークシステムの構成を示すブロック図である。
【図2】SIP端末でのSIPサーバ情報の取得及び設定のためのUIの一例を示す図である。
【図3】SIP端末のハードウェア構成を示すブロック図である。
【図4】SIP端末のソフトウェア構成を示すブロック図である。
【図5】SIPサーバ情報自動取得部によるSIP情報自動取得処理のフローチャートである。
【図6】SIPサーバ情報自動取得部がDHCPv4で正常にSIPサーバ情報を取得することができた場合のDHCPリプライパケットの一例を示す図である
【図7】SIPサーバ情報判別部による第1実施形態に係るSIP情報判別処理のフローチャートである。
【図8】SIPサーバ情報判別部が送信するOPTIONSメソッドの送信パケットのボディ部の一例を示す図である。
【図9】図8に示した送信パケットに対するレスポンスパケットのボディ部の一例を示す図である。
【図10】SIPサーバ情報判別部による第2実施形態に係るSIP情報判別処理のフローチャートである。
【図11】図10に示すSIP情報判別処理で用いられるSIPレスポンスコードの一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
【0015】
<SIP通信ネットワークシステムの概略構成>
図1は、本発明の実施形態に係るSIP通信ネットワークシステムの構成を示すブロック図である。このSIP通信ネットワークシステムを構成する第1のLAN(Local Area Network)109に接続された通信端末であるSIP端末100は、SIP呼制御機能を有する端末である。DHCPサーバ101は、少なくともオプション120をサポートし、SIPサーバ情報を配布できる機能を有する。なお、“オプション120”は、IANA(Internet Assigned Numbers Authority)が管理するSIPサーバに関する規格である。
【0016】
SIP登録サーバ102は、SIP端末100からSIPサーバアドレス等の登録処理を受け付ける。SIPプロキシサーバ103は、SIP端末100の代替に対向のSIP端末(不図示)とSIP呼制御を行う。SIPリダイレクトサーバ104は、SIP端末100からリクエストを受け付け、対向のSIP端末100のアドレスを通知する。
【0017】
VoIPゲートウェイ105はIPパケットをアナログ音声データに変換する。PBX106は構内交換機であり、アナログ電話機108等と接続され、また、PSTN111を介して公衆回線とつながる。LAN109は、ルータ107を介してインターネット110に接続されており、更にインターネット110を介して第2のLAN113及び第3のLAN113等の他のLANと接続されている。IPパケットは、ルータ107を介してLAN109とインターネット110との間で通信可能となっている。
【0018】
<SIPサーバ情報の取得・設定のためのユーザインタフェース(UI)>
図2は、SIP端末100でのSIPサーバ情報の取得及び設定のためのUI(User Interface)の一例を示す図である。図2中の[SIPサーバ取得方法]では、ユーザは、手動で設定するか[手動]、DHCPサーバ101から取得するか[DHCPから取得]又はマルチキャスト検索を行うか[マルチキャスト検索]の中からいずれか1つを選択することができる。
【0019】
また、SIPサーバとして、SIP登録サーバ、SIPプロキシサーバ及びSIPリダイレクトサーバの3種類が設定可能となっている。各サーバについて、プライマリ及びセカンダリを設定できるようになっており、それぞれIPv4アドレス、IPv6アドレス、ホスト名、SIPアドレス等の形式で設定可能となっている。
【0020】
[SIPサーバ取得方法]で[手動]を選択した場合、各サーバのアドレス欄には、ユーザが手動で値を入力することとなり、この入力は、後述するオペレーションパネル309(図3参照)を通じて行うことができるようになっている。一方、[DHCPから取得]又は[マルチキャスト検索]が選択されている場合は、起動時にSIPサーバ情報の自動取得が実施され、取得することができたSIPサーバ情報が格納される。
【0021】
<SIP端末のハードウェア構成>
図3は、SIP端末100のハードウェア構成を示すブロック図である。CPU301は、SIP通信ネットワークシステムのソフトウェアプログラムを実行し、SIP端末100全体の制御を行う。RAM302は、CPU301が装置を制御する際の一時的なデータの格納等に使用される。ROM303は、SIP端末100のブートプログラムや固定パラメータ等を格納している。HDD304は様々なデータやプログラムを格納することができる。なお、HDD304は記憶装置の一例であり、これに代えて他の記憶装置(例えば、フラッシュメモリ、DVD−RAM等)を用いてもよい。
【0022】
タイマ308は、タイマ処理における経過時刻の管理を行う。NVRAM305には、SIPに関する情報をはじめとして、SIP通信ネットワークシステムの各種設定値が保存される。パネル制御部306は、使用者からの指示入力等のために、オペレーションパネル309を制御し、各種情報の表示を行う。なお、図2のSIPサーバ情報の取得・設定のための画面は、オペレーションパネル309に表示され、ユーザは設定されたSIPサーバ情報をオペレーションパネル309の表示によって確認することもできる。ネットワークI/F部307は、LAN109を介してネットワークパケットの通信を行う。
【0023】
<SIP端末のソフトウェア構成>
図4は、SIP端末100のソフトウェア構成を示すブロック図である。図4に示される各部の機能は、CPU301がROM303等に格納された所定のプログラムやHDD304及びNVRAM305に格納されたデータ等に基づく演算処理を実行し、SIP端末100を構成する各種のハードウェアを動作させることで実現される。
【0024】
SIP制御部401は、SIPメッセージの作成や解釈を始めとして、SIP通信に関する全体的な制御を行う。SIPサーバ情報自動取得部402は、LAN109を介して、例えばDHCPv4やDHCPv6によってSIPサーバ情報を自動的に取得し、又は、マルチキャストパケットやブロードキャストパケットを送信することでSIPサーバ情報を取得する。SIPサーバ情報判別部403は、SIPサーバ情報自動取得部402からSIPサーバ情報を受け取ってSIPサーバの種別を判別し、適切なSIPサーバ情報をSIPサーバの種別に対応付けてSIPサーバ情報記憶・設定部408に格納すると共に、SIP制御部401に通知する。
【0025】
SIP情報登録部404は、SIP登録サーバ102にSIP端末100の情報を登録する処理を行う。SIPライブラリ部405は、SIPアプリケーション部406がSIP通信を実現するためのライブラリを提供する。SIPアプリケーション部406は、SIP上で実現するアプリケーション群であり、アプリケーションとしては、例えばSIP−FAXやIP電話、SIP印刷等が挙げられる。
【0026】
UI制御部407は、ユーザがUIを通じて設定したSIPサーバ情報をSIPサーバ情報記憶・設定部408に格納し、SIP制御部401に通知する。SIPサーバ情報記憶・設定部408は、SIPサーバ情報判別部403により又はUIを通じて取得したSIPサーバ情報を情報を格納し、SIP端末100にSIPサーバ情報を設定する。プロトコルスタック409は、SIP通信ネットワークシステムにおけるIP及びTCP/UDPを制御し、LAN109を介してネットワークパケット通信を行うNIC(Network Interface Card)を制御するNIC制御部として機能する。
【0027】
<第1実施形態に係るSIPサーバ情報の判別方法>
《SIPサーバ情報の自動取得方法》
図5は、SIPサーバ情報自動取得部402によるSIP情報自動取得処理のフローチャートである。SIP端末100が起動すると、SIPサーバ情報自動取得部402は、SIPサーバ情報取得設定からSIPサーバ情報の取得方法を判別する(ステップS501)。なお、SIPサーバ情報の取得方法の設定は、予めユーザがオペレーションパネル309を介して設定し、その設定がNVRAM305(又はHDD304)に保存されているものとし、図2に従って行われているものとする。
【0028】
ステップS501において、情報取得方法の設定が手動設定であると判別された場合、SIPサーバ情報自動取得部402は、SIP制御部401に手動設定の旨を通知し(ステップS502)、その後、処理を終了させる。なお、SIP制御部401は、UI制御部407を通じて、図2のSIPサーバ情報の取得・設定のための画面をオペレーションパネル309に表示させ、ユーザにSIPサーバ情報の手動設定を促す。
【0029】
ステップS501において、情報取得方法の設定がDHCPから取得する設定であると判別された場合、SIPサーバ情報自動取得部402は、オプション120を含むDHCPリクエストをDHCPサーバ101に対して送信する(ステップS503)。続いて、SIPサーバ情報自動取得部402は、DHCPリクエストに対するレスポンスデータであるDHCPレスポンスを解釈してSIPサーバ情報の取得に成功したか否かを判別する(ステップS505)。
【0030】
DHCPサーバ101から応答がない場合やDHCPレスポンスにエラーの情報が入っている等の場合は、SIPサーバ情報の取得に失敗したものと判断される(S505で“NO”)。この場合、SIPサーバ情報自動取得部402は、SIP制御部401及びUI制御部407に取得失敗の通知を行う(ステップS507)。不図示であるが、UI制御部407は、取得失敗の通知を受けるとオペレーションパネル309に、例えば「SIPサーバ情報の取得に失敗しました」等の表示を行い、ユーザに通知する。その後、処理は終了する。
【0031】
正常にSIPサーバ情報を取得することができた場合(S505で“YES”)、SIPサーバ情報自動取得部402はSIPサーバ情報判別部403にSIPサーバ情報を通知し(ステップS506)、その後、処理は終了する。図6に、DHCPv4で正常にSIPサーバ情報を取得することができた場合のDHCPリプライパケットの一例を示す。SIPサーバとして3つのリスト(IP address)が取得できているが、SIPサーバの種別までは定義されていない。SIPサーバ情報判別部403によるSIPサーバの種別の判別方法については後に説明する。
【0032】
ステップS501において情報取得方法の設定がマルチキャスト検索と判別された場合、SIPサーバ情報自動取得部402は、SIPサーバを検索するためのマルチキャストパケットを送信する(ステップS504)。続いて、SIPサーバ情報の取得に成功したか否かが判別される(ステップS505)。マルチキャストパケットの応答(レスポンス)がない場合や取得に失敗した場合は(S505で“NO”)、DHCPから取得する場合と同様のエラー処理を行う(ステップS507)。また、SIPサーバ情報の取得に成功した場合(S505で“YES”)、DHCPから取得する場合と同様の成功処理(ステップS506)を行う。
【0033】
上記処理は、SIPサーバに関する情報であれば、オプション120に限定せずに、実施することができる。また、DHCPにはDHCPv4とDHCPv6があるが、本実施形態は、両方のプロトコルに適用可能である。マルチキャストパケットにもIPv4とIPv6があるが、本実施形態は両方のプロトコルに適用可能である。
【0034】
《取得したSIPサーバ情報の判別方法》
図7は、第1実施形態に係る、SIPサーバ情報判別部403によるSIP情報判別処理のフローチャートである。SIPサーバ情報判別部403は、SIPサーバ情報自動取得部402からSIPサーバ情報が通知されたか否かを判断し(ステップS601)、SIPサーバ情報が通知されるまで待つ(S601で“NO”)。SIPサーバ情報自動取得部402は、SIPサーバ情報が通知されたら(S601で“YES”)、通知されたSIPサーバ情報からSIPサーバの種別を判別可能か否かを判断する(ステップS602)。
【0035】
SIPサーバの種別を判別可能な場合(S602で“YES”)、SIPサーバ情報判別部403は、SIPサーバの種別の情報やアドレス情報をSIPサーバ情報記憶・設定部408に格納すると共に、SIP制御部401に通知する(ステップS611)。これにより、SIP端末100にSIPサーバ情報が設定されて図2のUIに適切なSIPサーバ情報が反映され、ユーザは設定されたSIPサーバ情報をUIを通じて確認することができるようになる。
【0036】
SIPサーバの種別を判別できず(S602で“NO”)、図6に示したようなSIPサーバ情報リストが通知された場合(ステップS603)、SIPサーバ情報判別部403は、SIPサーバ情報リストの内容からはSIPサーバの種別を判別できない。そこで、SIPサーバ情報判別部403は、SIPサーバの種別を判別するために、リストに記載されたSIPサーバの1つ1つに対して、SIPメソッドの1つであるOPTIONSメソッドを送信する(ステップS604)。
【0037】
図8は、SIPサーバ情報判別部403が送信するOPTIONSメソッドの送信パケットのボディ部の一例である。OPTIONSがCSeqフィールドに格納され、SIPサーバ情報自動取得部402から通知されたSIPサーバアドレス又はホスト名がTOフィールドに格納される。他のフィールドフォーマットは、SIPのRFC規定に従う。
【0038】
図9は、図8に示した送信パケットに対するレスポンスデータであるレスポンスパケットのボディ部の一例である。Allowフィールドに対象のSIPサーバがサポートするSIPメソッドの一覧が格納されている。図9の例では、Invite、Ack、Bye、OPTSIONS、Cancel、Refer、Registernの各SIPメソッドがサポートされており、SIPサーバ情報判別部403は、これらのフィールドからSIPサーバの種別を判別する。
【0039】
ステップS604の後、AllowフィールドにRegisterメソッドが含まれているか否かが判別される(ステップS605)。Registerメソッドが含まれている場合(S605で“YES”)、そのSIPサーバはSIP登録サーバの機能を有しているため、SIP登録サーバであると判別される(ステップS607)。そして、次のSIPサーバリストの処理へと進み、SIPサーバリストがなくなると(ステップS610)、ステップS611へ進む。
【0040】
AllowフィールドにRegisterメソッドが含まれていない場合(S605で“NO”)、AllowフィールドにReferメソッドが含まれているか否かが判別される(ステップS606)。Referメソッドが含まれている場合(S606で“YES”)、そのSIPサーバはSIPプロキシサーバの機能を有しているため、そのSIPサーバはSIPプロキシサーバであると判別される(ステップS608)。Referメソッドが含まれていない場合(S606で“NO”)、そのSIPサーバはSIPリダイレクトサーバであると判別される(ステップS609)。ステップS608,609の後には、次のSIPサーバリストの処理へと進み、SIPサーバリストがなくなると(ステップS610)、ステップS611へ進む。
【0041】
ステップS603において通知された全てのSIPサーバに対する種別の判別が完了した後、SIPサーバ情報判別部403は、SIPサーバアドレスの情報と種別情報をSIPサーバ情報記憶・設定部408に各情報を格納すると共に、SIP制御部401に通知する(ステップS611)。これにより、SIP端末100にSIPサーバ情報が設定されて図2のUIに適切なSIPサーバ情報が反映され、ユーザはSIPサーバの種別毎に設定されたSIPサーバ情報をUIを通じて確認することができるようになる。
【0042】
なお、ステップS603において通知された全てのSIPサーバについて種別を判別せずに、SIP端末100で設定されているSIPサーバの上限数に達したら、SIPサーバの種別の判別処理を抜けて、ステップS611に進んでもよい。
【0043】
上記処理によれば、SIP制御部401は、SIPサーバ情報が自動設定される場合に、適切なSIPサーバの種別の判別が終了した後に通知を受け取っている。また、前述の通り、SIPサーバ情報を手動設定する場合、UI制御部407を通してユーザによってSIPサーバ情報が設定されると、UI制御部407は設定されたSIPサーバ情報をSIP制御部401に通知する。
【0044】
SIP制御部401は、SIPサーバ情報が手動設定と自動設定のいずれの場合にも、この通知の完了後にSIP通信が開始可能と判断し、SIP情報登録部404やSIPアプリケーション部406を起動するか、又はこれらに起動準備完了の通知を行う。これより、SIP情報登録部404が送信するSIPサーバアドレスの登録処理は、図1に示された適切なSIP登録サーバ102に送信され、正常に完了する。また、SIPアプリケーション部406が、SIPプロキシ通信を要求する場合は、SIPプロキシサーバ103に送信され、リダイレクト通信を要求する場合は、SIPリダイレクトサーバ104に送信される。このように、適切なSIPサーバに対する通信が実現される。
【0045】
上記のSIPサーバの種別の判別処理は、SIP端末100の起動時に1度実施されればよく、SIPメッセージ送信の度に行う必要がないため、SIP送信パフォーマンスを低下させることがない。
【0046】
なお、上述した説明においては、SIPサーバ情報を取得したときにSIPサーバの種別を判別するようにしているが、SIPメッセージを送信するときにSIPサーバの種別を判別するようにしても構わない。但し、このようにした場合は、SIPメッセージを送信するまでに時間がかかる場合があり、送信パフォーマンスが低下するおそれがある。これに対して、上述した説明のように、SIPサーバ情報を取得したときにSIPサーバの種別を判別しておけば、送信パフォーマンスの低下を防止することができる。
【0047】
<第2実施形態に係るSIPサーバ情報の判別方法>
《取得したSIPサーバ情報の判別方法》
第2実施形態において、SIPサーバ情報の自動取得方法は上記第1実施形態において図5を参照して説明した方法と同じであり、そのため、ここでの説明を省略する。図10は、第2実施形態に係る、SIPサーバ情報判別部403によるSIP情報判別処理のフローチャートである。
【0048】
第1実施形態では、SIPサーバの種別の判別方法として、OPTIONSメソッドのレスポンスを利用したが、OPTIONSメソッドのレスポンスが不正又は得られない場合が想定され、SIPサーバの種別を適切に判別することができなくなるおそれがある。例えば、SIP登録サーバであったためにAllowフィールドにRegisterを含んでOPTSION応答してこない場合や、OPTIONSメソッド自体にSIPサーバが応答しない場合等が考えられる。第2実施形態は、このような問題を回避して、適切にSIPサーバの種別を判別することができる判別方法に関する。
【0049】
第2実施形態では、SIPサーバの種別の判別に、第1実施形態で用いたOPTIONSメソッドを使用しない。図10に示すステップS701〜703,711,712の各処理は、図7に示したステップS601〜603,610,611の各処理と同じであるので、ここでの詳細な説明を省略する。よって、ステップS704〜ステップS710の処理について、以下に詳細に説明する。
【0050】
ステップS703の処理の後、SIPサーバ情報判別部403は、対象のSIPサーバに対してRegisterメソッドを送信する(ステップS704)。ステップS704のメソッドが成功した場合、そのSIPサーバはSIP登録サーバであると判別される(ステップS706)。ステップS704でのメソッドが失敗した場合、適当な宛先SIPサーバアドレスを格納したInviteメソッドが対象のSIPサーバに送信される(ステップS705)。
【0051】
ステップS705の結果、レスポンスパケットのレスポンスコードが300番台(3XX)である場合、そのSIPサーバはSIPリダイレクトサーバであると判別される(ステップS707)。一方、ステップS705の結果、レスポンスコードが200番台(2XX)である場合、そのSIPサーバはSIPプロキシサーバである判別される(ステップS708)。
【0052】
しかし、ステップS705の結果、レスポンスコードが600番台(6XX)の場合、SIPサーバの種別を判別することができない。そのため、判別を終了して次のSIPサーバリストの処理へと進む。前記以外のレスポンスコードを受信した場合は、一定時間待機して再試行を試みる(ステップS710)。
【0053】
図11は、SIPレスポンスコードの一例を示す図であり、レスポンスコードはRFCによって定義されている。ステップS706〜709の各処理の終了後は、第1実施形態の場合と同様に、ステップS711以降の処理へと進む。
【0054】
<その他の実施形態>
以上、本発明の実施の形態について説明したが、本発明は上記形態に限定されるものではない。例えば、上述した第1実施形態と第2実施形態のどちらを実施するかについては、UIを通してユーザが選択可能な構成とすることも好ましい。また、ユーザのネットワーク環境に適するように、実施例1と実施例2を組み合わせて実施してもよい。その場合、どちらの実施形態を先に実行するか、また、どちらの実施形態の実施結果を優先するか等について、重み付けを設定してもよいし、その設定をユーザに選択させるようにしてもよい。
【0055】
上記の実施形態では、SIPサーバの種別として、SIP登録サーバ、SIPプロキシサーバ、SIPリダイレクトサーバを取り上げたが、これらに限られず、本発明は、SIPロケーションサーバ等のあらゆるSIPサーバに適用可能である。また、SIPサーバの種別についても、ユーザが複数のSIPサーバの種別から任意の種別を選択又は新規登録することができるようにしてもよい。
【0056】
SIPサーバ情報の自動取得は、第1及び第2実施形態のように、SIP端末100の起動時に1度実施するだけでもよいし、ユーザがタイマ308を用いて予め設定した時間に実施し、更にタイマ308に設定された一定時間毎に定期的に実施してもよい。更にSIPサーバアドレスが変更されたタイミング等の任意のトリガをユーザが予め設定しておいて、そのトリガの実施タイミングでSIPサーバ情報の自動取得が実施されるようにしてもよい。
【0057】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0058】
100 SIP端末
102 SIP登録サーバ
103 SIPプロキシサーバ
104 SIPリダイレクトサーバ
401 SIP制御部
402 SIPサーバ情報自動取得部
403 SIPサーバ情報判別部
109 LAN
【特許請求の範囲】
【請求項1】
SIPサーバを利用してネットワークパケット通信を行う通信端末であって、
前記SIPサーバに関するSIPサーバ情報を取得する取得手段と、
前記取得手段が取得したSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別手段と、
前記判別手段が判別した種別に対応付けて、前記取得手段が取得したSIPサーバ情報を記憶する記憶手段と、を備えることを特徴とする通信端末。
【請求項2】
前記取得手段は、前記SIPサーバ情報の取得に、DHCPv4又はDHCPv6を用いることを特徴とする請求項1記載の通信端末。
【請求項3】
前記取得手段は、前記SIPサーバ情報の取得に、マルチキャストパケット又はブロードキャストパケットを使用することを特徴とする請求項1記載の通信端末。
【請求項4】
前記SIPサーバの種別には、SIP登録サーバ、SIPプロキシサーバ、SIPリダイレクトサーバ及びSIPロケーションサーバの少なくとも1つが含まれることを特徴とする請求項1記載の通信端末。
【請求項5】
ユーザによるSIPサーバの種別の選択を可能にするユーザインタフェースを更に備えることを特徴とする請求項1記載の通信端末。
【請求項6】
前記判別手段は、SIPメソッドを使用し、当該SIPメソッドに対するレスポンスデータのフィールドから前記SIPサーバの種別を判別することを特徴とする請求項1記載の通信端末。
【請求項7】
前記判別手段は、OPTIONSメソッドを使用し、当該OPTIONSメソッドに対するレスポンスデータのAllowフィールドから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項8】
前記判別手段は、Registerメソッドを使用し、当該Registerメソッドに対するレスポンスデータのレスポンスコードから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項9】
前記判別手段は、Inviteメソッドを使用し、当該Inviteメソッドに対するレスポンスデータのレスポンスコードから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項10】
ユーザが前記SIPサーバ情報をSIPサーバの種別毎に確認することを可能にする確認手段を更に備えることを特徴とする請求項1記載の通信端末。
【請求項11】
前記取得手段は、前記通信端末の起動時に前記SIPサーバ情報を自動的に取得することを特徴とする請求項1記載の通信端末。
【請求項12】
前記取得手段は、ユーザが予め設定した定期的な時間に前記SIPサーバ情報を自動的に取得することを特徴とする請求項1記載の通信端末。
【請求項13】
SIPサーバを利用してネットワークパケット通信を行う通信端末の制御方法であって、
前記SIPサーバに関するSIPサーバ情報を取得する取得ステップと、
前記取得ステップにて取得されたSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別ステップと、
前記判別ステップにて判別された種別に対応付けて、前記取得ステップにて取得されたSIPサーバ情報を記憶装置に記憶する記憶ステップと、を有することを特徴とする通信装置の制御方法。
【請求項14】
請求項13に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
SIPサーバを利用してネットワークパケット通信を行う通信端末であって、
前記SIPサーバに関するSIPサーバ情報を取得する取得手段と、
前記取得手段が取得したSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別手段と、
前記判別手段が判別した種別に対応付けて、前記取得手段が取得したSIPサーバ情報を記憶する記憶手段と、を備えることを特徴とする通信端末。
【請求項2】
前記取得手段は、前記SIPサーバ情報の取得に、DHCPv4又はDHCPv6を用いることを特徴とする請求項1記載の通信端末。
【請求項3】
前記取得手段は、前記SIPサーバ情報の取得に、マルチキャストパケット又はブロードキャストパケットを使用することを特徴とする請求項1記載の通信端末。
【請求項4】
前記SIPサーバの種別には、SIP登録サーバ、SIPプロキシサーバ、SIPリダイレクトサーバ及びSIPロケーションサーバの少なくとも1つが含まれることを特徴とする請求項1記載の通信端末。
【請求項5】
ユーザによるSIPサーバの種別の選択を可能にするユーザインタフェースを更に備えることを特徴とする請求項1記載の通信端末。
【請求項6】
前記判別手段は、SIPメソッドを使用し、当該SIPメソッドに対するレスポンスデータのフィールドから前記SIPサーバの種別を判別することを特徴とする請求項1記載の通信端末。
【請求項7】
前記判別手段は、OPTIONSメソッドを使用し、当該OPTIONSメソッドに対するレスポンスデータのAllowフィールドから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項8】
前記判別手段は、Registerメソッドを使用し、当該Registerメソッドに対するレスポンスデータのレスポンスコードから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項9】
前記判別手段は、Inviteメソッドを使用し、当該Inviteメソッドに対するレスポンスデータのレスポンスコードから前記SIPサーバの種別を判別することを特徴とする請求項6記載の通信端末。
【請求項10】
ユーザが前記SIPサーバ情報をSIPサーバの種別毎に確認することを可能にする確認手段を更に備えることを特徴とする請求項1記載の通信端末。
【請求項11】
前記取得手段は、前記通信端末の起動時に前記SIPサーバ情報を自動的に取得することを特徴とする請求項1記載の通信端末。
【請求項12】
前記取得手段は、ユーザが予め設定した定期的な時間に前記SIPサーバ情報を自動的に取得することを特徴とする請求項1記載の通信端末。
【請求項13】
SIPサーバを利用してネットワークパケット通信を行う通信端末の制御方法であって、
前記SIPサーバに関するSIPサーバ情報を取得する取得ステップと、
前記取得ステップにて取得されたSIPサーバ情報に基づき、前記SIPサーバの種別を判別する判別ステップと、
前記判別ステップにて判別された種別に対応付けて、前記取得ステップにて取得されたSIPサーバ情報を記憶装置に記憶する記憶ステップと、を有することを特徴とする通信装置の制御方法。
【請求項14】
請求項13に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−19268(P2012−19268A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−153815(P2010−153815)
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]