(57)【要約】ネットワーク器具（１００）に、この器具（１００）を、パケットデータネットワークにデータパケットを送受信するデータネットワークを結合するネットワークコントローラサブシステム（１１０）を設ける。デジタル信号処理サブシステム（１２０）は、ネットワークコントローラサブシステム（１２０）に結合される。信号変換サブシステム（１３０）はデジタル信号処理サブシステム（１２０）に結合され、ユーザインターフェイスサブシステム（１６０）は信号変換サブシステム（１２０）とデジタル信号処理サブシステム（１２０）とに結合される。デジタル信号処理サブシステム（１２０）は、着呼の検出、電話セッションの初期化、および好適にはアドバンスド電話機能の実現などの能力を持つコンピュータプログラムの制御下において操作する。
2004500744.tif 000002
【特許請求の範囲】
【請求項１】
パケット化したデータをパケットデータネットワークを越えて提供するネットワーク器具であって、
前記パケットデータネットワークに結合されたネットワークコントローラサブシステムと、
着呼を検出し電話セッションを開始するプログラムを含む、前記ネットワークコントローラサブシステムに結合されたデジタル信号処理サブシステムと、
前記デジタル信号処理サブシステムに結合された信号変換サブシステムと、
前記信号変換サブシステムおよび前記デジタル信号処理サブシステムに結合されたユーザインターフェイスサブシステムと、
を含むネットワーク器具。
【請求項２】
請求項１に記載のネットワーク器具において、
前記デジタル信号処理サブシステムは、
デジタル信号処理プロセッサ（ＤＳＰ）と、前記デジタル信号処理プロセッサに結合された１つまたは複数の記憶装置と、を含む、
ことを特徴とするネットワーク器具。
【請求項３】
請求項２に記載のネットワーク器具において、
前記コンピュータプログラムは、電話セッションを検出しおよび開始し、電話セッション制御を実行する前記セッション開始プロトコルを実現する、
ことを特徴とするネットワーク器具。
【請求項４】
請求項３に記載のネットワーク器具において、
固有のＳＩＰアドレスが、前記ネットワーク器具に関連付けられ、
前記ＳＩＰアドレスは、前記記憶装置のうちの少なくとも１つに格納されている、
ことを特徴とするネットワーク器具。
【請求項５】
請求項４に記載のネットワーク器具において、
前記パケット化されたデータはオーディオ（ａｕｄｉｏ）データを含み、
前記ユーザインターフェイスサブシステムは、
ハンドセットおよびディスプレイ装置を含み、
前記ハンドセットは、入力装置と、マイクロホンと、スピーカとを含むハンドセットとを含む、
ことを特徴とするネットワーク器具。
【請求項６】
請求項５に記載のネットワーク器具において、
前記コンピュータプログラムは
発呼者からの前記ネットワーク器具に対する電話を検出したうえで、電話セッションを自動的に開始し、それと共に当該電話セッション中は、前記マイクロホンを有効化し、前記スピーカを無効化するモニター機能を実行する、
ことを特徴とするネットワーク器具。
【請求項７】
請求項６に記載のネットワーク器具において、
少なくとも１人の承認された発呼者の識別基準が、前記記憶装置の少なくとも１つに格納され、
前記デジタル信号プロセッサが、識別基準を前記発呼者から受信し、前記受信された識別基準が、前記少なくとも１つの所定の承認された発呼者の前記格納されている識別基準のうちの少なくとも１つに合致する場合にのみ、前記モニタ機能を活動化する、
ことを特徴とするネットワーク器具。
【請求項８】
請求項７に記載のネットワーク器具において、
前記識別基準が、
名前、ＳＩＰアドレス、およびパスワードを含む群から選ばれる、
ことを特徴とするネットワーク器具。
【請求項９】
請求項３に記載のネットワーク器具において、
前記コンピュータプログラムは、
少なくとも１つの転送ＳＩＰアドレスが、前記記憶装置の少なくとも１つに格納され、この少なくとも１つの転送ＳＩＰアドレスは、前記ユーザインターフェイスサブシステムを介してユーザによって選択可能であり、発呼者からの前記ネットワーク器具に対する電話を検出したうえで、この電話を前記選択された転送ＳＩＰアドレスへリダイレクトする、ような電話転送を実現する、
ことを特徴とするネットワーク器具。
【請求項１０】
請求項９に記載のネットワーク器具において、
前記電話転送機能は、前記ユーザからの入力に応答して所定の時間の間活動化される、
ことを特徴とするネットワーク器具。
【請求項１１】
請求項９に記載のネットワーク器具において、
前記ネットワーク器具に結合された、人が不在であることを検出するセンサをも含み、
前記センサからの信号に応答して、前記電話転送機能を活動化する、
ことを特徴とするネットワーク器具。
【請求項１２】
請求項１に記載のネットワーク器具において、
前記ユーザインターフェイスサブシステムは出力装置を含み、
前記コンピュータプログラムは、ストリーミングデータを前記ネットワークから受信し、前記出力装置に供給される知覚可能な信号に変換する、ストリーミングメディアモードを実現する、
ことを特徴とするネットワーク器具。
【請求項１３】
請求項１２に記載のネットワーク器具において、
前記出力装置はスピーカを含み、
電話セッションが進行中でないときは、ストリーミングデータを前記ネットワークから受信し、前記スピーカに供給されるオーディオ信号に変換する、
ことを特徴とするネットワーク器具。
【請求項１４】
請求項１３に記載のネットワーク器具において、
前記コンピュータプログラムは、新たな電話セッションが開始した場合は、ストリーミングメディアモードから元に戻す、
ことを特徴とするネットワーク器具。
【請求項１５】
請求項１２に記載のネットワーク器具において、
前記出力装置はスピーカを含み、
ストリーミングデータを前記ネットワークから選択的に受信し、前記スピーカに供給されるオーディオ信号に変換する、
を特徴とするネットワーク器具。
【請求項１６】
請求項１２に記載のネットワーク器具において、
前記ストリーミングデータは前記ネットワークから受信され、電話セッション中にその他の装置へ選択的に転送され、このストリーミングデータはそこで前記装置によって知覚可能な信号に変換可能である、
ことを特徴とするネットワーク器具。
【請求項１７】
請求項１２に記載のネットワーク器具において、
前記出力装置はビデオディスプレイを含み、
ストリーミングデータが、
前記ネットワークから選択的に受信され、および、前記ビデオディスプレイに供給されるビデオ信号に変換される、ストリーミングビデオデータを含む、
ことを特徴とするネットワーク器具。
【請求項１８】
請求項３に記載のネットワーク器具において、
前記ユーザインターフェイスサブシステムが、ディスプレイ装置を含み、
前記デジタル信号プロセッサが、発呼者の前記ＳＩＰアドレスを検出し、前記記憶装置の少なくとも１つに、複数の発呼者ＳＩＰアドレスを格納し、
前記複数の発呼者ＳＩＰアドレスは、前記ディスプレイ装置上に表示可能なものであり、前記ユーザインターフェイスサブシステムからの入力に応じて選択可能なものである、
ことを特徴とするネットワーク器具。
【請求項１９】
請求項３に記載のネットワーク器具において、
前記ユーザインターフェイスサブシステムが、ディスプレイ装置を含み、
前記デジタル信号プロセッサが、前記記憶装置に、複数の着呼（かかってきた）したＳＩＰアドレスを格納し、
前記複数の着呼したＳＩＰアドレスは、首尾よく開始した電話セッションのアドレスに相当するものであり、および、前記ディスプレイ装置上に表示可能なものであり、および、前記ユーザインターフェイスサブシステムからの入力に応じて選択可能なものである、
ことを特徴とするネットワーク器具。
【請求項２０】
請求項１に記載のネットワーク器具において、
前記ネットワークコントローラサブシステムは、イーサネットコントローラおよびサービスフィルターを含む、
ことを特徴とするネットワーク器具。
【請求項２１】
請求項２に記載のネットワーク器具において、
前記デジタル信号処理サブシステムは、
着信オーディオデータをデジタル着信オーディオデータに変換するアナログデジタル（Ａ／Ｄ）コンバータと、
前記Ａ／Ｄコンバータに結合された、前記デジタル着信オーディオデータをコード化するエンコーダと、
前記デジタル信号処理サブシステムから供給された、デジタル送出オーディオ信号をデコードするデコーダと、
前記デコーダに結合された、デジタル送出オーディオ信号を送出オーディオ信号に変換するデジタルアナログ（Ｄ／Ａ）コンバータと、
前記ハンドセット、対応する前記スピーカ、および、マイクロホンに結合された、前記着信オーディオ信号および前記送出オーディオ信号を調整するオーディオ増幅器と、をも含む、
ことを特徴とするネットワーク器具。
【請求項２２】
請求項１に記載のネットワーク器具において、
前記コンピュータプログラムは、
イーサネットプロトコル層と、
前記イーサネットプロトコル層とインターフェイスする、前記イーサネットプロトコル層の上に積み重ねられたインターネットプロトコル（ＩＰ）層と、
前記イーサネットプロトコル層および前記ＩＰ層とインターフェイスする、および、ＩＰアドレスをメディアアクセスコントロール（ＭＡＣ）アドレスに変換する、前記イーサネットプロトコル層の上に積み重ねられたアドレス解決プロトコル（ＡＲＰ）層と、
前記ＡＲＰ層および前記ＩＰ層とインターフェイスする、および、前記電話通信システム内の制御およびアプリケーションデータの伝送をリアルタイムで提供する、前記ＡＲＰ層と前記ＩＰ層との上に積み重ねられたユーザデータグラムプロトコル（ＵＤＰ）層と、
前記ＵＤＰ層とインターフェイスする、および、前記電話通信システム内においてリアルタイムオーディオデータの伝送を提供する、前記ＵＤＰ層の上に積み重ねられたリアルタイムトランスポート（ＲＴＰ）層と、
前記ＵＤＰ層とインターフェイスする、および、前記リアルタイムオーディオデータの登録の信号を送りそれを提供する、前記ＵＤＰ層の上に積み重ねられた１つまたは複数の制御プロトコル層と、
前記ＲＴＰ層とインターフェイスする、および、前記リアルタイムオーディオデータをフォーマットする、前記ＲＴＰ層の上に積み重ねられた１つまたは複数のアプリケーションプロトコル層と、をも含む
ことを特徴とするネットワーク器具。
【請求項２３】
請求項２２に記載のネットワーク器具において、
前記アプリケーションプロトコルはＲＴＳＰ層を含む、
ことを特徴とするネットワーク器具。
【請求項２４】
請求項１に記載のネットワーク器具において、
少なくとも１つのセンサインターフェイス回路をも含み、
前記センサインターフェイス回路は、前記デジタル信号処理サブシステムに機能的に結合され、前記ネットワーク器具をリモートセンサに機能的に結合するためのポートを持つ、
ことを特徴とするネットワーク器具。
【請求項２５】
請求項２４に記載のネットワーク器具において、
前記デジタル信号処理サブシステムは、所定の時間間隔で前記センサインターフェイス回路からデータを取得し、この取得したデータをネットワークパケットデータのようにフォーマットし、このデータを前記ネットワーク上の所定の宛先へ伝送する、
ことを特徴とするネットワーク器具。
【請求項２６】
請求項２４に記載のネットワーク器具において、
前記デジタル信号処理サブシステムは、前記センサインターフェイス回路からほぼ連続でデータを取得し、この取得したデータをネットワークパケットデータのようにフォーマットし、前記取得したデータが少なくとも１つの所定の基準を満たす場合に、このデータを伝送する、
ことを特徴とするネットワーク器具。
【請求項２７】
請求項２４に記載のネットワーク器具において、
前記センサインターフェイス回路は、割り込みサービス要求入力を含み、
前記デジタル信号処理サブシステムは、前記割り込みサービス要求入力の信号に応答して前記センサインターフェイス回路からデータを取得し、この所得下データをネットワークパケットデータのようにフォーマットし、このデータを前記ネットワーク上の所定の宛先へ伝送する、
ことを特徴とするネットワーク器具。
【請求項２８】
請求項２４に記載のネットワーク器具において、
前記コンピュータプログラムは、電話転送機能を含み、
前記電話転送機能は、前記センサインターフェイス回路に供給された信号に応答して選択的に有効化される、
ことを特徴とするネットワーク器具。
【請求項２９】
請求項２８に記載のネットワーク器具において、
前記センサインターフェイス回路に結合され、人の存在を検出する、および、前記電話転送機能を選択的に有効化するための信号を提供するような、センサをも含む、
ことを特徴とするネットワーク器具。
【請求項３０】
パケットデータネットワークシステムであって、
パケット化したデータを受信し生成する、少なくとも１つのデータネットワーク器具を含み、
前記データネットワーク器具は、
前記パケットデータネットワークに結合されたネットワークコントローラサブシステムと、
着呼を検出し、電話セッションを開始するコンピュータプログラムを含む、前記ネットワークコントローラサブシステムに結合されたデジタル信号処理サブシステムと、
前記デジタル信号処理サブシステムに結合された信号変換サブシステムと、
前記デジタル信号処理サブシステムおよび前記信号変換サブシステムに結合されたユーザインターフェイスサブシステムと、
前記データネットワーク器具をネットワークを構築する前記データネットワーク器具に結合されたローカルエリアネットワークと、
音声（ｖｏｉｃｅ）データを通常の電話ネットワークから受信し、パケット化した音声データを前記データネットワーク器具に提供し受信する、前記ローカルエリアネットワークに結合されたゲートウェイと、を含む、
ことを特徴とするパケットデータネットワークシステム。
【請求項３１】
パケットデータネットワークシステムであって、
パケットデータネットワークと、
それぞれが固有のネットワークアドレスを持ち、前記パケットデータネットワークに機能的に結合され、前記ネットワークアドレスによって相互に直接的にアクセス可能である、音声データを含むパケット化したデータを受信し、生成する少なくとも２つのデータネットワーク電話ノードと、
前記パケットデータネットワークに機能的に結合され、前記パケットデータネットワーク上のそれぞれの前記データネットワーク電話ノードによってアクセス可能であり、少なくとも１つのノードの前記固有のネットワークアドレスと少なくとも１つのパラメータとの関連を示す、少なくとも１つのデータベースを持つ、リダイレクト（ｒｅｄｉｒｅｃｔ）サーバと、
を含むことを特徴とするネットワーク器具。
【請求項３２】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記固有のネットワークアドレスがＳＩＰアドレスである、
ことを特徴とするパケットデータネットワークシステム。
【請求項３３】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記少なくとも１つのパラメータは、登録された電話ノードの前記固有のネットワークアドレスに関連付けられた、リダイレクションネットワークアドレスであり、
前記リダイレクトサーバは、リダイレクションネットワークアドレスをこのリダイレクトサーバにアクセスするノードへ提供し、前記登録された電話ノードとの電話を開始する、
ことを特徴とするパケットデータネットワークシステム。
【請求項３４】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記少なくとも１つのパラメータは、登録された電話ノードの前記固有のネットワークアドレスに関連付けられた、リダイレクションネットワークアドレスであり、
前記リダイレクトサーバは、このリダイレクトサーバにアクセスするノードに応答して、前記リダイレクションネットワークアドレスのそれぞれに電話要求ををブロードキャストし、前記登録された電話ノードとの電話を開始し、そして、このリダイレクトサーバにアクセスするサーバと前記第１のリダイレクトネットワークアドレスノードとの間の電話セッションを開始し、前記ブロードキャストに応答する、
ことを特徴とするパケットデータネットワークシステム。
【請求項３５】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記少なくとも１つのパラメータは、登録された電話ノードの前記固有のネットワークアドレスに関連付けられた、リダイレクションネットワークアドレスであり、
前記データベースは、少なくとも第２のパラメータをも含み、
前記リダイレクトサーバは、
前記第２のパラメータに従って、選択されたリダイレクションネットワークアドレスを、このリダイレクトサーバにアクセスするノードに提供し、前記登録された電話ノードと電話を開始する、
ことを特徴とするパケットデータネットワークシステム。
【請求項３６】
請求項３５に記載のパケットデータネットワークシステムにおいて、
前記第２のパラメータは曜日である、
ことを特徴とするパケットデータネットワークシステム。
【請求項３７】
請求項３５に記載のパケットデータネットワークシステムにおいて、
前記第２のパラメータは日時である、
ことを特徴とするパケットデータネットワークシステム。
【請求項３８】
請求項３５に記載のパケットデータネットワークシステムにおいて、
前記第２のパラメータは、前記発呼者の前記ＳＩＰアドレスである、
ことを特徴とするパケットデータネットワークシステム。
【請求項３９】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記第１のパラメータは、前記ノードの物理アドレスおよび名前である、
ことを特徴とするパケットデータネットワークシステム。
【請求項４０】
請求項３１に記載のパケットデータネットワークシステムにおいて、
前記電話ノードの少なくとも１つは、請求項１に記載のネットワーク器具である、
ことを特徴とするパケットデータネットワークシステム。
【請求項４１】
パケットベースの電話通信システムで使用する通信プロトコルであって、
イーサネットプロトコル層と、
前記イーサネットプロトコル層とインターフェイスする、前記イーサネットプロトコル層の上に積み重ねられたインターネットプロトコル（ＩＰ）層と、
前記イーサネットプロトコル層および前記ＩＰ層とインターフェイスする、および、ＩＰアドレスをメディアアクセスコントロール（ＭＡＣ）アドレスに変換する、前記イーサネットプロトコル層の上に積み重ねられたアドレス解決プロトコル（ＡＲＰ）層と、
前記ＡＲＰ層および前記ＩＰ層とインターフェイスする、および、前記電話通信システム内の制御およびアプリケーションデータの伝送をリアルタイムで提供する、前記ＡＲＰ層と前記ＩＰ層との上に積み重ねられたユーザデータグラムプロトコル（ＵＤＰ）層と、
前記ＵＤＰ層とインターフェイスする、および、前記電話通信システム内においてリアルタイムオーディオデータの伝送を提供する、前記ＵＤＰ層の上に積み重ねられたリアルタイムトランスポート（ＲＴＰ）層と、
前記ＵＤＰ層とインターフェイスする、および、前記リアルタイムオーディオデータの登録の信号を送りそれを提供する、前記ＵＤＰ層の上に積み重ねられた１つまたは複数の制御プロトコル層と、
前記ＲＴＰ層とインターフェイスする、および、前記リアルタイムオーディオデータをフォーマットする、前記ＲＴＰ層の上に積み重ねられた１つまたは複数のアプリケーションプロトコル層と、をも含む
ことを特徴とするネットワーク器具。
【請求項４２】
請求項４１に記載の通信プロトコルにおいて、
前記アプリケーションプロトコルはＲＴＳＰ層を含む、
ことを特徴とする通信プロトコル。
【請求項４３】
ネットワーク装置を操作するコンピュータプログラムであって、
割り込みサービスおよび低レベル機能を提供する第１の命令レイヤー（ｌａｙｅｒ）と、
レベル機能を実行する命令およびオペレーティングシステムを含む第２の命令レイヤーと、
電話セッションを検出し開始し、電話セッション制御を実行するセッション始動プロトコルを含み、アプリケーション特有のタスクおよび高レベル機能を実行する第３の命令レイヤーと、
を含む、コンピュータプログラム。
【請求項４４】
請求項４３に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記コンピュータプログラムは、モニタ機能を実現し、
発呼者からの前記ネットワーク器具に対する電話検出したうえで、前記マイクロホンは、自動的に有効化され、前記スピーカーは、前記電話の間は自動的に無効化される、
ことを特徴とするコンピュータプログラム。
【請求項４５】
請求項４４に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
少なくとも１つの承認された発呼者の識別基準が、前記装置に格納され、
発呼者からの識別基準が、受信され、
前記コンピュータプログラムは、所定の承認された発呼者である前記発呼者に応答して、前記モニタ機能を活動化する、
ことを特徴とするコンピュータプログラム。
【請求項４６】
請求項４５に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記識別基準は、
名前、ＳＩＰアドレス、パスワードを含む群から選択される、
ことを特徴とするコンピュータプログラム。
【請求項４７】
請求項４３に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
電話転送機能が提供され、
前記電話転送機能は、
少なくとも１つの転送ＳＩＰアドレスが、前記ネットワーク装置に格納され、この少なくとも１つの前記転送ＳＩＰアドレスは、ユーザによって選択可能であり、発呼者からの前記ネットワーク装置に対する電話を検出したうえで、この電話を前記選択された転送ＳＩＰアドレスへリダイレクトする、
ことを特徴とするコンピュータプログラム。
【請求項４８】
請求項４７に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記電話転送機能は、前記発呼者からの入力に応答して、所定の時間に間活動化される、
ことを特徴とするコンピュータプログラム。
【請求項４９】
請求項４７に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
人の不在を検出するセンサからの信号が、前記コンピュータプログラムへの入力として供給され、
前記電話転送機能が、前記信号に応答して選択的に活動化される、
ことを特徴とするコンピュータプログラム。
【請求項５０】
請求項４３に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記コンピュータプログラムは、
前記ネットワークからストリーミングデータを受信し、前記ネットワーク装置によって知覚可能な信号へ変換する、ストリーミングメディアモードを実現する、ことを特徴とするコンピュータプログラム。
【請求項５１】
請求項５０に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
電話セッションが進行中でないときは、ストリーミングデータを前記ネットワークから受信し、前記ネットワーク装置に供給されるオーディオ信号に変換する、
ことを特徴とするコンピュータプログラム。
【請求項５２】
請求項５１に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記コンピュータプログラムは、新たな電話セッションが開始した場合は、ストリーミングメディアモードから元に戻す、
ことを特徴とするコンピュータプログラム。
【請求項５３】
請求項５０に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記ストリーミングデータは前記ネットワークから受信され、電話セッション中にその他の装置へ選択的に転送され、このストリーミングデータはそこで前記装置によって知覚可能な信号に変換可能である、
ことを特徴とするコンピュータプログラム。
【請求項５４】
請求項５０に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記ネットワーク装置はビデオディスプレイを含み、
ストリーミングデータが、
前記ネットワークから選択的に受信され、および、前記ビデオディスプレイに供給されるビデオ信号に変換される、ストリーミングビデオデータを含む、
ことを特徴とするコンピュータプログラム。
【請求項５５】
請求項４３に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
前記コンピュータプログラムは、
発呼者の前記ＳＩＰアドレスを検出し、前記ネットワーク装置に複数の発呼者ＳＩＰアドレスを格納し、
前記複数の発呼者ＳＩＰアドレスは、前記ネットワーク装置上に表示可能なものであり、前記ユーザインターフェイスサブシステムからの入力に応答して選択可能なものである、
ことを特徴とするコンピュータプログラム。
【請求項５６】
請求項４３に記載のネットワーク装置を操作するコンピュータプログラムにおいて、
複数の発呼者ＳＩＰアドレスが格納され、前記発呼者ＳＩＰアドレスは、
首尾よく開始した電話セッションのアドレスに相当するものであり、および、ディスプレイ装置上に表示可能なものであり、および、前記ユーザインターフェイスサブシステムからの入力に応答して選択可能なものである、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
発明の属する技術分野
本発明は、一般的にインターネットおよびイントラネットの電話に関する。より詳しく言えば、本発明は、ネインターネット／イントラネット通信用のットワーク遠距離通信器具およびシステムに関する。
【０００２】
発明の背景
近年、インターネットは、便利な追加の通信手段からビジネス、教育、技術の分野で不可欠な通信ツールへと発展した。この点で、インターネット部分の成長は、別々の信号ネットワークによって制御された従来の回線交換ネットワークを超える多数の利点をもたらすインターネットに関する。一例を挙げると、人々は、彼らが必要とする品質に最も適切なエンコードや暗号化技法を、より容易に選択および使用をすることが可能になった。例えば、人々は、国際電話をかける場合に、完全トール（通話）品質（ｆｕｌｌ ｔｏｌｌ ｑｕａｌｉｔｙ）を低額で使うことを決めることができるし、一方、リポーターは、記事を電話でラジオ局に伝えるときは、費用を気にせずに完全ＦＭ品質を使うことができる。品質低下しない場合でさえ、従来の６４ｋｂ／ｓの陸上通信線の電話ネットワークとは対照的に、５．３ｋｂ／ｓ（Ｇ．７２３．１）から８ｋｂ／ｓ（Ｇ．７２９）が、トール品質をほぼサポートするのに十分である。この柔軟性は、ネットワークに負荷がかかったとき、例えば自然災害の後に、電話の顧客が、約３ｋｂ／ｓで依然として通信を行うことができ、従って、ネットワーク容量が２０倍になるという利点になる。
【０００３】
電話サービスを既存のインターネットなどのデータネットワークに拡張することは当然であるが、エンド（末端）システムにおいて、インテリジェンス即ち情報処理能力が必要となるという理由からコストが大きな欠点として浮かびあがる。これまでには、基本的なアナログ電話のコストで、低グレードの数マイルの長さのツイストペア線を超えて動作する外部の電源を必要としないパケットボイス「電話」を構築するのは困難であった。
さらに、インターネット電話製品として知られるものの多くは、Ｈ．３２３信号および制御プロトコルに準拠して動作するよう設計されている。Ｈ．３２３プロトコルは、使用や実装するのが困難な複雑なプロトコルである。この複雑さから、異なる実装のＨ．３２３装置が、互換性の問題で悪影響がもたらされ得る。さらに、Ｈ．３２３プロトコルの下で動作する装置は、
相互に直接的に通信することができず、電話は、電話サーバによって処理され、ルート即ち経路選択されなければならない。
従って、低コストであり、簡単な信号プロトコルで動作し、高度な電話機能のセットを多く提供するネットワーク電話器具の必要性が依然としてある。
【０００４】
発明の概要
従来の電話システムや既知のインターネット電話システムの上述した不適当な部分や制限事項は、本発明によって実質的に克服される。本発明の第１の目的としては、インターネットおよびイントラネット遠距離通信ネットワークを越えて使用するパケットベース音声通信システムを提供することである。
本発明のその他の目的は、イーサネットネットワークなどのデータネットワークを越えて使用するパケットデータ電話器具を提供することである。
本発明のさらにその他の目的は、パケットベース遠距離通信システムで使用するコミュニケーションプロトコルを提供することである。
本発明のさらにその他の目的は、電話、「インターネットラジオ」や「インターネットＴＶ」などのその他の連続メディア、或いは、ストリーミングメディアサービスをサポートするインターネットプロトコルアーキテクチャーを提供することである。
本発明のさらにその他の目的は、
その他のネットワーク電話局に直接電話すること、或いは、リダイレクトサーバを介してその他の電話局の人に間接的に電話することができる、低コストのスタンドアローン型ネットワーク電話器具を提供することである。
【０００５】
本発明の第１の実施例によれば、ネットワークとデータパケットを送受信するデータネットワークに結合されたイーサネットコントローラサブシステムなどのネットワークコントローラを含むネットワークパケットデータ電話器具が提供される。デジタル信号処理サブシステムは、ネットワークコントローラサブシステムに結合され、着呼を検出し、電話セッションを開始し、電話機能を実現するコンピュータプログラムの下で動作する。信号変換サブシステムは、デジタル信号処理サブシステムに結合され、デジタルパケット情報をアナログ信号に変換したりその逆を行う。ユーザインターフェイスサブシステムは、信号変換サブシステムおよびデジタル信号処理サブシステムに結合され、ユーザ制御と当該器具に対するフィードバックを提供する。このスタンドアローン型ネットワーク電話装置は、本明細書ではネットワーク電話器具と称することとする。
【０００６】
ネットワーク電話器具のコンピュータプログラムが、セッション開始プロトコル（ＳＩＰ）を実現することが好適である。この場合、固有のＳＩＰアドレスが、装置に関連付けられ、制御はＳＩＰプロトコルに準拠して実行される。
ネットワーク電話器具は、
モニタリング機能、電話転送、ストリーミングオーディオモード、発信信者記録、受信者記録などの高レベルの電話機能を実現することが好適である。
ネットワーク電話器具は、センサなどの遠隔源からの信号を受信するセンサインターフェイス回路を含むことが好適である。遠隔源から受信した信号は、ネットワーク電話器具で処理し、適切なネットワーク宛先へ送信する。
【０００７】
本発明のその他の態様では、パケット遠距離通信システムで使用する通信プロトコルが提供される。この通信プロトコルは、イーサネットプロトコル層、イーサネットプロトコル層とインターフェイスする、即ち接続するイーサネットプロトコル層の上に積み重ねられたインターネットプロトコル（ＩＰ）層、イーサネットプロトコル層とＩＰ層とをインターフェイスし、ＩＰアドレスをメディアアクセスコントロール（ＭＡＣ）アドレスに変換する、イーサネットプロトコル層の上に積み重ねらたアドレス解決プロトコル（ＡＲＰ）層、ＡＲＰ層とＩＰ層とをインターフェイスし、遠距離通信システム内の制御やアプリケーションデータのリアルタイム伝送を提供する、ＡＲＰ層とＩＰ層との上に積み重ねられたユーザデータグラムプロトコル（ＵＤＰ）層、ＵＤＰ層とインターフェイスし、この通信システム内でリアルタイムオーディオデータ伝送を提供する、ＵＤＰ層の上に積み重ねられたリアルタイム伝送プロトコル（ＲＴＰ）層、ＵＤＰ層とインターフェイスし、リアルタイムオーディオデータの登録の信号を出し、これを提供する、ＵＤＰ層の上に積み重ねられた１つまたは複数の制御プロトコル層、および、ＲＴＰ層とインターフェイスし、リアルタイムオーディオデータをフォーマットする、１つまたは複数のアプリケーションプロトコル層を持つ。
【０００８】
本発明のその他の態様では、ネットワーク電話システムアークテクチャーが提供される。本システムは、本ネットワーク電話器具、および／または、ＰＣをネットワーク電話として動作させるソフトウェアや適切なインターフェイス回路が付属する一般用途のパーソナルコンピュータ（ＰＣ）などの、少なくとも２つのネットワーク電話装置を含む。ネットワーク電話装置と共にデータネットワークに結合されたリダイレクト（宛先変更）サーバも提供される。本システムでは、ネットワーク電話装置は、相互に呼びかけて、リアルタイムオーディオ接続を確立することができる。或いは、リダイレクトサーバは、電話をかけた者の電話セッションを開始し、相手先を突きとめ、本人識別をするためにネットワーク電話装置によってアクセスされ得る。リダイレクトサーバを使用して、電話転送、多者電話、ボイスメールなどの高いレベルの電話機能を実現することもできる。
本発明のさらなる目的、機能、利点は、本発明の実施例を説明する付属の諸図面を考慮しつつ以下の詳細な説明から明確なものとなるであろう。
【０００９】
本発明の詳細な説明
本発明およびその利点の完全な理解のために、付属の諸図面を参照しながら本発明を説明する。なお、同様の符号番号は同様の機能を示す。
図１は、従来の電話およびパケット電話コンポーネントを持つ通信システムを示すブロック図である。図１に示すように、本システムは、第１のゲートウェイ１２を介してパケットネットワーク３０に結合された回線交換音声（ｖｏｉｃｅ）ネットワーク２０を含む。この図は、インターネット電話と従来の「平凡な古い型の電話サービス（ＰＯＴＳ）」システムとの間で、少なくとも３つの可能な相互作用：「エンドツーエンド（ｅｎｄ−ｔｏ−ｅｎｄ）」パケット配信、「テールエンドホップオフ（ｔａｉｌ−ｅｎｄ ｈｏｐ ｏｆｆ）」配信、ローカルパケット配信、を示す。「エンドツーエンド」配信では、インターネット電話専用となっているネットワークコンピュータなどのエンドシステム、或いはパーソナルコンピュータ（ＰＣ）を使用して、オーディオをパケット化し、１つまたは複数の再生用の同様のエンドシステムへオーディオパケットを配信する。「テールエンドホップ」配信では、パケットネットワークを使用して長距離音声伝送を行うが、その一方で標準的な回線交換音声回路を使用して、顧客家屋内機器（ＣＰＥ）、即ち、標準的なアナログ電話とパケット電話ゲートウェイとを接続する。「テールエンドホップオフ」は、個々の音声回路、同様にＰＢＸの相互接続に使用することができ、および、従来の長距離電話サービスをバイパスすることを可能にし、同様に、ＰＯＴＳ機器とパケットベースオーディオエンドシステムとの相互接続を可能にする。ローカルパケット配信では、ボイスデータは、パケットオーディオエンドシステムによって生成されるが、回線交換された音声として、専用或いは公衆の設備を越えて伝送される。
【００１０】
図２は、本発明によるパケットデータネットワーク電話システム５０の好適な実施例を示す。パケットデータネットワークシステムは、イーサネットＬＡＮ５２、イーサネット電話５４，５６、５８、ワークステーション６０、およびサーバ６２、イーサネットゲートウェイ６４を含む。イーサネット電話は、ネットワーク装置であり、ネットワーク器具、或いは、適切なコンピュータプログラムの制御の下で動作する音声入出力周辺機器が付属するパーソナルコンピュータシステムなどのスタンドアローン即ち独立の形式をとることができる。このようなパケットデータネットワークアプローチでは、ボイスデータトラヒックが、エンドユーザの直前でパケット化される。例えば、図２のパケットデータネットワーク電話システムは、複数のイーサネットゲートウェイ（図ではただ１つだけ示す）に接続された数ダースの家、事務所、機器を含むことができる。このゲートウェイの各々は、ＣＡＴ−３Ｓの配線距離制限であるネットワークターミネーションユニットから３２８フィートの範囲内に位置する。ゲートウェイは、光ファイバーを通じて近くのスイッチ（図示しない）に順繰りに接続することができる、或いは、図２に示すようにライン６６を介して公衆交換電話網（ＰＴＳＮ）直接的に接続することができる。このアーキテクチャーは、高い帯域幅の顧客と低い帯域幅の顧客とが一緒に、別の配線を通ることなく、適応させることができるという利点がある。交換コストは、帯域幅以外のインターフェイスの回数によって支配されるものであるため、この仕組みは、ユーザあたりでより高い帯域幅（特にピーク帯域幅）を提供するが、未だに交換コストは現行の今日の電話ネットワークと同様のままである。図２のアーキテクチャーでは、各ネットワーク装置は、ネットワークアドレスを含み、各装置は、全ての他のネットワーク装置へネットワークアドレスを用いて直接アクセスすることができる。特定の機能を実現するために特化したサーバを用意することもできるが、電話セッション、即ち、ポイントツーポイントのデータ通信を確立するためにはそのようなサーバは必要ない。
【００１１】
パケットデータネットワークＬＡＮ５２を使用は、従来のＰＣインターフェイスやネットワークハードウェアを使用できるという点で比較的安価な解決策であるということで利点である。パケットデータネットワークＬＮ５２は、様々なメディアを越えて操作され得るものであり、マルチアクセスＬＡＮ上でより多くの装置を容易に追加することが可能となる。ゲートウェイ６４は、簡易パケット音声モジュールとして機能し、ユーザツーネットワーク信号用のＤＴＭＦ認識を実装する単一のＤＳＰとすることができる。
【００１２】
図３は、インターネット電話、および、「インターネットラジオ」や「インターネットＴＶ」などのその他の連続メディア（ストリーミングメディア）サービスを提供するパケットデータネットワークのプロトコルスタック図である。当業者は既知および理解するように、「プロトコル」は、一般的に、コンピュータ間で通信をするための規約のセットである。従って、プロトコルは、フォーマット、タイミング、順序、エラー制御を規定する。用語「スタック」は、プロトコルを処理し、特定のプロトコルの１つまたは複数のセットの使用を可能にする実際のソフトウェアを指す。図３に示す図は、本発明に基づき、様々なプロトコルがどのように相互関連するのかを示す。
【００１３】
図３のプロトコルスタック８０は、幾つかの層を成すプロトコルを組合せたものであり、基本的なイーサネットメッセージフォーマットやタイミング情報を提供するベースプロトコル８２、ベースプロトコル８２とインターフェイスし、ＩＰアドレスをメディアアクセスコントロール（ＭＡＣ）アドレスへ変換するアドレス解決プロトコル（ＡＲＰ）８４、ベースプロトコル８２とインターフェイスするインターネットプロトコル（ＩＰ）ネットワーク層８６、ベースプロトコル８２とインターフェイスするオプション、即ち任意選択の動的ホスト構成プロトコル（ＤＨＣＰ）８８、および、ＡＲＰ８４、ＩＰ８６、ＤＨＣＰ８８プロトコルとインターフェイスし、アプリケーションデータや制御のリアルタイム伝送をするユーザデータグラムプロトコル（ＵＤＰ）９０、を含む。プロトコルスタック８０は、さらに、リアルタイムオーディオデータ伝送をし、一般的にＵＤＰ９０および変調、スピーチコーデックおよび制御アプリケーション９４，９６，９８とそれぞれインターフェイスするリアルタイムトランスポートプロトコル（ＲＴＰ）プロトコル層９２というアプリケーション特有のプロトコルを含む。アプリケーションプロトコル９４，９６は、Ｇ．７１１パルスコード変調やＧ．７２３スピーチコーデックプロトコルなどの幾つかの形式をとることができる。さらに、リアルタイムストリーミングプロトコル（ＲＴＳＰ）層９７を含ませて、ストリーミングメディアアプリケーションのパフォーマンスを向上させることもできる。制御層９８は、セッション開始に使用され、好適には、セッション開始プロトコル（ＳＩＰ）の形式をとる。
【００１４】
図３に示すように、ＲＴＰは、インターネットを越えてリアルタイムでデータを伝送するのに好適なプロトコルである。Ｈ．Ｓｃｈｕｌｚｒｉｎｎｅ、Ｓ．Ｃａｓｎｅｒ、Ｒ．Ｆｒｅｄｅｒｉｃｋ、Ｖ．Ｊａｃｏｂｓｏｎによる「ＲＴＰ：リアルタイムアプリケーション用のトランスポートプロトコル」（リクエストフォーコメント（提案された標準、ＲＦＣ１８８９、インターネットエンジニアリングタスクフォース（１９９６年１月）を参照されたい。これの全体を本明細書に参照によって包含させるものとする。ＲＴＰは、リアルタイムの属性を持つアプリケーションのサポートを提供し、タイミング再構築、ロス検出、セキュリテイ、およびコンテンツ識別を含むシン（ｔｈｉｎ）プロトコルである。さらに、ＲＴＰは、インターネット内において多数のグループ向けのリアルタイム会議のサポートを提供し、発信源識別、ビデオや音声用のブリッジなどのゲートウェイ用のサポート、マルチキャスト・ツー・ユニキャストの変換器を含む。ＲＴＰは、受け取る側からマルチキャストを行うグループへのサービスの質フィードバックを提供し、同様に、種々のメディアストリームの同期化をサポートする。
【００１５】
図３では、ＩＰプロトコル８６、ＵＤＰプロトコル９０、ＲＴＰプロトコル９２は、低速リンクおよび高度に圧縮されたオーディオ用のそれぞれのパケットに４０バイトを加え、８ｋｂ／ｓのオーディオの２０ｍｓに２０バイトを加える。従って、ヘッダー圧縮が望ましい。
上述したように、図３のプロトコルスタック８０は、１つまたは複数のものとマルチメディア交換を確立するためのセッション開始プロトコル（ＳＩＰ）を使用することが好適である。
【００１６】
ＳＩＰは、電話（自動）転送（ｃａｌｌ ｆｏｒｗａｒｄｉｎｇ）、通話中着信（ｃａｌｌ ｗａｉｔｉｎｇ）、コーラーＭ（ｃａｌｌｅｒ Ｍ）、内線転送（ｃａｌｌ ｔｒａｎｓｆｅｒ）、「キャンプオン（ｃａｍｐ−ｏｎ）」、「コールパーク（ｃａｌｌ ｐａｒｋ）」、「コールピックアップ（ｃａｌｌ ｐｉｃｋ−ｕｐ）」などの標準ＰＢＸまたはＣＬＡＳＳ機能を提供する。「キャンプオン」は、話し中の単線音声局に対して着信先生成、或いは、拡張コールが、相手先の回線が空きその他のコールを処理できるようになるまで、着信先局を自動的に待つようにすることを可能にする。「コールパーク」は、ユーザが、コール即ち電話を保留にし、その後、システム内のその他の局でコールを取ることを可能にする。「コールピックアップ」は、局が、ユーザが指定したコールピックアップグループの中のその他の内線番号でコールに応答することを可能にする。これらの機能の多くは、シグナリングサポートを全く必要としないが、エンドシステムのソフトウェアによって実現することができる。ＳＩＰは、ＨＴＴＰ／１．１の変形として設計されたものであり、ＨＴＴＰセキュリティの再使用、認証、コンテンツのラベリングや決済、交渉機能を容易にする。
【００１７】
ＳＩＰ機能は、カレンダーベースのコールハンドラー（処理プログラム）を使用する。コール処理ソフトウェアは、ユーザ個人約束カレンダーにアクセスし、それに応じて電話（機）に回答する。ユーザは、発呼者のカテゴリを定義し、カレンダーのエントリーに基づき、発呼者のコールのどのコールをどこへ（自動）転送するのかをプリセットする。コールを転送しない場合は、例えば、発呼者の身元に基づき、「現在電話に出られません。」から「ジョン・スミスは、５６２１号室でジェーン・ドゥと午後３時まで会議中です」までの範囲で発呼者に情報を流すことができる。コールハンドラーは、コール処理言語、ボイスメールシステムや自動コール処理システムをほんの数行のコードで構築することが可能な状態ベースのスクリプト言語と統合することもできる。コールハンドラーは、ＩＳＤＮコールとインターネット電話コールとの間の変換を処理・管理することができる。
【００１８】
図４は、本発明によるパケットデータネットワーク電話１００の好適な実施例を示す高レベルハードウェアのブロック図である。本開示を通じて明らかになるが、装置１００は、音声やデータをパケットデータネットワークにのせるイーサネットＬＡＮのイントラネットやインターネットなどの比較的に低コストのインターフェイス製品である。従って、装置１００は、一般的に、このスタンドアローン装置のボードへの適用を反映させるためにネットワーク器具と称する。
【００１９】
ネットワーク器具１００は、音声および映像の通信をローカルエリアネットワーク（ＬＡＮ）、インターネット、或いは、その他のイーサネットネットワークを越えて提供し、これは、一般的に、ネットワーク（例えば、イーサネット）コントローラサブシステム１１０、デジタル信号処理サブシステム１２０、信号変換サブシステム１３０、信号変換サブシステム１３０とデジタル信号処理サブシステム１２０とに結合されたユーザインターフェイスサブシステム１６０、を含む。電話１００は、さらに、電源、ＲＯＭ１４２、ＲＡＭ１５２をも含む。ユーザインターフェイスサブシステムは、図５を参照しながら後述するが、その他のユーザ制御１６９スピーカ１６１、マイクロフォン１６２を含む。データ取得や制御機能用のインターフェイス回路１３５は、信号変換サブシステム１３０とも結合することができる。或いは、このようなＩ／Ｏ回路は、直接ＤＳＰ１２０に結合することもできる。
【００２０】
ネットワークコントローラサブシステム１１０は、ＤＳＰ１２０と外部ネットワークとの間に設けられ、従って、データパケットのデータ（イーサネット）ネットワークとのやり取りを提供する。イーサネットコントローラサブシステム１１０は、デジタル信号処理サブシステム１２０に、イーサネットネットワークから受信したデータを引き受けるよう、或いは、イーサネットネットワークへデータを提供するよう指示する。さらに、ネットワークコントローラサブシステムは、
壊れた、或いは所望でないイーサネットネットワークから受信したデータパケットを廃棄したり拒否したりすることによって、初期ゲートキーパーとして機能することもできる。
【００２１】
図５は、本ネットワーク器具をさらに詳細な説明するブロック図である。図５に示すように、ネットワークコントローラサブシステム１１０の好適な実施例は、イーサネットコントローラ１１２、サービスフィルター１１４（１０ｂａｓｅ−Ｔ変換器）、少なくとも１つのＲＪ−４５ソケット１１６を含む。中でも特に、ネットワークコントローラサブシステム１１０は、以下の機能：ネットワーク器具とイーサネットネットワークとをインターフェイスする機能、イーサネットパケットを送受信する機能、データがイーサネットから利用可能である場合に、ＤＳＰサブシステム１２０にデータを受け入れることを知らせる機能、ＤＳＰサブシステム１２０からパケットを受信し、そのパケットをイーサネットへ送信する機能、および、イーサネットからの所望でないパケットを拒否し廃棄する機能、を実施する。
【００２２】
図５に示すように、イーサネットコントローラ１１２は、アドバンスドマイクロでバイス（ＡＭＤ社）から市販されるイーサネット用のＡＭ７９Ｃ９４０メディアアクセスコントローラ（ＭＡＣＥ）にすることが望ましい。このＭＡＣＥ装置は、スレーブ登録ベースの周辺機器である。本システムへの転送、および本システムからの転送の全ては、シンプルメモリ、或いは、Ｉ／Ｏリードやライトコマンドを使用して実行される。ユーザの規定したＤＭＡエンジンと協同して、ＭＡＣＥチップは、特定のアプリケーションに合わせたＩＥＥＥ８０２．３インターフェイスを提供する。
個々のＦＩＦＯの送信、受信は、システムレイテンシを減少させ、そして、以下の機能：ＦＩＦＯリロードでない場合自動再送する機能、自動受信ストリッピングと送信パッディング機能、自動ラントパケット（短パケット）拒否機能、衝突フレームの自動削除機能、シンプルインターフェイス用のＦＩＦＯ・リード／ライトアクセスをＤＭＡコントローラかＩ／Ｏプロセッサかにダイレクトする機能、任意バイトの配置および小／中／大メモリインターフェイスサポート機能、５〜２５ＭＨｚシステムクロックスピード機能、をサポートする。
【００２３】
再度図５を参照されたいが、デジタル信号処理サブシステム１２０は、デジタル信号プロセッサ（ＤＳＰ）１２２と、関連する論理回路を含み、この論理回路は、読み出し専用メモリ（ＲＯＭ）１４２、ランダムアクセスメモリ（ＲＡＭ）１５２、消去可能プログラマブルロジック装置（ＥＰＬＤ）１２４を含む。デジタル信号処理サブシステム１２０は、以下の機能：音声圧縮などのデジタル信号処理機能、コール進行トーン生成機能、リング信号生成機能、ＤＳＰと相互接続する一般的な「グルー（ｇｌｕｅ）」ロジック機能、メモリとＩ／Ｏ装置機能、ネットワークプロトコル処理機能、コールフロー制御と有限状態機械実現機能、キーパッド活動検出とデコーディング機能、および、ディスプレイ制御機能、を提供する。
図５に示すように、本ネットワーク器具の好適な実施例に使用されるＤＳＰ１２２は、テキサスインスツルメント社のＴＭＳ３２０Ｃ３２などの何らかの適切な市販されるものとすることができる。ＴＭＳ３２０Ｃ３２ＤＳＰは、以下の機能：単一サイクルにて整数、浮動小数点データで並列乗算と演算論理回路（ＡＬＵ）処理、汎用レジスターファイル、プログラムキャッシュ、専用外部レジスター演算ユニット（ＡＲＡＵ）、内部デゥアルアクセスメモリ（５１２倍語長）、２つのダイレクトメモリアクセス（ＤＭＡ）チャネル、１つのシリアルポート、２つのタイマー、１つの外部メモリポート、および、多重割り込み構造を持つ。
【００２４】
さらに、ＴＭＳ３２０Ｃ３２ＤＳＰは、４つの外部割込みと、５つの内部割込みリソースを含む。外部割込みは、外部ピン（端子）によって直接引き起こすことができる。内部割込みは、シリアルポート、ＤＭＡコントローラ、タイマーなどの個別の周辺機器をプログラミングすることによって引き起こすことができる。さらに、これらの全ての割込み源は、ＣＰＵ／ＤＭＡの有効レジスタ、即ちＩＥを介するＤＭＡチャネル割込みとしてプログラムすることができる。ＴＭＳ３２０Ｃ３２ＤＳＰは、フレキシブルブートローダーを含み、このローダーは、ネットワーク器具用のメイン制御プログラムを３つの異なる外部メモリ空間の１つまたはシリアルポートから自動的にロードさせることを可能にし、電源の投入などのＤＳＰ１２２が初期化されるときのＩＮＴ０￣ＩＮＴ３の外部割込みの活動によって決定されたことに従いどちらかを割り当てる。
【００２５】
ＤＳＰ１１２は、一般的に、以下のリソース割り当て、外部割込みＩＮＴＯ：「０ｘ１０００からシステムブート」指示、システムの電源が入れられ、ｉｎｔ０がアクティブである場合、ＤＳＰは、プログラムを外部メモリ空間０ｘ１０００からブートする、
ＩＮＴ１：ＤＭＡ０外部割込み信号、ネットワークコントローラ１１２からのパケットを受信するのに使用される、
ＩＮＴ２：ＤＭＡ１外部割込み信号、ネットワークコントローラ１１２へパケットを送信するのに使用される、
ＩＮＴ３：ＡＭ７９Ｃ９４０パケット状態とエラーメッセージ割込み、
を含むよう構成される。図６に、本ネットワーク器具の実施例で使用するＤＳＰメモリマップのサンプルを示す。
【００２６】
再度図５を参照されたいが、本ネットワーク器具は、ユーザインターフェイスサブシステム１６０を含みみ、このユーザインターフェイスサブシステム１６０は、キーエンコーダ（符号化器）１６６、液晶ディスプレイ（ＬＣＤ）１６４、ハンドセット１６３（これは、キーパッド１６５、マイクロホン１６２、スピーカ１６１）を含む。ユーザインターフェイスサブシステム１６０コンポーネントは、以下の機能を提供することによって、ユーザがネットワーク器具と相互作用をすることを可能にする。その機能とは、入力（キーボード）と出力（ＬＣＤ）用のユーザインターフェイス、音声インターフェイス、スピーカを介するリングアラート出力、ハンドセット、或いは、ハンズフリー（マイクとスピーカ）通信代替手段である。
【００２７】
さらに、ＬＣＤは、ディスプレイのそば、例えば、横や下にボタンを持つことができる。これらのボタンの機能は、その機能がシステムの現在の状態に依存する「ソフトキー」として操作することができる。例えば。電話に出ないときは、ディスプレイは、クイックダイヤルリストや日時を表示することができる。さらに、コールに出なかったり、ボイスメールとして転送された後、ディスプレイは、受けたコールのリストを表示することができる。電話に出てる間は、その他のかかって来る電話を表示し、加入者が、コール間でスイッチしたり、コールをブリッジしてコールに出るようにすることが可能である。
或いは、本ネットワーク器具１００のユーザインターフェイス１６０は、小型タッチスクリーン（図示しない）と共に構成させ、ＬＣＤディスプレイやボタンを置き替える、或いは、それを補わせることができる。このタッチスクリーンは、図的に利用可能な機能や操作を表示し、ユーザのディスプレイに対する接触に応答し、英数字のネットワークアドレスやその他の電話操作の入力などに用いる機能強化したユーザインターフェイスを提供する。
【００２８】
図５は、信号処理システム１３０を示し、これは、Ａ／Ｄ変換、Ｄ／Ａ変換を実行するＰＣＭのエンコーダおよびデコーダ、および、ハンドセットや対応するスピーカ１６１やマイクロホン１６２に結合されるオーディオ増幅器１３４を含む。また、単一のＡＣ或いはＤＣ電源アダプタ（ウォールワート（ｗａｌｌ ｗａｒｔ））からプラスおよびマイナス５Ｖの電圧レベルを供給するための電源を設ける。図５の好適な実施例では、マイナスの電圧レベルが、ＬＣＤ１６４とＰＣＭコーデック１３２によって必要とされる。
【００２９】
図７は、図５のネットワーク器具で使用するのに適するメモリインターフェイス７００を説明するブロック図である。メモリインターフェイス７００は、外部メモリモジュール１４２，１５２を含み、これらのメモリモジュールは、プログラム格納用に１２８Ｋバイトの読み出し専用メモリ（ＲＯＭ）１４２と、少なくとも３２Ｋバイトの倍語長（３２ビット）のスタティックランダムアクセスメモリ（ＲＡＭ）７０２，７０４，７０６，７０８とを含む。ＲＯＭ１４２の速度が比較的遅いため、ネットワーク器具は、ＲＯＭからメインプログラムを起動し。これを実行時のために比較的速いＲＡＭ内に格納しておくことが好適である。
【００３０】
図８は、本発明の好適な実施例によるＤＳＰ１２２とイーサネットコントローラ１２４との間のインターフェイスの一例を示すブロック図である。イーサネットコントローラ１２４の３２個のレジスタは、図６に示したＤＳＰ１２２のメモリ空間０ｘ８１００００にマップされたメモリである。はじめの２つのレジスタは、受信・送信「先入れ−先出し」（ＦＩＦＯ）キュー（待ち行列）とすることが望ましい。ＤＳＰ１２２は、１６ビットのデータバス８０２を介してイーサネットコントローラ１２４とデータを交換する。
【００３１】
図９は、本発明の好適な実施例によるＤＳＰ１２２とＰＣＭコーデック１３２との間のインターフェイスを説明する線図である。図９に示すように、ＤＳＰ１２２は、内部シリアルポート９０２を介してＰＣＭコーデック１３２と接続する。ＤＳＰ１２２のシリアルポートは、独立２方向シリアルポートである。
【００３２】
図５に示すように、ＤＳＰ１２２は、ＬＣＤ１６４に機能的に結合される。このＬＣＤ制御インターフェイスは、図１０に示すＤＳＰアドレスにおいてマップされる。本発明の一実施例では、ＬＣＤ１６４は、バジトロニクス社（Ｖａｚｉｔｒｏｎｉｃｓ）によって製造されたＭＧＬＳ−１２０３２ＡＤ  ＬＣＤなどの１２０×３２ピクセルである。ＬＣＤのアクセス速度は、一般的に遅いため、ＬＣＤに表示されるデータは、ＤＳＰ１２２のＳＴＲＢ０（１ｘ１０００）メモリ空間にマップすることができ、これはＲＯＭメモリ空間と同じメモリ空間である。
ＬＣＤのタイミングロジックは、ＤＳＰ１２２用のタイミングロジックと同じである。しかしながら、ＬＣＤがＭＧＬＳ−１２０３２などのように左半分と右半分から成る場合、全ラインのメッセージを表示するときに右・左の両半分を制御およびプログラムする必要がある。
【００３３】
図１１は、本ネットワーク器具用のソフトウェアアーキテクチャーを示すブロック図である。図１１に示すように、本ネットワーク器具用の処理アーキテクチャーは、一般的に、３つのレベル：ＩＳＲ（割り込みサービスルーチン）レベル１１１０、オペレーティングシステムまたはプロセスレベル１１２０、アプリケーションまたはタスクレベル１１３０、として編成される。それぞれのソフトウェアレベルで実行することができるタスクおよび機能のリストの例示を図１３で提供する。
最も下のレベルＩＳＲレベル１１１０は、割り込みハンドラーとＩ／Ｏインターフェイスとを含む。ＩＳＲレベル１１１０は、プロセスレベル１１２０と図４と図５に示すネットワーク器具ハードウェアとの間のインターフェイスの役目を果たす。
上のＩＳＲレベル１１１０は、プロセスレベル１１２０、または、オペレーティングシステムであり、これは、スターコム社のＣＲＴＸ埋め込みリアルタイムマイクロカーネルなどのようなリアルタイム・マルチタスキングのマイクロカーネルとすることが望ましい。一般的には、プロセスレベルソフトウェア１１２０（マイクロカーネル）は、メモリ管理、プロセスおよびタスク管理、およびディスク管理機能を実施する。図１２に示す本発明の好適な実施例では、
マイクロカーネルは、３つのスケジューリング機構：
リアルタイムイベントフラグマネージャー１２２２、ディレイドタスクマネージャー１２２４、および、スケジューリングマネージャー１２２６、をサポートする。マイクロカーネルは、上述した３つの異なる機能のためにそれぞれ３つの別々のキューを持つ。
【００３４】
リアルタイムイベントフラグマネージャー１２２２を使用してフラグ設定のためにリアルタイムイベント（事象）の実行を引き起こす。フラグが「オン」条件に設定された場合、当該フラグに関連付けられたタスクは、即座に実行される。例えば、割り込みサービスルーチンは、ある特定のイベントが起こった場合に特定のフラグをセット即ち設定する。フラグイベントは、関連付けられたタスクアドレスと共にフラグキューに入れられる。
ディレイドタスクマネージャー１２２４は、時限イベントの機能を果たす。フェイルセーフ、或いは、「番犬」即ち監視装置のタスクなどの時限タスクは、ある時間遅延の後で実行させることができる。あるイベントがある時間枠の範囲内に起こらない場合は、タイマーが、実行されるべきタスクを引き起こす。その他の例は、周期的なタイマーによって制御されたタスクの反復実行である。各タイマーは、時間計数器と共にロードされ、その後、ハードウェアのインターバルタイマーからタイマーのすべての時刻を決定する。計数器がゼロに至ったとき、当該タイマーに関連するタスクは、タスクキューにスケジュールされる。スケジューリングマネージャー１２２６は、タスクスケジュールマネージャーをスキャンしてスケジュールされたタスクを探す。キューにエントリーが見つかった後、すぐに、制御をスケジュールされたタスクへ渡す。
【００３５】
図１３Ａ〜Ｆは、タスクレベルソフトウェア（図１３Ａ〜Ｃ）、プロセスレベルソフトウェア（図１３Ｄ）、およびＩＳＲレベルソフトウェア（図１３Ｅ〜Ｆ）の一部となり得る例示のソフトウェアタスクや機能をリストするテーブル即ち表である。本発明においては、ソフトウェアアーキテクチャーに関して称する用語「タスク」、「機能」は、同意語と見なす。しかしながら、「タスク」は、一般的にはスケジューリングマネージャー１２２６によって実行され、他方、「機能」は、一般的にはタスクやその他の機能によって呼び出される。コール処理（Ｃａｌｌ＿ｔａｓｋ）やＩＰ処理（ＩＰ＿ｓｅｎｄ＿ｔａｓｋやＥｒｃｖ＿ｔａｓｋなど）などのアプリケーションタスクは、プロセスレベルソフトウェア１１２０によってスケジュールされる。このようなタスクの実行は、ＩＳＲやその他のタスク、或いは、現行タスク自身による事前スケジューリングの結果である。
【００３６】
図１３Ａ〜Ｆは、図１１の本パケットデータネットワーク電話ソフトウェアによって実行されるエベントドリブン（主導型）操作でコールされる機能やプロシージャ（手順）の定義の例示を示す。様々なイベントから起こったものからコールされた機能は、パケットデータネットワーク電話／システムの操作をイネーブル即ち有効化し、パケットデータネットワーク電話／システムの初期化、ＡＲＰデータの処理、音声データのエンコーディング、メッセージデータ処理、ＩＰデータ処理、音声データのデコーディング、対応バッファーとアナログおよびデジタルデータのやり取り、および、番犬機能の実行、などの全体的な操作を含む。
【００３７】
パケットデータネットワーク電話器具の初期化は、ハードウェア初期化ステップとタスクスケジューリングステップとを含む。電源を入れた後、ＤＳＰ１２２は、自動的にメインプログラムをＲＯＭ１４２からＲＡＭ１５２へ転送する（ブート操作）。ハードウェア初期化は、従来からの方法で起こり、スタックポインター、外部バスインターフェイス制御レジスター、ＤＳＰのグローバル制御レジスター、ＩＳＲ用の割り込みベクトル、などの初期化ステップ含む。
ハードウェアの初期化および予備タスクスケジューリングが終わった後、処理の制御は、プロセスレベル（マイクロカーネル）１１２０に戻される。ＣＲＴＸマイクロカーネル１１２０とスケジュールされたタスクは、それから、さらなる処理を制御する。
【００３８】
図１３Ａを再度参照されたいが、本ネットワーク器具のタスクレベルソフトウェアは、アドレス解決プロトコル（ＡＲＰ）処理を含む。ＡＲＰは、ＩＰアドレスを、イーサネットアドレスなどの物理アドレス（データリンク制御（ＤＬＣ）アドレス）に変換するために使用される既知のＴＣＰ／ＩＰプロトコルである。物理アドレスの入手を望むホストコンピュータは、ＡＲＰ要求をＴＣＰ／ＩＰネットワークに対してブロードキャストする。その後、当該要求にあるＩＰアドレスを持つネットワーク上のホストコンピュータは、自己の物理ハードウェアアドレスを返す。
【００３９】
図１４は、ＡＲＰ要求出力プロシージャ１４００ＡＲＰ＿Ｏｕｔ（）を説明するフローチャートである。図１３Ｂに示すように、ＡＲＰ＿Ｏｕｔ（）は、解決すべきＩＰアドレスを受信し、それに対応するＭＡＣアドレスを出力するタスクレベルソフトウェアのコンポーネントである。ＡＲＰ要求が開始するとき（ステップ１４０２）、ＡＲＰ＿Ｏｕｔ（）機能は、はじめに、ローカルＡＲＰキャッシュテーブルａｒｐｔａｂｌｅの中から要求されたＩＰアドレスをチェックする（ステップ１４０４）。ステップ１４０６で対応するエントリー即ち項目が解決される場合は、ＡＲＰ＿Ｏｕｔ（）は、ａｒｐｔａｂｌｅからＭＡＣアドレスを要求されたパラメータをコピーし、ＡＲＰＯＫステータスフラグを返す（ステップ１４０８）。そうでない場合は、本プロシージャは、ａｒｐｔａｂｌｅにエントリーを割り当て、ＡＲＰ要求をスケジュールする（ステップ１４１０）。ステップ１４１０でさらに示すように、ａｒｐｔａｂｌｅのＭＡＣアドレス即ち「ハンドル（ｈａｎｄｌｅ）」が、メインプログラム（ｃ＿ｉｎｔ００（））に返される。このハンドルに従って、それから、ソフトウェアは、対応するエントリーのａｅ＿ｓｔａｔｅをチェックする。
【００４０】
図１５は、例示のＡＲＰ要求入力プロシージャ１５００ＡＲＰ＿Ｉｎ＿ｔａｓｋ（）のフローチャートであり、このプロシージャ１５００は、図１３Ａにリストしたタスクレベルソフトウェアのコンポーネントである。ＡＲＰ＿Ｉｎ＿ｔａｓｋは、ＡＲＰパケットを受信し、入ってくるパケット即ち着信パケットがＡＲＰ要求である場合は、ａｒｐｔａｂｌｅを修正するか、或いは、ＡＲＰリプライをキューに入れるかを行う。ＡＲＰパケットを受信するとき（ステップ１５０２）、本ソフトウェアは、ＡＲＰハードウェアのタイプ、或いは、プロトコルタイプの合致をチェックする（ステップ１５０４）。１つまたは両方のタイプが合致する場合、その後、本ソフトウェアは、宛先ホストが、本ホストであるかをチェックする（ステップ１５１０）。宛先ホストが本ホストでない場合は、その後、制御はメインプログラムに返される（ステップ１５０８）。
【００４１】
図１５にさらに示すように、宛先ホストが、現在のホストである場合は、その後、Ａｒｐ＿Ｉｎ＿ｔａｓｋは、次に、ＡＲＰテーブルをチェックして、着信パケットに対応するＡＲＰエントリーがあるのか否かを判断する（ステップ１５１２）。エントリーが見つかった場合は（ステップ１５１４）、その後、新たなＭＡＣアドレスが既存のエントリーへとコピーされ、当該エントリーの「生存期間（ＴＴＬ）」を新たな値に修正する（ステップ１５１６）。ＴＴＬは当業者には、廃棄される、或いは、送信者に返送される前に、パケットが移動するとき何回ホップできるかを指定するインターネットプロトコル（ＩＰ）のフィールドであると理解されている。しかしながら、そのようなＭＡＣエントリーがステップ１５１３によって何も見つからない場合、それから、ＡＲＰ＿Ｉｎ＿ｔａｓｋは新たなＭＡＣエントリをＡＲＰテーブルに追加する（ステップ１５１８）。ＭＡＣエントリーがＰＥＮＤＩＮＧ（保留）状態の場合（ステップ１５２０）、その後、それはＲＥＳＯＬＶＥＤ（解決）状態へ変えられ、ＭＡＣアドレスは、目的にエントリーにコピーされる（ステップ１５２２）。着信ＡＲＰパケットが、その他のホストからのＡＲＰ要求である場合は、ＡＲＰリプライパケットは、ＩＰ＿Ｓｅｎｄ＿ｔａｓｋをキューに入れる、即ち待ち行列に入れることによって、送信される（ステップ１５２４、１５２６）。その後、制御は、メインプログラムに戻される（ステップ１５２８）。
【００４２】
ＡＲＰ入力および出力プロセスに加えて、タスクレベルにおけるＡＲＰ処理は、ＡＲＰエントリーテーブルａｒｐｔａｂｌｅを保守管理するのに使用される遅延したループタスクであるＡＲＰＴｉｍｅｒ＿ｔａｓｋ（）を含む。名目上、ＡＲＰＴｉｍｅｒ＿ｔａｓｋ（）は、１秒あたり１回生成される。ＡＲＰＴｉｍｅｒ＿ｔａｓｋ（）の主目的は、ＡＲＰエントリーの生存期間（ＴＴＬ）を減少すること、および、以前のＡＲＰ要求が消失した場合のペンディング中にＡＲＰ要求を再送することである。
【００４３】
タスクレベル処理は、オーディオパケットのコーディングおよびエンコーディングに関連する処理操作を含むことができる。このＣｏｄｅｃ＿ｔａｓｋは、「タイプ」パラメータで示されたアルゴリズムに応じて、ＡＤＢｕｆｆの音声データをエンコードしＥｎｃｏｄｅＢｕｆｆに入れるＳｐｅｅｃｈＥｎｃｏｄｅ（）機能を含む。それから、コード化したデータは、キューＩＰ＿Ｓｅｎｄ＿ｔａｓｋを介して「ＲＴＰ」パラメータ設定と共に送出される。
【００４４】
タスクレベル操作は、インターネットプロトコル（ＩＰ）処理を含むことができる。一般的なＩＰ処理操作を、図１６のブロック図で説明する。図１６に示すように、ＩＰ処理は、イーサネットパケットの送受信（ステップ１６０２）、ＩＰパケットの多重化および非多重化（ステップ１６０４）、イーサネット、インターネット（ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、リアルタイム伝送プロトコル（ＲＴＰ）およびアドレス解決プロトコル（ＡＲＰ）パケットのパケット化および非パケット化（ステップ１６０６）、というステップを含む。
【００４５】
図１６のステップ１６０２では、イーサネットパケットの伝送は、イーサネットコントローラ１１２のダイレクトアクセスメモリ（ＤＭＡ）チャネルを使用して実行することができる。ＤＭＡは、ＣＰＵを経由せずにデータをメインメモリから装置へ転送する技法である。ＤＭＡチャネルは、従来の方法より非常に速くデータを装置とやり取りできるため、ＤＭＡチャネルの使用は、本ネットワーク電話システムなどのリアルタイム用途では特に便利である。
【００４６】
ネットワークコントローラ１１０は、パケット伝送に使用できるイーサネットコントローラ１１２のＤＭＡ１チャネルなどのような複数のＤＭＡチャネル、をサポートすることが好適である。
イーサネットパケットが伝送の準備ができている場合、ＤＭＡ１（）機能、即ちＩＳＲレベル機能は、発信源アドレス（イーサネットパケットバッファー、ＥＳｅｎｄ）、宛先アドレス（イーサネットコントローラの転送ＦＩＦＯ）、およびカウンター（パケット長）を設定することによって呼出される。図１７に、イーサネット伝送データ構造の一例を挙げる。ＤＭＡ１（）機能は、ＤＭＡ１チャネルを開始する。カウンターがゼロに達したとき、ＤＭＡ１は停止し、次のコ―ルを待つ。
【００４７】
図１８は、オーディオ入力バッファー１８０２と、ＵＤＰバッファー１８０４と、イーサネットネットワークコントローラ１１２のイーサネットインターフェイス（イーサネット伝送ＦＩＦＯ）に対するＡＲＰテーブル１８０６との間のデータフローを示すブロック図である。
図１８にさらに示すように、オーディオ入力バッファー１８０２、ＵＤＰバッファー１８０４、およびＡＲＰテーブル１８０６からのデータは、ＩＰ出力キュー１８１０へ送られ、プロトコルタイプ、ソースポインター、およびデータ長を示すように構成される。送出データをキューに入れる代わりに、ＩＰ＿Ｓｅｎｄ＿ｔａｓｋが、プロセスレベルソフトウェア（マイクロカーネル）１１２０によってキューに入れられる。ＩＰ＿Ｓｅｎｄ＿ｔａｓｋによってサポートされるプロトコルタイプは、一般的に、ＵＤＰ、ＲＴＰ、ＡＲＰ＿ＲＥＱＵＥＳＴ、ＡＲＰ＿ＲＥＰＬＹを含む。ＩＰ＿Ｓｅｎｄ＿ｔａｓｋは、パケット伝送およびイーサネットのパケット化のために使用される。好適には、ＩＰ＿Ｓｅｎｄ＿ｔａｓｋは、ＳＩＰ＿ｔａｓｋやＡＲＰ＿Ｏｕｔ（）やＳｐｅｅｃｈＥｎｃｏｄｅ（）などのようなその他の機能やタスクによってスケジュールされる。一旦ＩＰ＿Ｓｅｎｄ＿ｔａｓｋが動作すると、それは、データのプロトコルタイプをチェックする。それから、このタスクは、出力データをカプセル化してＥｓｅｎｄバッファーの対応するイーサネットパケットに変換する。最後に、パケットは、割り当てられたＤＭＡチャネル（ＤＭＡ１）を介して送出される。
【００４８】
図１９は、パケット受信と非多重化操作をさらに説明するデータフロー図である。非多重化（デマルチプレキシング）は、Ｅｒｃｖ＿ｔａｓｋの異なるプロトコル用の異なるタスクをスケジュールすることによって実現する。図１６のステップ１６０２では、イーサネットパケットは、受信データＦＩＦＯメモリに受信され（ステップ１９０２）、ＤＭＡ０チャネルコントローラによってさらに処理される（ステップ１９０４）。ＤＳＰ１２２は、いつパケットが到着するのかを知らないため、ＤＭＡ０チャネルは、常時活動している（即ち、カウンターがゼロになっても停止しない）。パケットが到着したとき、ＤＭＡ０チャネルは、自動的に、そのパケットをイーサネットコントローラの受信ＦＩＦＯメモリからイーサネット受信バッファー：Ｅｒｃｖにコピーする（ステップ１９０６）。ＤＭＡ０チャネルは、ＦＩＦＯメモリに利用可能なデータが無くなると停止する。
【００４９】
Ｅｒｃｖ＿ｔａｓｋは、イーサネットパケットの非多重化およびＩＰパケットの非多重化用のフラグ起動タスクである（ステップ１９０８）。このＥｒｃｖ＿ｔａｓｋは、第１には、着信パケットをチェックするために呼ばれるＰａｃｋｅｔＣｈｅｃｋ（）機能である。ＰａｃｋｅｔＣｈｅｃｋ（）機能は、パケットのプロトコルタイプを返すか、或いは、パケットが無効の場合はヌル値（ＮＵＬＬ）を返す。第２には、返されたプロトコルタイプに基づき、Ｅｒｃｖ＿ｔａｓｋは、受信したパケットを処理するために種々のタスク、例えば、ＲＴＰパケット用にＲＴＰ＿Ｉｎ＿ｔａｓｋを（ステップ１９１０）、ＡＲＰパケット用にＡＲＰ＿Ｉｎ＿ｔａｓｋを（ステップ１９１４）、或いは、ＵＤＰパケット用にＵＤＰ処理タスクを（ステップ１９１２）を起動する。
【００５０】
図１３Ｃを説明する。ＳｐｅｅｃｈＤｅｃｏｄｅ（）は、ステップ１９１０のＲＴＰ処理に関連する音声デコーディング機能である。まず、ＳｐｅｅｃｈＤｅｃｏｄｅ（）タスクは、デコーディングバッファー：ＤｅｃｏｄｅＢｕｆｆ内に利用可能なデータがるか否かをチェックする。データが利用可能、例えばＲｃｖＦｌａｇがセットされている場合は、ＳｐｅｅｃｈＤｅｃｏｄｅ（）は、受信データのデータタイプ、例えば、ＰＣＭ（Ｇ．７１１）、Ｇ．７２３、Ｇ．７２９に基づきデータをデコードする。デコードされたデータは、Ｄ／Ａバッファー：ＤＡＢｕｆｆに送られる。
【００５１】
Ａ／ＤおよびＤ／Ａ割り込みルーチンは、内部割込み源、例えば、Ｒｉｎｔ０（）によって起動することができる。Ａ／ＤおよびＤ／Ａ割り込みルーチンは、ＤＳＰによって与えられた８ｋＨｚのサンプリング周波数によって起動されることが望ましい。このルーチンは、しばしば呼ばれるものであるため、Ｒｉｎｔ０（）は、アセンブリ（機械）語で記述することが好適である。Ｒｉｎｔ０（）によって実行されるステップは、Ｄ／Ａバッファー（ＤＡＢｕｆｆ）からＤ／Ａサンプルを読み取るステップ、サンプルをシリアルＤ／Ａポートに送るステップ、シリアルＡ／Ｄポートからサンプルを取得するステップ、Ａ／ＤサンプルをＡ／Ｄバッファー（ＡＤＢｕｆｆ）に格納するステップ、および、Ａ／ＤおよびＤ／Ａバッファーポインター（ＡＤＰｎｔ，ＤＡＰｎｔ）を１ずつ増加させるステップを含む。
【００５２】
図２０Ａおよび２０Ｂは、本発明のソフトウェアによって使用されるＡ／ＤおよびＤ／Ａ「ピンポン」バッファースキーム（方式）を示すブロック図である。さらに、現在のＡ／Ｄポインター値（ＡＤＰｎｔ）が、所定のバッファー閾値（ＡＤＴｈ）を越えた場合は、サービスが必要であることを示すフラグタスクキューにフラグが設定される。
【００５３】
Ａ／ＤおよびＤ／Ａバッファーは、２つの部分、上部バッファー２００２ａと下部バッファー２００２ｂとにそれぞれ分割することができる。両バッファーは、循環バッファーとして設計することができる。従って、現在のポインターがバッファーの一番下に達するとき、それは一番上に重なる、即ち開始部分に戻る。しかしながら、エンコーダおよびデコーダから見れば、２つのフレームのピンポンバッファースキーム（上部フレームおよび下部フレームとして定義された）として使用される。この処理の操作を図２０Ａと２０Ｂとに示す。Ａ／Ｄ変換の場合は、上部（または下部）が満杯になったとき、上部（または下部）バッファーのデータは、ピンポンスイッチ２００４を通って渡され、音声エンコードバッファー（ＥｎｃｏｄｅＢｕｆｆ）２００６へコピーされる。Ｄ／Ａ変換の場合は、上部（或いは下部）バッファーが終了するとき、データの新たなフレームが音声エンコードバッファー（ＤｅｃｏｄｅＢｕｆｆ）２０１０から上部２００８ａ（或いは下部２００８ｂ）バッファーへとコピーされる。この仕組みは、エンコーディング（或いはデコーディング）アルゴリズムが、バッファーのある部分を読む（書く）間に、Ａ／Ｄ（或いはＤ／Ａ）サンプリングＩＳＲが、バファーのその他の部分を衝突することなく書く（読む）ことができることを保証する。
【００５４】
図２１は、本ネットワーク器具の実施例で使用されるＣａｌｌ＿ｔａｓｋサブルーチンで使用される状態遷移図である。Ｃａｌｌ＿ｔａｓｋは、コールプロシージャを処理するループするタスクである。図２１に示すように、「ｉｄｌｅ（待機）」状態２１０２は、発呼がない、または、着呼がないときに起こる。この状態が存在するとき、Ｃａｌｌ＿ｔａｓｋは「ｉｄｌｅ」状態でループする。「ＤｉａｌＴｏｎｅ（ダイヤルトーン）」状態は、受話器の状態が「ＯＦＦＨＯＯＫ（オフフック）」すなわち外した状態、或いは、ハンドセットが「ハンズフリー」を示している場合に存在する。従って、オフフックかハンズフリー状態が存在する場合、Ｃａｌｌ＿ｔａｓｋの状態は、「ｉｄｌｅ」状態２１０２から「ダイヤルトーン」状態２１０４状態へと変化する。一般的には、コールが開始されること示すユーザ制御１６０からのユーザによる入力によって、これらの状態に入る。Ｃａｌｌ＿ｔａｓｋ状態が「ＤｉａｌＴｏｎｅ」状態２１０４のとき、
Ｃｏｄｅｃ＿ｔａｓｋは、「ＴｏｎｅＭｏｄｅ（トーンモード）、ＤｉａｌＴｏｎｅ（ダイヤルトーン）」として構成され、ダイヤルトーンがユーザインターフェイス１６０のハンドセットコンポーネントへ送出される。
【００５５】
図２１を再度参照されたいが、「ｄｉａｌＴｏｎｅ」状態２１０４の間に、何らかの数字キー（０…９，＊，＃）或いはリダイヤルボタンが押された場合は、コール状態は、「ＤｉａｌＴｏｎｅ」状態２１０４から「ＧｅｔＤｉｇｉｔ（数字取得）」状態２１０６へと変化する。「ＧｅｔＤｉｇｉｔ」状態２１０６では、ハンドセットではダイヤルトーンが停止する。
相手先の電話番号を入力し、ダイヤルが終わりであることを示すためにエンターボタンを押した後、Ｃａｌｌ＿ｔａｓｋが、入力が有効であるか否かをチェックする。番号が有効である場合は、コールエントリーが、機能Ｃｒｅａｔｅ＿ＳｉｐＣａｌｌ（）によって作成され、Ｃａｌｌ＿ｔａｓｋは、「ＳＩＰ」状態２１０８に入る。そうでなければ、番号が無効である場合は、無効である場合は、番号の再入力を求め、状態は「ＧｅｔＤｉｇｉｔ」状態２１０６のままとなる。
ＳＩＰ＿ｔａｓｋ処理を待つ間に、「ＳＩＰ」状態２１０８に基づき幾つかの決定をすることができる。「ＳＩＰ」状態２１０８は、グローバル変数（ＳＩＰ＿ｓｔａｔｕｓ）であり、これはＳＩＰ＿ｔａｓｋの状態遷移によって修正される。「ＳＩＰ」状態２１０８がＳＩＰ＿Ｒｉｎｇに変化する場合は、Ｃａｌｌ＿ｔａｓｋは「ＲｉｎｇＢａｃｋ（折り返し電話）」状態２１１４に変化し、Ｃｏｄｅｃ＿ｔａｓｋは「ＴｏｎｅＭｏｄｅ、ＲｉｎｇＢａｃｋ」モードとして構成される。、Ｃｏｄｅｃ＿ｔａｓｋが、「ＴｏｎｅＭｏｄｅ、ＲｉｎｇＢａｃｋ」モードにある場合は、リングバックトーン（呼出し音）がハンドセットへ送出される。
【００５６】
「ＳＩＰ」状態２１０８から、「ＳＩＰ」状態２１０８がＳＩＰ＿ｂｕｓｙに変わる場合は、Ｃａｌｌ＿ｔａｓｋ即ちコールは、「ＢｕｓｙＴｏｎｅ（話中音）」状態２１２０へ変化し、話中音がハンドセットで再生される。「ＳＩＰ」状態２１０８がＳＩＰ＿Ｒｅｆｕｓｅｄに変化する場合は、ＳＩＰ＿Ｒｅｆｕｓｅｄ状態に関連する適切なメッセージがＬＣＤスクリーンに表示される。
「ＲｉｎｇＢａｃｋ」状態２１１８から、「ＳＩＰ」状態がＳＩＰ＿Ｃｏｎｎｅｃｔｅｄになった場合は、Ｃａｌｌ＿ｔａｓｋ状態は「Ｔａｌｋ（会話）」状態２１１６へ変化する。Ｃａｌｌ＿ｔａｓｋ状態が「Ｔａｌｋ」状態にあるときは、Ｃｏｄｅｃ＿ｔａｓｋは、ＳｐｅｅｃｈＥｎｃｏｄｅおよびＳｐｅｅｃｈＤｅｃｏｄｅのモードとして構成される。
【００５７】
着呼の場合は、「Ｉｄｌｅ」状態２１０２中に、「ＳＩＰ」状態２１０８がＳＩＰ＿ｉｎｖｉｔｅである場合には、Ｃａｌｌ＿ｔａｓｋ状態は「Ｒｉｎｇ（鳴鈴）」状態２１１４に変化し、Ｃｏｄｅｃ＿ｔａｓｋは、「ＴｏｎｅＭｏｄｅ、ＲｉｎｇＴｏｎｅ」として構成される。Ｃｏｄｅｃ＿ｔａｓｋが「ＴｏｎｅＭｏｄｅ、ＲｉｎｇＴｏｎｅ」として構成される場合は、リングトーン即ち着信音がラウドスピーカで再生される。ＳＩＰ状態がＳＩＰ＿ｃｏｎｎｅｃｔｅｄになった後、Ｃａｌｌ＿ｔａｓｋ状態は「ｔａｌｋ」状態２１１６に変化する。そうでなければ、ＳＩＰ状態はＳＩＰ＿Ｃａｎｃｅｌ（キャンセル）になった場合（発呼者がコールをあきらめた場合に発生する）、Ｃａｌｌ＿ｔａｓｋ状態は「Ｉｄｌｅ」状態２１０８に戻る。
「Ｉｄｌｅ」状態２１０２にあるときに、エンターボタンが押された場合は、Ｃａｌｌ＿ｔａｓｋはＳｅｔｔｉｎｇ＿ｔａｓｋ（設定タスク）を呼出す。このパラメータ設定プログラム終了したとき、Ｃａｌｌ＿ｔａｓｋに戻る。
【００５８】
Ｃａｌｌ＿ｔａｓｋの実行の間に、フック状態が、受話器がＯＮＨＯＯＫ（オンフック）であること、或いは、システムエラーが見つかったことを示す場合は、Ｃａｌｌ＿ｔａｓｋは、以前の状態が何であるかに（「Ｒｉｎｇ」状態２１１４を除く）かかわらず、「Ｉｄｌｅ」状態２１０２に変化する。
図５に示したネットワーク器具の好適な実施例では、この電話のキーパッドは、ユーザ入力やコマンド用の１７のキーを持つ。この電話キーパッドは、１０の数字キー、２つの特殊キー、５つの機能キーを含み、これらは図２２に示すように定義される。
Ｋｅｙ＿ｔａｓｋは、０．１秒毎などのような周期的に作動するループディレイドタスクである。開始したとき、はじめに、Ｋｅｙ＿ｔａｓｋは、Ｋｅｙ（）機能を呼出す。戻り値が「−１」でない場合は、キーが押されたことを意味する。それから、ＫｅｙＭａｐ（）機能は、入力のバイナリー（二進）のキーワードをアスキー（ＡＣＩＩ）のキーワードにマップする。Ｋｅｙ＿ｔａｓｋは、それから、機能キー構造の対応する機能を設定する。本システムがキー入力を受け入れる準備ができている場合（ＫｅｙＲｅｇＥｎａｂｌｅが表示されている）、入力キーワードはＫｅｙＢｕｆｆに格納される。
【００５９】
さらに、Ｋｅｙ＿ｔａｓｋは、４つの異なる入力モード：数字入力モード、ＩＰアドレス入力モード、アルファベット入力モード、およびリストアドレス入力モード、をサポートすることが好適である。
この４つのモードの切替えは、ハンドセットを取り上げ、ダイヤルトーンが聞こえたときに、何かの数字やアルファベットをダイヤルする前にエンターボタンを押すことによって設定できる。入力が終わりエンターボタンが押された後、入力番号は、メッセージパイプによって現在のタスク（ｃａｌｌ＿ｔａｓｋ或いはＳｅｔｔｉｎｇ＿ｔａｓｋ）に転送される。リダイヤルキーが押された場合は、以前の入力をバックアップバッファー（ＫｅｙＢａｃｋｕｐ）からＫｅｙＢｕｆｆへコピーする。それから、このデータはＣａｌｌ＿ｔａｓｋへ転送される。
本ネットワーク器具のオペレーティングシステムは、ディレイドタスクスケジュールスキームをサポートすることが好適である。このディレイドタスクは、ＵＮＩＸにおけるｓｌｅｅｐ（）機能と同様のものである。しかしながら、ディレイドタスクは、このタスクの繰り返しフラグがセットされているときには、周期タイマーによる持続タスク実行にすることもできる。これは普通の時計として機能し、現在の時刻（時分秒を含む）を計算し表示する。コールが接続したとき、このタスクは通話時間を表示することができる。電話がオンフック（不使用時）になっているときは、年、月、日付をもＬＣＤに表示することができる。
【００６０】
図１１を再び参照されたいが、本発明のネットワーク電話ソフトウェアは、ソフトウェアＩＳＲレベルの一部として含まれる幾つかの低レベル機能を含む。これらの低レベル機能の幾つかは、図２４に定義する本電話器の８ビットＩ／Ｏパラレルポートと共に使用されるＩ／Ｏ関連機能である。この低レベルのＩ／Ｏ関連機能は、「フック」状態モニタ（Ｈｏｏｋｓｔ（））、キー入力可用性検査および読み取り（Ｋｅｙ（））、ハンドセットおよびハンズフリー制御（ＨａｎｄＳｅｔ（））、イーサネットコントローラリセット（ＥＮＥＴ＿ｒｅｓｅｔ（））、ボリューム制御（ＡｍｐＣｏｎｔｒｏｌ（））、および、システムのソフトウェアリセットを含む。オーディオインターフェイスチップ１３６（ＬＭ４８３０の形式を取ることが望ましい）を使用して、ハンドセットとハンズフリーとの間で切替えをすることができる。例えば、ＨａｎｄＳｅｔ（）機能は、「ハンズフリー」モードが必要である場合には「０」をＩ／Ｏポートに書き込むことができ、或いは、「ハンドセット」モードが必要である場合は、「１」を適切なポートに書き込むことができる。
本発明の低レベル機能は、イーサネットコントローラ割込みＩＳＲ（Ｃ＿ｉｎｔ０３（））をも含む。図２５に示すように、Ｃ＿ｉｎｔ０３（）で使用するためのグローバルメッセージ構造が、イーサネットコントローラの状態用に定義される。パケットが送出されたとき、或いは、受信したパケットが終了したときはいつでも、イーサネットコントローラは、ＤＳＰ１２２に割込みをかけ、割込みを示す。ＤＳＰ１２２は、送信および受信の状態をイーサネットコントローラのレジスターから読み取り、それから、その状態を上述した状態構造に格納する。この情報はその他のタスクによって検査される。さらに、これらのメッセージは、それぞれのパケット伝送の後で読み取られる。そうでなければ、イーサネットコントローラはブロックされる。
【００６１】
上述したように、本発明の本ネットワーク器具は、ＲＴＰプロトコルを使用して音声パケットをリアルタイムで送受信することが好適である。ＲＴＰパケットは、ＵＤＰパケット内にカプセル化される。ＩＰ＿Ｓｅｎｄ＿ｔａｓｋとＲＴＰ＿Ｉｎ＿ｔａｓｋモジュールは、ＲＴＰパケットを作成し構文解析するよう操作する。図２６は、ＲＴＰパケット処理用のＲＴＰヘッダー構造を示す。
ＩＰ＿Ｓｅｎｄ＿ｔａｓｋがＲＴＰパケット送信の要求を入手したとき、それは、はじめに、イーサネットおよびＵＤＰヘッダーを生成する。次に、イーサネット伝送バッファーにＲＴＰヘッダーを加える。最後に、ＲＴＰデータはＲＴＰデータエリアにコピーされ、データネットワークを越えて送出される。
【００６２】
図２７は、トーン生成機能（Ｔｏｎｅ＿ｔａｓｋ（））と共に使用するためのデータ構造を示す。
Ｔｏｎｅ＿ｔａｓｋは、約０．１秒毎に実行することができるディレイドタスクである。これを用いて、トーンタイプ構造で定義したトーンの活動および停止の継続時間を計算する。Ｔｏｎｅ＿ｔａｓｋは、ＴｏｎｅＳｔａｔｅ（トーン状態）を、バースト（ｂｕｒｓｔ）中は「ＡＣＴＩＶＥ（活動）」に、無音中は「ＳＴＯＰ（停止）」状態に設定する。活動と停止の持続時間の違いは、異なるトーンを生成する、これらは、ダイヤルトーンは連続トーン（停止なし）、話中音はバースト０．５秒と無音０．５秒、リングバックトーン（呼出し音）はバースト２秒と無音４秒、リング信号は２秒間に２回の０．８秒のバーストと無音４秒、である。
【００６３】
好適には、ＴｏｎｅＧｅｎｅｒａｔｅ（）モジュールは、ＴｏｎｅＳｔａｔｅが活動であるときは、モードパラメータで定義した１フレーム４００Ｈｚのトーン、或いは、２４００Ｈｚのリング信号を生成する。さもなければ、１フレーム無音を提供する。
本発明のネットワーク器具は、ＵＤＰをＳＩＰ用の伝送プロトコルとして使用する。ＳＩＰ＿ｔａｓｋは、ＳＩＰ信号を処理するループ型タスクである。本ネットワーク器具は、発呼或いは着呼のどちらかに使用することができるため、ＳＩＰ＿ｔａｓｋは、ＵＡＣ（ユーザエージェントクライアント）およびＵＡＳ（ユーザエージェントサーバ）として動作する。
【００６４】
図２９は、ＳＩＰプロトコルに応じてＳＩＰ要求や応答を処理するために使用されるデータ構造を示すソース（プログラム）コードである。Ｔｓｔａｔｅは、ＳＩＰの状態遷移用にＳＩＰ＿ｔａｓｋおよびＳＩＰ＿Ｉｎ＿ｔａｓｋで使用される状態遷移構造である。構文解析されたＳＩＰメッセージは、データ構造ｍｅｓｓａｇｅ＿ｔの中にある。構造コールは、ｍｓｇ［ＭａｘＳｉｐＥｎｔｒｙ（最大ＳＩＰエントリー）］で規定される合計の呼およびそれぞれの呼のエントリー用に定義される。
【００６５】
図３０は、クライアント（例えば、発呼者）として作動するＳＩＰ＿ｔａａｋの状態遷移図を示す。ＳＩＰ電話機がコールを開始したとき、電話機はクライアントとして機能する。電話機が取り上げられコールのフラグがセットされたときのコールエントリーメッセージ［ＣｕｒｒｅｎｔＩｎｄｅｘ（現在インデックス）］が割り振られるステップ、ＣｒｅａｔｅＳｉｐＣａｌｌ（）（ＳＩＰコール作成）が、現在の設定およびダイヤル入力の応じてＳＩＰパケットを作成するステップ（ここで、ＳＩＰパッケージは当該コールのリファレンスとして使用され、ｕｓ＿ｓｔａｔｅはＵＡＣにセットされる）、ＳＩＰＰａｒｓｅ（）（ＳＩＰ構文解析）は、上記パケットからコール用のメッセージ構造（ｍｓｇ［ＣｕｒｒｅｎｔＩｎｄｅｘ］．ｍ］を生成するステップ、および、ＳＩＰ＿ｔａｓｋは、ＳＩＰ指定に応じて対応する要求を生成し、ＳＩＰ状態は図３０に示すようにＳＩＰ＿ｔａｓｋにおいて更新されるステップ、などのステップでコールが作成される。
【００６６】
図３０は、クライアント（発呼者）操作用の例示の状態図、即ち、ＳＩＰ＿ｔａｓｋのＵＡＣ状態遷移図を示す。初期状態（ステップ３００２）から、Ｃａｌｌｉｎｇ（電話中）状態に入り、ＳＩＰ＿ｔａｓｋは、応答を受信するまでＳＩＰ  ＩＮＶＩＴＥ（招待）要求を定期的（Ｔ１）に再送信する（ステップ３００４）。公称では、Ｔ１は、はじめは５００ｍｓ、それぞれのパケットを送信した後はその２倍である。（ステップ３００６）Ｔ２は、公称３２秒である。クライアントの応答を何も受信しない場合は、ＳＩＰ＿ｔａｓｋは、Ｔ２タイマーが満了したときに再送信を止めて、ＳＩＰ状態はＣａｎｃｅｌ（中止）に変わる（ステップ３００８）。応答が暫定のものである場合は、クライアントは要求の再送信を７回まで継続する。最後の応答を受信したとき、状態はＣｏｍｐｌｅｔｅｄ（完了）に変わり、ＡＣＫ（肯定応答）が生成される（ステップ３０１０）。発呼者があきらめたとき、状態はＢｙｅ（さよなら）状態に変わる（ステップ３０１２）。Ｂｙｅ要求は、送信の信頼のために、Ｔ１の間でＴ２が満了するまでに再送信する。この変数即ちＳＩＰ＿ｓｔａｔｕｓは、図３１に示すように受信した応答に応じて変化する。例えば、３ｘｘ応答を受信した場合は、ＳＩＰ＿ｔａｓｋは、リダイレクトしたアドレスに対するその他のコールを始動する。その他の最後に応答は、ＬＣＤに表示することができる。
【００６７】
ネットワーク器具が電話を受けたとき、ＳＩＰ＿ｔａｓｋはＳＩＰ  ＵＡＳ（サーバ）として機能する。着信パケットは以下のように処理される。ＵＤＰ＿Ｉｎ＿ｔａｓｋは着信ＵＤＰパケットを受け入れ、そのパケットを、その発信元ＩＰアドレスおよびポート番号と共にＳＩＰ＿Ｉｎ＿ｔａｓｋへ送信する。ＳＩＰ＿Ｉｎ＿ｔａｓｋは、ＳＩＰ指定に応じてそのパケットを処理し、それに応じて状態を更新する。ＳＩＰ＿ｔａｓｋは、受話器の状態をモニタし、それぞれのコールのＴ１およびＴ２タイマーをセットしてそれを減少し、必要に応じてＳＩＰ状態を更新する。
【００６８】
図３２は、ＳＩＰ  ＵＡＳの例示の状態遷移図を示す。ＳＩＰ＿ｔａｓｋが「ｉｎｉｔｉａｌ（初期）」状態）に留まる間は（ステップ３２０５）は、着信ＳＩＰパケットを受ける。ＩＮＶＩＴＥ要求を受けた場合は、Ｒｉｎｇｉｎｇ（鳴鈴）応答（１８０）を生成し、状態をｉｎｖｉｔｅに変え、ＳＩＰ＿ｔａｓｋモジュールは「Ｐｒｏｃｅｅｄｉｎｇ（続行）」ステップ（ステップ３２１０）に進む。電話をかけられた者が受話器を取り上げた場合は、状態は「ＰｉｃｋｓＵｐ（取り上げ）」に変わり、Ｓｕｃｃｅｓｓ（成功）に進み（ステップ３２１５）、成功裏に電話セッションが確立したことが示される。
電話をかえられた者が受話器を取らなかった場合は、状態は「Ｆａｉｌｕｒｅ（失敗）」に変わり、プロセスは「Ｆａｉｌｕｒｅ」状態へ進む（ステップ３２２０）。成功または失敗の後は、クライアントは現在の状態を応答し、プロセスを「Ｃｏｎｆｉｒｍｅｄ（確認）」状態に進める（ステップ３２２５）。発呼者がセッションを停止したときは、状態がＯｎＨｏｏｋに変わり、プロセスは、現在のセッションが終了したことを示すＢｙｅに進む（ステップ３２３０）。
【００６９】
本明細書で説明したように、本ネットワーク器具は独立型装置であり、パケットデータネットワークの電話コールを開始し受ける能力を有する。本明細書で述べた独立アーキテクチャーは、多くの付随する利点、例えば比較的低コストで実現できるなど提供する。また、同様に、この独立型器具１００と共に説明したソフトウェアアーキテクチャーおよび機能定義は、ＰＣベースの電話装置で提供することができる。このような場合は、マイクロホン、スピーカ、適切なネットワークインターフェイスカードを持つ従来のパーソナルコンピュータを、上述した方法と合致して操作するソフトウェアと共に提供する。もちろん、本実施例では、ユーザインターフェイスコンポーネントおよび機能が、ＰＣの従来の要素、例えば、キーボード、モニタ、マウスなどで実行されるなどのような明らかな変更が為されている。電話の機能に対するＧＵＩインターフェイスは、ソフトウェアによって提供され、所望の電話機能が実行できるようになる。
【００７０】
本発明のネットワーク器具は、従来の電話機能の実行に加えて、ネットワークと環境との間でコスト上効率的なインターフェイスを提供することもできる。イーサネットインターフェイスに装着するセンサは、必要とされるポートが多数あり要な最小限ハードウェアのコストがかかるため実現不可能であるが、本発明のネットワーク器具は、多数のデジタルおよびアナログセンサの収集ポイントでなることができる。このことは、普通は、外部センサをネットワーク器具に従来のＩ／Ｏ回路１３５（ＤＳＰ回路１２２に接続されている）を介して結合することによって達成される。このＩ／Ｏ回路は、簡易なバッファー、Ａ／Ｄコンバータ、レジスターなどの形態を取ることができる。この機能は、セキュリティの理由で電話を設けるとき、例えば、エレベータ、ロビー、売り場、車庫などに設けるという環境で特に便利である。例としては、人の存在を検知するための受動赤外線（ＰＩＲ）デジタルセンサ（これを使用して、誰かがオフィス、セキュリテイエリア、或いは、エネルギー管理システムに居る場合に電話を自動転送することができる）、オフィスが使用されていることを検知するアナログまたはデジタルライトセンサ、セキュリティ用のコンタクトクロージャー（ブレーカー）などがある。従って、本ネットワーク器具は、システム統合のポイントを提供する。
【００７１】
さらに機能強化したＩ／Ｏ能力を提供するためには、Ｉ／Ｏ回路は、照明や電気器具などの電源に接続された（ｌｉｎｅ−ｐｏｗｅｒｅｄ）装置を制御する標準として認知されているＸ１０およびＣＥＢｕｓなどのローカル制御プロトコルと互換性を持たせることもできる。このようなものおよびインターフェイスを本電話機に追加すれば、ネットワークベースで照明装置などを制御できる。
【００７２】
図３３は、ネットワーク上で２者或いはそれ以上の者の間でコールを確立するために本ネットワーク器具を使用するシステムを示す。本システムは、一般的には、上述したように１つまたは複数の独立型ネットワーク器具１００を含む。さらに、本システムは、本ネットワーク器具１００とプロトコル互換である適切なネットワーク電話ソフトウェアが稼動するネットワークを行うことができるＰＣなどのような、ＰＣベースの電話装置３３２０をも含むことができる。それぞれの電話端点は、ノードと呼ばれ、特定のＳＩＰアドレスを持つ。この特定のアドレスを使用することによって、発呼者（クライアント）として機能する何らかのノードが、直接、ネットワーク上のその他のノード（サーバ）との電話セッションを開始することができる。
【００７３】
本システムは、望ましくは、リダイレクトサーバ（３２２５）を含み、このサーバは、ネットワークの様々なノードによってアクセスされることができ、機能向上したサービス、例えば、ディレクトリサービス、電話転送、電話分岐、電話メッセージなどのようなサービスを提供する。例えば、ジョンスミスへの電話を開始することを望む発呼者は、当該人物のＳＩＰアドレス、ｓｉｐ：ｊｏｈｎ．ｓｍｉｔｈ＠ｗｏｒｋ．ｃｏｍなどを入力できる。一方、発呼者が相手先のＳＩＰアドレスを知らない場合は、発呼者は、リダイレクトサーバ３２２５にアクセスし、ジョンスミスとのセッションを始めたい旨の要求を行うことができる。リダイレクトサーバは、様々な相手先の登録情報を持つデータベースを含み、発呼者にＳＩＰアドレスを返す、或いは、電話要求を適切なＳＩＰアドレスへ転送することができる。さらに、電話をかけられた者（着呼者）は、ｊｏｈｎ．ｓｍｉｔｈ＠ｈｏｍｅ、ｊｏｈｎ．ｓｉｍｉｔｈ＠ｏｆｆｉｃｅ、ｊｏｈｎ．ｓｍｉｔｈ＠ｌａｂなどのような複数のＳＩＰアドレスを持つことができる。リダイレクトサーバは、セッション開始信号をこれらのアドレスのそれぞれに提供し、発呼者と、開始要求を返して最初にコンタクトしてきたノードとの間で接続を確立する。同様に、パーティ即ち登録者は、定期的にリダイレクトサーバに登録をして、どこで接触できるかを示す現在のＳＩＰアドレスを示すことができる（電話転送機能）。
【００７４】
ネットワーク器具３３０５は、１つまたは複数のセンサ３３１０とインターフェイスするように構成させることもできる。センサからの信号は、ネットワーク器具３３０５によって受信され、ネットワークで所望のネットワークノードに送信することができる。このセンサからの信号は、ネットワーク器具のタイマーによって定期的に検出することができ、メモリに格納されたＳＩＰアドレスへ送信することができる。或いは、センサ信号は、その他のノードからの受信したコマンドに基づき、ネットワーク器具によって測定することもでき、或いは、受信した、センサの状態の変化を示す割込み信号に基づき（割込み主導型）測定することもできる。例えば、ネットワーク器具１００をセキュリティシステム通信装置として使用し、様々なセキュリティセンサポイントの状況を中央監視局へ報告することもできる。このような場合では、本器具は、接続されたセンサ（ドアセンサ、火災センサ、受動赤外検出など）の状況を定期的にチェックし、中央局ノードへ現在の状況を報告する。非常事態を示すであろう状況変化の事象では、器具１００は、中央局との電話セッションを生成し、同様にこの状況を報告することができる。もちろん、警報通信器として機能する同じ器具は、同様に、完全な電話機能を提供することができる。さらに、簡易なセキュリティ用途を説明したが、様々なその他のデータ収集や一般的にはＳＣＡＤＡ（サイト制御およびデータ取得）として知られる制御用途を、本ネットワーク器具１００を使用して実現できることを理解されたい。
【００７５】
停電の間にライフラインサービスを保持するために、本発明のネットワーク器具は充電可能なバッテリーを装備することができ、これは壁の変圧器と一体にすることもできる。
多くの場所では現在だた１つのイーサネットインターフェイスを装備するが、本発明のネットワーク器具は、外部ＲＪ−４５インターフェイスの付いた２つのポートのイーサネットハブを提供すべきである。このことは、電話装置およびネットワーク化したコンピュータの両方の同時稼動をもたらす。
音声データに加えて、本ネットワーク器具は、映像データも送受信することができる。例えば、映像入力インターフェイス、アナログ或いはＵＳＢ（ユニバーサルシリアルバス）を、機能的にＤＳＰ１２２に結合して、この機能を実現することができる。
【００７６】
本ネットワーク器具１００は、適切な無線イーサネットインターフェイスに結合することもでき、この結果、コードレスホンに相当するものにすることができる。
本ネットワーク器具１００に下記のプロトコル：ＩＰアドレスの自動割り当て用のＤＨＣＰおよびＲＡＲＰ、マルチキャストグループに申し込むためのＩＧＭＰ、ボイスメールおよび独特なリンギング信号を取得するためのＲＴＳＰ、マルチキャスト「ラジオ」イベントの通知を聞くためのＳＡＰ、および、名前解決（変換）のためのＤＮＳ（利用可能なプログラムメモリ空間に制約される）などを追加して拡張機能を提供することができる。
【００７７】
基本的な電話操作の加えて、本ネットワーク器具は、高レベルの電話機能を提供することもできる。例えば、「邪魔しないでください」機能は、ユーザによるＳＩＰアドレス入力によって指定されたものに応じて、所定の時間で指定の場所へ電話を自動的に転送することができる。機能を選択するたびに、時間が所定のインターバル（例えば１５分）で増加する。
「電話記録」は、着呼の関するＳＩＰアドレスおよび関連情報を、情報をメモリに格納することによって記録することができ、同時に、ユーザインターフェイスサブシステム１６０を介するユーザ対話によってログからリストをスクロールして発呼者のＳＩＰアドレスを選択することによって折り返し電話をする能力を与えることもできる。
【００７８】
本ネットワーク器具は、「自動アドレスブック」を含むこともできる。ユーザ入力或いはネットワークに接続したサーバを介して、本ネットワーク器具は、即時ダイヤルリスト、或いは、ユーザがスクロールさせることができる（ＳＩＰ「複数選択」応答を使用する）ローカルメモリに格納される手段のリストを取得することができる。
「ボイスメールシステムへのインターフェイス」機能は、かかってきたが取らなかった全てのコールを表示することができ、これには電話の時間、発呼者、電話の要件および緊急性、および、発呼者がボイスメールを残したか否かを含む。この電話は、時間で或いは緊急性で並べることができる。電話表示は、好適には５つのソフトボタン：エントリー消去、リストにおいて前に或いは後ろへ移動、電話に戻る、およびメッセージ取り出し、で機能する。
【００７９】
「独特のリンギング（いわゆる個人別着信メロディ）」機能は、器具１００が特定の発呼者に対して、特有の音楽クリップ、独特な着信音、メロディ、或いは発呼者の名前などで知らせるようにプログラムされているものである。この場合、小さなデータベースに、発呼者、或いは発呼者のクラス（例えば、友人、客、緊急）を特定の選択されたリング応答に関連付けらる。
「電話転送」は、器具１００で実現できるさらなる機能である。典型的には、コールは、プロキシーリダイレクトサーバーによって転送される。しかしながら、本ネットワーク器具１００は、上述した「邪魔しないで下さい」ボタンで、自分で簡易転送を実行することができる。リダイレクションは、レジスターコマンドでその他の電話機から電話をかけるという形を取り、その結果、自分へ電話を繋げることができる。また、ある時間帯のあるドメインからの電話の自動転送は、リダイレクトサーバを利用せずに実現される。
【００８０】
「インターコム」モードは、「通話ボタン」を押すか、受話器を上げるかするまでマイクを無効にしたままで着呼を自動で「取る」機能である。これは、セキュリティ場内放送システムの一部として使用することができる。
「ベビーモニタリング」機能は、ネットワーク器具を遠隔音声監視装置として機能させることを可能にするものである。例えば、かかってきた電話を受けたうえで、ネットワーク器具１００は、スピーカを無効にされ、発呼者が、電話をかけられた器具が位置する場所の環境を聞くことができるようにマイクを自動的に有効にされた状態で起動される。この機能は、所定のコードや発呼者の識別によって選択的に結ぶことができる。
【００８１】
「インターネット電話」機能は、ネットワーク器具１００が、電話を受発信してないときに、自動的に、ローカルＲＴＰマルチキャストサーバーか、或いは、その他のストリーミングメディア源によって供給されたラジオ局を再生することを可能にする。本ネットワーク器具１００は、ＳＡＰアナウンスメントを聞くことができ、局のリストをソフトボタンと共にディスプレイ上に表示することができる。何らかの着信コールによって現在のラジオ局は中断される。
本ネットワーク器具は、「発信リスト」を保持することもできる。以前のコールが成功した場合は、発信先のアドレスが、自動的に、ローカルダイヤルリストとして使用されるメモリの一部に入る。この相手先に再度ダイヤルするとき、この相手先を発信リストから上方か下方キーで選択することができる。これは、普通は、自動的に古いエントリーは廃棄され、より新しい現在のエントリーに置き換えられるＦＩＦＯ型メモリ構造である。「リダイヤル」は、単一のキーで最後にかかってきた番号か、最後にかけた相手かにダイヤルすることを可能にする。
【００８２】
さらに、無音を無視するなどの「スピーチ処理強化機能」は、ノイズ発生を低減し、エコーキャンセルも、電話の分野では良く知られた方法で本ネットワーク器具に含ませることができる。
従って、ユーザがローカルエリアネットワーク（ＬＡＮ）内で、または、インターネットを越えて電話をすることを可能にする独立型「インターネット器具」であるネットワークベースの電話を開示した。その核となる部分は、デジタル信号プロセッサ（ＤＳＰ、音声や映像信号の処理に最適化したマイクロコントローラ）である。これは、接続部を除いた通常の電話のスーパーセット（上位集合）、および、ＰＴＳＮ（公衆交換電話網）に代わりのイーサネットデータネットワークを提供する。１０Ｍｂ／ｓで作動しているイーサネットは、アナログおよびデジタル電話機に使用される同じツイステッドペア配線を使用できるため、このパケットデータネットワーク電話は、客の構内に配線をする必要がない。最小システムは、イーサネットのクロスオーバーケーブル（いわいるクロスケーブル）によって接続された、２つのパケットデータネットワーク電話機から構成される。マルチライン基本ＰＢＸは、イーサネットハブやスイッチに接続された幾つかのパケットデータネットワーク電話機から成る構成で実現することもできる。この「ＰＢＸ」は、単にイーサネット容量やポートを追加することによって多数の電話から成るように拡大することができる。パケットデータネットワーク電話機は、イーサネットをその他のＬＡＮサービスと分かち合うことができる。殆ど全ての場合に、音声トラヒックはネットワーク容量の僅かな部分となる（単一の音声コールは、１０Ｍｂ／ｓのうちの１６ｋｂ／ｓを消費する）。本パケットデータネットワーク電話機は、音声通信を提供し、ＰＢＸが通常持つ機能を実現する。しかしながら、本ネットワーク器具は、ＬＡＮ或いはインターネットに位置するサーバを使用し、追加の機能：ユーザ位置およびディレクトリサービス、電話転送、音声メール、付随サービスなどを提供することができる。
【００８３】
本ネットワーク器具に基づくＰＢＸは、インターネット電話ゲートウェイ（ＩＴＧ）を通って従来の電話にもアクセスすることができる。このようなゲートウェイは、アナログ線、ＩＳＤＮ基本、或いは、プライマリーレートインターフェイス、或いは、デジタルトランク（中継線、Ｔ１／Ｅ１など）を使用してＰＳＴＮに接続する。最近、ＩＴＧは、１から２４０回線の容量を持つ商品として紹介されている。
【００８４】
本発明を特定の実施例との関連で説明してきたが、本発明の範囲および精神から離れることなく当業者は様々な修正、変形、適応をすることができることを理解されたい。本発明は請求の範囲のみから限定されることを意図する。
【図面の簡単な説明】
【図１】従来の音声パケットネットワークに機能的に結合された回線交換音声ネットワークを特徴とする通信システムの図を示す。
【図２】パケットデータネットワーク電話システムのブロック図である。
【図３】図２のパケットデータネットワーク電話システム上で動作する電話装置用のプロトコルスタックを示す図である。
【図４】本発明によるネットワーク電話器具の好適なハードウェアアーキテクチャーのブロック図である。
【図５】図４のネットワーク電話器具をさらに説明するブロック図である。
【図６】図５のネットワーク電話器具のＤＳＰ用のメモリマップの一例である。
【図７】図５のネットワーク電話器具のＤＳＰ用のメモリインターフェイスブロック図である。
【図８】図５のネットワーク電話器具のＤＳＰ用のネットワークコントローラインターフェイスのブロック図である。
【図９】図５のネットワーク電話器具のＤＳＰ用のコーデックインターフェイスのブロック図である。
【図１０】ＬＣＤ制御インターフェイスのＤＳＰメモリアドレスに対するマッピングを示す図５のＤＳＰ用のメモリマップの一例である。
【図１１】図４のネットワーク電話器具用のソフトウェアアーキテクチャーをブロック図である。
【図１２】図１１のプロセスレベルソフトウェアのスケジューリング機構を説明するブロック図である。
【図１３Ａ】Ａは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１３Ｂ】Ｂは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１３Ｃ】Ｃは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１３Ｄ】Ｄは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１３Ｅ】Ｅは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１３Ｆ】Ｆは、図４および図１１のソフトウェアやハードウェアのアーキテクチャーに基づく、パケットデータネットワーク電話を操作する好適な方法のソフトウェア操作用の例示のタスク定義を説明するテーブルである。
【図１４】図４、１１、１３のソフトウェアやハードウェアのアーキテクチャーに基づく、ＡＲＰ要求出力プロシージャーのフローチャートである。
【図１５】図４、１１、１３のソフトウェアやハードウェアのアーキテクチャーに基づく、ＡＲＰ要求入力プロシージャーのフローチャートである。
【図１６】図４、１１、１３のソフトウェアやハードウェアのアーキテクチャーに基づく、ＩＰ処理ステップを示す図である。
【図１７】図１１のソフトウェアアーキテクチャーに基づく、例示のイーサネット送信データ構造のリストである。
【図１８】図４、１１、１３のソフトウェアやハードウェアのアーキテクチャーに基づく、パケット送信プロシージャーのデータフロー図である。
【図１９】図４、１１、１３のソフトウェアやハードウェアのアーキテクチャーに基づく、パケット受信プロシージャーのデータフロー図である。
【図２０】ＡとＢとは、本ネットワーク電話器具のソフトウェアによって使用されるＡ／ＤおよびＤ／Ａ「ピンポン」バッファースキームを示す。
【図２１】本ネットワーク電話器具のＣａｌｌ＿ｔａｓｋプロセスの状態遷移図である。
【図２２】図５のパケットデータネットワーク電話の好適な実施例用のキーパッドの値を定義する図である。
【図２３】図５のパケットデータネットワーク電話器具の好適な実施例用のキー状態の定義を説明するデータ構造である。
【図２４】図５のパケットデータネットワーク電話器具のＩ／Ｏパラレルポートのマッピングである。
【図２５】図５のパケットデータネットワーク電話器具のイーサネットコントローラの状態を定義するデータ構造である。
【図２６】図５のパケットデータネットワーク電話で使用されるＲＴＰパケット処理用の例示のＲＴＰヘッダー構造である。
【図２７】図５のパケットデータネットワーク電話のトーン生成機能で使用するデータ構造である。
【図２８】図５のパケットデータネットワーク電話器具のトーン生成機能で使用するタイミング図である。
【図２９】図５のパケットデータネットワーク電話器具に基づき、ＳＩＰ＿ｔａｓｋ要求や応答を処理するために使用されるデータ構造のリストである。
【図３０】図５に基づき、クライアント（電話を発呼した者）として動作するネットワーク電話器具を説明する状態遷移図である。
【図３１】図５のパケットデータネットワーク電話器具に基づく、ＳＩＰ＿ｔａｓｋ応答のリストである。
【図３２】図５のパケットデータネットワーク電話器具に基づく、ＳＩＰ  ＵＡＳの状態遷移図を説明する状態図である。
【図３３】本発明によるネットワーク電話器具を１つまたは複数含むパケットデータネットワーク電話システムの要素を説明するブロック図である。
【図２】
2004500744.tif 000003
【図３】
2004500744.tif 000004
【図４】
2004500744.tif 000005
【図５】
2004500744.tif 000006
【図６】
2004500744.tif 000007
【図１０】
2004500744.tif 000008
【図１１】
2004500744.tif 000009
【図１２】
2004500744.tif 000010
【図１３Ａ】
2004500744.tif 000011
【図１３Ｂ】
2004500744.tif 000012
【図１３Ｃ】
2004500744.tif 000013
【図１３Ｄ】
2004500744.tif 000014
【図１３Ｅ】
2004500744.tif 000015
【図１３Ｆ】
2004500744.tif 000016
【図１４】
2004500744.tif 000017
【図１５】
2004500744.tif 000018
【図１６】
2004500744.tif 000019
【図１８】
2004500744.tif 000020
【図１９】
2004500744.tif 000021
【図２０】
2004500744.tif 000022
【図２１】
2004500744.tif 000023
【図２２】
2004500744.tif 000024
【図２３】
2004500744.tif 000025
【図２４】
2004500744.tif 000026
【図２５】
2004500744.tif 000027
【図２６】
2004500744.tif 000028
【図２７】
2004500744.tif 000029
【図２８】
2004500744.tif 000030
【図３０】
2004500744.tif 000031
【図３１】
2004500744.tif 000032
【図３３】
2004500744.tif 000033
【国際公開パンフレット】
2004500744.tif 000034
2004500744.tif 000035
2004500744.tif 000036
2004500744.tif 000037
2004500744.tif 000038
2004500744.tif 000039
2004500744.tif 000040
2004500744.tif 000041
2004500744.tif 000042
2004500744.tif 000043
2004500744.tif 000044
2004500744.tif 000045
2004500744.tif 000046
2004500744.tif 000047
2004500744.tif 000048
2004500744.tif 000049
2004500744.tif 000050
2004500744.tif 000051
2004500744.tif 000052
2004500744.tif 000053
2004500744.tif 000054
2004500744.tif 000055
2004500744.tif 000056
2004500744.tif 000057
2004500744.tif 000058
2004500744.tif 000059
2004500744.tif 000060
2004500744.tif 000061
2004500744.tif 000062
2004500744.tif 000063
2004500744.tif 000064
2004500744.tif 000065
2004500744.tif 000066
2004500744.tif 000067
2004500744.tif 000068
2004500744.tif 000069
2004500744.tif 000070
2004500744.tif 000071
2004500744.tif 000072
2004500744.tif 000073
2004500744.tif 000074
2004500744.tif 000075
2004500744.tif 000076
2004500744.tif 000077
2004500744.tif 000078
2004500744.tif 000079
2004500744.tif 000080
2004500744.tif 000081
2004500744.tif 000082
2004500744.tif 000083
2004500744.tif 000084
2004500744.tif 000085
2004500744.tif 000086
2004500744.tif 000087
2004500744.tif 000088
2004500744.tif 000089
2004500744.tif 000090
2004500744.tif 000091
2004500744.tif 000092
2004500744.tif 000093
2004500744.tif 000094
2004500744.tif 000095
2004500744.tif 000096
2004500744.tif 000097
2004500744.tif 000098
2004500744.tif 000099
2004500744.tif 000100
2004500744.tif 000101
2004500744.tif 000102
2004500744.tif 000103
2004500744.tif 000104
2004500744.tif 000105
2004500744.tif 000106
2004500744.tif 000107
2004500744.tif 000108
2004500744.tif 000109
2004500744.tif 000110
2004500744.tif 000111
2004500744.tif 000112
2004500744.tif 000113
【国際調査報告】
2004500744.tif 000114