しかしながら、従来のIP電話システムの構成では、以下のような問題が起きる。普段はネットワーク端末100のスピーカ・マイクを用いてIP電話による会話を行っているユーザが、インターフェースデバイス102a(例えば、USB親子電話機の子機であり、ネットワーク端末1から離れた位置にある子機)を用いて会話をしようとしたときを想定する。インターフェースデバイス102aからのユーザ入力は通話アプリケーション150に伝達されるため、通話アプリケーション150はIP電話端末103との通信を開始することができる。ところが、通話アプリケーション150が受信したIP電話端末103からの会話音声は、ネットワーク端末100のスピーカから再生されることになり、インターフェースデバイス102aを用いているユーザは、会話を行なうことができないことになる。
すなわち、通話アプリケーションに設定されているスピーカ・マイクを備える機器(ネットワーク端末100あるいはインターフェースデバイス102a)と、ユーザが、会話に際して用いるユーザインターフェースを備える機器とが必ずしも一致しないために、問題が発生していることになる。
ここで、特許文献1では、図1・図2に、ネットワークから受信した着信音発生信号・会話信号をネットワーク端末の内蔵スピーカから出力するか、ネットワーク端末に接続されたヘッドセットのスピーカから出力するかをユーザが任意に選択するスイッチが設けられた構成が示されているが、ヘッドセットを、通話アプリケーションからの報知を行ったり、ユーザ入力を得たりするためのユーザインターフェースとして用いる構成は示されていない。
すなわち、特許文献1のシステムでは、ネットワーク端末に接続された複数のインターフェースデバイス間における、音声データの切り替えについては開示されていない。よって、ユーザがある所定のインターフェースデバイスを用いて会話を行いたい場合に、他のインターフェースデバイスに対して音声データが通信されている場合には、ユーザは所定のインターフェースデバイスを用いて会話をすることができないという上述した問題が発生する。
また特許文献1では、ネットワーク端末に音声データの切り替え専用のスイッチを別途備えることにより、ネットワーク端末をIP電話端末としてカスタマイズする必要がある。すると、特許文献1のシステムを、切り替え専用スイッチを備えない一般のネットワーク端末に適用することができず、汎用性が低くなるため問題である。
また、特許文献2のシステムでは、複数のインターフェースデバイスのうちの1つを選択した上で、選択したインターフェースデバイスとの間でメッセージ情報と音声データとを通信する技術については開示がない。すると、選択したインターフェースデバイスと通話アプリケーションとの間で、メッセージ情報は通信可能であるのに、音声データは通信不可能となる場合が発生しうる。この場合、ネットワークに接続されている外部のIP電話端末から着信要求があると、メッセージ情報により着信通知メッセージをインターフェースデバイスに送信することはできるが、音声データにより着信音をインターフェースデバイスに送信することができないため問題である。また、ユーザがインターフェースデバイスを用いて着信要求に応じたとしても、音声データにより、ユーザと外部IP電話端末のユーザとの通話音声を相互に伝達することができないため問題である。また逆に、ユーザがインターフェースデバイスを用いて、通話アプリケーションを介して外部IP電話端
末のユーザへの通話を要求する場合においても、音声データにより通話音声を相互に伝達することができないため問題である。
すなわち、特許文献2には、図2に、PCと親子電話機がUSBケーブルで接続され、ユーザが、親子電話機を用いてネットワークの先に居るIP電話端末と通話することができる構成が示されているが、通話アプリケーションに設定されているスピーカ・マイクを備える機器と、ユーザが、会話に際して用いるユーザインターフェースを備える機器とが必ずしも一致しないという問題への解決手段は示されていない。
本発明は、上記問題点を解決するためになされたものであり、通話アプリケーションに設定されているスピーカ・マイクを備える機器(ネットワーク端末あるいはインターフェースデバイス)と、ユーザが、会話に際して用いるユーザインターフェースを備える機器とを一致させ、ユーザが、マイク・スピーカを用いて会話する際に、マイク・スピーカを備えた機器のユーザインターフェースを介して通話アプリケーションからの報知を受け、IP電話通信を行うことができるようにするIP電話端末およびプログラムを提供することを目的としている。また、本発明は、所定のインターフェースデバイスを選択した上で、選択したインターフェースデバイスとの間でメッセージ情報と音声データとを通信することが可能なコンピュータプログラム及びネットワーク端末の提供を目的とする。
この目的を達成するために、請求項1記載のIP電話端末は、他のIP電話端末との間でインターネットを介してIP電話通信を行う通信手段と、音声入力手段と操作入力手段とを備えたインターフェースデバイスを複数接続可能な接続手段と、前記操作入力手段を選択する第1の選択手段と、前記音声入力手段を選択する第2の選択手段と、前記操作入力手段からの操作入力を受信する操作入力受信手段と、前記音声入力手段からの音声入力を受信する音声入力受信手段と、前記第1の選択手段が選択した操作入力手段から入力された操作に従い、前記IP電話通信を介して前記他のIP電話端末に通話要求を送信し、前記第2の選択手段が選択した音声入力手段から入力された音声を、前記IP電話通信を介して前記他のIP電話端末に送信することで、前記IP電話通信を介して前記他のIP電話端末と通話するIP電話機能の実行を制御するIP電話機能制御手段と、を備えたものであって、前記インターフェースデバイスを選択する第3の選択手段と、前記第3の選択手段が選択したインターフェースデバイスが備える操作入力手段を前記第1の選択手段が選択するよう制御し、前記第3の選択手段が選択したインターフェースデバイスが備える音声入力手段を前記第2の選択手段が選択するよう制御する選択制御手段とを備える。
請求項2記載のIP電話端末は、請求項1記載のIP電話端末において、端末装置側の操作入力手段と、表示出力手段と、前記複数のインターフェースデバイスを示すデバイス情報を前記表示出力手段が表示出力するよう制御する表示制御手段とを備え、前記第3の選択手段は、前記表示出力手段が表示出力したデバイス情報で示される複数のインターフェースデバイスのなかから、前記端末装置側の操作入力手段から入力された操作で指定されたインターフェースデバイスを選択する。
請求項3記載のIP電話端末は、請求項1または2記載のIP電話端末において、前記第3の選択手段は、前記インターフェースデバイスのうち何れかが備える操作入力手段から入力された前記他のIP電話端末との通話要求を、前記操作入力受信手段が受信した場合、前記通話要求が入力された操作入力手段を備えるインターフェースデバイスを選択する。
請求項4記載のIP電話端末は、他のIP電話端末との間でインターネットを介してIP電話通信を行う通信手段と、音声出力手段と操作入力手段とを備えたインターフェースデバイスを複数接続可能な接続手段と、前記操作入力手段を選択する第1の選択手段と、前記音声出力手段を選択する第4の選択手段と、前記操作入力手段からの操作入力を受信する操作入力受信手段と、前記音声出力手段から音声を出力させる音声出力制御手段と、前記第1の選択手段が選択した操作入力手段から入力された操作に従い、前記IP電話通信を介して通話要求を送信してきた他のIP電話端末に通話許可を返信し、前記IP電話通信を介して前記他のIP電話端末から送信された音声を、前記音声出力制御手段により、前記第4の選択手段が選択した音声出力手段から出力させることで、前記IP電話通信を介して前記他のIP電話端末と通話するIP電話機能の実行を制御するIP電話機能制御手段と、を備えるものであって、前記インターフェースデバイスを選択する第5の選択手段と、前記第5の選択手段が選択したインターフェースデバイスが備える操作入力手段を前記第1の選択手段が選択するよう制御し、前記第5の選択手段が選択したインターフェースデバイスが備える音声出力手段を前記第4の選択手段が選択するよう制御する選択制御手段とを備える。
請求項5記載のIP電話端末は、請求項4記載のIP電話端末において、前記第5の選択手段は、前記通話要求に対応付けられた態様で他のIP電話端末から送信された、前記インターフェースデバイスを特定するための特定情報を前記通信手段が受信した場合、前記特定情報で特定されるインターフェースデバイスを選択する。
請求項6記載のIP電話端末は、請求項4記載のIP電話端末において、前記他のIP電話端末について定められた識別情報と、前記識別情報と前記インターフェースデバイスとの対応情報を記憶する記憶手段とを備え、前記第5の選択手段は、前記通話要求を送信してきた他のIP電話端末から送信された、前記他のIP電話端末について定められた識別情報が前記記憶手段に記憶されている場合、前記対応情報に基づいて、前記通話要求を送信してきた他のIP電話端末から送信された、前記他のIP電話端末について定められた識別情報と対応するインターフェースデバイスを選択する。
請求項7記載のIP電話端末は、請求項4乃至6のいずれか一項に記載のIP電話端末において、前記第4の選択手段が選択した音声出力手段が前記通話要求を音声出力するよう制御する通話要求出力制御手段を備える。
請求項8記載のプログラムは、他のIP電話端末との間でインターネットを介してIP電話通信を行う通信手段と、音声入力手段と操作入力手段とを備えたインターフェースデバイスを複数接続可能な接続手段と、前記操作入力手段を選択する第1の選択手段と、前記音声入力手段を選択する第2の選択手段と、前記操作入力手段からの操作入力を受信する操作入力受信手段と、前記音声入力手段からの音声入力を受信する音声入力受信手段と、前記第1の選択手段が選択した操作入力手段から入力された操作に従い、前記IP電話通信を介して前記他のIP電話端末に通話要求を送信し、前記第2の選択手段が選択した音声入力手段から入力された音声を、前記IP電話通信を介して前記他のIP電話端末に送信することで、前記IP電話通信を介して通話するIP電話機能の実行を制御するIP電話機能制御手段と、と備えるIP電話端末を制御するコンピュータが読み取り可能なプログラムであって、前記インターフェースデバイスを選択する第3の選択手段と、前記第3の選択手段が選択したインターフェースデバイスが備える操作入力手段を前記第1の選択手段が選択するよう制御し、前記第3の選択手段が選択したインターフェースデバイスが備える音声入力手段を前記第2の選択手段が選択するよう制御する選択制御手段と、して前記コンピュータを機能させる。
請求項9記載のプログラムは、他のIP電話端末との間でインターネットを介してIP電話通信を行う通信手段と、音声出力手段および操作入力手段を備えたインターフェースデバイスを複数接続可能な接続手段と、前記操作入力手段を選択する第1の選択手段と、前記音声出力手段を選択する第4の選択手段と、前記操作入力手段からの操作入力を受信する操作入力受信手段と、前記音声出力手段から音声を出力させる音声出力制御手段と、前記第1の選択手段が選択した操作入力手段から入力された操作に従い、前記IP電話通信を介して通話要求を送信してきた他のIP電話端末に通話許可を返信し、前記IP電話通信を介して前記他のIP電話端末から送信された音声を、前記音声出力制御手段により、前記第4の選択手段が選択した音声出力手段から出力させることで、前記IP電話通信を介して前記他のIP電話端末と通話するIP電話機能の実行を制御するIP電話機能制御手段と、を備えるIP電話端末を制御するコンピュータが読み取り可能なプログラムであって、前記インターフェースデバイスを選択する第5の選択手段と、前記第5の選択手段が選択したインターフェースデバイスが備える操作入力手段を前記第1の選択手段が選択するよう制御し、前記第5の選択手段が選択したインターフェースデバイスが備える音声出力手段を前記第4の選択手段が選択するよう制御する選択制御手段と、して前記コンピュータを機能させる。
請求項10記載のプログラムは、複数のインターフェースデバイスが接続され、複数の前記インターフェースデバイスのうち、設定されたインターフェースデバイスと音声データを通信することでIP電話を行う通話アプリケーションがインストールされるネットワーク端末に組み込まれるプログラムであって、前記ネットワーク端末を、前記通話アプリケーションの、IP電話の実行に関する各種のメッセージ情報の通信先を前記プログラム自身に設定し、少なくとも1つの前記インターフェースデバイスのうちから選択された指定インターフェースデバイスと前記通話アプリケーションとの間で、各種の前記メッセージ情報の中継をする連携制御を行う連携手段と、前記通話アプリケーションの前記音声データの通信先を前記指定インターフェースデバイスに設定することで、前記指定インターフェースデバイスと前記通話アプリケーションとの間で前記音声データを直接通信させる設定手段として機能させる。
請求項11記載のネットワーク端末は、複数のインターフェースデバイスが接続され、複数の前記インターフェースデバイスのうち、設定されたインターフェースデバイスと音声データを通信することでIP電話を行う通話アプリケーションがインストールされるものであって、少なくとも1つの前記インターフェースデバイスのうちから選択された指定インターフェースデバイスと前記通話アプリケーションとの間で、IP電話の実行に関する各種の前記メッセージ情報の中継をする連携制御を行う連携手段と、前記通話アプリケーションの前記音声データの通信先を前記指定インターフェースデバイスに設定することで、前記指定インターフェースデバイスと前記通話アプリケーションとの間で前記音声データを直接通信させる設定手段とを備える。
請求項1記載のIP電話端末によれば、第3の選択手段が選択したインターフェースデバイスが備える操作入力手段を第1の選択手段が選択するよう制御し、第3の選択手段が選択したインターフェースデバイスが備える音声入力手段を第2の選択手段が選択するよう制御がされる。そして、第1の選択手段が選択した操作入力手段から入力された操作に従い、IP電話通信を介して他のIP電話端末に通話要求が送信され、第2の選択手段が選択した音声入力手段から入力された音声が、IP電話通信を介して他のIP電話端末に送信される。
よって、インターフェースデバイスの操作入力手段から入力された操作に従い、IP電話通信を介して他のIP電話端末に通話要求を送信し、また、そのインターフェースデバイスの音声入力手段から入力された音声を、IP電話通信を介して他のIP電話端末に送信できるという効果がある。
請求項2記載のIP電話端末によれば、請求項1記載のIP電話端末の奏する効果に加え、第3の選択手段は、表示出力手段が表示出力したデバイス情報で示される複数のインターフェースデバイスのなかから、端末装置側の操作入力手段から入力された操作で指定されたインターフェースデバイスを選択するので、IP電話に用いるインターフェースデバイスをユーザによって指定できるという効果がある。
請求項3記載のIP電話端末によれば、請求項1または2に記載のIP電話端末の奏する効果に加え、第3の選択手段は、前記インターフェースデバイスのうち何れかが備える操作入力手段から入力された前記他のIP電話端末との通話要求を、前記操作入力受信手段が受信した場合、前記通話要求が入力された操作入力手段を備えるインターフェースデバイスを選択するので、ユーザにとっては、他のIP電話端末との通話要求の入力に用いたインターフェースデバイスを、音声の入力にも用いることができるという効果がある。
請求項4記載のIP電話端末によれば、第5の選択手段が選択したインターフェースデバイスが備える操作入力手段を第1の選択手段が選択するよう制御し、第5の選択手段が選択したインターフェースデバイスが備える音声出力手段を第4の選択手段が選択するよう制御がされる。そして、前記第1の選択手段が選択した操作入力手段から入力された操作に従い、前記IP電話通信を介して通話要求を送信してきた他のIP電話端末に通話許可を返信し、前記IP電話通信を介して前記他のIP電話端末から送信された音声が、前記第4の選択手段が選択した音声出力手段から出力される。
よって、インターフェースデバイスの操作入力手段から入力された操作に従い、IP電話通信を介して他のIP電話端末に通話許可を返信し、また、他のIP電話端末から送信された音声を、そのインターフェースデバイスの音声出力手段から出力できるという効果がある。
請求項5記載のIP電話端末によれば、請求項4記載のIP電話端末の奏する効果に加え、前記通話要求に対応付けられた態様で他のIP電話端末から送信された、前記インターフェースデバイスを特定するための特定情報を前記通信手段が受信した場合、前記特定情報で特定されるインターフェースデバイスが選択されるので、他のIP電話端末に応じたインターフェースデバイスを選択できるという効果がある。
請求項6記載のIP電話端末によれば、請求項4記載のIP電話端末の奏する効果に加え、第5の選択手段は、前記通話要求を送信してきた他のIP電話端末から送信された、他のIP電話端末について定められた識別情報が記憶手段に記憶されている場合、対応情報に基づいて、通話要求を送信してきた他のIP電話端末から送信された、他のIP電話端末について定められた識別情報と対応するインターフェースデバイスを選択するので、他のIP電話端末に応じたインターフェースデバイスを選択できるという効果がある。
請求項7記載のIP電話端末によれば、請求項4乃至6のいずれか一項に記載のIP電話端末の奏する効果に加え、第4の選択手段が選択した音声出力手段が通話要求を音声出力するよう制御されるので、ユーザは、第5の選択手段が選択したインターフェースデバイスからの音声出力に従って、通話要求を認識することができるという効果がある。
請求項8記載のプログラムによれば、前記IP電話端末を制御するコンピュータで実行されることにより、請求項1記載のIP電話端末と同様の作用効果を奏する。
請求項9記載のプログラムによれば、前記IP電話端末を制御するコンピュータで実行されることにより、請求項4記載のIP電話端末と同様の作用効果を奏する。
請求項10に係るプログラムでは、連携手段により、指定インターフェースデバイスと通話アプリケーションとの間で、メッセージ情報の中継をする連携制御を行う。また設定手段により、指定インターフェースデバイスと通話アプリケーションとの間で音声データを直接通信させる。これにより、通話アプリケーションと指定インターフェースデバイスとの間では、連携手段を中継することにより、メッセージ情報の相互通信が行われる。また通話アプリケーションと指定インターフェースデバイスとの間では、設定手段により、直接に音声データの相互通信が行われる。よって指定インターフェースデバイスを用いて、通話やメール等などの各種通信を行うことができる。またこれにより、連携制御が行われる指定インターフェースデバイスが選択されることに応じて、音声ドライバの通信先を、指定インターフェースデバイスへ切り替えることができる。よって、指定インターフェースデバイスを、音声入出力デバイスとして利用することができる。
なお、連携手段は、1つのみのインターフェースデバイスに対してメッセージ情報の通信が可能な場合もある。この場合、メッセージ情報の通信が可能なインターフェースデバイスが選択されて指定インターフェースデバイスとなる事に応じて、設定手段は、指定インターフェースデバイスと通話アプリケーションとの間で音声データを直接通信させる動作を行う。
また、前記連携手段は、複数の前記インターフェースデバイスに対して前記メッセージ情報の通信が可能であり、前記メッセージ情報が通信可能とされる複数の前記インターフェースデバイスのうちの何れか一つを前記指定インターフェースデバイスとして選択する第1選択手段を備え、前記連携制御は、前記指定インターフェースデバイスから出力される前記メッセージ情報を前記通話アプリケーションに転送し、前記通話アプリケーションから出力される前記メッセージ情報を前記指定インターフェースデバイスに転送するものであっても良い。
このようにすれば、メッセージ情報の通信が可能とされる複数のインターフェースデバイスのうちから、指定インターフェースデバイスを選択することができる。そして指定インターフェースデバイスに着信音を鳴らせることや、指定インターフェースデバイスを用いて他のIP電話端末と会話することを、確実に行うことが可能となる。
また、前記連携手段は、複数の前記インターフェースデバイスの各々を識別するための第1識別情報を保持する第1情報テーブルから、前記指定インターフェースデバイスに対応する前記第1識別情報を取得し、取得した前記第1識別情報に応じて前記連携制御を行い、前記設定手段は、取得した前記第1識別情報に応じて前記通話アプリケーションの前記音声データの通信先を前記指定インターフェースデバイスに設定するものであっても良い。
このようにすれば、連携対象としたデバイスの識別情報に応じて、通話アプリケーションに音声デバイスとして扱うべきインターフェースデバイスを設定するので、通話アプリケーションは、指定インターフェースデバイスを音声デバイスとして扱うことが可能となる。なお、第1情報テーブルが備えられる媒体は様々な形態が挙げられる。例えば、ネットワーク端末上あるいはネットワーク端末が通信可能な装置に備えられた、ハードディスク等の不揮発性メモリであってもよい。また、プログラムが利用するRAM等の揮発性メモリであってもよい。
また、前記ネットワーク端末は、前記通話アプリケーションと前記インターフェースデバイスとの間の前記音声データの通信を司る音声ドライバを複数の前記インターフェースデバイスの各々に対応して備え、前記ネットワーク端末は、前記指定インターフェースデバイスに対応する前記音声ドライバを識別する前記第1識別情報を保持する記憶部を備え、前記設定手段は、前記音声データの通信先を、前記記憶部に保持された前記第1識別情報によって識別される前記音声ドライバとする旨の命令を、前記通話アプリケーションに対して発行するものであっても良い。
このようにすれば、通話アプリケーションは、指定インターフェースデバイスの音声データ通信をつかさどる音声ドライバを音声データの通信先に設定し、音声データの通信先を指定インターフェースデバイスに切り替えることができる。
また、前記ネットワーク端末は、前記通話アプリケーションと前記インターフェースデバイスとの間の前記メッセージ情報の通信を司るインターフェースデバイスドライバを複数の前記インターフェースデバイスの各々に対応して備え、前記ネットワーク端末は、前記指定インターフェースデバイスに対応する前記インターフェースデバイスドライバを識別する前記第1識別情報を保持する記憶部を備え、前記連携手段は、前記メッセージ情報の中継先を、前記記憶部に保持された前記第1識別情報によって識別される前記インターフェースデバイスドライバとするものであっても良い。
このようにすれば、連携手段は、指定インターフェースデバイスのメッセージ情報通信をつかさどるインターフェースデバイスドライバを認識し、メッセージ情報の中継先を、指定インターフェースデバイスに切り替えることができる。
また、前記第1選択手段は、前記第1識別情報を表示手段に対して表示し、前記表示手段に表示された前記第1識別情報のうちから指定された前記第1識別情報に対応する前記インターフェースデバイスを前記指定インターフェースデバイスとして選択するものであっても良い。
このようにすれば、IP電話に用いるインターフェースデバイスを指定することができる。
また、前記第1選択手段は、複数の前記インターフェースデバイスの何れか一つから、ネットワークに接続されている他のIP電話端末への通信発信要求が出力されることに応じて、前記通信発信要求を出力する前記インターフェースデバイスを、前記指定インターフェースデバイスとして選択するものであっても良い。
このようにすれば、音声ドライバの通信先を、IP電話を行うために操作したインターフェースデバイスに切り替えることができる。よってユーザは、自己が操作したインターフェースデバイスを用いて、確実に他のIP電話端末と会話することができる。なお他のIP電話端末とは、IP電話専用の端末に限られず、固定電話や携帯電話などを含む広い概念である。
また、前記第1選択手段は、ネットワークに接続されている他のIP電話端末からの通信着信要求を受信することに応じて、前記他のIP電話端末に対応する前記インターフェースデバイスを、前記指定インターフェースデバイスとして選択するものであっても良い。
このようにすれば、音声ドライバの通信先を、通話要求の発信元である他のIP電話端末に応じたインターフェースデバイスに切り替えることができる。よってユーザは、他のIP電話端末の各々に応じて予め指定しておいたインターフェースデバイスを用いて、他のIP電話端末と会話することができる。
また、前記第1選択手段は、前記他のIP電話端末を識別するための第2識別情報を前記他のIP電話端末から取得し、取得した前記第2識別情報に対応する前記第1識別情報を、前記第2識別情報と前記第1識別情報との対応関係を表す第2情報テーブルから取得し、取得した前記第1識別情報に応じて前記指定インターフェースデバイスを選択するものであっても良い。
このようにすれば、他のIP電話端末に対応するインターフェースデバイスを、確実に指定することが可能となる。
また、前記第1選択手段は、前記連携制御の終了に応じて前記通話アプリケーションまたは前記指定インターフェースデバイスから発せられる、前記指定インターフェースデバイスを開放する旨の命令を受信することに応じて、前記指定インターフェースデバイスの選択を終了するものであっても良い。
このようにすれば、インターフェースデバイスを用いて通信を行わないときには、音声ドライバを開放した状態とすることができるため、他のIP電話端末からの通話要求等に応じて、音声ドライバの通信先を任意のインターフェースデバイスに設定することが可能となる。よって、指定されたインターフェースデバイスに着信音を鳴らせることや、インターフェースデバイスを用いて他のIP電話端末と会話することを、確実に行うことが可能となる。
また、前記設定手段は、前記連携制御の終了に応じて前記通話アプリケーションまたは前記指定インターフェースデバイスから発せられる、前記指定インターフェースデバイスを開放する旨の命令を受けることに応じて、前記音声データの通信先を前記指定インターフェースデバイスから前記ネットワーク端末へ設定するものであっても良い。
このようにすれば、インターフェースデバイスを用いて通信を行わないときには、音声ドライバの通信先を、常にネットワーク端末のスピーカ・マイク等の内蔵デバイスに設定することができる。よってユーザは、ネットワーク端末の内蔵デバイスを初期の設定として使用することが可能となる。
また、前記通話アプリケーションは、ネットワークに接続されている他のIP電話端末からの通信着信要求の受信時には前記指定インターフェースデバイスに着信音を出力させ、前記他のIP電話端末との通信実行時には、前記指定インターフェースデバイスと前記他のIP電話端末との間で前記音声データを相互通信させるものであっても良い。
このようにすれば、指定されたインターフェースデバイスに着信音を鳴らせることや、指定されたインターフェースデバイスを用いて他のIP電話端末と会話することを、確実に行うことが可能となる。
また、請求項11に係るネットワーク端末では、連携制御が行われる指定インターフェースデバイスが選択されることに応じて、音声ドライバの通信先を、指定インターフェースデバイスへ切り替えることができる。よって、指定インターフェースデバイスを、音声入出力デバイスとして利用することができる。
以下、本発明に係るコンピュータプログラムおよびネットワーク端末1について具体化した第1ないし第3実施形態に基づいて図面を参照しつつ詳細に説明する。
第1実施形態を、図1ないし図6を用いて説明する。第1実施形態は、スカイプアプリケーション50の音声データADの通信先を、ユーザによって指定されたインターフェースデバイスに設定する形態である。図1に、本発明に係るIP電話システムの概略構成を示す。図1に示すIP電話システムは、ネットワーク端末1、インターフェースデバイス2aおよび2b、IP電話端末3を備える。ここでネットワーク端末1としては、例えばパーソナルコンピュータが挙げられる。またインターフェースデバイス2aおよび2bは、IP電話をすることが可能な通話機を備えている。ネットワーク端末1とIP電話端末3とは、ネットワーク6を介して双方向通信可能に接続されている。またネットワーク端末1とインターフェースデバイス2aおよび2bとは、USBポートを介して接続されている。またネットワーク端末1内では、スカイプアプリケーション50、連携アプリケーション51が動作する。またインターフェースデバイス2aに対応してデバイスドライバ52aおよび音声ドライバ53aが動作し、インターフェースデバイス2bに対応してデバイスドライバ52bおよび音声ドライバ53bが動作する。
スカイプアプリケーション50は、ネットワーク6を介してIP電話端末3と相互通信を行うためのアプリケーションソフトウェアである。スカイプアプリケーション50は、ネットワーク端末1内の音声ドライバ53aを経由して、インターフェースデバイス2aと音声データADの通信を直接行う。具体的には、スカイプアプリケーション50から出力された音声データADは、音声ドライバ53aに入力され、音声ドライバ53aは音声を再現した上でインターフェースデバイス2aに伝達することで、インターフェースデバイス2aでは音声が再生される。また同様にしてスカイプアプリケーション50は、音声ドライバ53bを経由して、インターフェースデバイス2bと音声データADの通信を行う。
連携アプリケーション51は、スカイプアプリケーション50とインターフェースデバイス2aおよび2bとの間を連携させ、各種メッセージの相互通信を行わせるアプリケーションソフトウェアである。ここで各種メッセージには、例えば、インターフェースデバイス2a、2bがスカイプアプリケーション50に対して通信先の候補一覧のデータを要求するコンタクトリスト要求メッセージや、通話開始を要求するスカイプ通話要求メッセージなどがある。
連携アプリケーション51は、スカイプアプリケーション50との間でスカイプAPI(Application Program Interface)を用いて各種メッセージを通信する。ここでスカイプAPIとは、連携アプリケーション51とスカイプアプリケーション50とで共通して使える機能(関数)を提供するものである。スカイプAPIにより、連携アプリケーション51とスカイプアプリケーション50とは相互に通信可能とされる。
また連携アプリケーション51は、インターフェースデバイス2aとの間で、デバイスドライバ52aを経由して、各種メッセージを含んだ情報データDDの通信を行う。これにより、スカイプアプリケーション50とインターフェースデバイス2aとの間で各種メッセージの通信が可能とされる。なお同様に連携アプリケーション51は、インターフェースデバイス2bとの間で、デバイスドライバ52bを経由して、各種メッセージを含んだ情報データDDの通信を行う。すなわち、連携アプリケーション51は、インターフェースデバイス2a,2bの両方と各種メッセージの通信をすることが可能とされる。
インターフェースデバイス2a,2bは、図示しないマイク、スピーカ、キーやボタンなどの操作部を備える。マイクが音声入力手段の一例に相当し、スピーカが音声出力手段の一例に相当し、操作部が操作入力手段の一例に相当する。また、デバイスドライバ52a,52bが、インターフェースデバイス2a,2bからの操作入力を受信する操作入力受信手段の一例に相当する。また、音声ドライバ53a,53bが、インターフェースデバイス2a,2bからの音声入力を受信する音声入力受信手段の一例および音声出力手段から音声を出力させる音声出力制御手段の一例に相当する。
尚、ネットワーク6に接続されるIP電話端末は1台に限られず、複数台あっても良く、本発明に係るIP電話システムは、複数のIP電話端末の各々とIP電話等をすることが可能であることは言うまでもない。またIP電話端末は、パーソナルコンピュータ等の端末装置に限られず、固定電話や携帯電話などであってもよいことは言うまでもない。この場合、固定電話や携帯電話と、ネットワーク端末との間には、両者間の通信データ等の互換性を確保するための変換装置(スカイプイン装置など)が接続される。
次に、図2を用いて、ネットワーク端末1の電気的構成について説明する。ネットワーク端末1には、ネットワーク端末1の制御を司るCPU11が備えられている。このCP
U11には、バス26を介して、CPU11が実行するBIOS等のプログラムを記憶したROM21、CPU11により演算された各種の演算結果を一時的に記憶するRAM22、データの記憶装置であるハードディスク25が接続される。RAM22には、ワーク領域22A等の各種の記憶エリアが設けられている。またハードディスク25には、ネットワーク端末1において実行されるスカイプアプリケーション50、連携アプリケーション51、デバイス関連テーブル55等を記憶する記憶エリア27が設けられている。
さらにバス26には、インターフェースデバイス2aおよび2bとのUSB接続を行うUSB用I/F29、ネットワーク6との通信を行うための通信用I/F30、ユーザに操作画面を表示するモニタ13への画面表示を行う表示制御部31、ユーザが操作の入力を行うキーボード14やマウス15の入力の検知を行う入力検知部32、が接続されている。キーボード14やマウスの接続形態は限定せず、赤外線などを使った無線通信でつながっていたり、短いLANケーブルでつながっていてもよい。
なお、モニタ13が表示出力手段の一例に相当する。また、キーボード14およびマウス15が、端末装置側の操作入力手段の一例に相当する。また、USB用I/F29が、インターフェースデバイスを複数接続可能な接続手段の一例に相当する。また、通信用I/F30が、他のIP電話端末との間でネットワーク6(インターネット)を介してIP電話通信を行う通信手段の一例に相当する。また、表示制御部31が、表示制御手段の一例に相当する。
図3を用いて、デバイス関連テーブル55を説明する。デバイス関連テーブル55は、記憶エリア27に記憶されている。デバイス関連テーブル55では、インターフェースデバイス2aのネーム「MFC−1000」と、デバイスドライバ52aのネーム「MFC−1000 HID Driver」と、音声ドライバ53aのネーム「MFC−1000 Audio Driver」とが互いに関連付けられて登録されている。また同様にして、インターフェースデバイス2bのネーム「MFC−2000」と、デバイスドライバ52bのネーム「MFC−2000 HID Driver」と、音声ドライバ53bのネーム「MFC−2000 Audio Driver」とが互いに関連付けられて登録されている。ここでデバイスネームは、インターフェースデバイス2a、2bの各々を特定するための識別情報である。またデバイスドライバネームは、デバイスドライバ52a、52bの各々を特定するための識別情報である。また音声ドライバネームは、音声ドライバ53a、53bの各々を特定するための識別情報である。
なお、デバイス関連テーブル55が保持される媒体は、ネットワーク端末1内のハードディスク25に限られない。例えば、ネットワーク6に接続されたハードディスク等の不揮発性メモリであってもよいし、RAM22等の揮発性メモリであってもよい。
図4のフローチャートを用いて、連携アプリケーション51の中継動作を説明する。まず、CPU11(図2)によって、記憶エリア27に記憶されているスカイプアプリケーションおよび連携アプリケーションが実行される。すると図1に示すように、ネットワーク端末1では、スカイプアプリケーション50および連携アプリケーション51が動作する。尚、以下に示す処理は、ネットワーク端末1のCPU11によって実行される。
ステップ(以下、Sと略す)S11において、連携アプリケーション51は、スカイプアプリケーション50からインターフェースデバイス2aまたは2bへ対して、スカイプAPIを用いた通知がされるか否かを監視する。そして通知なしと判断される場合には(S12:NO)、S14へ進む。一方、通知ありと判断される場合には(S12:YES)、S13へ進む。
S13において連携アプリケーション51は、スカイプアプリケーション50から入力された通知を情報データDDに変換した上で、デバイスドライバを経由して、インターフェースデバイスへ出力する。ここでスカイプアプリケーション50から入力される通知には、インターフェースデバイス2a、2bの何れを通知先とするかを識別する情報が含まれている。よって連携アプリケーション51は、インターフェースデバイス2aが通知先とされている場合には、スカイプアプリケーション50から入力された通知をデバイスドライバ52aへ出力し、インターフェースデバイス2bが通知先とされている場合には、
当該通知をデバイスドライバ52bへ出力する。すなわち連携アプリケーション51は、ステップS11ないしS13において、スカイプアプリケーション50からの各種通知を、通知先のインターフェースデバイスへ振り分ける動作を行う。
S14において、連携アプリケーション51は、デバイスドライバ2aまたは2bから情報データDDが入力されたか否かを監視する。そしてデバイスドライバ2aおよび2bから情報データDDが入力されていない場合(S15:NO)にはS11へ戻り、連携アプリケーション51は監視動作を続ける。一方、情報データDDが入力されている場合(S15:YES)にはS16へ進む。
S16において連携アプリケーション51は、入力される情報データDDに含まれるメッセージの要求内容に応じたスカイプAPIを、スカイプアプリケーション50に対して発行した上で、S11へ戻る。ここで情報データDDおよびスカイプAPIには、インターフェースデバイス2a、2bの何れがメッセージの出力元であるかを識別する情報が含まれている。よってスカイプアプリケーション50は、メッセージがインターフェースデバイス2a、2bの何れから出力されたかを認識することができる。すなわち連携アプリケーション51は、ステップS14ないしS16において、インターフェースデバイス2a、2bから入力されたメッセージをスカイプアプリケーション50へ転送する動作を行う。以上より連携アプリケーション51によって、スカイプアプリケーション50とインターフェースデバイス2a、2bとの間で、各種メッセージの中継をすることができる。
次に図5のフローチャートを用いて、スカイプアプリケーション50および連携アプリケーション51において実行される、インターフェースデバイス切り替え処理について説明する。本実施形態では、例として、指定インターフェースデバイスを、インターフェースデバイス2aから2bへ切り替える場合を説明する。ここで指定インターフェースデバイスとは、インターフェースデバイス2aおよび2bのうちから、情報データDDおよび音声データADの通信先として指定されたデバイスである。また指定インターフェースデバイスに関連づけされたデバイスドライバが、指定デバイスドライバとされる。そして指定デバイスドライバは、連携アプリケーション51と指定インターフェースデバイスとの間で情報データDDの中継を行う。図5のフローチャートに示す処理を実行するCPU11が、インターフェースデバイスを選択する第3の選択手段の一例および第5の選択手段の一例に相当する。
インターフェースデバイスの切り替え処理が開始され、S21に進むと、連携アプリケーション51は、ハードディスク25に保持されているデバイス関連テーブル55(図3)を読み込む。そして連携アプリケーション51は、図6に示すデバイス切り替えユーザインターフェース57を、表示制御部31を介してモニタ13に表示する。すなわち、複数のインターフェースデバイス2a,2bを示すデバイスネーム(デバイス情報の一例)をモニタ13が表示出力するよう、表示制御部31による制御が行われる。
デバイス切り替えユーザインターフェース57には、インターフェースデバイス2aの識別情報であるデバイスネーム「MFC−1000」と、インターフェースデバイス2bの識別情報であるデバイスネーム「MFC−2000」とが選択可能に表示される。そしてユーザによるキーボード14やマウス15の入力操作により、指定インターフェースデバイスが決定される。本実施形態では、「MFC−2000」が選択されることで、指定インターフェースデバイスがインターフェースデバイス2bに決定される。すなわち、表示出力されたデバイスネームで示される複数のインターフェースデバイス2bのなかから、キーボード14またはマウス15から入力された操作で指定されたインターフェースデバイスを、指定インターフェースデバイスとして選択する。
また、インターフェースデバイス2bに関連づけられたデバイスドライバ52bが、指定デバイスドライバに決定される。
S22において、指定インターフェースデバイスが決定したか否かが判断される。指定インターフェースデバイスが決定していない場合(S22:NO)にはS21へ戻り、再度デバイス切り替えユーザインターフェース57をモニタ13に表示する。一方、指定インターフェースデバイスが決定している場合(S22:YES)にはS23へ進む。
S23において、連携アプリケーション51は、指定デバイスドライバであるデバイスドライバ52bのドライバネーム「MFC−2000 HID Driver」を、デバイス関連テーブル55から取得した上で、RAM22のワーク領域22Aに上書きする。これによりデバイスドライバ52bが、指定デバイスドライバとして登録される。
その結果、指定インターフェースデバイスとして、インターフェースデバイス2b(図1参照)を選択することができる。S23の処理を実行するCPU11が、操作入力手段を選択する第1の選択手段の一例および選択制御手段の一例に相当する。
S24において、連携アプリケーション51は、指定インターフェースデバイス2bに対応する音声ドライバ53bの音声ドライバネーム「MFC−2000 Audio Driver」を、デバイス関連テーブル55から取得する。
S25において連携アプリケーション51は、取得した音声ドライバネーム「MFC−2000 Audio Driver」によって特定される音声ドライバ53bに、スカイプアプリケーション50のオーディオ設定を変更する旨のスカイプAPIを、スカイプアプリケーション50に対して発行する。スカイプアプリケーション50は、発行されたスカイプAPIに応じて、音声ドライバ53bのネーム「MFC−2000 Audio Driver」をRAM22のワーク領域22Aに上書きすると共に、音声データADの通信先の設定を音声ドライバ53bに設定する。その結果、音声入力手段としてのインターフェースデバイス2bを選択することができる。S25の処理を実行するCPU11が、音声入力手段を選択する第2の選択手段の一例、音声出力手段を選択する第4の選択手段の一例、および選択制御手段の一例に相当する。以上により、インターフェースデバイス切り替え処理が終了する。
このようにして、図5に示すインターフェースデバイス切り替え処理が実行された後、次に図4のフローチャートに示す処理が実行されるときに、S23の処理で選択した指定インターフェースからの入力を受信して、S15の判断が肯定されると(S15:Yes)、連携アプリケーション51は、入力される情報データDDに含まれるメッセージの要求内容に応じたスカイプAPIを、スカイプアプリケーション50に対して発行する。
例えば、メッセージの内容が通話開始を要求するスカイプ通話要求メッセージである場合、スカイプアプリケーション50は、指定インターフェースから入力された操作に従い、IP電話通信を介して他のIP電話端末に、例えば通話要求を送信すると共に、S25の処理で選択した指定インターフェースデバイスから入力された音声を、IP電話通信を介して他のIP電話端末に送信することで、IP電話通信を介して他のIP電話端末と通話するIP電話機能の実行を制御する。
すなわち、指定インターフェースデバイスの操作入力手段から入力された操作に従い、IP電話通信を介して他のIP電話端末に通話要求を送信し、また、そのインターフェースデバイスの音声入力手段から入力された音声を、IP電話通信を介して他のIP電話端末に送信できる。
また、メッセージの内容が、通話を許可する通話許可メッセージである場合、スカイプアプリケーション50は、指定インターフェースから入力された操作に従い、IP電話通信を介して他のIP電話端末に、例えば通話許可を返信すると共に、IP電話通信を介して他のIP電話端末3から送信された音声を、S25の処理で選択した指定インターフェースデバイスに出力することで、IP電話通信を介して他のIP電話端末と通話するIP電話機能の実行を制御する。
すなわち、指定インターフェースデバイスの操作入力手段から入力された操作に従い、IP電話通信を介して他のIP電話端末に通話許可を返信し、また、他のIP電話端末から送信された音声を、そのインターフェースデバイスの音声出力手段から出力させることができる。
この場合、スカイプアプリケーション50に従って、通話要求および入力された音声を他のIP電話端末に送信する処理を行うCPU11、通話許可返信およびインターフェースデバイスから音声を出力する処理を行うCPU11とが、それぞれ、IP電話機能制御手段の一例に相当する。
以上説明したように、第1実施形態に係る連携アプリケーション51は、情報データDDや各種メッセージに含まれる、出力元や出力先を識別する情報を読みとることで、情報データDDや各種メッセージの出力元や出力先を認識することができる。よって連携アプリケーション51は、指定インターフェースデバイスが切り替わる場合においても、当該切り替え動作に追従して、切り替え後の指定インターフェースデバイスと情報データDDやメッセージの通信をすることができる。また連携アプリケーション51は、スカイプアプリケーション50から指定インターフェースデバイスへ対して出力されたメッセージを受け取り、指定インターフェースデバイスへ転送することができる。また連携アプリケーション51は、指定インターフェースデバイスから出力された情報データDDのみをスカイプアプリケーション50へ転送し、指定外のインターフェースデバイスから出力された情報データDDを遮断することができる。
一方、音声データADには、音声データADの出力元や出力先を識別する情報が含まれていない。これは元来、音声データADが1対1の通信をする性質を有するためである。すると指定インターフェースデバイスが切り替わる場合において、当該切り替え動作に追従して、スカイプアプリケーション50が切り替え後の指定インターフェースデバイスとの間で音声データADの通信をすることは困難である。
しかし第1実施形態では、指定インターフェースデバイスの切り替えが行われることに応じて、連携アプリケーション51からスカイプアプリケーション50に対して、音声データADの通信先を切り替え後の指定インターフェースデバイスへ切り替える旨のスカイプAPIが発行される。これによりスカイプアプリケーション50は、ユーザによる指定インターフェースデバイスの切り替え動作に追従して、切り替え後の指定インターフェースデバイスと音声データADの通信を行うことが可能となる。よって、指定インターフェースデバイスを、音声入出力デバイスとして利用することができる。
また第1実施形態では、モニタ13に表示されたデバイスネームのうちからユーザによって指定されたデバイスネームに対応するインターフェースデバイスを、指定インターフェースデバイスとして選択する。これにより、IP電話に用いるインターフェースデバイスをユーザによって指定することができる。
第2実施形態を、図7乃至図9を用いて説明する。第2実施形態は、スカイプアプリケーション50の音声データADの通信先を、接続要求メッセージの発信元のインターフェースデバイスに設定する形態である。なおネットワーク端末1の構成等は第1実施形態と同様であるため、ここでは詳細な説明は省略する。
図7乃至図9に示す処理を実行するCPU11は、インターフェースデバイスを選択する第3の選択手段の一例および第5の選択手段の一例に相当する。
図9のシーケンス図に示す場合における連携アプリケーション51の動作を、図7および図8のフローチャートを用いて説明する。S31において、連携アプリケーション51は、デバイスドライバ52aまたは52bから情報データDDが入力されたか否かを監視する。情報データDDが入力されていない場合(S32:NO)にはS31へ戻り、再度情報データDDの入力の有無を監視する。
ここで図9のS101において、インターフェースデバイス2aから出力された接続要求メッセージがデバイスドライバ52aを経由して連携アプリケーション51へ入力される場合を説明する。このとき図7のS32において、デバイスドライバ52aから情報データDDの入力ありと判断され(S32:YES)、S33へ進む。
S33において、指定インターフェースデバイスが決定済みか否かが判断される。指定インターフェースデバイスが決定済みである場合(S33:YES)にはS40へ進み、決定済みでない場合(S33:NO)にはS34へ進む。本実施形態ではS101の時点では指定インターフェースデバイスが未決定のため、S34へ進む。
S34では、情報データDDが接続要求メッセージであるか否かが判断される。本実施形態では、S101においてデバイスドライバ52aから入力される情報データDDは接続要求メッセージであるため、S35へ進む。
S35では、連携アプリケーション51は、接続要求メッセージの発信元であるインターフェースデバイス2aを、指定インターフェースデバイスに決定する。そして、指定インターフェースデバイス2aに関連づけられたデバイスドライバ52aのドライバネーム「MFC−1000 HID Driver」を、デバイス関連テーブル55から取得した上で、RAM22のワーク領域22Aに記憶させる。これによりデバイスドライバ52aが、指定デバイスドライバとして登録される。そしてS37へ進む。
S35の処理により、指定インターフェースデバイスとして、インターフェースデバイス2a(図1参照)を選択することができる。S35の処理を実行するCPU11が、操作入力手段を選択する第1の選択手段の一例に相当する。
S37において、連携アプリケーション51は、指定インターフェースデバイス2aに関連づけられた音声ドライバ53aの音声ドライバネーム「MFC−1000 Audio Driver」を、デバイス関連テーブル55から取得する。
S38において連携アプリケーション51は、スカイプアプリケーション50のオーディオ設定を、取得した音声ドライバネームに対応する音声ドライバ53aへ変更する旨のスカイプAPIを、スカイプアプリケーション50に対して発行する。スカイプアプリケーション50は、発行されたスカイプAPIに従って、音声ドライバ53aのネーム「MFC−1000 Audio Driver」をRAM22のワーク領域22Aに記憶させると共に、音声データADの通信先の設定を音声ドライバ53aに設定する。よってスカイプアプリケーション50は、音声ドライバ53aを経由して、インターフェースデバイス2aとの間で音声データADを通信することが可能となる。
これにより、音声デバイスとして、インターフェースデバイス2aを選択することができる。S38の処理を実行するCPU11が、音声入力手段を選択する第2の選択手段の一例および音声出力手段を選択する第4の選択手段の一例に相当する。
S39において、連携アプリケーション51は、接続要求メッセージの発信元のインターフェースデバイス2aに、デバイスドライバ52aを経由して、接続成功のメッセージを返信する(図9,S102)。これによりインターフェースデバイス切り替え処理が終了し、S31へ戻る。
次に図9のS103において、インターフェースデバイス2aから出力されたコンタクトリスト要求メッセージがデバイスドライバ52aを経由して連携アプリケーション51
へ入力される場合を説明する。このとき図7のS32において、デバイスドライバ52aから情報データDDの入力ありと判断され(S32:YES)、S33へ進む。S33において、指定インターフェースデバイスがインターフェースデバイス2aに決定している(S33:YES)ため、S40へ進む。S40では、指定インターフェースデバイスから情報データDDが出力されたか否かが判断される。S103では、指定インターフェースデバイスであるインターフェースデバイス2aから、コンタクトリスト要求メッセージである情報データDDが出力されている(S40:YES)ため、S42(図8)へ進む。
S42は、情報データDDが接続開放メッセージであるか否かが判断される。S103では、情報データDDがコンタクトリスト要求メッセージであるため(S42:NO)、S45へ進む。S45では、連携アプリケーション51は、コンタクトリスト要求メッセージに応じたスカイプAPIを、スカイプアプリケーション50に対して発行する。スカイプアプリケーション50は、発行されたスカイプAPIに従って、コンタクトリストを、連携アプリケーション51を経由してデバイスドライバ52aへ出力する(図9,S104)。
このように連携アプリケーション51は、指定インターフェースデバイス2aから入力されたメッセージを、スカイプアプリケーション50へ転送する動作を行う。
次に図9のS105において、インターフェースデバイス2bから出力されたコンタクトリスト要求メッセージがデバイスドライバ52bを経由して連携アプリケーション51へ入力される場合を説明する。このとき図7のS32において情報データDDの入力ありと判断され(S32:YES)、S33へ進む。S33において、指定インターフェースデバイスが2aに決定している(S33:YES)ため、S40へ進む。S40では、指定インターフェースデバイスから情報データDDが出力されたか否かが判断される。S105では、指定インターフェースデバイスではないインターフェースデバイス2bから情報データDDが出力されている(S40:NO)ため、S41へ進む。S41では、接続要求を拒否するエラーメッセージを、デバイスドライバ52bを経由して、接続要求メッセージを出力してきたインターフェースデバイス2bへ返信する(図9,S106)。
このように連携アプリケーション51は、インターフェースデバイス2aが指定インターフェースデバイスに決定されている期間においては、指定インターフェースデバイス以外の他のインターフェースデバイス2bから入力されたメッセージを、スカイプアプリケーション50に転送せずに遮断する動作を行う。
次に図9のS107において、インターフェースデバイス2aから出力されたスカイプ通話要求メッセージがデバイスドライバ52aを経由して51へ入力される場合を説明する。このときは前述の通り、S32、S33、S40、S42を経由してS45(図8)へ進む。S45では、連携アプリケーション51は、スカイプ通話要求メッセージに応じたスカイプAPIを、スカイプアプリケーション50に対して発行する。スカイプアプリケーション50は、発行されたスカイプAPIに従って、ステータス情報を、連携アプリケーション51を経由してデバイスドライバ52aへ出力する(図9,S108)。これによりスカイプ通話が開始される。
次に図9のS110において、インターフェースデバイス2aから出力されたスカイプ通話終了メッセージがデバイスドライバ52aを経由して51へ入力されると、前述の通り、S32、S33、S40、S42を経由してS45へ進む。S45では、連携アプリケーション51は、スカイプ通話終了メッセージに応じたスカイプAPIを、スカイプアプリケーション50に対して発行する。スカイプアプリケーション50は、発行されたス
カイプAPIに従って、スカイプ通話を終了する。そして連携アプリケーション51は、スカイプ通話終了メッセージの発信元のインターフェースデバイス2aに、成功メッセージを返信する(図9,S111)。
次に図9のS112において、インターフェースデバイス2aから出力された接続開放メッセージがデバイスドライバ52aを経由して連携アプリケーション51へ入力される場合を説明する。前述の通り、S32、S33、S40を経由してS42(図8)へ進む。S42(図8)では、情報データDDが接続開放メッセージであるため(S42:YES)、S43へ進む。S43では、接続開放メッセージに応じて、RAM22のワーク領域22Aに記憶されたデバイスドライバ52aのドライバネームが消去される。これにより、インターフェースデバイス2aが、指定インターフェースデバイスから解除される。そしてS44において、連携アプリケーション51は、接続開放メッセージの発信元であるインターフェースデバイス2aに、デバイスドライバ52aを経由して、開放成功メッセージを返信する(図9,S113)。
また図9のS114において、インターフェースデバイス2bから出力された接続要求メッセージがデバイスドライバ52bを経由して連携アプリケーション51へ入力される場合を説明する。このときは、S105の場合と異なり、指定インターフェースデバイスが決定していない。よってインターフェースデバイス2bから入力された接続要求メッセージは、連携アプリケーション51において遮断されることはない。そして前述の通り、S32、S33、S34、S35,S36,S37,S38,を経由してS39へ進むことで、インターフェースデバイス2bが指定インターフェースデバイスとして決定されると共に、スカイプアプリケーション50のオーディオ設定が音声ドライバ53bに設定される。そしてS39において、連携アプリケーション51は、接続要求メッセージの発信元のインターフェースデバイス2bに、デバイスドライバ52bを経由して、接続成功メッセージを返信する(図9,S115)。
以上説明したように、第2実施形態に係る連携アプリケーション51は、指定インターフェースデバイスが未決定の期間中において接続要求メッセージを出力したインターフェースデバイスを、指定インターフェースデバイスに決定する。そして指定インターフェースデバイスが決定されることに応じて、連携アプリケーション51からスカイプアプリケーション50に対して、音声データADの通信先を決定した指定インターフェースデバイスに設定する旨のスカイプAPIを発行する。
これにより連携アプリケーション51は、スカイプアプリケーション50の音声データADの通信先を、IP電話を行うためにユーザが操作したインターフェースデバイスに設定することができる。よってユーザは、自己が操作したインターフェースデバイスを用いて、確実に他のIP電話端末3と会話することが可能となる。
すなわち、ユーザにとっては、他のIP電話端末との通話要求の入力に用いたインターフェースデバイスを、音声の入力および出力に用いることができる。
また連携アプリケーション51は、接続開放メッセージを受けることに応じて、指定インターフェースデバイスの選択を終了する。これによりインターフェースデバイスを用いて通信を行わないときには、音声ドライバを開放することで、何れのインターフェースデバイスからの接続要求メッセージに対しても応答することができ、音声ドライバを接続することが可能な待ち受け状態とすることができる。よって待ち受け状態時においては、任意のインターフェースデバイスを用いて他のIP電話端末と会話することや、任意に指定されたインターフェースデバイスに着信音を鳴らせることを、確実に行うことが可能となる。
第3実施形態を、図10および図11を用いて説明する。第3実施形態は、スカイプアプリケーション50の音声データADの通信先を、通信を要求してきた他のIP電話端末3に対応するインターフェースデバイスに設定する形態である。なおネットワーク端末1の構成等は第1実施形態と同様であるため、ここでは詳細な説明は省略する。
図10を用いて、振り分けテーブル56を説明する。デバイス関連テーブル55は、記憶エリア27に記憶されている。振り分けテーブル56では、ネットワーク外の他のIP電話端末3を識別するためのスカイプネームと、インターフェースデバイスのデバイスネームとが、互いに関連付けられて登録されている。例として図10の振り分けテーブル56では、スカイプネーム「AAAAAA」にデバイスネーム「MFC−1000」が関連付けられ、スカイプネーム「BBBBBB」にデバイスネーム「MFC−2000」が関連付けられ、スカイプネーム「CCCCCC」にデバイスネーム「MFC−1000」が関連付けられて登録されている。また振り分けテーブル56に登録されていないスカイプネームに「MFC−1000」が関連付けられて、初期設定の接続先として登録されている。
なお、スカイプネームは、識別情報および特定情報の一例に相当する。また、振り分けテーブル56が、他のIP電話について定められた識別情報と、識別情報とインターフェースデバイスとの対応情報を記憶する記憶手段の一例に相当する。
図11のフローチャートを用いて、連携アプリケーション51の動作を説明する。なお、図11のフローチャートで示す処理を実行するCPU11が、インターフェースデバイスを選択する第3の選択手段の一例、第5の選択手段の一例および選択制御手段の一例に相当する。
例として、スカイプネーム「BBBBBB」のIP電話端末3から、スカイプ通話着信がされた場合を説明する。S51において、連携アプリケーション51は、スカイプアプリケーション50から、スカイプAPIを用いた通知がされるか否かを監視する。そして通知なしと判断される場合には(S52:NO)、S51へ戻り監視を継続する。一方、通知ありと判断される場合には(S52:YES)、S53へ進む。
S53では、通知内容が、IP電話端末3からのスカイプ着信メッセージであるか否かが判断される。通知がスカイプ着信メッセージではない場合(S53:NO)にはS62へ進み、連携アプリケーション51は、スカイプアプリケーション50からの通知を情報データDDに変換した上で、デバイスドライバ52aまたは52bへ出力する。一方、通知がスカイプ着信メッセージである場合(S53:YES)にはS54へ進む。
S54において、連携アプリケーション51は、スカイプアプリケーション50から、通話発信相手のスカイプネームを取得する。本実施形態の例では、スカイプネーム「BBBBBB」を取得する。
S55において、連携アプリケーション51は、ハードディスク25に保持されている振り分けテーブル56(図10)を読み込み、取得したスカイプネームが振り分けテーブルに存在するか否かを比較する。存在すると判断される場合には(S55:YES)、S56へ進み、スカイプネームに関連付けられたインターフェースデバイスのデバイスネームを、振り分けテーブル56から取得する。一方、存在しないと判断される場合には(S55:NO)、S57へ進み、初期設定の接続先として登録されたインターフェースデバイスのデバイスネームを、振り分けテーブル56から取得する。本実施形態では、図10の振り分けテーブル56において、取得したスカイプネーム「BBBBBB」にデバイスネーム「MFC−2000」が関連付けられているため、デバイスネーム「MFC−2000」が取得される。
S58において、連携アプリケーション51は、デバイス関連テーブル55(図3)から、取得したデバイスネームに関連づけられたデバイスドライバネームと音声ドライバネームとを取得する。本実施形態では、デバイスドライバネーム「MFC−2000 HID Driver」と、音声ドライバネーム「MFC−2000 Audio Driver」とが取得される。
S59において、連携アプリケーション51は、取得したデバイスネーム「MFC−2000」をRAM22のワーク領域22Aに記憶させることで、インターフェースデバイス2bを指定インターフェースデバイスに決定する。S59の処理を実行するCPU11が、操作入力手段を選択する第1の選択手段の一例に相当する。
S60において、連携アプリケーション51は、スカイプアプリケーション50のオーディオ設定を、取得した音声ドライバネーム「MFC−2000 Audio Driver」を有する音声ドライバ53aへ変更する旨のスカイプAPIを、スカイプアプリケーション50に対して発行する。S60の処理を実行するCPU11が、音声入力手段を選択する第2の選択手段の一例および音声出力手段を選択する第4の選択手段の一例に相当する。
S61において連携アプリケーション51は、スカイプアプリケーション50からの各種の通知を、指定インターフェースデバイス2bへ対して出力する。
図11に示す処理によれば、通話要求を送信してきた他のIP電話端末から送信された、他のIP電話端末について定められたスカイプネームが振り分けテーブル56に記憶されている場合、振り分けテーブル56に記憶された対応情報に基づいて、通話要求を送信してきた他のIP電話端末から送信された、他のIP電話端末について定められたスカイプネームと対応する、インターフェースデバイスを選択することができる。よって、他のIP電話端末3に応じたインターフェースデバイスを選択することができる。
またスカイプアプリケーション50は、IP電話端末3からの通信着信要求を受信している期間中には、着信音の音声データADを音声ドライバ53bに入力する。音声ドライバ53bは着信音を再現した上で指定インターフェースデバイス2bに伝達することで、インターフェースデバイス2bでは着信音が再生される。
したがって、ユーザは、選択されたインターフェースデバイスからの音声出力に従って、他のIP電話端末3からの通信着信要求(通話要求の一例)を認識することができる。なお、着信音の音声データADを音声ドライバ53bに入力する処理を実行するCPU11が、通話要求出力制御手段の一例に相当する。
またスカイプアプリケーション50は、IP電話端末3からの通話データを受信してユーザが通話中である期間中には、通話音声の音声データADを音声ドライバ53bに入力する。音声ドライバ53bは音声を再現した上で指定インターフェースデバイス2bに伝達することで、ユーザはインターフェースデバイス2bを用いて通話をすることができる。
以上説明したように、第3実施形態に係る連携アプリケーション51は、ネットワーク6に接続されている他のIP電話端末3からの通信着信要求を受信することに応じて、IP電話端末3に対応するインターフェースデバイスを、指定インターフェースデバイスとして設定する。そして指定インターフェースデバイスが決定されることに応じて、連携アプリケーション51からスカイプアプリケーション50に対して、音声データADの通信先を、決定した指定インターフェースデバイスに設定する旨のスカイプAPIを発行する。
これにより連携アプリケーション51は、スカイプアプリケーション50の音声データADの通信先を、通話要求の発信元であるIP電話端末3に応じたインターフェースデバイスに切り替えることができる。よってユーザは、IP電話端末3の各々に応じて予め指定しておいたインターフェースデバイスを用いて、IP電話端末3と会話することができる。
また第3実施形態に係るスカイプアプリケーション50は、IP電話端末3からの通信着信要求の受信時には指定インターフェースデバイスに着信音を出力させ、IP電話端末3との通信実行時には指定インターフェースデバイスとIP電話端末3との間で音声データを相互通信させる。これにより、指定インターフェースデバイスに着信音を鳴らせることや、指定インターフェースデバイスを用いてIP電話端末3と会話することを、確実に行うことが可能となる。
尚、本発明は上記第1ないし第3実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。第1ないし第3実施形態では、連携アプリケーション51が、2つのインターフェースデバイス2aおよび2bの両方と各種メッセージの通信が可能である場合を説明したが、この形態に限られない。連携アプリケーション51が、インターフェースデバイス2aのみと各種メッセージの通信が可能である形態であってもよい。この場合においても連携アプリケーション51は、インターフェースデバイス2aがユーザによって指定されることや、インターフェースデバイス2aから接続要求メッセージが発信されることや、通信を要求してきた他のIP電話端末3にインターフェースデバイス2aが対応していることに応じて、インターフェースデバイス2aを指定インターフェースデバイスとして選択する。そして連携アプリケーション51は、スカイプアプリケーション50の音声データADの通信先の設定を、インターフェースデバイス2aに設定する。よって、連携アプリケーション51と各種メッ
セージの通信をすることができない他のインターフェースデバイスがネットワーク端末1に接続されている場合においても、インターフェースデバイス2aを、音声入出力デバイスとして指定し、利用することができる。また連携アプリケーション51に対して、3つ以上のインターフェースデバイスが各種メッセージの通信が可能である場合においても、本発明を適用できることは言うまでもない。
また、上記実施形態では、ネットワークを介してIP電話端末3と相互通信を行うためのスカイプアプリケーション50と、そのスカイプアプリケーション50と連携する連携アプリケーション51とが別プログラムであるものとして説明した。これに代えて、IP電話通信を制御する通信アプリケーションに、第1実施形態から第3実施形態で説明した連携アプリケーション51と同様の処理を実行するモジュールを組み込んだプログラムを作成し、そのプログラムをインストールしたIP電話端末によって、本発明の作用効果を奏するようにしても良い。
また第3実施形態では、インターフェースデバイスを用いて通信を行わないときには、音声ドライバを開放することで、何れのインターフェースデバイスからの接続要求メッセージに対しても応答することができる待ち受け状態とする場合を説明したが、この形態に限られない。連携アプリケーション51は、通信の終了に応じてスカイプアプリケーション50または指定インターフェースデバイスから発せられる接続開放メッセージを受けることに応じて、音声データADの通信先を、指定インターフェースデバイスから、ネットワーク端末1のスピーカ・マイク等の内蔵デバイスへ変更する形態としてもよい。これによりインターフェースデバイスを用いて通信を行わないときには、音声データADの通信先を、常にネットワーク端末1の内蔵デバイスに設定することができる。よってユーザは、ネットワーク端末の内蔵デバイスを初期の設定として使用することが可能となる。
なお、スカイプアプリ50は通話アプリケーションの一例、デバイスネーム、デバイスドライバネーム、音声ドライバネームは第1識別情報の一例、ワーク領域22Aは記憶部の一例、デバイス関連テーブル55は第1情報テーブルの一例、振り分けテーブル56は第2情報テーブルの一例、スカイプネームは第2識別情報のそれぞれ一例である。