(57)【要約】【課題】  音声通話機能だけを実現する電話機や主装置などの電話関連装置に対して、接続環境に左右されることなく、プログラムをダウンロードして更新できるようにする。【解決手段】ＩＰ電話機４においては、情報通知部４３１がサーバに発呼することにより、プログラムに関する情報を通知する。ＣＮＧ信号確認部４３２が、提供すべきプログラムがある場合に当該サーバから送信されるＣＮＧ信号の受信を確認する。ＣＮＧ信号の確認ができた場合、ＣＥＤ信号送信部４３３がＣＥＤ信号を当該サーバに送信し、無効化手部４３４が受信する音声データに対して適正化処理を施さないようにする。この後、プログラム取得部が、音声パケットデータとして当該サーバから送信されて来るプログラムを取得する。【選択図】図７
2019201376.tif 000002
【特許請求の範囲】
【請求項１】
プログラム提供サーバ装置と、音声パケットデータの送受信により音声通話を可能にする電話関連装置とが、ネットワークを通じて接続されて構成される電話システムであって、
前記電話関連装置は、
前記プログラム提供サーバ装置に対して発呼することにより、自機が保持するプログラムを特定するためのプログラムに関する情報を通知する情報通知手段と、
前記プログラム提供サーバ装置が自機に提供すべきプログラムを保持している場合に、前記プログラム提供サーバ装置から送信されるファクシミリ識別信号であるＣＮＧ信号の受信の有無を確認するＣＮＧ信号確認手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、ファクシミリ応答信号であるＣＥＤ信号を前記プログラム提供サーバ装置に送信するＣＥＤ信号送信手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、通話音声を適切に再生するための適正化処理を、受信する音声データに対して施さないようにする無効化手段と、
前記プログラム提供サーバ装置から音声パケットデータとして送信されて来るプログラムを取得するプログラム取得手段と
を備え、
前記プログラム提供サーバ装置は、
前記電話関連装置からの前記プログラムに関する情報に基づいて、前記電話関連装置に対して提供すべきプログラムが存在するか否かを確認するプログラム確認手段と、
前記プログラム確認手段により、提供すべきプログラムが存在すると確認された場合に、前記電話関連装置に対して前記ＣＮＧ信号を送信するＣＮＧ信号送信手段と、
前記電話関連装置からの前記ＣＥＤ信号の受信の有無を確認するＣＥＤ信号確認手段と、
前記ＣＥＤ信号確認手段により前記電話関連装置からの前記ＣＥＤ信号の受信を確認した場合に、前記電話関連装置に対して提供すべきプログラムを、音声パケットデータとして送信するプログラム提供手段と
を備えることを特徴とする電話システム。
【請求項２】
請求項１に記載の電話システムであって、
前記プログラム提供サーバ装置には、前記電話関連装置の機種毎に専用の電話番号が割り当てられており、
前記電話関連装置の前記情報通知手段は、自機の機種に応じた電話番号と、自機が保持するプログラムのバージョンを示すサブアドレスとを用いて、前記プログラム提供サーバ装置に対して発呼し、
前記プログラム提供サーバ装置の前記プログラム確認手段は、着信先の電話番号と当該電話番号に付加されたサブアドレスとをプログラムに関する情報として特定し、当該電話番号により特定される機種の、当該サブアドレスにより特定されるバージョンよりも新しいプログラムが存在するか否かを確認する
ことを特徴とする電話システム。
【請求項３】
プログラム提供サーバ装置と、音声パケットデータの送受信により音声通話を可能にする電話関連装置とが、ネットワークを通じて接続されて構成される電話システムの前記電話関連装置であって、
前記プログラム提供サーバ装置は、前記電話関連装置からのプログラムに関する情報に基づいて、前記電話関連装置に対して提供すべきプログラムが存在するか否かを確認するプログラム確認手段と、前記プログラム確認手段により、提供すべきプログラムが存在すると確認された場合に、前記電話関連装置に対して前記ＣＮＧ信号を送信するＣＮＧ信号送信手段と、前記電話関連装置からの前記ＣＥＤ信号の受信の有無を確認するＣＥＤ信号確認手段と、前記ＣＥＤ信号確認手段により前記電話関連装置からの前記ＣＥＤ信号の受信を確認した場合に、前記電話関連装置に対して提供すべきプログラムを、音声パケットデータとして送信するプログラム提供手段とを備えるものであり、
前記プログラム提供サーバ装置に対して発呼することにより、自機が保持するプログラムを特定するための前記プログラムに関する情報を通知する情報通知手段と、
前記プログラム提供サーバ装置が自機に提供すべきプログラムを保持している場合に、前記プログラム提供サーバ装置から送信されるファクシミリ識別信号であるＣＮＧ信号の受信の有無を確認するＣＮＧ信号確認手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、ファクシミリ応答信号であるＣＥＤ信号を前記プログラム提供サーバ装置に送信するＣＥＤ信号送信手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、通話音声を適切に再生するための適正化処理を、受信する音声データに対して施さないようにする無効化手段と、
前記プログラム提供サーバ装置から音声パケットデータとして送信されて来るプログラムを取得するプログラム取得手段と
を備えることを特徴とする電話関連装置。
【請求項４】
プログラム提供サーバ装置と、音声パケットデータの送受信により音声通話を可能にする電話関連装置とが、ネットワークを通じて接続されて構成される電話システムの前記プログラム提供サーバ装置であって、
前記電話関連装置は、前記プログラム提供サーバ装置に対して発呼することにより、自機が保持するプログラムを特定するためのプログラムに関する情報を通知する情報通知手段と、前記プログラム提供サーバ装置が自機に提供すべきプログラムを保持している場合に、前記プログラム提供サーバ装置から送信されるファクシミリ識別信号であるＣＮＧ信号の受信の有無を確認するＣＮＧ信号確認手段と、前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、ファクシミリ応答信号であるＣＥＤ信号を前記プログラム提供サーバ装置に送信するＣＥＤ信号送信手段と、前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、通話音声を適切に再生するための適正化処理を、受信する音声データに対して施さないようにする無効化手段と、前記プログラム提供サーバ装置から音声パケットデータとして送信されて来るプログラムを取得するプログラム取得手段とを備えるものであり、
前記電話関連装置からの前記プログラムに関する情報に基づいて、前記電話関連装置に対して提供すべきプログラムが存在するか否かを確認するプログラム確認手段と、
前記プログラム確認手段により、提供すべきプログラムが存在すると確認された場合に、前記電話関連装置に対して前記ＣＮＧ信号を送信するＣＮＧ信号送信手段と、
前記電話関連装置からの前記ＣＥＤ信号の受信の有無を確認するＣＥＤ信号確認手段と、
前記ＣＥＤ信号確認手段により前記電話関連装置からの前記ＣＥＤ信号の受信を確認した場合に、前記電話関連装置に対して提供すべきプログラムを、音声パケットデータとして送信するプログラム提供手段と
を備えることを特徴とするプログラム提供サーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声パケットの伝送が可能な、例えば電話機や主装置などの電話関連機器に搭載されたプログラムの更新を、適切に行うことができるようにするシステム及び装置に関する。
【背景技術】
【０００２】
後に記す特許文献１には、移動電話端末に搭載されたプログラムのアップデートを自動的に行うことができるようにする移動通信システム等に関する発明が開示されている。特許文献１に開示された発明は、移動電話端末のプログラムのバージョンアップ等が発生した場合に、まず、ダウンロード管理装置がダウンロードの対象となる移動電話端末の電話番号を抽出し、それらに対するダウンロード開始を交換局装置に指示する。
【０００３】
そして、交換局装置は、移動電話端末に対するダウンロードを、無線基地局制御装置、無線基地局装置を通じて実行する。移動電話端末では、送られて来るプログラムを蓄え、必要なデータの受信が終了すると、現在のプログラムを消去し、新しいプログラムを書き込む。すなわち、特許文献１に開示された発明は、プログラムのダウンロードが必要な移動電話端末に対して電話を掛けて、いわゆるプッシュ型でプログラムのダウンロードを行うようにするものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５３８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
主装置やＩＰ電話機などの電話関連装置において、バージョンアップ等のためにファームウェアをダウンロードして更新する機能は、品質、費用の面からも必須の機能となっている。しかし、主装置が複数のＩＰ電話端末を収容して構成されるいわゆるビジネスフォンシステムの場合、主装置に収容されたＩＰ電話端末のそれぞれに電話番号が割り当てられるわけではない。このため、上述した特許文献１に開示された発明のように、ダウンロード管理装置からの指示により交換局装置が各ＩＰ電話機に対して電話を掛けて、いわゆるプッシュ型でプログラムをダウンロードさせることはできない。
【０００６】
また、主装置やＩＰ電話機は、音声通話機能だけを実現し、ＴＣＰ／ＩＰを用いてインターネットに接続してデータ通信を行う機能を備えていないものも多い。この場合には、インターネット上にプログラム提供サーバ装置を設けてもプログラムをダウンロードする機能は実現できない。また、ＩＰ電話端末が収容されている環境は、ＩＰ電話端末が接続される回線や主装置により様々であるため、接続される回線や主装置に応じて、プログラムのダウンロード方法も異なることになる。
【０００７】
以上のことに鑑み、音声通話機能だけを実現する電話機や主装置などの電話関連装置に対して、接続環境に左右されることなく、プログラムをダウンロードして更新できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明の電話システムは、
プログラム提供サーバ装置と、音声パケットデータの送受信により音声通話を可能にする電話関連装置とが、ネットワークを通じて接続されて構成される電話システムであって、
前記電話関連装置は、
前記プログラム提供サーバ装置に対して発呼することにより、自機が保持するプログラムを特定するためのプログラムに関する情報を通知する情報通知手段と、
前記プログラム提供サーバ装置が自機に提供すべきプログラムを保持している場合に、前記プログラム提供サーバ装置から送信されるファクシミリ識別信号であるＣＮＧ信号の受信の有無を確認するＣＮＧ信号確認手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、ファクシミリ応答信号であるＣＥＤ信号を前記プログラム提供サーバ装置に送信するＣＥＤ信号送信手段と、
前記ＣＮＧ信号確認手段により前記ＣＮＧ信号の受信を確認した場合に、通話音声を適切に再生するための適正化処理を、受信データに対して施さないようにする無効化手段と、
前記プログラム提供サーバ装置から音声パケットデータとして送信されて来るプログラムを取得するプログラム取得手段と
を備え、
前記プログラム提供サーバ装置は、
前記電話関連装置からの前記プログラムに関する情報に基づいて、前記電話関連装置に対して提供すべきプログラムが存在するか否かを確認するプログラム確認手段と、
前記プログラム確認手段により、提供すべきプログラムが存在すると確認された場合に、前記電話関連装置に対して前記ＣＮＧ信号を送信するＣＮＧ信号送信手段と、
前記電話関連装置からの前記ＣＥＤ信号の受信の有無を確認するＣＥＤ信号確認手段と、
前記ＣＥＤ信号確認手段により前記電話関連装置からの前記ＣＥＤ信号の受信を確認した場合に、前記電話関連装置に対して提供すべきプログラムを、音声パケットデータとして送信するプログラム提供手段と
を備えることを特徴とする。
【０００９】
この請求項１に記載の発明の電話システムによれば、前記電話関連装置においては、情報通知手段がプログラム提供サーバ装置に発呼することにより、プログラムに関する情報を通知する。ＣＮＧ信号確認手段が、提供すべきプログラムがある場合にプログラム提供サーバ装置から送信されるＣＮＧ信号の受信を確認したとする。この場合、ＣＥＤ信号送信手段がＣＥＤ信号をプログラム提供サーバ装置に送信し、無効化手段が受信する音声データに対して適正化処理を施さないようにする。そして、プログラム取得手段が、音声パケットデータとして送信されて来るプログラムを取得する。
【００１０】
プログラム提供サーバ装置においては、プログラム確認手段が、発呼元の電話関連装置からのプログラムに関する情報に基づいて、提供すべきプログラムがあると確認すると、ＣＮＧ信号送信手段が、発呼元の電話関連装置にＣＮＧ信号を送信する。これに応じて、発呼元の電話関連装置から送信されるＣＥＤ信号の受信をＣＥＤ信号確認手段が確認すると、プログラム提供手段が、発呼元の電話関連装置に対してプログラムを音声パケットデータとして送信する。
【００１１】
これにより、音声パケットの送受によりプログラムの提供環境を整え、プログラム提供サーバ装置が、発呼元の電話関連装置に対してプログラムを音声パケットデータとして提供できる。この場合、発呼元の電話関連装置においては、受信した音声パケットデータに対して適正化処理を行うこともないで、音声パケットデータとして提供されるプログラムが変化してしまうこともない。
【発明の効果】
【００１２】
この発明によれば、音声通話機能だけを実現する電話機や主装置などの電話関連装置に対して、音声パケットデータとしてプログラムを提供可能にし、接続環境にも左右されることなく、プログラムのダウンロードと更新を行うようにできる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態の電話システムの構成例を説明するためのブロック図である。
【図２】ＩＰ電話機の収容環境（接続環境）について説明するための図である。
【図３】実施の形態のプログラム提供サーバ装置の構成例を説明するためのブロック図である。
【図４】実施の形態のプログラム提供サーバで行われる提供すべきプログラムの確認処理について説明するための図である。
【図５】機種別バージョンテーブルの格納データの例を説明するための図である。
【図６】実施の形態の主装置の構成例を説明するためのブロック図である。
【図７】実施の形態のＩＰ電話機の構成例を説明するためのブロック図である。
【図８】実施の形態の電話システムで行われるプログラムのダウンロード処理を説明するためのシーケンス図である。
【図９】実施の形態の電話システムで行われるプログラムのダウンロード処理を説明するためのシーケンス図である。
【図１０】音声通話とプログラム更新通話で用いられるＲＴＰパケットの違いを説明するための図である。
【図１１】図１０に続く図である。
【図１２】図１１に続く図である。
【発明を実施するための形態】
【００１４】
以下、図を参照しながら、この発明による電話システム、電話関係装置、プログラム提供サーバ装置の一実施の形態について説明する。以下に説明する実施の形態においては、この発明を企業のオフィスなどに構築されるいわゆるビジネスフォンシステム（ボタン電話システム）に適用した場合を例にして説明する。
【００１５】
［電話システムの構成例］
図１は、この実施の形態の電話システムの構成例を説明するためのブロック図である。図１に示すように、この実施の形態の電話システムにおいては、プログラム提供サーバ装置（以下、サーバと記載する。）１と主装置３とが電話網２を通じて接続される。そして、主装置３に対して、複数のＩＰ電話機４（１）〜４（ｎ）が、ＬＡＮ（Local Area Network）５を通じて接続される。従って、ＩＰ電話機４（１）〜４（ｎ）のそれぞれは、主装置３を介して電話網２に接続される。なお、ＩＰ電話機４（ｎ）における文字ｎは、通常は１以上の整数を意味するが、図１においては、既にＩＰ電話機４（１）、４（２）が存在しているので、この場合の文字ｎは、３以上の整数を意味する。
【００１６】
サーバ１は、電話関係装置である主装置３やＩＰ電話機４（１）〜４（ｎ）に提供すべきいわゆるファームウェアなどのプログラム（ソフトウェア）を保持し、これを主装置３やＩＰ電話機４（１）〜４（ｎ）に対して提供する機能を実現する。ここで、主装置３やＩＰ電話機４（１）〜４（ｎ）に提供すべきプログラムは、例えば、機能追加などのために新たに提供する必要が生じたものなどである。電話網２は、音声通話を可能にする種々のネットワークを意味する。具体的に電話網２は、光ケーブルによるネットワーク、ＩＳＤＮ（Integrated Services Digital Network）、インターネット、専用線によるネットワークなどの種々のネットワークを含む。
【００１７】
主装置３は、外線と内線や内線間を接続する小型の交換機（ＰＢＸ（Private Branch eXchanger））としての機能を有する。主装置３は、配下のＩＰ電話機４（１）〜４（ｎ）からの発呼要求を電話網２に送出して、目的とする相手先の電話機（外線電話機）に電話を掛ける機能を実現する。また、主装置３は、電話網２を通じて送信されて来る外線電話機からの着信要求を受信して、配下のＩＰ電話機４（１）〜４（ｎ）に着信させる機能を実現する。また、主装置３は、配下のＩＰ電話機４（１）〜４（ｎ）間の内線通話を可能にする機能を実現する。
【００１８】
このように、主装置３は、外線と内線との間や内線間の呼制御を行う。また、主装置３は、配下のＩＰ電話機が備えるリンガやＬＣＤ（Liquid Crystal Display）やＬＥＤ（Light Emitting Diode）に対する制御も行う。また、主装置３は、基本的に音声通話を実現するためのものであり、インターネットに接続してＴＣＰ／ＩＰを用いてデータの送受信を行うことはできないものである。
【００１９】
ＩＰ電話機４（１）〜４（ｎ）のそれぞれは、ＩＰ（internet Protocol）を利用し、音声をパケット化して送受信することによって、音声通話を可能にする。すなわち、ＩＰ電話機４（１）〜４（ｎ）のそれぞれは、主装置３を通じて、電話網２に接続された外部の電話機との間や、ＬＡＮ５に接続された同じオフィス内の他のＩＰ電話機との間で通話を行う場合に用いられる。なお、ＩＰ電話機４（１）〜４（ｎ）のそれぞれは、基本的な構成は同じものである。このため、以下においては、特に区別して示す必要がある場合を除き、ＩＰ電話機４（１）〜４（ｎ）のそれぞれを総称してＩＰ電話機４と記載する。
【００２０】
ＩＰ電話機４は、アナログ音声信号をデジタル化してＩＰ（Internet Protocol）で送信するために、ＲＴＰ（Real-Time Transport Protocol）を使用する。ＲＴＰは、音声や映像をストリーミング再生するためのＵＤＰ（User Datagram Protocol）上で動作するプロトコルである。そして、この実施の形態において、ＩＰ電話機４は、ＲＴＰを用いた音声通話機能のみを実現する。すなわち、ＩＰ電話機４は、インターネットに接続してＴＣＰ／ＩＰを用いたデータの送受信を行うことはできないものである。
【００２１】
ＩＰ電話機４が収容されている環境は、ＩＰ電話機４が接続される回線（ネットワーク）や主装置により様々である。図２は、ＩＰ電話機４の収容環境（接続環境）について説明するための図である。図２において、ＮＧＮ（Next Generation Network）サーバ６は、セッション制御サーバとしての機能を実現するものであり、提供される各サービス（ネットワーク）に適した品質や帯域となるように、図示しない収容ルータ等を制御するものである。
【００２２】
そして、図２（Ａ）は、サーバ１からＩＰ電話機４までが、広域ＬＡＮ（広域イーサネット（登録商標））で接続されている場合を示している。広域ＬＡＮは、地理的に離れたＬＡＮ間をイーサネット（登録商標）インターフェースで接続するものである。このため、サーバ１からＩＰ電話機４までを共通のインターフェースで接続することができるため、サーバ１とＩＰ電話機４との間では、どの部分においても、ＲＴＰパケット（音声パケット）の送受信が可能となる環境が整えられる。
【００２３】
これに対して、図２（Ｂ）は、サーバ１からＩＰ電話機４までのネットワーク上の経路において、ＮＧＮサーバ６と主装置３との間は、例えばＩＳＤＮで接続されるなど、イーサネット（登録商標）インターフェース以外で接続されている場合を示している。しかし、サーバ１とＮＧＮサーバ６との間と、主装置３とＩＰ電話機４との間は、いずれもイーサネット（登録商標）インターフェースで接続されているので、これらの間においては、ＲＴＰパケット（音声パケット）の送受信が可能となる。
【００２４】
したがって、少なくとも主装置３とＩＰ電話機４との間は、ＬＡＮ接続され、イーサネット（登録商標）インターフェースで通信が可能となる。すなわち、主装置３とＩＰ電話機４との間においては、ＲＴＰパケット（音声パケット）の送受信が可能となる。このため、サーバ１よりＲＴＰパケットを用いてプログラムを伝送すれば、ＩＰ電話機４に提供できるし、また、主装置３においても、ＩＰ電話機４に提供するＲＴＰパケットが形成可能であるので、自機へのプログラムも取得可能であるといえる。
【００２５】
そこで、この実施の形態の電話システムにおいては、サーバ１は、主装置３やＩＰ電話機４に対して、ＲＴＰパケットによりプログラムを提供するように機能する。しかし、ＲＴＰパケットは本来、音声や映像などのストリーミングデータを提供するものであり、受信側において高品位に音声を再生するために、音声データに対してエコーキャンセラやＰＬＣ（Packet Loss Concealment）といったいわゆる適正化処理が施される。
【００２６】
エコーキャンセラは、音響エコーを抑制、除去する機能であり、種々の方式が存在するが、受信音声に対して所定のフィルタリング処理などが行われる。このため、ＲＴＰパケットにより送信されるデータがプログラムである場合、これにエコーキャンセラが施されると、送信された通りのプログラムを受信側で取得できなくなる可能性がある。また、ＰＬＣは、パケットロスが発生した場合に、喪失部分の音声データを前後の音声データから補間処理により復元するものである。このため、ＲＴＰパケットにより送信されるデータがプログラムである場合、これにＰＬＣが施された場合にも、送信された通りのプログラムを受信側で取得できなくなる可能性がある。
【００２７】
そこで、この実施の形態の電話システムでは、サーバ１が主装置３やＩＰ電話機４に対してＲＴＰパケットによりプログラムを提供する場合には、主装置３やＩＰ電話機４において、エコーキャンセラやＰＬＣを受信データに対して施さないようにしている。
【００２８】
また、例えば主装置３に接続されたＩＰ電話機４のそれぞれは、通常、個別の電話番号は割り当てられていない。このため、サーバ１からＩＰ電話機４を特定して、プログラムの提供を行うことはできない。そこで、ＩＰ電話機４のそれぞれに対しても、適切にプログラムを提供できるようにするため、図２（Ａ）、（Ｂ）において、細線矢印で示したように、ＩＰ電話機４からサーバ１に対して発信して新たに提供されるべきプログラムの有無を確認する。
【００２９】
そして、提供されるべきプログラムがサーバ１に存在する場合に、サーバ１が確認元のＩＰ電話機４に対して当該プログラムを提供する。この後、提供すべきプログラムの全部を確認元のＩＰ電話機４に提供し終えると、サーバ１から確認要求元のＩＰ電話機４に対して回線を開放する要求を送信して、接続した通話回線を切断するようにしている。ここでは、ＩＰ電話機４にプログラムを提供する場合を例にして説明したが、主装置３が自機で起動させるプログラムの更新を行う場合も同様に行うことができる。すなわち、主装置３からサーバ１に発信して、提供されるべきプログラムの有無を確認し、存在する場合に当該プログラムの提供を受けるようにすることができる。
【００３０】
以下においては、ＲＴＰパケットを用いてプログラムの更新を行うことができるようにしている。この実施の形態の電話システムを構成するサーバ１、主装置３、ＩＰ電話機４のそれぞれについて説明する。なお、上述したように、この実施の形態の電話システムは、主装置３、ＩＰ電話機４のそれぞれは、サーバ１よりプログラムの提供を受けて更新を行うことができるものである。しかし、以下においては、説明を簡単にするため、主装置３に収容されたＩＰ電話機４がプログラムの更新を行う場合を例にして説明する。
【００３１】
また、図２（Ｂ）に示した例の場合には、ＮＧＮサーバ６と主装置３との間では、ＲＴＰフォーマットから別のフォーマットに変換された際に、チェックサムなどのヘッダ情報が引き継がれない場合があると考えられる。このため、プログラムの更新に際しては、例えば、主装置３やＩＰ電話機４において、信頼性確保のため、提供されたプログラム全体に対するチェックサム確認シーケンスを実行することが好ましい。
【００３２】
［プログラム提供サーバ１の構成例］
図３は、サーバ１の構成例を説明するためのブロック図である。接続端１０１Ｔは電話網２への接続端部を構成する。通信Ｉ／Ｆ１０１は、電話網２を通じての通信機能を実現する。なお、この明細書において「Ｉ／Ｆ」との記載は、「Interface」の略称として用いている。制御部１０２は、図示しないがＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、不揮発性メモリがバスを通じて接続されて構成されマイクロプロセッサであり、サーバ１の各部を制御する。
【００３３】
記憶装置１０３は、例えばハードディスクなどの記録媒体とそのドライバとからなり、当該記録媒体へのデータの書き込み、読み出し、変更、削除などを行う。記憶装置１０３には、制御部１０２において実行されるプログラムや処理に必要になるデータ等が記憶保持される他、種々の処理においてその途中結果を一時記憶する作業領域としても用いられる。
【００３４】
機種別バージョンテーブル１０４は、例えばハードディスクなどの記録媒体に作成され、主装置やＩＰ電話機に対して提供すべきプログラムがあるかどうかを判別するための情報を記憶保持する。この実施の形態のサーバ１は、ＩＰ電話機４からの発信に応じた問い合わせにより、提供すべきプログラムが存在するか否かを確認する。
【００３５】
図４は、サーバ１での提供すべきプログラムの確認処理について説明するための図である。サーバ１に対しては、図４（Ａ）に示すように、「０５０」に続く８桁の数字が、ＩＰ電話機４の機種に対応した複数の電話番号が割り当てられている。すなわち、ＩＰ電話機４には、異なるプログラムが動作する機種の異なるものが複数存在する。そして、ＩＰ電話機４は、予め設定されている自己の機種に応じた電話番号（特定電話番号）を用いてサーバ１に発信（発呼）する。その際に、主装置３やＩＰ電話機４は、自機の機種に対応する８桁の数字の後に続く３桁のサブアドレスで、自機において動作しているプログラムのバージョン（プログラムバージョン）を通知する。これにより、着信先のサーバ１は、発呼元のＩＰ電話機４の機種とプログラムバージョンを把握できる。
【００３６】
そして、サーバ１は、図４（Ｂ）に示した条件の全てに合致する場合には、提供すべきプログラムがあることが特定できるので、通話開始応答（ＯＫ）を返信し、当該プログラムを発信元のＩＰ電話機４に提供する。すなわち、通知機種に対応するプログラムがあり（図４（Ｂ）（ａ））、そのプログラムが通知バージョンよりも新しく（図４（Ｂ）（ｂ））、開始番号がプログラム分割数より小さければ（図４（Ｂ）（ｃ））、提供すべきプログラムが存在すると特定できる。
【００３７】
なお、「開始番号がプログラム分割数より小さい」との条件は、サーバ１から提供されるプログラムが長い場合には、接続された通話回線を通じて一度にすべてを提供するのではなく、通話回線の接続と切断を繰り返し、何回かに分けてプログラムを提供する。すなわち、プログラムを分割し、分割番号をＲＴＰタイムスタンプ値として分割したプログラムに付加して提供する。
【００３８】
このため、プログラムの提供先であるＩＰ電話機４においては、最新に受信したＲＴＰパケットのＲＴＰタイムスタンプ値より算出する分割番号（開始番号）を、次の発呼時にＩＮＶＩＴＥメッセージ（セッション開始要求）に含めてサーバ１に送信する。これにより、サーバ１においては、発信元からの開始番号がプログラム分割数より小さければ、プログラムを分割して提供している途中の場合、提供すべきプログラムがまだ残っていること、及び、その続きの部分がどこかを判別できる。なお、開始番号の初期値は「０（ゼロ）」である。
【００３９】
これとは逆に、サーバ１は、図４（Ｃ）に示した条件のいずれかに合致する場合には、提供すべきプログラムがないことが特定できるので、受付拒否応答（ＮＧ）を発信元のＩＰ電話機４に提供する。すなわち、通知機種に対応するプログラムが存在しない場合（図４（Ｃ）（ａ））、通知機種に対応するプログラムが存在していてもプログラムが通知バージョンよりも新しくない場合（図４（Ｃ）（ｂ））には、提供すべきプログラムは存在しないと特定できる。また、上述した開始番号がプログラム分割数より大きい場合（図４（Ｃ）（ｃ））、同時通話数を超えた場合（図４（ｃ）（ｄ））にも、提供すべきプログラムは存在しないと特定できる。なお、同時通話数を超えた場合（図４（ｃ）（ｄ））は、サーバ１の通信許容量に基づくものである。このため、この場合には受付拒否応答（ＮＧ）を返すのではなく、「Ｒｅｔｒｙａｆｔｅｒ」値を付与した応答を返し、発信元のＩＰ電話機４に対して再発信（リトライ）を促すことになる。
【００４０】
そして、機種別バージョンテーブル１０４には、図４（Ｂ）（ａ）（ｂ）及び図４（Ｃ）（ａ）（ｂ）を用いて説明した判別を可能にするための情報が蓄積される。図５は、機種別バージョンテーブル１０４の格納データの例を説明するための図である。図５に示すように、機種別バージョンテーブル１０４には、ＩＰ電話機４の機種に対応して、電話番号、機種コード、プログラムバージョン、プログラムファイル名、更新日が格納されている。
【００４１】
サーバ１は、自機において着信があった電話番号と、当該電話番号に続くサブアドレスに基づいて、機種別バージョンテーブル１０４を参照することにより、提供対象となる新しいバージョンのプログラムが存在する否かを確認する。そして、新しいバージョンのプログラムが存在する場合に、そのプログラムが格納されているプログラムファイル名を特定することができる。これにより、詳しくは後述するが、サーバ１は、その特定したプログラムファイルからプログラムを読み出して、発信元の主装置３やＩＰ電話機４に提供することができる。
【００４２】
なお、この実施の形態において、プログラムバージョンは、例えば、数字が大きなものが新しいバージョンであると認識できる。従って、ＩＰ電話機４から通知されたプログラムバージョンが「００１」で、機種別バージョンテーブルの対応機種のプログラムバージョンが「００２」であれば、提供すべきプログラムが存在すると判別できる。
【００４３】
機種別プログラムファイル１０５（１）、（２）、（３）、…のそれぞれは、ハードディスクなどの記録媒体に作成され、機種別の更新用のプログラムを記憶保持するものである。これらの機種別プログラムファイル１０５（１）、（２）、（３）、…のそれぞれのファイル名は、図５を用いて説明したように、機種別バージョンテーブル１０４に格納されており、機種に応じて、そのファイル名が一意に特定できるようになっている。
【００４４】
登録処理部１０６は、ＩＰ電話機４からの最初の発信を受け付けた場合に、これらの電話関連機器の登録情報を例えば記憶装置１０３に形成されている顧客機器情報ファイルに登録する機能を実現する。登録情報は、具体的には、ＩＮＶＩＴＥメッセージ中にある送信元の識別子、例えばＭＡＣ（Media Access Control）アドレスなどが用いられる。これにより、主装置３やＩＰ電話機４からの着信が発生した場合に、当該着信を受け付けるか否かの認証時に当該登録情報を用いることができる。
【００４５】
プログラム確認部１０７は、ＩＰ電話機４からの着信があった場合に、上述したように、着信先の電話番号とサブアドレスとに基づいて、機種別バージョンテーブル１０４を参照し、提供すべきプログラムが存在するか否かを確認する。プログラム確認部１０７は、提供すべきプログラムが存在しないことを確認した場合には、これを制御部１０２に通知する。これにより、制御部１０２は、提供すべきプログラムが存在しないことを示す受付拒否応答（ＮＧ）を、通信Ｉ／Ｆ１０１を通じて発信元のＩＰ電話機４に送信し、通話回線は接続せずに、プログラムの提供は行わないようにする。
【００４６】
また、プログラム確認部１０７は、提供すべきプログラムが存在することを確認した場合には、これを制御部１０２に通知する。制御部１０２は、通信開始応答（ＯＫ）を通信Ｉ／Ｆ１０１を通じて発信元のＩＰ電話機４に送信して、通話回線を接続する。そして、制御部１０２は、プログラム提供処理部１１０を構成する各部を制御して、発信元のＩＰ電話機４に対して更新用のプログラムを提供する処理を行う。
【００４７】
プログラム提供処理部１１０を構成する各部は、プログラム確認部１０７において、提供すべきプログラムの存在が確認できた場合に、制御部１０２の制御の下に、更新用のプログラムをＩＰ電話機４などの提供先に提供するための処理を行う。具体的に、ＣＮＧ信号送信部１１１は、プログラム確認部１０７において、提供すべきプログラムの存在が確認できた場合は、まず、ファクシミリ識別信号であるＣＮＧ信号を形成し、これをＲＴＰパケットのペイロードに挿入して発信元のＩＰ電話機４に送信する。ＣＮＧ信号は、０．５秒間の１１００Ｈｚのトーンと３秒間の無音の繰り返しからなる信号である。
【００４８】
発信元のＩＰ電話機４は、サーバ１よりＣＮＧ信号が送信されてきた場合には、自機に提供されるべき更新用のプログラムが存在し、ＲＴＰパケットを用いて当該プログラムが送信されて来ると認識できる。そして、ＣＮＧ信号を受信した発信元のＩＰ電話機４は、ファクシミリ応答信号であるＣＥＤ信号を送信して来る。ＣＥＤ信号は、「ピー」と聞こえる２１００Ｈｚの連続音を構成する信号である。
【００４９】
このため、ＣＥＤ信号確認部１１２は、発信元のＩＰ電話機４からＣＥＤ信号が送信されて来たか否かを確認する。発信元のＩＰ電話機４からＣＥＤ信号が送信されてきたことが確認できた場合には、ＲＴＰパケットによりプログラムが提供されることをＩＰ電話機４が認識できたと判別できる。そして、発信元のＩＰ電話機４からのＣＥＤ信号が、ＣＥＤ信号確認部１１２で確認できた場合（受信できた場合）に、制御部１０２の制御の下、プログラム提供部１１３が機能する。
【００５０】
プログラム提供部１１３は、プログラム確認部１０７が機種別バージョンテーブル１０４を参照して特定したプログラムファイル名により特定される機種別プログラムファイル１０５（ｎ）から提供すべきプログラムを読み出す。そして、プログラム提供部１１３は、読み出したプログラムを、そのプログラムの大きさに応じて複数の部分に分割し、分割部分を順次にＲＴＰパケット化し、これを通信Ｉ／Ｆ１０１を通じて電話網２に送出して発信元のＩＰ電話機４に提供する。
【００５１】
提供終了処理部１１４は、プログラム提供部１１３を通じて、発信元のＩＰ電話機４に対して全てのプログラムを提供し終えた場合に、例えば応答コード「４８７（リクエスト中止）」を発信元のＩＰ電話機４に送信して、プログラムの提供処理を終了させる。上述したように、プログラム提供処理部１１０は、ＣＮＧ信号の送信から応答コード「４８７」の送信に至るまでの一連のプログラム提供処理を行う。
【００５２】
このように、サーバ１は、ＩＰ電話機４からの発信に応じて、発信元のＩＰ電話機４に対して提供すべきプログラムが存在するか否かを確認する。そして、発信元のＩＰ電話機４に対して提供すべきプログラムが存在する場合には、発信元のＩＰ電話機４へのＣＮＧ信号の送信と、当該ＩＰ電話機４からのＣＥＤ信号の受信とを行う。これにより、ファクシミリ通信を行う場合と同じ手順により、サーバ１と発信元のＩＰ電話機４との間において、ファクシミリみなし音声方式により、プログラムをＲＴＰパケット化して伝送することのコンセンサスを得る。そして、サーバ１は、当該プログラムをＲＴＰパケット化して、あたかも音声データを伝送するようにして発信元のＩＰ電話機４に提供できる。
【００５３】
［主装置３の構成例］
図６は、主装置３の構成例を説明するためのブロック図である。接続端３０１Ｔは、電話網２への接続端部を構成する。通信Ｉ／Ｆ３０１は、電話網２を通じての通信機能を実現する。制御部３０２は、図示しないがＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリがバスを通じて接続されて構成されマイクロプロセッサであり、主装置３の各部を制御する。
【００５４】
記憶装置３０３は、例えばハードディスクなどの記録媒体とそのドライバとからなり、当該記録媒体へのデータの書き込み、読み出し、変更、削除などを行う。記憶装置３０３には、制御部１０２において実行されるプログラムや処理に必要になるデータ等が記憶保持される他、種々の処理において、その途中結果を一時記憶する作業領域としても用いられる。
【００５５】
アドレス管理ＤＢ３０４は、電話網２やＬＡＮ５に接続され、この主装置３を通じて呼び出す可能性のある端末装置についてのアドレス情報を記憶保持する。具体的には、アドレス管理ＤＢ３０４では、電話番号、内線番号、ＩＰアドレス、ＭＡＣ（Media Access Control）アドレス、ポート番号などの情報が管理されている。これらの情報は、電話網２やＬＡＮ５に接続されている端末装置からの登録要求（レジスタ・リクエスト）に応じて、制御部３０２がアドレス管理ＤＢ３０４に登録する。
【００５６】
接続Ｉ／Ｆ（Interface）３０５は、ＬＡＮＩ／Ｆを構成し、主装置３に収容される複数のＩＰ電話機４が接続され、主装置３とＩＰ電話機４との間の通信を可能にする。従って、主装置３から各ＩＰ電話機４への信号は、接続Ｉ／Ｆ３０５において送信用の形式の信号に変換されて、各ＩＰ電話機４に送信される。また、各ＩＰ電話機４からの信号は、接続Ｉ／Ｆ３０５において自機において処理可能な形式の信号に変換されて取り込まれる。
【００５７】
呼制御部３０６は、アドレス管理ＤＢ３０４の管理情報を用い、ＩＰ電話機４についての発信、着信、応答、切断の呼制御を行う。表示等制御部３０７は、呼制御部３０６の制御に応じて、接続Ｉ／Ｆ３０５に接続された配下のＩＰ電話機４のＬＣＤやＬＥＤに対する制御を行い、自機以外の他のＩＰ電話機４の状態等、電話システムの状態を使用者が把握できるようにする。
【００５８】
プログラム更新処理部３１０は、自機の制御部３０２で動作するプログラムを更新する機能を実現する。なお、主装置３が備えるプログラム更新処理部３１０は、後述するＩＰ電話機４が備えるプログラム更新処理部４３０と同等のものである。このため、プログラム更新処理部３１０の詳細な説明は、ＩＰ電話機４のプログラム更新処理部４３０についての説明と重複するため省略する。
【００５９】
［ＩＰ電話機４の構成例］
図７は、ＩＰ電話機４の構成例を説明するためのブロック図である。図７において、制御部４２０は、図示しないが、ＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリなどがバスを通じて接続されて形成されたマイクロプロセッサであり、ＩＰ電話機４の各部を制御するものである。
【００６０】
接続端４０１Ｔは、ＬＡＮ５への接続端部を構成する。接続Ｉ／Ｆ４０１は、ＬＡＮＩ／Ｆであり、ＬＡＮ５を通じて主装置３との接続を実現する。すなわち、接続Ｉ／Ｆ４０１は、ＬＡＮ５を通じて自機宛てに送信されてきた信号を、自機において処理可能な形式の信号に変換して自機に取り込む処理を行う。また、接続Ｉ／Ｆ４０１は、自機から送信する信号を、送信用の信号に変換し、これをＬＡＮ５に送出する処理を行う。
【００６１】
パケット処理部４０２は、接続Ｉ／Ｆ４０１を通じて受信されるパケットデータの提供を受けて、これを分解処理して復号化し、制御データは制御部４２０に供給し、音声データは後述するコーデック４０４やプログラム更新処理部４３０に供給する。ここで、音声データには、ＲＴＰパケットのペイロードを通じて音声データと同様に提供されるプログラム（プログラムデータ）を含む。また、パケット処理部４０２は、後述するコーデック４０４から供給される相手先に送信する音声データを暗号化すると共にパケット化して、これを接続Ｉ／Ｆ４０１を通じて送信する処理を行う。
【００６２】
ハンドセット４０３は、スピーカ（受話器）とマイクロホン（送話器）とを備える。コーデック４０４は、パケット処理部４０２においてパケット分解されて復号化された音声データの供給を受けて、これを圧縮伸長してアナログ音声信号に変換し、オフフック状態のハンドセット４０３のスピーカに供給する。これにより、相手先からの音声がハンドセット４０３のスピーカから放音される。また、コーデック４０４は、オフフック状態のハンドセット４０３のマイクロホンにより収音されたアナログ音声信号をデジタル信号に変換し、これをデータ圧縮してパケット処理部４０２に供給する。パケット処理部４０２は、上述もしたようにコーデック４０４からの音声データを暗号化すると共にパケット化して、これを接続Ｉ／Ｆ４０１及び接続端４０１Ｔを通じて相手先に送信する。
【００６３】
操作入力部４０５と操作入力インターフェース（以下、操作入力Ｉ／Ｆと記載する。）４０６とは、使用者からの操作入力を受け付けて、受け付けた情報を制御部４２０に提供する。操作入力部４０５には、フレキシブルキーＦＫ１〜ＦＫ８やテンキーや発信、応答、保留などのいくつかのファンクションキーが設けられている。ディスプレイコントローラ４０７とディスプレイ４０８とは、制御部４２０の制御の下、種々の情報をディスプレイ４０８の表示画面に表示する処理を行う。ディスプレイ４０８には、入力した相手先の電話番号、発信元の電話番号や名称、ガイダンスメッセージ、警告メッセージなど、種々の情報の表示が可能にされる。
【００６４】
リンガ４０９は、制御部４２０の制御の下、着信時において着信音を放音させるものである。また、ＬＥＤ部４１０は、複数のＬＥＤを備え、制御部４２０の制御の下にＬＥＤの点灯、点滅等により、例えば、オフフック状態の通知、着信の通知、使用回線の通知、保留状態の通知等、種々の状態を使用者に通知するものである。プログラムメモリ４１１は、ＩＰ電話機４において実行されるプログラムを記憶保持する書き換え可能な不揮発性メモリである。
【００６５】
そして、プログラム更新処理部４３０が、音声通話機能のみを備えたこの実施の形態のＩＰ電話機４において、プログラムメモリ４１１に記録されているプログラムの更新を可能にする部分である。プログラム更新処理部４３０は、情報通知部４３１、ＣＮＧ信号確認部４３２、ＣＥＤ信号送信部４３３、無効化処理部４３４、プログラム取得部４３５、継続・終了処理部４３６を備える。
【００６６】
情報通知部４３１は、制御部４２０の制御の下、所定のタイミングで自機の機種に対応するサーバ１に割り当てられている電話番号（特定電話番号）を用いて発信する。この際に、情報通知部４３１は、電話番号に続く３桁のサブアドレスで、プログラムメモリ４１１に保持しているプログラムのバージョンを通知する。なお、当該特定話番号は、制御部４２０の不揮発性メモリに事前に登録されている。これにより、サーバ１のプログラム確認部１０７が機能して、発信元のＩＰ電話機４に対して提供すべきプログラムが存在するか確認が行われる。提供すべきプログラムが存在する場合には、ＩＰ電話機４とサーバ１との間に通話回線が接続される。そして、発信元のＩＰ電話機４に対して提供すべきプログラムが存在する場合には、サーバ１はＣＮＧ信号を送信して来る。
【００６７】
このため、制御部１０２の制御の下、ＣＮＧ信号確認部４３２が機能して、パケット処理部４０２からの音声データをチェックし、ＣＮＧ信号が送信されてきているかどうかを確認する。ＣＮＧ信号が送信されてきていること、すなわち、サーバ１からのＣＮＧ信号を受信したことを確認した場合には、これを制御部４２０に通知する。この場合、制御部４２０の制御の下、ＣＥＤ信号送信部４３３が機能して、ＣＮＧ信号をサーバ１に送信する。更に、制御部４２０の制御の下、無効化処理部４３４が機能して、例えば、パケット処理部４０２において、受信した音声データに施されるエコーキャンセラ処理やＰＬＣ処理を行わないようにする。すなわち、無効化処理部４３４は、エコーキャンセラ処理やＰＬＣ処理の実行を停止させる。
【００６８】
そして、ＣＮＧ信号とＣＥＤ信号の送受の後においては、サーバ１よりＲＴＰパケットにより音声データの場合と同様にしてプログラムが送信されてくる。このため、ＲＴＰパケットにより送信されて来るプログラムは、パケット処理部４０２において分離されて暗号解読され、プログラム取得部４３５に供給される。プログラム取得部４３５は、供給されたプログラムを一時記憶するメモリを備え、不足なくプログラムが揃ったら、これをプログラムメモリ４１１に記録して実行可能にする。
【００６９】
継続・終了処理部４３６は、複数の部分に分割されて提供されるプログラムを、段階的に取得するため、サーバ１への発信、プログラム受信、回線切断を繰り返すように、プログラム更新処理部４３０の各部を制御する。また、プログラムの全体の提供が終了したことの通知をサーバ１から受けた場合には、プログラム更新処理部４３０の各部を制御し、プログラムの更新処理を終了させる。
【００７０】
このように、この実施の形態のＩＰ電話機４は、自機からサーバ１に対して発信することにより、サーバ１と協働し、自機に対して提供すべきプログラムがサーバ１に存在する場合に、その提供を受けて古いプログラムを新しいプログラムに更新できる。
【００７１】
［電話システムで行われるプログラムのダウンロード処理］
次に、上述した構成を有するサーバ１、主装置３、ＩＰ電話機４によって構成される、この実施の形態の電話システムにおいて、ＩＰ電話機のプログラムの更新を行う場合の処理について説明する。図８、図９は、この実施の形態の電話システムで行われるプログラムの更新を行う場合の処理を説明するためのシーケンス図である。
【００７２】
まず、主装置３に接続されたＩＰ電話機４の制御部４２０は、起動されると、予め制御部４２０の例えば不揮発性メモリに記録されている特定電話番号を用いて、サーバ１に対して発信を行うようにする（ステップＳ１）。特定電話番号は、上述もしたように、ＩＰ電話機４の機種に対応して予め決められたものである。このステップＳ１の処理により、ＩＰ電話機４の制御部４２０は、ＩＮＶＩＴＥメッセージを形成して、主装置３を通じてサーバ１に送信する（ステップＳ２）。そして、サーバ１が当該ＩＮＶＩＴＥメッセージに応答して、通話回線を接続したことをＩＰ電話機４が確認すると、ＩＰ電話機４はＣＡＮＣＥＬメッセージを送信して、接続した通話回線を切断（解放）する（ステップＳ３）。
【００７３】
一方、サーバ１は、ＩＰ電話機４からのＩＮＶＩＴＥメッセージに含まれる送信元を特定する識別子として例えば送信元のＩＰ電話機４のＭＡＣアドレスと、当該特定電話番号とを対応付けて、記憶装置１０３に登録する（ステップＳ４）。ステップＳ４で登録された情報は、ＩＰ電話機４からの発信を受け付けた場合の認証処理に用いることができる。すなわち、特定電話番号に電話を掛けてきたＩＰ電話機４が、識別子として例えばＭＡＣアドレスが登録されているＩＰ電話機４であれば、通話回線の接続を維持するが、そうでなければ通話回線を切断するといった対応が可能となる。
【００７４】
この後、ＩＰ電話機４は、制御部４２０の制御の下、情報通知部４３１が機能して、定期的に、ステップＳ１で用いた特定電話番号に、自機が保持するプログラムのバージョンをサブアドレスとして付加して、サーバ１に発信する（ステップＳ５）。これにより、ＩＮＶＩＴＥメッセージがサーバ１に送信される（ステップＳ６）。サーバ１では、ステップＳ４において記憶装置１０３に登録した特定電話番号と例えばＭＡＣアドレスとに基づいて、通話回線を接続すべきＩＰ電話機か否かの認証を行って、認証が取れた場合には通話回線を接続するようにでき、取れなかった場合には、着信を拒否することができる。なお、以下においては説明を簡単にするため、ＩＰ電話機４から発信があった場合に、サーバ１では全て認証が取れたものとして説明する。
【００７５】
そして、サーバ１では、プログラム確認部１０７が機能し、着信があった電話番号と、サブアドレスとして通知されたプログラムバージョンとに基づいて、機種別バージョンテーブル１０４を参照する。そして、発信元のＩＰ電話機４に提供すべきプログラムが存在するかを確認する（ステップＳ７）。ステップＳ７の確認処理において、発信元のＩＰ電話機４に提供すべきプログラムが存在しないと確認したとする。この場合、制御部１０２は、応答コード「５０３（サービス利用不可）」を、例えば「ｒｅｔｒｙａｆｔｅｒ」付きで返信し（ステップＳ８）、接続した通話回線を切断する。
【００７６】
なお、「ｒｅｔｒｙａｆｔｅｒ」は、ＷｅｂクライアントであるＩＰ電話機４に対して時間を待ってから再度試行することを伝える場合に使用するＨＴＴＰヘッダであり、再試行する具体的な時間の指定や何秒後に再試行といった時間情報が付加されるものである。これにより、ＩＰ電話機４は、指示された時間において、サーバ１に発信を行うようにすることができる。もちろん、「ｒｅｔｒｙａｆｔｅｒ」が存在しない場合でも、ＩＰ電話機４の制御部４２０の制御の下、例えば、毎日、午前１時に確認を行うようにするといったことも可能である。
【００７７】
そして、説明したステップＳ５〜ステップＳ８の処理が何回か繰り替えされた後、図９の示す処理に進んだとする。ＩＰ電話機４は、制御部４２０の制御の下、情報通知部４３１が機能して、再度、ステップＳ１で用いた特定電話番号に、自機が保持するプログラムのバージョンをサブアドレスとして付加して、サーバ１に発信する（ステップＳ１１）。これにより、ＩＮＶＩＴＥメッセージがサーバ１に送信される（ステップＳ１２）。
【００７８】
サーバ１では、プログラム確認部１０７が機能し、着信があった電話番号と、サブアドレスとして通知されたプログラムバージョンとに基づいて、機種別バージョンテーブル１０４を参照する。そして、発信元のＩＰ電話機４に提供すべきプログラムが存在するかを確認する（ステップＳ１３）。ステップＳ１３の確認処理において、発信元のＩＰ電話機４に提供すべきプログラムが存在すると確認したとする。この場合、サーバ１は、ペイロードにＣＮＧ信号を挿入し、応答コード「１８３（セッション進行中）」のＲＴＰパケットを形成し、これを「ＳＤＰ」付きで接続している通話回線を通じてＩＰ電話機４に送信する（ステップＳ１４）。この処理は、制御部１０２の制御の下、ＣＮＧ信号送信部１１１が機能して行われる。
【００７９】
なお、ＳＤＰ（Session Description Protocol）は、セッション記述プロトコルを意味し、音声、映像、データのストリーム内容を示すため、使用する帯域幅、符号化方法、符号化のパラメタ、フレームレートなどを記述するものである。ＳＩＰメッセージの中にＳＰＤを入れて送ることで、能力（性能）交換と最適モードの決定を行うことができるようにされる。
【００８０】
一方、ステップＳ１２において、ＩＮＶＩＴＥメッセージを送信したＩＰ電話機４は、制御部４２０の制御の下、ＣＮＧ信号確認部４３２が、パケット処理部４０２からの音声データに基づいて、ＣＮＧ信号が送信されてきたかを監視している。ＣＮＧ信号確認部４３２が、サーバ１からのＣＮＧ信号を確認した場合には、これを制御部４２０に通知する。この場合、制御部４２０は、ＣＥＤ信号送信部４３３を制御して、ペイロードにＣＥＤ信号を挿入したＲＴＰパケットを形成し、これを接続している通話回線を通じてサーバ１に送信する（ステップＳ１５）。更に、制御部４２０の制御の下、無効化処理部４３４が機能し、例えば、パケット処理部４０２において、受信したＲＴＰパケットのペイロードのデータに対してエコーキャンセラやＰＬＣを行わないようにする。
【００８１】
サーバ１においては、ＣＮＧ信号の送信後、制御部１０２の制御の下、ＣＥＤ信号確認部１１２が機能して、発信元のＩＰ電話機４からのＲＴＰパケットに基づいて、ＣＥＤ信号が送信されてきたかを監視している。ＣＥＤ信号確認部１１２において、ＩＰ電話機４からＣＥＤ信号が送信されてきたことが確認されると、これを制御部１０２に通知する。そして、制御部１０２の制御の下、プログラム提供部１１３が機能して、発信元のＩＰ電話機４に対してプログラムを提供する処理を行う。この場合、プログラム提供部１１３は、提供するプログラムをＲＴＰパケット化して、接続されている通話回線を通じて発信元のＩＰ電話機４に対して伝送する（ステップＳ１６）。
【００８２】
具体的に、プログラム提供部１１３は、発信元のＩＰ電話機４に対して提供すべきプログラムを、機種別プログラムファイル１０５（１）、（２）、（３）、…の中からプログラム確認部１０７によって特定された機種別プログラムファイルから読み出す。そして、プログラム提供部１１３は、当該プログラムを分割し、データ圧縮して暗号化し、ＲＴＰパケット化して、発信元のＩＰ電話機４に伝送する。
【００８３】
発信元のＩＰ電話機４では、継続・終了処理部４３６が機能して、一定時間に渡ってプログラムを受信した場合に、ＣＡＮＣＥＬメッセージを形成し、これをサーバ１に送信して、いったん接続した通話回線を切断する（ステップＳ１７）。長時間に渡り、通話回線を接続したままにするのは、通信コストがかさんだり、たまたま発生した着信に応答することができなったりするなどのことが生じる可能性があるためである。
【００８４】
この後、ＩＰ電話機４では、制御部４２０の制御の下、継続・終了処理部４３６が機能して、一定時間経過後、特定電話番号を用いてサーバ１に再度発信することにより、ＩＮＶＩＴＥメッセージを送信する（ステップＳ１８）。当該ＩＮＶＩＴＥメッセージには、サーバ１からの最後に受信したＲＴＰパケットに記載されている分割番号を含めて送信することにより、プログラムの継続した提供を要求する。
【００８５】
そして、上述した場合と同様に、サーバ１からＣＮＧ信号を発信元のＩＰ電話機４に送信し（ステップＳ１９）、ＩＰ電話機４からＣＥＤ信号を送信すると共に、エコーキャンセラ、ＰＬＣを無効化し（ステップＳ２０）する。そして、サーバ１から前回送信済みのプログラムに続くプログラムを、ＲＴＰパケット化してＩＰ電話機４に伝送する（ステップＳ２１）。この後、発信元のＩＰ電話機４は、一定時間に渡ってプログラムを受信した場合に、ＣＡＮＣＥＬメッセージを形成し、これをサーバ１に送信して、いったん接続した通話回線を切断する（ステップＳ２２）。
【００８６】
このようにして、ステップＳ１８〜ステップＳ２２の処理を発信元のＩＰ電話機４に提供し終えるまで繰り返す。そして、ＩＰ電話機４の継続・終了処理部４３６が機能して、一定時間経過後、特定電話番号を用いてサーバ１に再度発信することにより、ＩＮＶＩＴＥメッセージを送信する（ステップＳ３１）。このとき、サーバ１のプログラム提供部１１３が提供すべきプログラムの全てを提供した状態になっていたとする。この場合には、プログラム提供部１１３は、応答コード「４８７（リクエスト中止）」を、通信Ｉ／Ｆ１０１を通じて発信元のＩＰ電話機４に送信する（ステップＳ３２）。
【００８７】
応答コード「４８７（リクエスト中止）」を受信したＩＰ電話機４は、提供されるべきプログラムの全部を受信したと判別し、継続・終了処理部４３６が機能して、接続している通話回線を切断する。そして、プログラム取得部４３５は、提供されるべきプログラムの全部を適切に取得していることを確認し、これをプログラムメモリ４１１に記録して、プログラムの更新処理を終了する。
【００８８】
このように、この実施の形態の電話システムにおいては、ＩＰ電話機４が、インターネットを通じてのデータの送受信を行うことができず、音声通話しかできないものであっても、ＲＴＰパケットを利用したプログラム更新ができるようにされる。
【００８９】
［プログラム更新に用いられるＲＴＰパケット］
図１０〜図１２は、音声通話とプログラム更新通話で用いられるＲＴＰパケットの違いを説明するための図である。図１０、図１１に示すように、ＲＴＰパケットのヘッダには、「ｖｅｒｓｉｏｎ（ｖ）」、「ｐａｄｄｉｎｇ（ｐ）」、「ｅｘｔｅｎｓｉｏｎ（ｘ）」、「ｃｓｒｃ  ｃｏｕｎｔ（ｃｃ）」、「ｍａｒｋｅｒ（ｍ）」、「ｐａｙｌｏａｄ  ｔｙｐｅ」、「ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ」、「ｔｉｍｅｓｔａｍｐ」、「ｓｓｒｃ」の各項目を有する。
【００９０】
そして、図１０に示すように、「ｖｅｒｓｉｏｎ（ｖ）」、「ｐａｄｄｉｎｇ（ｐ）」、「ｅｘｔｅｎｓｉｏｎ（ｘ）」、「ｃｓｒｃ  ｃｏｕｎｔ（ｃｃ）」の４つの項目については、音声通話でもプログラム更新用通話でも変わらない（同じである）。しかし、「ｍａｒｋｅｒ（ｍ）」については、サーバ１は、ＣＮＧ信号送信中と無効データ送信中の場合には「０（ゼロ）」を送信し、プログラム送信中の場合には「１」を送信する。
【００９１】
一方、「ｍａｒｋｅｒ（ｍ）」について、ＩＰ電話機４は、サーバ１からの「ｍａｒｋｅｒ（ｍ）」が「０（ゼロ）」の場合には、同じく「０（ゼロ）」を送信する。しかし、ＩＰ電話機４は、サーバ１からの「ｍａｒｋｅｒ（ｍ）」が「１」の場合には、サーバ１からＲＴＰパケットを適切に受信して、復号化が成功し、ペイロードで伝送されたプログラムを取得できた場合には、「１」を送信する。逆に、ペイロードで伝送されたプログラムを取得できなかった場合には、「０（ゼロ）」を送信する。
【００９２】
このように、サーバ１とＩＰ電話機４とで異なる情報を送受できるのは、通話回線が接続されているからであり、通常の音声通話の場合と同様に、双方向にＲＴＰパケットの送受信ができる。そして、サーバ１は、プログラムを送信しているために、「ｍａｒｋｅｒ（ｍ）」を「１」にして送信したのに、ＩＰ電話機４から「ｍａｒｋｅｒ（ｍ）」が「０（ゼロ）」のＲＴＰパケットが返ってきたとする。この場合には、当該プログラムを送信したＲＴＰパケットの再送を行うことができる。
【００９３】
また、図１１に示すように、「ｐａｙｌｏａｄ  ｔｙｐｅ」は、音声通話でもプログラム更新用通話でも変わらない（同じである）。しかし、「ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ」は、サーバ１もＩＰ電話機４も「０（ゼロ）」から開始する。また、「ｔｉｍｅｓｔａｍｐ」は、サーバ１からは送信対象のプログラムの分割番号を送信する。一方、ＩＰ電話機４は、直前にサーバ１から受信したＲＴＰパケットの「ｔｉｍｅｓｔａｍｐ」によって提供されたプログラムの分割番号を返信する。これにより、分割されたプログラムのどこまでが、ＩＰ電話機４によって取得されているのかをサーバ１が把握することができる。
【００９４】
「ｓｓｒｃ」については、サーバ１、ＩＰ電話機４ともデータ復号化の鍵を伝送する。これにより、ＲＴＰパケットとして伝送されるプログラムを暗号化して安全に伝送し、これを受信して復号化し、適切に利用することができる。このように、ＲＴＰパケットのヘッダの各項目を適切に使用することにより、ＲＴＰパケットを用いてプログラムを伝送することが可能になる。
【００９５】
そして、ＲＴＰパケットにおいて、実際にプログラムを伝送する部分であるペイロードについて、図１２に示すように使用する。すなわち、ペイロードでは、上述もしたように、サーバ１からはＣＮＧ信号かプログラムが挿入（記載）されて伝送される。なお、プログラムについては、１５６ビットの暗号化したデータをいわゆるｚｉｐ形式のフォーマットで記載すると共に、４ビットのチェックサム値を付加されたものとなる。また、ペイロードでは、ＩＰ電話機４からはＣＥＤ信号が挿入（記載）されて伝送される。
【００９６】
より具体的には、図１２に示すように、通話開始時においては、サーバ１からはＣＮＧ信号がみなし音声としてペイロードに挿入されて伝送され、ＩＰ電話機４からはＣＥＤ信号がみなし音声としてペイロードに挿入されて伝送される。また、通話中期においては、サーバ１は、提供対象のプログラムを所定の伝送単位に分割し、これを暗号化すると共にｚｉｐ形式のフォーマットにし、これにチャックサム値を付加して、ペイロードに挿入して伝送する。
【００９７】
なお、図１２に示すように、通話中期においては、上述したＲＴＰヘッダの「ｍａｒｋｅｒ（ｍ）」によってＩＰ電話機４から伝送されるＲＴＰパケットの受信成功応答／受信失敗応答を定期的に確認し、失敗している場合には、サーバ１は再送処理を行う。この場合、ＩＰ電話機４から「ｔｉｍｅｓｔａｎｐ」により伝送されて来る分割番号が、送信開始データを示すものとなる。また、サーバ１からＩＰ電話機４へのプログラムの伝送中においては、ＩＰ電話機４からみなし音声として提供すべきプログラムなどのデータは存在しない。このため、ＩＰ電話機４からサーバ１に対してみなし音声としてプログラムなどのデータを送信することはない。すなわち、「Don’t Care」となる。
【００９８】
また、サーバ１からＩＰ電話機４までの経路が、広域ＬＡＮのようにイーサーネット（登録商標）で接続されている場合には、途中でＲＴＰパケットが変化することはないので、図１０〜図１２を用いて説明したようにＲＴＰパケットを形成すればよい。しかし、途中にイーサーネット（登録商標）以外の規格のネットワークが介在した場合には、ＲＴＰパケットのヘッダが変化してしまう可能性がある。
【００９９】
このため、サーバ１からＩＰ電話機４までの経路が、広域ＬＡＮのようにイーサーネット（登録商標）で接続されていない場合には、プログラムの伝送を適切に行うために、以下のような対応をとる。すなわち、サーバ１は、提供対象のプログラムを上述したように、ＲＴＰパケット化してＩＰ電話機４に伝送する。そして、ＩＰ電話機４は、受信したＲＴＰパケットを自機に取り込むと共に、その同じＲＴＰパケットをサーバ１に返信する。これにより、サーバ１は、送信したＲＴＰパケットと同一のＲＴＰパケットを受信した場合には、当該ＲＴＰパケットの伝送が成功したと判別できる。これを繰り返すことにより、伝送対象のプログラムの整合性を担保することができる。
【０１００】
［実施の形態の効果］
この実施の形態の電話システムによれば、ＲＴＰパケットを用いた音声通話機能しか備えないＩＰ電話機４に対しても、ＲＴＰパケットによりプログラムをみなし音声データとして提供し、プログラムの更新を行うようにできる。
【０１０１】
この場合、プログラムの提供元であるサーバ１とプログラムの提供先であるＩＰ電話機４との間では、ＣＮＧ信号とＣＥＤ信号の送受信を行うことによって、従来からあるファクシミリの送受信環境を形式的に形成する。これにより、受信側のＩＰ電話機４において、受信した音声データに対してエコーキャンセラやＰＬＣといった、本来音声データに施される適正化処理を施さないようにできる。従って、みなし音声データとして送信されて来るプログラムが受信側で変化しないようにできる。
【０１０２】
また、ＲＴＰパケットのヘッダを利用することにより、プログラムを複数に分割して伝送する場合の伝送の経過や伝送の成否をサーバ１において把握することができる。これにより、適切に伝送されなかったプログラムの部分を正確に把握し、その部分の再送を適切に行うこともできる。
【０１０３】
また、プログラムの提供を受けるＩＰ電話機４がサーバ１に発信して、自機の機種及びプログラムバージョンを通知して、新たなプログラムがあるか否かを問い合わせる。このため、個別の電話番号を備えないためにサーバ１からアクセスすることができないＩＰ電話機４のそれぞれに対して、プログラムの更新を行うようにすることができる。
【０１０４】
このように、従来から用いられているＲＴＰパケットを使用し、ＣＮＧ信号、ＣＥＤ信号を利用することで、新たな制御信号を形成することもなく、ＩＰ電話機４がプログラムをダウンロードして更新することができる。
【０１０５】
［変形例］
なお、上述した実施の形態では、主装置３に収容されたＩＰ電話機４のそれぞれが、自機に搭載されたプログラムを更新する場合を例にして説明したが、これに限るものではない。音声通話を可能にする機能を備えた主装置３も、ＩＰ電話機４の場合と同様にして、自機に搭載されたプログラムを、新たに提供されるプログラムに更新することができる。
【０１０６】
また、主装置３に接続されたＩＰ電話機４だけでなく、例えば、家庭で用いるＩＰ電話機４の場合と同様にして、自機に搭載されたプログラムの更新を行うことができる。
【０１０７】
また、上述した実施の形態では、いわゆるファームウェアなどのプログラムの更新を行う場合を例にして説明したが、これに限るものではない。例えば、各種の処理において必要になるプログラム以外の固定的に用いるデータを更新する場合にも、この発明を用いることができる。
【０１０８】
また、例えば「０１２０」といった特定の電話番号を利用することにより、着信先が通話料金を負担する電話会社が提供するサービスを利用して、ＩＰ電話機４などの電話関係装置がサーバ１に電話を掛けてプログラムの更新を行うようにすることも可能である。この他にも、ＩＰ電話機４などの電話関係装置からサーバ１に電話を掛けた場合には、通信に掛かる費用は、プログラムを提供する側が負担できるようにする種々の方式を採用できる。
【０１０９】
この発明は、少なくともＲＴＰパケットのような、音声データの送受が可能なパケットを送受することができる主装置やＩＰ電話機などの電話システムを構成するために用いられる電話関連装置に提供することができる。
【０１１０】
また、上述した実施の形態では、ＲＴＰパケットを送受できる場合を例にして説明したが、これに限るものではない。ＵＤＰやＲＴＰの後継プロトコルや拡張プロトコル、その他のプロトコルを用いる場合であっても、少なく問いも音声をパケット化して送受することにより音声通話が可能な環境で動作する種々の電話システムにこの発明を適用できる。
【０１１１】
［その他］
上述した実施の形態の説明からも分かるように、請求項の情報通知手段の機能は、実施の形態のＩＰ電話機４（以下、ＩＰ電話機４と記載する。）の情報通知部４３１が実現している。また、請求項のＣＮＧ信号確認手段の機能は、ＩＰ電話機４のＣＮＧ信号確認部４３２が実現している。また、請求項のＣＥＤ信号送信手段の機能は、ＩＰ電話機４のＣＥＤ信号送信部４３３が実現している。また、請求項の無効化手段の機能は、ＩＰ電話機４の無効化処理部４３４が実現している。また、請求項のプログラム取得手段の機能は、ＩＰ電話機４のプログラム取得部４３５が実現している。
【０１１２】
また、請求項のプログラム確認手段の機能は、実施の形態のプログラム提供サーバ（以下、サーバと記載する。）１のプログラム確認部１０７が実現し、請求項のＣＮＧ信号送信手段の機能は、サーバ１のＣＮＧ信号送信部１１１が実現している。また、請求項のプログラム提供手段の機能は、サーバ１のプログラム提供部１１３が実現している。
【０１１３】
また、図８、図９のシーケンス図を用いて行うプログラムの更新処理が、この発明による電話システムにおけるプログラムの更新方法の一実施の形態に対応している。また、サーバ１の登録処理部１０６、プログラム確認部１０７、ＣＮＧ信号送信部１１１、ＣＥＤ信号確認部１１２、プログラム提供部１１３、提供終了処理部１１４の各機能は、サーバ１の制御部１０２で実行されるプログラムにより、制御部１０２の機能として実現することもできる。
【０１１４】
また、ＩＰ電話機４の情報通知部４３１、ＣＮＧ信号確認部４３２、ＣＥＤ信号送信部４３３、無効化処理部４３４、プログラム取得部４３５、継続・終了処理部４３６の各機能は、ＩＰ電話機４の制御部４２０で実行されるプログラムにより、制御部４２０の機能として実現することもできる。
【符号の説明】
【０１１５】
１…プログラム提供サーバ、１０１Ｔ…接続端、１０１…通信Ｉ／Ｆ、１０２…制御部、１０３…記憶装置、１０４…機種別バージョンテーブル、１０５（１）、１０５（２）、１０５（３）、…機種別プログラムファイル、１０６…登録処理部、１０７…プログラム確認部、１１０…プログラム提供処理部、１１１…ＣＮＧ信号送信部、１１２…ＣＥＤ信号確認部、１１３…プログラム提供部、１１４…提供終了処理部、２…電話網、３…主装置、３０１Ｔ…接続端、３０１…通信Ｉ／Ｆ、３０２…制御部、３０３…記憶装置、３０４…アドレス管理ＤＢ、３０５…接続Ｉ／Ｆ、３０６…呼制御部、３０７…表示等制御部、３１０…プログラム更新処理部、４、４（１）、４（２）、…ＩＰ電話機、４０１Ｔ…接続端、４０１…接続Ｉ／Ｆ、４０２…パケット処理部、４０３…ハンドセット、４０４…コーデック、４０５…操作入力部、４０６…操作入力Ｉ／Ｆ、４０７…ディスプレイコントローラ、４０８…ディスプレイ、４０９…リンガ、４１０…ＬＥＤ部、４１１…プログラムメモリ、４２０…制御部、４３０…プログラム更新処理部、４３１…情報通知部、４３２…ＣＮＧ信号確認部、４３３…ＣＥＤ信号送信部、４３４…無効化処理部、４３５…プログラム取得部、４３６…継続・終了処理部
【図１】
2019201376.tif 000003
【図２】
2019201376.tif 000004
【図３】
2019201376.tif 000005
【図４】
2019201376.tif 000006
【図５】
2019201376.tif 000007
【図６】
2019201376.tif 000008
【図７】
2019201376.tif 000009
【図８】
2019201376.tif 000010
【図９】
2019201376.tif 000011
【図１０】
2019201376.tif 000012
【図１１】
2019201376.tif 000013
【図１２】
2019201376.tif 000014