本発明の第1の態様に係るIP電話システムは、IPネットワークに接続されるIP電話装置と、前記IPネットワークを介して前記IP電話装置を遠隔管理する管理装置と、を具備するIP電話システムであって、前記IP電話装置は、パスワードを記憶する記憶手段と、前記管理装置から前記IPネットワークを介して送信される遠隔管理開始要求を受信する受信手段と、前記遠隔管理開始要求を受信したとき、該遠隔管理開始要求に応答する応答情報を生成する応答情報生成手段と、前記応答情報を前記IPネットワークを介して前記管理装置に送信する送信手段と、前記応答情報を送信した後、前記受信手段が前記管理装置から遠隔管理認証情報を受信したとき、前記パスワードと前記応答情報に基づいて生成する情報と前記遠隔管理認証情報とを比較して前記管理装置が正当な管理装置か否かを判定する認証手段と、を具備し、前記管理装置は、前記パスワードを記憶する記憶手段と、前記遠隔管理開始要求を前記IPネットワークを介して前記IP電話装置に送信する送信手段と、前記遠隔管理開始要求を送信した後、前記IP電話装置から返送される前記応答情報を受信する受信手段と、前記応答情報と前記パスワードに基づいて前記遠隔管理認証情報を生成する認証情報生成手段と、を具備し、前記送信手段は、前記遠隔管理認証情報を前記IPネットワークを介して前記IP電話装置に送信する構成を採る。
この構成によれば、ハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
本発明の第2の態様は、第1の態様に係るIP電話システムにおいて、前記IP電話装置において、前記受信手段は、前記管理装置から前記IPネットワークを介して送信される遠隔管理終了要求を受信し、前記応答情報生成手段は、前記遠隔管理終了要求を受信したとき、該遠隔管理終了要求に応答する応答情報を生成し、前記送信手段は、前記応答情報を前記IPネットワークを介して前記管理装置に送信し、前記認証手段は、前記応答情報を送信した後、前記受信手段が前記管理装置から遠隔管理認証情報を受信したとき、前記パスワードと前記応答情報に基づいて生成する情報と遠隔管理認証情報とを比較して前記管理装置が正当な管理装置か否かを判定し、前記管理装置において、前記送信手段は、前記遠隔管理終了要求を前記IPネットワークを介して前記IP電話装置に送信し、前記受信手段は、前記遠隔管理終了要求を送信した後、前記IP電話装置から返送される前記応答情報を受信し、前記認証情報生成手段は、前記応答情報と前記パスワードに基づいて前記遠隔管理認証情報を生成し、前記送信手段は、前記遠隔管理認証情報を前記IPネットワークを介して前記IP電話装置に送信する構成を採る。
この構成によれば、ハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
本発明の第3の態様は、第1又は第2の態様に係るIP電話システムにおいて、前記IP電話装置において、前記応答情報生成手段は、前記応答情報に乱数を設定し、前記管理装置において、前記認証情報生成手段は、前記乱数と前記パスワードに基づいて非可逆な前記遠隔管理認証情報を生成する構成を採る。
この構成によれば、遠隔管理認証処理に際して管理装置とIP電話装置の間でパスワードも送受信されないため、第3者が遠隔管理認証情報を作成することは困難であり、遠隔管理サービスのセキュリティを容易に確保することができる。
本発明の第4の態様は、第1又は第2の態様に係るIP電話システムにおいて、前記IP電話装置において、前記送信手段は、前記応答情報をSIPコマンドを用いて前記IPネットワークを介して前記管理装置に送信し、前記管理装置において、前記送信手段は、前記遠隔管理開始要求及び前記遠隔管理終了要求をSIPコマンドを用いて前記IPネットワークを介して前記IP電話装置に送信する構成を採る。
この構成によれば、SIPコマンドに設定する遠隔管理用情報の追加は最低限に留めることができ、認証処理プログラムの追加も容易であるため、運用中のIP電話システムに対しても遠隔管理サービスを容易に提供することができる。
本発明の第5の態様は、第1又は第2の態様に係るIP電話システムにおいて、前記IP電話装置において、前記応答情報生成手段は、前記管理装置からの前記遠隔管理認証情報を受け付けるポート情報を前記応答情報に付加し、前記管理装置において、前記送信手段は、前記ポート情報に対応するコマンドとして前記遠隔管理認証情報を送信する構成を採る。
この構成によれば、IP電話装置に適用されるプロトコルに応じた遠隔管理認証情報の送信処理を実行することができる。
本発明の第6の態様に係るIP電話管理方法は、IPネットワークに接続されるIP電話装置と、前記IPネットワークを介して前記IP電話装置を遠隔管理する管理装置と、を具備するIP電話システムにおけるIP電話管理方法であって、前記IP電話装置は、パスワードを記憶する記憶ステップと、前記管理装置から前記IPネットワークを介して送信される遠隔管理開始要求を受信する受信ステップと、前記遠隔管理開始要求を受信したとき、該遠隔管理開始要求に応答する応答情報を生成する応答情報生成ステップと、前記応答情報を前記IPネットワークを介して前記管理装置に送信する送信ステップと、前記応答情報を送信した後、前記管理装置から遠隔管理認証情報を受信したとき、前記パスワードと前記応答情報に基づいて生成する情報と前記遠隔管理認証情報とを比較して前記管理装置が正当な管理装置か否かを判定する認証ステップと、を含み、前記管理装置は、前記パスワードを記憶する記憶ステップと、前記遠隔管理開始要求を前記IPネットワークを介して前記IP電話装置に送信する送信ステップと、前記遠隔管理開始要求を送信した後、前記IP電話装置から返送される前記応答情報を受信する受信ステップと、前記応答情報と前記パスワードに基づいて前記遠隔管理認証情報を生成する認証情報生成ステップと、前記遠隔管理認証情報を前記IPネットワークを介して前記IP電話装置に送信する送信ステップと、を含む方法を採る。
この方法によれば、ハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
本発明の第7の態様は、第6の態様に係るIP電話管理方法において、前記IP電話装置において、前記管理装置から前記IPネットワークを介して送信される遠隔管理終了要求を受信する受信ステップと、前記遠隔管理終了要求を受信したとき、該遠隔管理終了要求に応答する応答情報を生成する遠隔管理終了応答情報生成ステップと、前記遠隔管理終了応答情報を前記IPネットワークを介して前記管理装置に送信する送信ステップと、前記遠隔管理終了応答情報を送信した後、前記受信手段が前記管理装置から遠隔管理認証情報を受信したとき、前記パスワードと前記応答情報に基づいて生成する情報と前記遠隔管理認証情報とを比較して前記管理装置が正当な管理装置か否かを判定する認証ステップと、を含み、前記管理装置において、前記遠隔管理終了要求を前記IPネットワークを介して前記IP電話装置に送信する送信ステップと、前記遠隔管理終了要求を送信した後、前記IP電話装置から返送される前記応答情報を受信する受信ステップと、前記応答情報と前記パスワードに基づいて前記遠隔管理認証情報を生成する認証情報生成ステップと、前記遠隔管理認証情報を前記IPネットワークを介して前記IP電話装置に送信する送信ステップと、を含む方法を採る。
この方法によれば、ハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
本発明の第8の態様に係るIP電話装置は、パスワードを記憶する記憶手段と、IPネットワークを介して接続される管理装置から遠隔管理開始要求を受信する受信手段と、前記遠隔管理開始要求を受信したとき、該遠隔管理開始要求に応答する応答情報を生成する応答情報生成手段と、前記応答情報を前記IPネットワークを介して前記管理装置に送信する送信手段と、前記応答情報を送信した後、前記受信手段が前記管理装置から遠隔管理認証情報を受信したとき、前記パスワードと前記応答情報に基づいて生成する情報と前記遠隔管理認証情報とを比較して前記管理装置が正当な管理装置か否かを判定する認証手段と、を具備する構成を採る。
この構成によれば、IP電話装置にハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
本発明の第9の態様に係る管理装置は、パスワードを記憶する記憶手段と、IPネットワークを介して接続されるIP電話装置に遠隔管理開始要求を送信する送信手段と、前記遠隔管理開始要求を送信した後、前記IP電話装置から返送される前記応答情報を受信する受信手段と、前記応答情報と前記パスワードに基づいて遠隔管理認証情報を生成する認証情報生成手段と、を具備し、前記送信手段は、前記遠隔管理認証情報を前記IPネットワークを介して前記IP電話装置に送信する構成を採る。
この構成によれば、管理装置にハードウェアを追加することなくプログラムを追加するだけで、IP電話装置のIPアドレスが変更された場合でも、管理装置からIP電話装置を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
(実施の形態1)
以下、本発明の実施の形態1について図面を参照して詳細に説明する。
図1は、本実施の形態1のIP電話システムの全体構成を示す図である。図1において、IP電話システム100は、IP電話装置(以下、IP電話という)101、管理装置102及びコールエージェント(以下、CAという)103がIPネットワーク104を介して相互に接続されている。なお、同図の構成に限らず複数のIP電話を接続してIP電話システムを構成してもよい。
IP電話101は、IPネットワーク104を介して他のIP電話との間で音声通話が可能な機能を有するとともに、IPネットワーク104を介して管理装置102から機能設定の変更が可能な機能を有している。
管理装置102は、IPネットワーク104を介してIP電話101内の機能を遠隔管理する機能を有している。
CA103は、IPネットワーク104に接続されたIP電話101と管理装置102との間の呼接続を制御する。CA103は、着信を受けた管理装置102からの呼接続要求に応じて、着呼先のIP電話101との間で呼接続制御を実行する。
図2は、本実施の形態1のIP電話101の構成を示すブロック図である。図2において、IP電話101は、CPU201、メモリ202、ハンドセット203、表示装置204、ネットワーク・インターフェース(以下、ネットワークI/Fという)205及び不揮発性メモリ206により主に構成されている。
CPU(Central Processing Unit )201は、メモリ202に記憶された音声通話制御プログラムに基づいてIPネットワーク104を介して他のIP電話と音声通話を行う際に必要となる全ての動作を制御する。従って、CPU201は、SIP(Session Initiation Protocol )やH.323に代表される呼制御プロトコルに従って、宛先端末との間の呼制御を実行する。また、CPU201は、表示装置204やネットワークI/F205に必要な指示を与える。
また、CPU201は、管理装置102から送信される遠隔管理開始要求が設定されたINVITEメッセージの受信処理、その遠隔管理開始要求に応答する応答情報の生成処理、その応答情報の管理装置102への送信処理、その応答情報の送信に応じて管理装置102から返送される遠隔管理認証情報の受信処理、及びその遠隔管理認証情報のパスワードを用いた認証処理等を実行する。
また、CPU201は、管理装置102から送信される遠隔管理終了要求が設定されたINVITEメッセージの受信処理、その遠隔管理終了要求に応答する応答情報の生成処理、その応答情報の管理装置102への送信処理、その応答情報の送信に応じて管理装置102から返送される遠隔管理認証情報の受信処理、及びその遠隔管理認証情報の後述するパスワードを用いた認証処理等を実行する。なお、CPU201は、応答情報生成手段及び認証手段として機能する。
メモリ202は、CPU201が実行する音声通話制御プログラム等を記憶するROM(Read Only Memory)としての機能と、CPU201がプログラムを実行する際のワークメモリとして利用されるRAM(Random Access Memory)としての機能を有する。
ハンドセット203は、ユーザによるオフフック操作又はオンフック操作に応じてオフフック信号又はオンフック信号をCPU201に出力する。また、ハンドセット203は、マイクとスピーカを備え、宛先端末との間の通話開始時にユーザの送話音声をマイクにより送話音声信号に変換してCPU201に出力するとともに、CPU201から入力される受話音声信号をスピーカにより受話音声として出力する。
表示装置204は、液晶パネル等により構成され、IP電話101の現在のステータスを表示するとともに、CPU201から入力された電話番号等を表示する。
ネットワークI/F205は、IP電話101が接続されるIPネットワーク104とのインターフェースである。また、ネットワークI/F205は、CPU201の制御により上記遠隔管理開始要求、遠隔管理終了要求及び遠隔管理認証情報の受信処理、及び上記応答情報の送信処理を実行する。なお、ネットワークI/F205は、送信手段及び受信手段として機能する。
不揮発性メモリ206は、上記遠隔管理認証情報の認証処理を実行する際に用いられるパスワードを記憶する。なお、不揮発性メモリ206は、記憶手段として機能する。
図3は、本実施の形態の管理装置102の構成を示すブロック図である。図3において、管理装置102は、CPU301、メモリ302、不揮発性メモリ303、入出力装置304及びネットワークI/F305により主に構成されている。
CPU301は、メモリ302に記憶された遠隔管理制御プログラムに基づいて、遠隔管理開始要求のIP電話101への送信処理、その遠隔管理開始要求の送信に応じてIP電話101から返送される応答情報の受信処理、その応答情報と後述するパスワードを用いた遠隔管理認証情報の生成処理及びその遠隔管理認証情報のIP電話101への送信処理等を実行する。
また、CPU301は、メモリ302に記憶された遠隔管理制御プログラムに基づいて、遠隔管理終了要求のIP電話101への送信処理、その遠隔管理終了要求の送信に応じてIP電話101から返送される応答情報の受信処理、その応答情報と後述するパスワードを用いた遠隔管理認証情報の生成処理及びその遠隔管理認証情報のIP電話101への送信処理等を実行する。なお、CPU301は、認証情報生成手段として機能する。
メモリ302は、CPU301が実行する遠隔管理制御プログラム等を記憶するROMとしての機能と、CPU301がプログラムを実行する際のワークメモリとして利用されるRAMとしての機能を有する。
不揮発性メモリ303は、上記遠隔管理認証情報の生成処理を実行する際に用いられるパスワードを記憶する。なお、不揮発性メモリ303は、記憶手段として機能する。
入出力装置304は、管理装置102をメンテナンスする際に使用するキーボード等の入力デバイスと、メンテナンス情報を表示する表示装置等の出力デバイスとから構成される。
ネットワークI/F305は、管理装置102が接続されるIPネットワーク104とのインターフェースである。また、ネットワークI/F305は、CPU301の制御により上記遠隔管理開始要求、遠隔管理終了要求及び遠隔管理認証情報の送信処理、及び上記応答情報の受信処理を実行する。なお、ネットワークI/F305は、送信手段及び受信手段として機能する。
次に、図1のIP電話システム100において、管理装置102がIP電話101に対して遠隔管理を開始するまでの動作について、図4に示すシーケンス図を参照して説明する。
なお、図4の動作を説明する前提として、IP電話101の不揮発性メモリ206と、管理装置102の不揮発性メモリ303には、同一のパスワードが予め記憶されているものとする。
管理装置102内のCPU301は、IP電話101の遠隔管理を開始するため、図中に示す(−P‐remote‐ctrl‐req:192.168.0.1)とIP電話101のSIP電話番号(図示せず)を設定したINVITEメッセージを含む発呼を、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS401)。この場合、「−P‐remote‐ctrl‐req」は遠隔管理開始要求を示し、「192.168.0.1」は管理装置102のIPアドレスを示す。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを含む発呼を受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS402)。
IP電話101内のCPU201は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを受け付けると、「−P‐remote‐ctrl‐req」と「192.168.0.1」により管理装置102からの遠隔管理開始要求であることを認識する。
次いで、CPU201は、遠隔管理開始要求に応答する応答情報として乱数(以下、チャレンジという)を生成し、このチャレンジと、自装置の遠隔管理情報を受け付けるポート情報と、自装置のIPアドレスとを設定した応答メッセージを生成する。図中に応答メッセージの具体例(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)を示す。この場合、「−P‐remote‐ctrl‐challenge」は、上記遠隔管理開始要求「−P‐remote‐ctrl‐req」に応答する応答メッセージ、「192.168.1.10」はIP電話101のIPアドレス、「80」はHTTPプロトコルを示すポート番号、「01234」はチャレンジ(乱数)である。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージをIPネットワーク104を介してCA103に送出する(ステップS403)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを管理装置102に送出する(ステップS404)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「01234」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「01234」を用いてハッシュ文字列を生成する。図中の「zzzzzzzz」は生成されたハッシュ文字列の例を示す。
そして、管理装置102内のCPU301は、ハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」を生成し、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS405)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージをIP電話101に送出する(ステップS406)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」からハッシュ文字列「zzzzzzzz」を抽出する。
そして、CPU201は、上記チャレンジ「01234」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し、この生成したハッシュ文字列と抽出したハッシュ文字列「zzzzzzzz」とを比較して、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定情報を受け付ける処理に移行する。また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理開始要求を拒否する。
管理装置102は、IP電話101に対して遠隔設定を開始すると、IP電話101のメモリ202に格納されたプログラムのバージョンアップ、機能設定の変更、IP電話101の状態監視等を行う。
次に、図4に示したIP電話101、管理装置102及びCA103の各動作について、図5に示すフローチャートを参照して説明する。
管理装置102内のCPU301は、IP電話101の遠隔管理を開始するため、図中に示す(−P‐remote‐ctrl‐req:192.168.0.1)とIP電話101のSIP電話番号(図示せず)を設定したINVITEメッセージを含む発呼を、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS501)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを含む発呼を受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS502)。
IP電話101は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを受け付けると、CPU201は、「−P‐remote‐ctrl‐req」と「192.168.0.1」により管理装置102からの遠隔管理開始要求であることを認識する(ステップS503)。
次いで、CPU201は、遠隔管理開始要求に応答する応答情報としてチャレンジを生成し、このチャレンジと、自装置の遠隔管理情報を受け付けるポート情報と、自装置のIPアドレスとを設定した応答メッセージを生成する(ステップS504)。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージをIPネットワーク104を介してCA103に送出する(ステップS505)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを管理装置102に送出する(ステップS506)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「01234」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「01234」を用いてハッシュ文字列を生成し、このハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」を生成する(ステップS507)。そして、管理装置102内のCPU301は、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS508)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージをIP電話101に送出する(ステップS509)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」からハッシュ文字列「zzzzzzzz」を抽出する。
そして、CPU201は、上記チャレンジ「01234」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成する(ステップS510)。この生成したハッシュ文字列と抽出したハッシュ文字列「zzzzzzzz」とを比較して(ステップS511)、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。
CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば(ステップS511:一致)、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定情報を受け付ける処理に移行する(ステップS512)。また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ(ステップS511:不一致)、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理開始要求を拒否する(ステップS513)。
管理装置102は、IP電話101に対して遠隔設定を開始すると(ステップS512)、IP電話101のメモリ202に格納されたプログラムのバージョンアップ、機能設定の変更、IP電話101の状態監視等を行う。
次に、図4で開始した遠隔管理を終了する際の動作について、図6に示すシーケンス図を参照して説明する。なお、図6の動作を説明する前提として、IP電話101の不揮発性メモリ206と、管理装置102の不揮発性メモリ303には、同一のパスワードが予め記憶されているものとする。
管理装置102内のCPU301は、IP電話101の遠隔管理を終了するため、図中に示す(−P‐remote‐ctrl‐close:192.168.0.1)とIP電話101のSIP電話番号(図示せず)を設定したINVITEメッセージを、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS601)。この場合、「−P‐remote‐ctrl‐close」は遠隔管理終了要求を示し、「192.168.0.1」は管理装置102のIPアドレスを示す。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS602)。
IP電話101は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを受け付けると、CPU201は、「−P‐remote‐ctrl‐close」と「192.168.0.1」により、図4で開始した遠隔管理装置102からの遠隔管理終了要求であることを認識する。
次いで、CPU201は、遠隔管理終了要求に応答する応答情報としてチャレンジを生成し、このチャレンジと、自装置の遠隔管理認証情報を受け付けるポート番号と、自装置のIPアドレスとを設定した応答メッセージを生成する。図中に応答メッセージの具体例(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)を示す。この場合、「−P‐remote‐ctrl‐challenge」は、上記遠隔管理終了要求「−P‐remote‐ctrl‐req」に応答する応答メッセージ、「192.168.1.10」はIP電話101のIPアドレス、「80」はHTTPプロトコルを示すポート番号、「12345」はチャレンジである。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージをIPネットワーク104を介してCA103に送出する(ステップS603)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを管理装置102に送出する(ステップS604)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「12345」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「12345」を用いてハッシュ文字列を生成する。図中の「yyyyyyyy」は生成されたハッシュ文字列の例を示す。
そして、管理装置102内のCPU301は、ハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」を生成し、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS605)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージをIP電話101に送出する(ステップS606)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」からハッシュ文字列「yyyyyyyy」を抽出する。
そして、CPU201は、上記チャレンジ「12345」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し、この生成したハッシュ文字列と抽出したハッシュ文字列「yyyyyyyy」とを比較して、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定を終了する処理に移行する。また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理終了要求を拒否する。
次に、図6に示したIP電話101、管理装置102及びCA103の各動作について、図7に示すフローチャートを参照して説明する。
管理装置102内のCPU301は、IP電話101の遠隔管理を終了するため、図中に示す(−P‐remote‐ctrl‐close:192.168.0.1)とIP電話101のSIP電話番号(図示せず)を設定したINVITEメッセージを、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS701)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS702)。
IP電話101は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを受け付けると、CPU201は、「−P‐remote‐ctrl‐close」と「192.168.0.1」により、図4で開始した遠隔管理装置102からの遠隔管理終了要求であることを認識する(ステップS703)。
次いで、CPU201は、遠隔管理終了要求に応答する応答情報としてチャレンジを生成し、このチャレンジと、自装置の遠隔管理認証情報を受け付けるポート番号と、自装置のIPアドレスとを設定した応答メッセージを生成する(ステップS704)。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージをIPネットワーク104を介してCA103に送出する(ステップS705)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを管理装置102に送出する(ステップS706)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「12345」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「12345」を用いてハッシュ文字列を生成し、このハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」を生成する(ステップS707)。管理装置102内のCPU301は、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS708)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージをIP電話101に送出する(ステップS709)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」からハッシュ文字列「yyyyyyyy」を抽出する。
そして、CPU201は、上記チャレンジ「12345」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し(ステップS710)、この生成したハッシュ文字列と抽出したハッシュ文字列「yyyyyyyy」とを比較して(ステップS711)、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば(ステップS711:一致)、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定を終了する処理に移行する(ステップS712)。
また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ(ステップS711:不一致)、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理終了要求を拒否する(ステップS713)。
以上のように、本実施の形態1のIP電話システム100では、管理装置102とIP電話101が同一のパスワードを予め記憶し、管理装置102が遠隔管理開始要求を設定したINVITEメッセージをIP電話101に送出すると、IP電話101がチャレンジとポート番号を設定した応答メッセージを管理装置102に返送する。そして、管理装置102は、IP電話101から応答メッセージを受け付けると、IP電話101のポート番号を認識するとともに、パスワードとチャレンジを用いてハッシュ文字列を生成し、このハッシュ文字列を設定した遠隔管理認証情報を生成してポート番号に対応するコマンドでIP電話101に返送する。
そして、IP電話101は、管理装置102からハッシュ文字列を設定した遠隔管理認証情報を受け付けると、そのハッシュ文字列を抽出し、パスワードとチャレンジを用いて生成したハッシュ文字列と抽出したハッシュ文字列と比較して管理装置102が正規の管理装置102か否かを判別する認証処理を実行して、管理装置102からの遠隔設定を受け付ける。
また、本実施の形態1のIP電話システム100では、遠隔管理終了に際しても遠隔管理開始時と同様の処理を実行する。
したがって、従来のようにハードウェアを追加することなくプログラムを追加するだけで、IP電話のIPアドレスが変更された場合でも、管理装置からIP電話を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
また、管理装置とIP電話の間の遠隔管理開始要求時及び遠隔管理終了要求時の手順は、SIPコマンドを用いて実行できるため、SIPコマンドに設定する遠隔管理用情報の追加は最低限に留めることができ、認証処理プログラムもの追加も容易であるため、運用中のIP電話システムに対しても遠隔管理サービスを容易に提供することができる。
また、遠隔管理認証情報に用いたハッシュ文字列は非可逆なものであり、遠隔管理認証処理に際して管理装置とIP電話の間でパスワードも送受信されないため、第3者が遠隔管理認証情報を作成することは困難であり、遠隔管理サービスのセキュリティを容易に確保することができる。
また、管理装置102は、IP電話101から返送される応答メッセージに設定されたポート番号に対応したコマンドで遠隔管理認証情報を送信するため、IP電話101に適用されるプロトコルに応じた遠隔管理認証情報の送信処理を実行することができる。
その結果、IP電話システムの管理者側とユーザ側の双方に対して、低コストで使い勝手が良く、かつセキュリティの確保も容易な遠隔管理サービスを提供することができる。
(実施の形態2)
本実施の形態2は、IP電話とIPネットワークの間にNATルータを接続したIP電話システムにおいて、管理装置がIP電話の遠隔管理を行う場合について説明する。
図8は、本実施の形態2のIP電話システムの全体構成を示す図である。図8において、IP電話システム800は、IP電話101、管理装置102、CA103及びNATルータ801がIPネットワーク104を介して相互に接続されている。なお、このIP電話システム800において、IP電話101、管理装置102及びCA103は、実施の形態1の図1に示したものと同様であるため同一符号を付している。また、IP電話101及び管理装置102の各内部構成も、図2及び図3に示したものと同様であるため、その図示及び構成説明を省略する。
但し、IP電話101内のCPU201は、上記実施の形態1において説明した機能に加えて、管理装置102から送信される遠隔管理開始要求を認識した際に、NATルータ801にグローバルIPアドレスとポート番号の取得要求を送信する送信処理と、管理装置102から送信される遠隔管理終了要求を認識した際に、NATルータ801にポート閉鎖要求を送信する送信処理と、を制御する機能を有する。
NATルータ801は、IP電話101から送信されるグローバルIPアドレスとポート番号の取得要求に応じて、グローバルIPアドレスとポート番号をIP電話101に通知する。また、NATルータ801は、IP電話101から送信されるポート閉鎖要求に応じて、取得要求により通知したポート番号を閉鎖し、IP電話101にポート閉鎖を通知する。
次に、図8のIP電話システム800において、管理装置102がIP電話101に対して遠隔管理を開始するまでの動作について、図9に示すシーケンス図を参照して説明する。
なお、図9の動作を説明する前提として、IP電話101の不揮発性メモリ206と、管理装置102の不揮発性メモリ303には、同一のパスワードが予め記憶されているものとする。
管理装置102内のCPU301は、IP電話101の遠隔管理を開始するため、遠隔管理開始要求及び自装置のIPアドレスを示す「−P‐remote‐ctrl‐req:192.168.0.1」とIP電話101のSIP電話番号を設定したINVITEメッセージを含む発呼を、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS901)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを含む発呼を受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS902)。
IP電話101内のCPU201は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを受け付けると、「−P‐remote‐ctrl‐req」と「192.168.0.1」により管理装置102からの遠隔管理開始要求であることを認識する。
次いで、CPU201は、遠隔管理情報を受け付ける際に必要となるグローバルIPアドレスとポート番号をNATルータ801から取得するため、「グローバルIPとポート取得要求」メッセージをNATルータ801に送出する(ステップS903)。NATルータ801は、IP電話101から「グローバルIPとポート取得要求」メッセージを受け付けると、使用可能なグローバルIPアドレス(例えば、「192.168.1.10」)とポート番号(例えば、「80」)を決定し、そのグローバルIPアドレスとポート番号を含む「グローバルIPとポート通知」メッセージをIP電話101に返送する(ステップS904)。
次に、IP電話101内のCPU201は、NATルータ801から「グローバルIPとポート通知」メッセージを受け付けると、そのメッセージからグローバルIPアドレス「192.168.1.10」とポート番号「80」を抽出する。
次いで、CPU201は、遠隔管理開始要求に応答する応答情報としてチャレンジ(例えば、「01234」)を生成し、このチャレンジと、抽出したポート番号「80」とグローバルIPアドレス「192.168.1.10」とを設定した応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを生成する。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージをIPネットワーク104を介してCA103に送出する(ステップS905)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを管理装置102に送出する(ステップS906)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「01234」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「01234」を用いてハッシュ文字列(例えば、「zzzzzzzz」)を生成する。
そして、管理装置102内のCPU301は、ハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」を生成し、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS907)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージをIP電話101に送出する(ステップS908)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」からハッシュ文字列「zzzzzzzz」を抽出する。
そして、CPU201は、上記チャレンジ「01234」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し、この生成したハッシュ文字列と抽出したハッシュ文字列「zzzzzzzz」とを比較して、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定情報を受け付ける処理に移行する。また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理開始要求を拒否する。
管理装置102は、IP電話101に対して遠隔設定を開始すると、IP電話101のメモリ202に格納されたプログラムのバージョンアップ、機能設定の変更、IP電話101の状態監視等を行う。
次に、図9に示したIP電話101、管理装置102、CA103及びNATルータ801の各動作について、図10及び図11に示すフローチャートを参照して説明する。
管理装置102内のCPU301は、IP電話101の遠隔管理を開始するため、遠隔管理開始要求及び自装置のIPアドレスを示す「−P‐remote‐ctrl‐req:192.168.0.1」とIP電話101のSIP電話番号(図示せず)を設定したINVITEメッセージを含む発呼を、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS1001)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを含む発呼を受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS1002)。
IP電話101内のCPU201は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐req:192.168.0.1)メッセージを受け付けると、「−P‐remote‐ctrl‐req」と「192.168.0.1」により管理装置102からの遠隔管理開始要求であることを認識する(ステップS1003)。
次いで、CPU201は、遠隔管理情報を受け付ける際に必要となるグローバルIPアドレスとポート番号をNATルータ801から取得するため、「グローバルIPとポート取得要求」メッセージをNATルータ801に送出する(ステップS1004)。NATルータ801は、IP電話101から「グローバルIPとポート取得要求」メッセージを受け付けると、使用可能なグローバルIPアドレス(例えば、「192.168.1.10」)とポート番号(例えば、「80」)を決定し、そのグローバルIPアドレスとポート番号を含む「グローバルIPとポート通知」メッセージをIP電話101に返送する(ステップS1005)。
次に、IP電話101内のCPU201は、NATルータ801から「グローバルIPとポート通知」メッセージを受け付けると、そのメッセージからグローバルIPアドレス「192.168.1.10」とポート番号「80」を抽出する。
次いで、CPU201は、遠隔管理開始要求に応答する応答情報としてチャレンジ(例えば、「01234」)を生成し、このチャレンジと、抽出したポート番号「80」とグローバルIPアドレス「192.168.1.10」とを設定した応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを生成する(ステップS1006)。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージをIPネットワーク104を介してCA103に送出する(ステップS1007)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを管理装置102に送出する(ステップS1008)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,01234)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「01234」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「01234」を用いてハッシュ文字列(例えば、「zzzzzzzz」)を生成する(ステップS1009)。
そして、管理装置102内のCPU301は、ハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」を生成し、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS1010)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージをIP電話101に送出する(ステップS1011)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:zzzzzzzz)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:zzzzzzzz」からハッシュ文字列「zzzzzzzz」を抽出する。
そして、CPU201は、上記チャレンジ「01234」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し(ステップS1012)、この生成したハッシュ文字列と抽出したハッシュ文字列「zzzzzzzz」とを比較して(ステップS1013)、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば(ステップS1013:一致)、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定情報を受け付ける処理に移行する(ステップS1014)。
また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ(ステップS1013:不一致)、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理開始要求を拒否する(ステップS1015)。
その後、管理装置102は、IP電話101に対して遠隔設定を開始すると、IP電話101のメモリ202に格納されたプログラムのバージョンアップ、機能設定の変更、IP電話101の状態監視等を行う。
次に、図9で開始した遠隔管理を終了する際の動作について、図12に示すシーケンス図を参照して説明する。なお、図12の動作を説明する前提として、IP電話101の不揮発性メモリ206と、管理装置102の不揮発性メモリ303には、同一のパスワードが予め記憶されているものとする。
管理装置102内のCPU301は、IP電話101の遠隔管理を終了するため、遠隔管理終了要求及び自装置のIPアドレスを示す「−P‐remote‐ctrl‐close:192.168.0.1」とIP電話101のSIP電話番号を設定したINVITEメッセージを、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS1201)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS1202)。
IP電話101は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを受け付けると、CPU201は、「−P‐remote‐ctrl‐close」と「192.168.0.1」により、図9で開始した遠隔管理装置102からの遠隔管理終了要求であることを認識する。
次いで、CPU201は、遠隔管理終了要求に応答する応答情報としてチャレンジを生成し、このチャレンジ(例えば、「12345」)と、自装置の遠隔管理認証情報を受け付けるポート番号(例えば、「80」)と、自装置のIPアドレスとを設定した応答(−P‐remote‐challenge:192.168.1.10:80,12345)メッセージを生成する。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージをIPネットワーク104を介してCA103に送出する(ステップS1203)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを管理装置102に送出する(ステップS1204)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「12345」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「12345」を用いてハッシュ文字列(例えば「yyyyyyyy」)を生成する。
そして、管理装置102内のCPU301は、ハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」を生成し、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS1205)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージをIP電話101に送出する(ステップS1206)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」からハッシュ文字列「yyyyyyyy」を抽出する。
そして、CPU201は、上記チャレンジ「12345」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し、この生成したハッシュ文字列と抽出したハッシュ文字列「yyyyyyyy」とを比較して、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定を終了する処理に移行する。また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理終了要求を拒否する。
次に、IP電話101内のCPU201は、図9の遠隔管理開始シーケンスにおいて、NATルータ801から取得したポート番号「80」を閉鎖するため、そのポート番号「80」を含むポート閉鎖要求メッセージをNATルータ801に送出する(ステップS1207)。NATルータ801は、IP電話101からポート閉鎖要求メッセージを受け付けると、そのポート閉鎖要求メッセージに含まれるポート番号「80」を認識してポート閉鎖処理を実行し、ポート閉鎖通知メッセージをIP電話101に返送する(ステップS1208)。
次に、図12に示したIP電話101、管理装置102、CA103及びNATルータ801の各動作について、図13及び図14に示すフローチャートを参照して説明する。
管理装置102内のCPU301は、IP電話101の遠隔管理を終了するため、遠隔管理終了要求及び自装置のIPアドレスを示す「−P‐remote‐ctrl‐close:192.168.0.1」とIP電話101のSIP電話番号を設定したINVITEメッセージを、ネットワークI/F305からIPネットワーク104を介してCA103に送出する(ステップS1301)。
CA103は、IPネットワーク104を介して管理装置102からINVITEメッセージを受け付けると、このINVITEメッセージに含まれるToヘッダから着呼側であるIP電話101のSIP電話番号を認識し、INVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを着呼先のIP電話101に送出する(ステップS1302)。
IP電話101は、CA103からIPネットワーク104を介してネットワークI/F205によりINVITE(−P‐remote‐ctrl‐close:192.168.0.1)メッセージを受け付けると、CPU201は、「−P‐remote‐ctrl‐close」と「192.168.0.1」により、図9で開始した遠隔管理装置102からの遠隔管理終了要求であることを認識する(ステップS1303)。
次いで、CPU201は、遠隔管理終了要求に応答する応答情報としてチャレンジを生成し、このチャレンジ(例えば、「12345」)と、自装置の遠隔管理認証情報を受け付けるポート番号(例えば、「80」)と、自装置のIPアドレスとを設定した応答(−P‐remote‐challenge:192.168.1.10:80,12345)メッセージを生成する(ステップS1304)。
そして、IP電話101は、応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージをIPネットワーク104を介してCA103に送出する(ステップS1305)。
次に、CA103は、IP電話101から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、その応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを管理装置102に送出する(ステップS1306)。
次に、管理装置102内のCPU301は、CA103から応答(−P‐remote‐ctrl‐challenge:192.168.1.10:80,12345)メッセージを受け付けると、IP電話101のポート番号「80(HTTPプロトコル)」と、チャレンジ「12345」を認識し、不揮発性メモリ303に記憶されたパスワードとチャレンジ「12345」を用いてハッシュ文字列(例えば「yyyyyyyy」)を生成し、そのハッシュ文字列を設定した遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」を生成する(ステップS1307)。そして、管理装置102内のCPU301は、この遠隔管理認証情報を設定したHTTPプロトコルのACKメッセージをCA103に送出する(ステップS1308)。
次に、CA103は、管理装置102からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、そのACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージをIP電話101に送出する(ステップS1309)。
次に、IP電話101は、CA103からACK(−P‐remote‐ctrl‐auth:yyyyyyyy)メッセージを受け付けると、CPU201は、遠隔管理認証情報「−P‐remote‐ctrl‐auth:yyyyyyyy」からハッシュ文字列「yyyyyyyy」を抽出する。
そして、CPU201は、上記チャレンジ「12345」と不揮発性メモリ206に記憶されたパスワードとを用いてハッシュ文字列を生成し(ステップS1310)、この生成したハッシュ文字列と抽出したハッシュ文字列「yyyyyyyy」とを比較して(ステップS1311)、管理装置102が正規な管理装置か否かを判別する認証処理を実行する。CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一であれば(ステップS1311:一致)、管理装置102が正規な管理装置であると判別し、管理装置102からの遠隔設定を終了する処理に移行する(ステップS1312)。
また、CPU201は、生成したハッシュ文字列と抽出したハッシュ文字列が同一でなければ(ステップS1311:不一致)、管理装置102が正規な管理装置でないと判別し、管理装置102からの遠隔管理終了要求を拒否する(ステップS1315)。
次に、IP電話101内のCPU201は、図9の遠隔管理開始シーケンスにおいて、NATルータ801から取得したポート番号「80」を閉鎖するため、そのポート番号「80」を含むポート閉鎖要求メッセージをNATルータ801に送出する(ステップS1313)。NATルータ801は、IP電話101からポート閉鎖要求メッセージを受け付けると、そのポート閉鎖要求メッセージに含まれるポート番号「80」を認識してポート閉鎖処理を実行し、ポート閉鎖通知メッセージをIP電話101に返送する(ステップS1314)。
以上のように、本実施の形態2のIP電話システム800では、管理装置102とIP電話101が同一のパスワードを予め記憶し、管理装置102が遠隔管理開始要求を設定したINVITEメッセージをIP電話101に送出すると、IP電話101がチャレンジとポート番号を設定した応答メッセージを管理装置102に返送する。そして、管理装置102は、IP電話101から応答メッセージを受け付けると、IP電話101のポート番号を認識するとともに、パスワードとチャレンジを用いてハッシュ文字列を生成し、このハッシュ文字列を設定した遠隔管理認証情報を生成してポート番号に対応するコマンドでIP電話101に返送する。
そして、IP電話101は、管理装置102からハッシュ文字列を設定した遠隔管理認証情報を受け付けると、そのハッシュ文字列を抽出し、パスワードとチャレンジを用いて生成したハッシュ文字列と抽出したハッシュ文字列と比較して管理装置102が正規の管理装置102か否かを判別する認証処理を実行して、管理装置102からの遠隔設定を受け付ける。
また、本実施の形態2のIP電話システム800では、遠隔管理終了に際しても遠隔管理開始時と同様の処理を実行する。また、本実施の形態2のIP電話システム800では、IP電話101が、遠隔管理開始時及び遠隔管理終了時に、NATルータ801に対してグローバルIPアドレス及びポート番号の取得要求と、ポート閉鎖要求処理を自動的に実行するようにしたため、NATルータ801に対する設定が不要になり、設定の手間を削減することができる。
したがって、従来のようにハードウェアを追加することなくプログラムを追加するだけで、IP電話のIPアドレスが変更された場合でも、管理装置からIP電話を遠隔管理することが可能な遠隔管理サービスを提供することができ、そのサービスコストも低減することができる。
また、管理装置とIP電話の間の遠隔管理開始要求時及び遠隔管理終了要求時の手順は、SIPコマンドを用いて実行できるため、SIPコマンドに設定する遠隔管理用情報の追加は最低限に留めることができ、認証処理プログラムもの追加も容易であるため、運用中のIP電話システムに対しても遠隔管理サービスを容易に提供することができる。
また、遠隔管理認証情報に用いたハッシュ文字列は非可逆なものであり、遠隔管理認証処理に際して管理装置とIP電話の間でパスワードも送受信されないため、第3者が遠隔管理認証情報を作成することは困難であり、遠隔管理サービスのセキュリティを容易に確保することができる。
また、管理装置102は、IP電話101から返送される応答メッセージに設定されたポート番号に対応したコマンドで遠隔管理認証情報を送信するため、IP電話101に適用されるプロトコルに応じた遠隔管理認証情報の送信処理を実行することができる。
その結果、IP電話システムの管理者側とユーザ側の双方に対して、低コストで使い勝手が良く、かつセキュリティの確保も容易な遠隔管理サービスを提供することができる。
なお、上記各実施の形態では、遠隔管理認証情報にハッシュ文字列を用いる場合を示したが、これに限定されるものではなく、その他の非可逆な情報を用いるようにしても良い。