JP4554295B2 - 端末、通話方法及び通話プログラム - Google Patents

端末、通話方法及び通話プログラム Download PDF

Info

Publication number
JP4554295B2
JP4554295B2 JP2004216229A JP2004216229A JP4554295B2 JP 4554295 B2 JP4554295 B2 JP 4554295B2 JP 2004216229 A JP2004216229 A JP 2004216229A JP 2004216229 A JP2004216229 A JP 2004216229A JP 4554295 B2 JP4554295 B2 JP 4554295B2
Authority
JP
Japan
Prior art keywords
terminal
call
telephone
state
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004216229A
Other languages
English (en)
Other versions
JP2006041731A (ja
Inventor
光男 八重
Original Assignee
エヌ・ティ・ティ・コムウェア株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌ・ティ・ティ・コムウェア株式会社 filed Critical エヌ・ティ・ティ・コムウェア株式会社
Priority to JP2004216229A priority Critical patent/JP4554295B2/ja
Publication of JP2006041731A publication Critical patent/JP2006041731A/ja
Application granted granted Critical
Publication of JP4554295B2 publication Critical patent/JP4554295B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソフトスイッチ等の集中システム(中継交換機)を用いずに、複数のIP電話端末等の端末間で通話ネットワークを構成して通話を行う端末、通話方法及び通話プログラムに関する。
従来、共有メモリ上に格納されたデータの整合性を保証するための技術が知られている。例えば、特許文献1には、複数の端末装置における処理の負荷の軽減を図りながら、各端末装置に格納されている共有情報の整合性を保持するデータ共有方法が開示されている。
この発明によれば、まずネットワークを介して相互に接続された複数の端末装置によってデータを共有するグループを構成する。
そして、グループ内で共有する基本データおよびグループ内の各端末装置に関するメンバーデータを含んだ共有データに対して更新が発生した場合、予め定められた所定の決定方法にしたがって、複数の端末装置の中から、更新に関する更新情報をグループ内の各端末装置に対して同報送信するいずれか一つの端末装置である同報送信端末装置を、各端末装置において決定する。
各端末装置は、この同報送信端末装置に更新情報を送信し、同報送信端末装置により、当該更新情報をメンバーデータに対応する端末装置に対して同報送信する。
ここで、各端末装置は、更新情報とともに、更新情報に対応する判別用番号を同報送信端末装置に送信する。一方、更新情報とともに、判別用番号を受信すると、同報送信端末装置は、受信する判別用番号よりも大きな判別用番号を新たな判別用番号とし、更新情報を同報送信する。ただし、このとき、同報送信端末装置は、受信した判別用番号と記憶している判別用番号とを比較し、受信した判別用番号の方が大きい場合に、同報送信する。
一方、各端末装置は、更新情報および新たな判別用番号を受信し、新たな判別用番号と記憶している判別用番号とを比較し、新たに受信した判別用番号が記憶している判別用番号よりも大きい場合、更新情報を共有データに更新する
したがって、各端末装置に格納されている共有情報の整合性を保持しつつ、各端末装置の処理負荷を軽減することができる。
特開2001−331469号公報
一方、近年、VoIP(Voice over IP)を利用したIP電話端末が普及しつつある。IP電話端末間のルーティング処理は、ソフトスイッチによって仲介される。
ソフトスイッチは、管理するIP電話端末のSIP(Session Initiation Protocol)URL(アドレスデータベース)を保有し、各IP電話端末は、起動時にソフトスイッチにアクセスすることで、自IPアドレスを登録する。
IPアドレスの登録後、相手のIP電話端末(着信側)をコールする場合、発信側のIP電話端末は、ソフトスイッチにアクセスすることで相手のIP電話端末のIPアドレスをSIP URLから取得し、リクエストを送信する。
相手のIP電話端末がこのリクエストに対して応答すると、それ以後は、ソフトスイッチを介さずに発呼側、着呼側のIP電話端末間で直接データストリーミングを開始することで音声通話を実現する。
すなわち、ソフトスイッチにおいては、IP電話端末の起動/終了時のSIP URLへのアドレス登録処理、通話の際のコネクション接続制御処理、転送電話の際の相手のIP電話端末の応答状態監視処理等の処理が実施される。また、アドレス登録や端末監視処理については、各要求ごとにソフトウェアによる並列処理が実施される。
このように、現状ではVoIPを実現するにあたり、ソフトスイッチのような集中システムを採用している。なぜ集中システムを使用するかというと、通信サービスは発呼側のIP電話端末と着呼側のIP電話端末とが連動して制御される必要があるためである。
すなわち、集中システムは、発呼側及び着呼側のIP電話端末の状態を管理し、これに連動した呼処理(相手が話中である場合はこの着信電話を転送する等)を発呼側及び着呼側のIP電話端末において実現するためには不可欠なものとなっている。
しかし、集中システムにおいて、実現すべきサービスが高度化(会議電話、留守番電話、保留転送機能)すると、発呼側及び着呼側のIP電話端末が連動して実行すべき呼処理の内容がより複雑になる。
すると、一つ一つのサービスを同時に集中して実現するためには、ソフトウェア構成が非常に複雑なものになってしまうという問題点がある。
すなわち、集中システムが一つのサービスを新たに実装するには、システム全体の大幅な性能劣化や運用上起こり得る問題などを引き起こし、開発から設備を含め多大なコストが発生する。このため、ネットワークの利用効率を上げることによるIP電話端末1の低コストメリットよりも、開発コストや運用コストのデメリットが大きくなってしまうという問題点があった。
一方、既存の電話交換機等においては、この集中システムをサービス利用者数によって分割することで問題の解決を図っているが、この場合においては、新たに分割したシステム間の連動をどのようにして実現するかが問題となり、前述の問題を解決するには至っていない。
本発明は、このような事情を考慮してなされたものであり、その目的は、ソフトスイッチ等の集中システム(中継交換機)を用いずに、複数のIP電話端末等の端末間で通話ネットワークを構成して通話を行うことができる端末、通信方法及び通信プログラムを提供することにある。
この発明は上記の課題を解決すべくなされてもので、本発明は、ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する端末であって、自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させるグループ参加管理手段と、前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する通話処理手段とを有することを特徴とする。
また、本発明は、前記通話処理手段は、前第2の記憶手段に記憶された前記通話先端末の状態を通話準備状態に変更するとともに、前記第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行することを特徴とする。
また、本発明は、前記第2の記憶手段は、自端末の状態をさらに記憶し、前記通話処理手段は、所定の時点で前記自端末の状態を通話準備状態に変更することを特徴とする。
また、本発明は、前記第1または第2の記憶手段は、自端末、前記通話先端末、又は、前記ネットワークを介して接続された他の端末内のいずれかに共有記憶領域として構築されることを特徴とする。
また、本発明は、前記第1または第2の記憶手段は、自端末、前記通話先端末、又は、前記ネットワークを介して接続された他の端末内に分散された共有記憶領域として構築されることを特徴とする。
また、本発明は、前記通話処理手段は、さらに、前記通話先端末と自端末との間の通話処理の実行結果に基づいて、所定の転送先端末と自端末との間で通話処理を実行することを特徴とする。
また、本発明は、前記通話処理手段は、さらに、前記通話先端末と自端末との間の通話処理の実行結果に基づいて、所定の転送先端末への電子メール送信処理を実行することを特徴とする。
また、本発明は、ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する通話方法であって、グループ参加管理手段が、自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させ、通話処理手段が、前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行することを特徴とする。
また、本発明は、ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する処理をコンピュータに実行させるためのプログラムであって、グループ参加管理手段が、自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させるグループ参加管理処理と、通話処理手段が、前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する通話処理とをコンピュータに実行させるための通話プログラムである。
以上説明したように、本発明によれば、ネットワーク(例えば実施の形態におけるインターネット)を介して接続された通話先端末(例えば、実施の形態におけるIP電話端末)の第1の識別情報(例えば、実施の形態における電話番号)及び通話先端末の状態を記憶する記憶手段(例えば、実施の形態における分散共有メモリ)と接続され、通話先端末の第1の識別情報を入力して通話先端末と通話処理を実行する端末(例えば、実施の形態におけるIP電話端末)において、通話先端末の第1の識別情報を入力して、記憶手段より通話先端末の状態を読み込み、読み込んだ通話先端末の状態に基づいて、通話先端末の第1の識別情報から変換された通話先端末の第2の識別情報(例えば、実施の形態におけるIPアドレス)を用いて通話先端末を識別して、通話先端末と自端末との間で通話処理を実行する。
したがって、自端末と通話先端末の間にソフトスイッチ等の中継交換機を介することなく、(インターネット等の通信網を利用した)通話を実現することができる効果が得られる。
また、本発明によれば、通話処理を実行すると判定した場合、記憶手段に記憶された通話先端末の状態を通話準備状態に変更するとともに、第2の識別情報を用いて通話先端末を識別して、通話先端末と自端末との間で通話処理を実行する。
したがって、他の端末から通話先端末への通話を一時的にロックするため、2重に通話処理が実行されてしまうことを防止することができる効果が得られる。
また、本発明によれば、記憶手段は、自端末の状態をさらに記憶し、所定の時点で自端末の状態を通話準備状態に変更する。
したがって、他の端末から自端末及び通話先端末への通話を一時的にロックするため、2重に通話処理が実行されてしまうことを防止することができる効果が得られる。
以下、本発明を実施するための最良の形態について説明する。
まず本発明の基本的な考え方について説明する。
本発明においては、発呼側のIP電話端末が中継交換機を介さずに着呼側の(通話先の)IP電話端末の状態を取得する。発呼側のIP電話端末は、通話先のIP電話端末に限定された情報のみを制御すればよいため、前述の集中システムのように複雑な処理を実現する必要がなくなる。
一方、各IP電話端末で通話先のIP電話端末の情報を扱う性能を保証することで、通信サービス全体に参加するIP電話端末の総量が変動した場合であっても、常に一定のサービス、品質、性能等を保証することができる。
以下、集中システムを用いない通信ネットワークシステムをより強度に実現するため、各IP電話端末の情報をどのようにネットワーク上において共有するかについて説明し、情報を共有することで、より高度な通話サービスを実現する方法について述べる。
以下、図面を参照して、本発明の端末の一実施形態について説明する。図1は、本実施形態の端末1を複数接続した通信ネットワークシステムの構成図である。
本実施形態において、通信ネットワークシステムは、ネットワーク上でユニークな識別情報で各端末1を識別する。この識別情報としては、インターネットを利用する場合であれば、IPアドレスを利用することが考えられる。各端末1は、通話先の電話番号を入力することで、この電話番号と紐付けられているIPアドレスを特定し、このIPアドレスを用いて通話先の端末1(以下、IP電話端末1とする)を特定する。そして、特定した通話先のIP電話端末1に対して、データストリーミングを開始して、データや音声を送信する。
通話先のIP電話端末1の情報(IPアドレス、状態)は、各IP電話端末1と接続されたメモリ上に記憶されている。具体的には、このメモリは、ネットワーク上のIP電話端末1(自端末、通話先端末)、または、他のコンピュータ端末上に構築されるか(共有メモリ方式)、ネットワーク上の複数のIP電話端末1に各IP電話端末1の情報単位に分散されて構築される(分散共有メモリ(DSM)方式)。すなわち、各IP電話端末1の情報は、所定の共有メモリ上に格納される。
この共有メモリにリアルタイムにアクセス可能なIP電話端末1の範囲に応じて、各IP電話端末1は複数のグループに分割される。すなわち、共有メモリは、IP電話端末1の情報を共有する範囲を限定するために、複数のセグメントグループに分割される。この各セグメントが各IP電話端末1のグループに対応し、対応するグループに属する複数のIP電話端末1の情報がデータ項目として定義される。
このように共有メモリ等を用いて、リアルタイムに各IP電話端末1の情報を共有することで、通話先のIP電話端末1と連動する際に問題となるネットワーク遅延に対処するとともに、グループ内のいずれかのIP電話端末1が故障した場合、これを他のIP電話端末1が検知して、同一グループに属する他のIP電話端末1が故障したIP電話端末1の処理を代行する。
すなわち、各IP電話端末間で連動しやすい範囲にグループを分割し、頻繁に行われるサービスについては、ネットワーク負荷を考慮して連動範囲を限定する。
各IP電話端末1は、常にグループ参加する、つまり、複数のIP電話端末1によって構成される通信ネットワークシステムに常時接続するか、必要なときにグループ参加する、つまり、サービス利用時にのみ通信ネットワークシステムに接続し、サービス終了後は切断する。この場合、前者においては、IP電話端末間1の連動が発生する確率が高く、後者においては、IP電話端末間の連動が発生する確率が低くなる。各IP電話端末1は、参加するグループの位置について、所定のグループ情報を管理するサーバにアクセスすることで検索する。
このように各グループに参加することで、各IP電話端末1は、常時、自グループ内のIP電話端末1の情報を格納する共有メモリへのアクセスが許可され、自グループの情報、あるいは、情報の変更差分をリアルタイムに取得する。情報取得のタイミングとしては、グループに参加する際に共有メモリからダウンロードを行う。一度ダウンロードした情報は、各IP電話端末1内のメモリに保持する。
また、各グループに参加することで、通信先のIP電話端末1が応答不能な状態であれば、グループの他のIP電話端末1がこれを代替することでサービスの継続を保証する。
次に、上述した共有メモリグループと各IP電話端末1の電話番号とをどのように管理するかについて説明する。
発呼側のIP電話端末1が着呼側のIP電話端末1に電話をする場合において、発呼側のIP電話端末1は、着呼側のIP電話端末1の電話番号を入力して、着呼側のIP電話端末1が参加する共有メモリグループを識別する。
電話番号から共有メモリグループを識別する方法としては、図2に示すように、電話番号のワイルドカードの箇所を共有メモリグループと紐付けるように電話番号と共有メモリグループの対応関係テーブルを構築することが考えられる。具体的には、例えば、電話番号の下数桁をワイルドカードの箇所として、これに含まれる電話番号に共有メモリグループを割り当てる(図2に示す例では、下2桁100件分の電話番号を1の共有メモリグループに割り当てる)。
また、他の実装例としては、図3に示すように、所定の開始電話番号から終了電話番号までに含まれる複数の電話番号を共有メモリグループと紐付けるように電話番号と共有メモリグループの対応関係テーブルを構築するようにしてもよい。具体的には、例えば、電話番号の下数桁で開始番号と終了番号を設定し、これに含まれる電話番号に共有メモリグループを割り当てる(図3に示す例では、下2桁11〜20まで10件分、21〜30まで10件分の電話番号をそれぞれ1つの共有メモリグループに割り当てる)。
このようにして設定された電話番号と共有メモリグループの対応関係テーブルは、各IP電話端末1において、まずローカルで設定されることが考えられる。すなわち、各IP電話端末に電話番号と共有メモリグループの設定情報をダウンロードする。ここで、電話番号と共有メモリグループの対応関係を示す設定情報のテーブルが図4に示すダウンロードサーバ2に格納されている。このダウンロードサーバ2は、各IP電話端末1からアクセス可能となっている。各IP電話端末1は、ダウンロードサーバ2から設定情報をダウンロードするダウンロードタイミングをダウンロードサーバ2の負荷が集中しないように調整、例えば、共有メモリグループ内のIP電話端末1でダウンロードする順番を決めて、順次ダウンロード処理を行う。
また、電話番号と共有メモリグループの対応関係テーブルは、共有メモリグループ数、共有メモリグループ1つあたりの電話番号数等の変更により更新される。この更新後の新情報は、図5に示すように、共有メモリグループ単位でダウンロードサーバ2により順にダウンロードされることで、それぞれのグループ内のIP電話端末1に通知される。
一方、このようにグループ単位でダウンロードを行う場合、各IP電話端末1は、電話番号と共有メモリグループとの対応関係を示すテーブルのバージョンを自端末内のメモリにおいて管理する。そして、図6に示すように、バージョン管理端末が図2あるいは図3に示すようなテーブルの変更を検知すると、各共有メモリグループの制御領域にもテーブルのバージョンと、これを格納するダウンロードサーバ2のIPアドレスとを書き込む。また、IP電話端末1は、自己の管理するテーブルのバージョンと共有メモリグループの制御領域に書き込まれたバージョンとを、所定の時間周期毎に比較し、異なる場合には、制御域領域に書き込まれたバージョンのテーブルをダウンロードサーバよりダウンロードする。
また、各IP電話端末1は、図7に示すように、電源投入時(グループ参加時)にも自己の管理するテーブルのバージョンと共有メモリグループの制御領域に書き込まれたバージョンとを比較し、異なる場合には、制御域領域に書き込まれたバージョンのテーブルをダウンロードする。
このように構成することで、ダウンロードタイミング時にグループに参加していないIP電話端末についても、確実に更新後の新情報がダウンロードされる。
なお、この場合のダウンロード負荷の集中を低減させるためには、多数のIP電話端末1において電源断が発生している場合には、各共有メモリグループの制御領域に対するバージョン書き込みを実行しないように設定することが考えられる。また、書き込み時においても、各IP電話端末1への書き込みタイミングをずらし、グループごとにダウンロードサーバへの負荷を調整する。
ところで、電話番号と共有メモリグループとの対応関係を管理するテーブル(またはデータベース)については、同じ時間において、できるだけ各IP電話端末1すべてが同じ正確な情報(最新バージョンのテーブルの情報)を持っている必要がある。したがって、各IP電話端末1は、この電話番号と共有メモリグループの関係を管理するテーブルを共有メモリ上に格納する。
ここで、共有メモリ上で管理する電話番号数(メンバ数)が増えるに従って、テーブル更新を通知(同報)する負荷が大きくなる。したがって、共有メモリ上で管理する電話番号数を一定数以下に制限し、図8に示すように、同じ共有メモリの内容を持つグループを階層的に配置し、下位のグループに対しては上位と下位双方のグループに所属するIP電話端末がデータの変更を通知するように構成する。すなわち、情報のメンテナンスは、任意のIP電話端末で実施し、二重にグループを保持しているIP電話端末1が情報の複製を行う。
このように、テーブル更新を通知(同報)する範囲を階層単位に区切ることにより、同じデータが多くのIP電話端末で共通に使用することが可能となる。
この場合、上下グループに所属するIP電話端末1が故障等により消滅した場合、通信ネットワークが切断されてしまう。したがって、上下グループに所属するIP電話端末1を多重化し、故障したIP電話端末1を他のIP電話端末1で代替する。
具体的には、互いに各IP電話端末1の状態を監視し、故障検出時には、共有メモリ上に状態「故障」を書き込む。一方、同一グループ内において代替可能なIP電話端末1を特定し、当該予備のIP電話端末1において故障状態のIP電話端末1の処理を代替する。また、複数の予備IP電話端末が同時に書き込みをした場合には、調停により1のIP電話端末を決定する。
一方、共有メモリ上ですべてのIP電話端末1が同時に同じデータを保有する方式においては、通信ネットワークシステムを構成するIP電話端末1が増えるほど、ネットワーク遅延が問題となる。
したがって、通信ネットワークシステムを構成するIP電話端末1が増えた場合、頻繁に使用しない情報は必要な都度取得し、情報共有のためのネットワーク負荷を減らす。
具体的には、情報利用の頻度(トラヒック)に応じて、共有メモリを階層的に配置し、各グループは階層間のルーティング情報を管理する。
具体的には、今、ここで情報利用の頻度を地域と仮定し、遠い地域ほど使用する頻度は低いものとする。そして、頻度の低いデータを取得する場合、頻度の低さに応じてネットワーク負荷、時間に対する条件をゆるくしても良いように条件を設定する。
すなわち、図9に示すように、まず地域を階層構造状に配置する。そして、末端のグループに実データであるテーブルを設定し、中間層は末端の各グループのルーティング情報を記述する。これは、中間層に実データを設定するとグループの配置が複雑化するためである。
次に、情報利用頻度が高い地域をなるべく隣接するように配置する。こうすることにより”近い地域=情報利用頻度が高い”条件をクリアする。
そして、地域Aの代表者となるIP電話端末1が地域A〜Cからなる集合Aをルーティング情報により管理し、地域AのIP電話端末1は、電話番号と共有メモリグループ(セグメント)との対応関係を示すテーブルにより、地域Cのグループの共有メモリを参照して、電話番号に対応したIPアドレスにより地域CのIP電話端末1に電話する。
同様に、集合Aの代表者となるIP電話端末1が集合A〜Cからなる大集合Aをルーティング情報により管理し、地域AのIP電話端末1は、電話番号と共有メモリグループとの対応関係を示すテーブルにより、集合B内の地域Dのグループの共有メモリを参照して、電話番号に対応したIPアドレスにより地域DのIP電話端末1に電話する。
以上のように、電話番号と共有メモリのセグメントとを対応付けて管理する。
以下、各IP電話端末1による共有メモリへの初期登録処理について説明する。
各IP電話端末1は、参加している共有メモリグループに自身の情報(自情報、例えば、図10に示す自電話番号、自電話ID、自IPアドレス、自状態、相手電話番号、相手アドレス)を常に登録する。具体的には、図11に示すように、各IP電話端末1は、まず起動時に設定されている共有メモリのセグメントグループに参加し、自電話IDと自アドレス(IPアドレス)、自状態(アイドル状態)を登録する。共有メモリ上における自情報の書き込み先フィールドは、例えば、初期値(例えば0)によって識別される。すなわち、各IP電話端末1は、共有メモリ上のフィールドが初期値であれば空きと認識し、その初期値に自分の電話番号を設定して使用中として、その書き込みフィールドに自情報を書き込む。なお、複数のIP電話端末1の間で同時に空きを認識して、同一の書き込みフィールドに対する書き込みが発生しないように、グループ内の任意のIP電話端末1が予め定められてシーケンサとなり、順序制御を行う。
以上のように、各IP電話端末1は、共有メモリに対する初期登録を行う。
次に、図面を参照して、本実施形態の端末の動作について説明する。図12は、本実施形態の同一の共有メモリグループ内における通話処理の過程を示すフローチャートである。
通話先が同一共有メモリグループの場合(基本通話(内線))、発呼側のIP電話端末1は、通話先の共有メモリグループに新たに参加する処理の必要が無く、着呼側のIP電話端末1のIPアドレスを取得して通話を行う。
具体的には、発呼側のIP電話端末1において、受話器が上げられ、着呼側のIP電話端末1の電話番号が入力されると(図12のステップS1)、発呼側のIP電話端末1は、共有メモリ上に書き込まれた自端末の状態を読み込んで、「終了中(通話が出来ない状態)」であるか否かを確認する(ステップS2)。終了中の場合は、アイドルになるまで、通話開始処理を保留する。具体的には、自端末の状態が「終了中」であれば、発呼側のIP電話端末1は、自端末の状態が「終了中」から変更されるまで、アイドルループ処理を実行する。一方、自端末の状態が「終了中」でなければ、発呼側のIP電話端末1は、相手とのコネクション接続中に他から通話されないように、共有メモリを使って自状態を管理する。すなわち、発呼側のIP電話端末1は、共有メモリ上の自端末の状態を「通話準備中」に変更する(ステップS3)。この自状態の管理は、通話中を検出した場合のロールバック処理の削減を考慮して出来るだけ早急に行われる。
次に、発呼側のIP電話端末1は、入力された着呼側のIP電話端末1の電話番号をキーとして、この共有メモリグループの共有する共有メモリ上に書き込まれた着呼側のIP電話端末1の状態を読み出す(ステップS4)。
読み出した着呼側のIP電話端末1の状態が「アイドル(着呼待ちの状態)」でない場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、読み出した着呼側のIP電話端末1の状態が「アイドル」であれば、発呼側のIP電話端末1は、共有メモリ上における自端末情報の相手先に通話情報(電話番号、IPアドレス)を設定する(ステップS5)。
そして、発呼側のIP電話端末1は、自端末における通話断念の確認を行う(ステップS6)。具体的な上記確認として、発呼側のIP電話端末1は、自端末の受話器が下げられているか否かを確認する。自端末の受話器が下げられている場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、自端末の受話器が上げられたまま下げられていない場合、発呼側のIP電話端末1は、共有メモリ上において着呼側のIP電話端末1の状態が「通話中」に変更されるのを監視する(ステップS7)。
着呼側のIP電話端末1において受話器が上げられて、共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更されると、発呼側のIP電話端末1は、着呼側のIP電話端末1と通話処理を開始する(ステップS8)。
以下、図13を用いて、同一の共有メモリグループ内における発呼側及び着呼側のIP電話端末1の間における詳細な通話処理について説明する(以下、発呼側(発信側)をAとし、着呼側(着信側)をBとする)。図13(a)は、呼処理を開始する前の初期状態における共有メモリ上の通話管理テーブルの構成図である。
図13(a)に示すように、共有メモリ上の通話管理テーブルにおいて、A(発信側)及びB(着信側)それぞれについて、自電話番号、自アドレス、自状態、相手電話番号、相手アドレスが書き込まれる。以下、このテーブル上のフィールド位置を列番号、行番号で示す。
今、図13の(b)に示すように、A(発信側)において、受話器が上げられると、共有メモリ上の3.(1)に書き込まれた自状態を「通話準備中」に更新する(図13のステップS11)。なお、通話準備状態においては、他のIP電話端末1は、共有メモリ上の発呼側のIP電話端末1の状態が「通話準備中」であることを検出すると、このA(発呼側)のIP電話端末1に対する状態更新の書き込みを実行しない(または、書き込みを受付けない)ものとする。
次に、受話器が上げられた状態において、B(着信側)の電話番号が入力されると、A(発信側)は、入力されたB(着信側)の電話番号で共有メモリ上の4.(1)に書き込まれた相手電話番号を更新する(ステップS12)。そして、A(発信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を読み出して、B(着信側)の状態が「アイドル」であることを確認する(ステップS13)。この場合、B(着信側)の状態が「アイドル」であるため、A(発信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を「通話準備中」に更新する(ステップS14)。なお、このロック処理については、すれ違いを防止するため、また、通話中を検出した場合のロールバック処理の削減を考慮して、できるだけ早く行うものとする。
なお、ステップS13でB(着信側)の状態が「アイドル」でなかった場合、図14に示すように、A(発信側)は、共有メモリ上の4.(1)に書き込まれた相手電話番号と、共有メモリ上の3.(1)に書き込まれた自状態とを順に初期化、アイドル状態に設定する(ステップS31、32)。
一方、B(着信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を監視しており(ステップS21)、これが「通話準備中」に更新されると、さらに、共有メモリ上の5.(2)に書き込まれた相手アドレスが初期値以外になることを監視する(ステップS22)。
A(発信側)は、B(着信側)の状態を「通話準備中」に更新後、入力されたB(着信側)の電話番号と紐付けて、共有メモリ上の2.(2)に書き込まれたB(着信側)の自アドレス(IPアドレス、図13(a)ではxxx2)を読み出して、共有メモリ上の5.(1)に書き込まれたA(発信側)の相手アドレス(IPアドレス)を更新する(ステップS15)。また、A(発信側)は、共有メモリ上の1.(1)に書き込まれたA(発信側)の電話番号(図13(a)ではxx−yyy−zz8)を読み出して、共有メモリ上の4.(2)に書き込まれたB(着信側)の相手電話番号を更新する(ステップS16)。そして、A(発信側)は、発ID通知機能のため、共有メモリ上の2.(1)に書き込まれたA(発信側)の自アドレス(図13(a)ではxxx1)を読み出して、共有メモリ上の5.(2)に書き込まれたB(着信側)の相手アドレスを更新する(ステップS17)。
以上の通話情報が設定されると、A(発信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態が「通話中」に更新されることを監視する(ステップS18)。
B(着信側)は、共有メモリ上の5.(2)に書き込まれた相手アドレスがA(発信側)の自アドレスで更新されたことを検出すると、鳴動処理を開始する(ステップS23)。
そして、鳴動処理中において、受話器が上げられると、B(着信側)は、これをトリガとして、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を「通話中」に更新する。
A(発信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態が「通話中」に更新されたことを検出すると、共有メモリ上の3.(1)に書き込まれたA(発信側)の状態を「通話中」に更新する。
そして、A(発信側)は、状態更新後、B(着信側)へ音声データのストリーミングを開始する(ステップS20、S25)。
なお、ステップS24において、B(着信側)で受話器が上げられなかった場合、終了処理については、受話器を下ろした後、すぐに受話器を上げられることを考慮して、自状態に終了中を設定する。すなわち、図15に示すように、A(発信側)は、自端末の受話器が下ろされて、通話を中止する(ステップS40)。一方、B(着信側)は、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を監視しており(ステップS50)、A(発信側)が、共有メモリ上の3.(2)に書き込まれたB(着信側)の状態を「終了中」に更新すると(ステップS41)、B(着信側)は、これを検出して、鳴動を停止する(ステップS51)。
一方、A(発信側)は、共有メモリ上の3.(1)に書き込まれた自状態を「終了中」に設定し、さらに、共有メモリ上の5.(1)に書き込まれたA(発信側)の相手アドレス、共有メモリ上の5.(2)に書き込まれたB(着信側)の相手アドレスをそれぞれ順に初期化する(ステップS43、S44)。
次に、A(発信側)は、共有メモリ上の4.(2)に書き込まれたB(着信側)の相手電話番号と、共有メモリ上の3.(2)に書き込まれたB(着信側)の自状態とを順に初期化、アイドル状態に設定し(ステップS45、S46)、さらに、共有メモリ上の4.(1)に書き込まれた相手電話番号と、共有メモリ上の3.(1)に書き込まれた自状態とを順に初期化、アイドル状態に設定する(ステップS47、48)。
以上説明したように、本実施形態のIP電話端末1によれば、発呼側と着呼側との間にソフトスイッチ等の中継交換機を介することなく、インターネットを利用した通話を実現することができる。
次に、図面を参照して、第2の実施形態の端末の動作について説明する。図16は、本実施形態の通話処理の過程を示すフローチャートである。
通話先が別共有メモリグループの場合(基本通話(外線))、発呼側のIP電話端末1は、中継交換機を介さずに、着呼側のIP電話端末1のIPアドレスを取得して通話を行う。
本実施形態の端末の動作が第1の実施形態と異なる点は、着呼側のIP電話端末1の情報を読み書きするために着呼側のIP電話端末1が属する共有メモリグループに参加する点である。以下、第2の実施形態の端末の動作のうち、第1の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
第1の実施形態と同様に、発呼側のIP電話端末1において、着呼側のIP電話端末1の電話番号が入力され(図16のステップS1)、自端末の状態確認(ステップS2)、自端末の状態変更(ステップS3)が実行されると、発呼側のIP電話端末1は、着呼側のIP電話端末1が属する共有メモリグループに参加する(ステップS60)。すなわち、発呼側のIP電話端末1は、すでに述べた初期登録処理により、着呼側のIP電話端末1の属する共有メモリグループBの共有メモリに自情報を登録し、必要な情報をダウンロードすることで、共有メモリグループA及び共有メモリグループBの双方に属することになる。
図17(a)は、図13(a)と同様に、呼処理を開始する前の初期状態における共有メモリ上の通話管理テーブルの構成図である。
図13(a)と同様に、発呼側及び着呼側それぞれの共有メモリ上の通話管理テーブルにおいて、A(発信側)及びB(着信側)それぞれについて、自電話番号、自アドレス、自状態、相手電話番号、相手アドレスが書き込まれる。
今、図17の(b)に示すように、A(発信側)の自状態が「通話準備中」に更新され(図17のステップS11)、相手電話番号が設定されると(ステップS12)、A(発信側)は、B(着信側)が属する共有メモリグループに参加する(ステップS70)。
そして、以下、ステップS13〜19、S21〜24と同様に通話情報設定を行い、A(発信側)からB(着信側)へ音声データのストリーミングを開始する(ステップS20、S25)。
なお、ステップS13でB(着信側)の状態が「アイドル」でなかった場合、図18に示すように、A(発信側)は、B(着信側)が属する共有メモリグループから退出して(ステップS80)、ステップS31、32と同様に、初期化等の設定を行う。
また、ステップS24において、B(着信側)で受話器が上げられなかった場合、図192示すように、ステップS40〜46の初期化等の設定後、B(着信側)が属する共有メモリグループから退出して(ステップS90)、さらに、ステップS47、48と同様に、さらに初期化等の設定を行う。
以上説明したように、本実施形態のIP電話端末1によれば、発呼側と着呼側とが別の共有メモリグループに属している場合であっても、発呼側と着呼側との間にソフトスイッチ等の中継交換機を介することなく、インターネットを利用した通話を実現することができる。
次に、図面を参照して、第3の実施形態の端末の動作について説明する。図20は、本実施形態の通話処理の過程を示すフローチャートである。
通話先が複数の場合(会議電話)、発呼側のIP電話端末1は、中継交換機を介さずに、複数の着呼側のIP電話端末1のIPアドレスを取得して通話を行う。
本実施形態の端末の動作が第1の実施形態と異なる点は、着呼側のIP電話端末1の情報を読み書きするために複数の着呼側のIP電話端末1の共有メモリグループに参加する点である。以下、第3の実施形態の端末の動作のうち、第1、2の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
発呼側のIP電話端末1において、受話器が上げられ、会議メンバ数(自端末と複数の着呼側のIP電話端末1の合計値)、複数の着呼側のIP電話端末1の電話番号が入力されると(図20のステップS100)、発呼側のIP電話端末1は、共有メモリ上に書き込まれた自端末の状態を読み込んで、「終了中」であるか否かを確認する(ステップS101)。終了中の場合は、アイドルになるまで、通話開始処理を保留する。具体的には、自端末の状態が「終了中」であれば、発呼側のIP電話端末1は、自端末の状態が「終了中」から変更されるまで、アイドルループ処理を実行する。一方、自端末の状態が「終了中」でなければ、発呼側のIP電話端末1は、相手とのコネクション接続中に他から通話されないように、共有メモリを使って自状態を管理する。すなわち、発呼側のIP電話端末1は、共有メモリ上の自端末の状態を「会議準備中」に変更する(ステップS102)。
次に、発呼側のIP電話端末1は、会議参加者の共有メモリグループに参加する(ステップS103)。そして、発呼側のIP電話端末1は、入力された複数の着呼側のIP電話端末1の電話番号それぞれをキーとして、それぞれの着呼側のIP電話端末1が属する共有メモリ上に書き込まれた着呼側のIP電話端末1の状態を読み出す(ステップS104)。
読み出した着呼側のIP電話端末1の状態が「アイドル」でない場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、読み出した着呼側のIP電話端末1の状態が「アイドル」であれば、発呼側のIP電話端末1は、それぞれの共有メモリ上に通話情報(電話番号、IPアドレス)を設定する(ステップS105)。
そして、発呼側のIP電話端末1は、自端末における通話断念の確認を行う(ステップS106)。具体的な上記確認として、発呼側のIP電話端末1は、自端末の受話器が下げられているか否かを確認する。自端末の受話器が下げられている場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、自端末の受話器が上げられたまま下げられていない場合、発呼側のIP電話端末1は、共有メモリ上において着呼側のIP電話端末1の状態が「通話中」に変更されるのを監視する(ステップS107)。
着呼側のIP電話端末1において受話器が上げられて、それぞれ共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更されると、発呼側のIP電話端末1は、当該状態が「通話中」に変更された着呼側のIP電話端末1の数が入力されたメンバ数に等しいかを確認する(ステップ108)。
状態が「通話中」に変更された着呼側のIP電話端末1の数が入力されたメンバ数に等しい場合、発呼側のIP電話端末1は、着呼側のIP電話端末1と通話処理を開始する(ステップS109)。
一方、状態が「通話中」に変更された着呼側のIP電話端末1の数が入力されたメンバ数より少ない場合は、ステップS103〜109を繰り返し実行し、状態が「通話中」に変更された着呼側のIP電話端末1の数が入力されたメンバ数に等しくなった後、発呼側のIP電話端末1は、着呼側のIP電話端末1と通話処理を開始する(ステップS109)。
以下、図21を用いて、発呼側(会議主催者)及び着呼側(参加者1、2)のIP電話端末1の間における詳細な通話処理について説明する(以下、発呼側(会議主催者)をAとし、着呼側(参加者1、2)をB、Cとする)。図21(a)は、呼処理を開始する前の初期状態におけるA〜Cが属する共有メモリグループA〜C上の通話管理テーブルの構成図である。
図21(a)に示すように、A〜Cが属する共有メモリグループA〜C上の通話管理テーブルにおいて、A(会議主催者)及びB、C(参加者1、2)それぞれについて、自電話番号、自アドレス、自状態、複数の相手電話番号、複数の相手アドレスが書き込まれる。
今、図21の(b)に示すように、A(主催者)において、受話器が上げられ、会議参加者数(メンバ数)と、B(参加者1)、C(参加者2)の電話番号とが入力されると、入力されたB(参加者1)、C(参加者2)の電話番号で共有メモリ上の4.(1)、6.(1)に書き込まれた相手電話番号1、2を更新する(ステップS120)。
次に、A(主催者)は、共有メモリ上の3.(1)に書き込まれた自状態を「会議準備中」に更新し(ステップS121)、共有メモリグループBに参加する(ステップS122)。そして、A(主催者)は、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態を読み出して、B(参加者1)の状態が「アイドル」であることを確認する(ステップS123)。この場合、B(参加者1)の状態が「アイドル」であるため、A(主催者)は、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態を「会議準備中1」に更新する(ステップS124)。
一方、B(参加者1)は、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態を監視する(ステップS150)。そして、B(参加者1)は、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態が「会議準備中1」に更新されたことを検出すると、鳴動処理を開始する(ステップS151)。
A(主催者)は、B(参加者1)の状態を「会議準備中1」に更新後、入力されたB(参加者1)の電話番号と紐付けて、共有メモリ上の2.(2)に書き込まれたB(参加者1)の自アドレスを読み出して、共有メモリ上の5.(1)に書き込まれたA(主催者)の相手アドレスを更新する(ステップS125)。また、A(主催者)は、共有メモリ上の1.(1)、6.(1)に書き込まれたA(主催者)及びC(参加者2)の電話番号を読み出して、共有メモリ上の4.(2)、6.(2)に書き込まれたB(参加者1)の相手電話番号1,2を更新する(ステップS126)。そして、A(主催者)は、発ID通知機能のため、共有メモリ上の2.(1)に書き込まれたA(主催者)の自アドレスを読み出して、共有メモリ上の5.(2)に書き込まれたB(参加者1)の相手アドレスを更新する(ステップS127)。
以上の通話情報が設定されると、A(主催者)は、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態が「会議準備中2」に更新されることを監視する(ステップS128)。
一方、鳴動処理中において、受話器が上げられ、共有メモリ上の5.(2)に書き込まれた相手アドレスが初期値以外になると、B(参加者1)は、これをトリガとして、共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態を「会議準備中2」に更新する(ステップS152)。
共有メモリ上の3.(2)に書き込まれたB(参加者1)の状態が「会議準備中2」に更新されたことを検出すると、次に、A(主催者)は、共有メモリグループCに参加する(ステップS129)。そして、A(主催者)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態を読み出して、C(参加者2)の状態が「アイドル」であることを確認する(図22のステップS130)。この場合、C(参加者2)の状態が「アイドル」であるため、A(主催者)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態を「会議準備中1」に更新する(ステップS131)。
一方、C(参加者2)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態を監視する(図22のステップS160)。そして、C(参加者2)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態が「会議準備中1」に更新されたことを検出すると、鳴動処理を開始する(ステップS161)。
A(主催者)は、C(参加者2)の状態を「会議準備中1」に更新後、入力されたC(参加者2)の電話番号と紐付けて、共有メモリ上の2.(3)に書き込まれたC(参加者2)の自アドレスを読み出して、共有メモリ上の7.(1)、7.(2)に書き込まれたA(主催者)の相手アドレスを更新する(ステップS132、S133)。また、A(主催者)は、共有メモリ上の1.(1)、4.(1)に書き込まれたA(主催者)及びB(参加者1)の電話番号を読み出して、共有メモリ上の4.(3)、6.(3)に書き込まれたC(参加者2)の相手電話番号1,2を更新する(ステップS134)。そして、A(主催者)は、発ID通知機能のため、共有メモリ上の5.(1)、2.(1)に書き込まれたB(参加者1)及びA(主催者)の自アドレスを読み出して、共有メモリ上の7.(3)、5.(3)に書き込まれたC(参加者2)の相手アドレス1,2を更新する(ステップS135、S136)。
以上の通話情報が設定されると、A(主催者)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態が「会議準備中2」に更新されることを監視する(ステップS137)。
一方、鳴動処理中において、受話器が上げられ、共有メモリ上の5.(3)に書き込まれた相手アドレスが初期値以外になると、C(参加者2)は、これをトリガとして、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態を「会議準備中2」に更新する(ステップS162)。A(主催者)は、共有メモリ上の3.(3)に書き込まれたC(参加者2)の状態が「会議準備中2」に更新されたことを検出すると、共有メモリ上の3.(3)、3.(2)、3.(1)に書き込まれたC(参加者2)、B(参加者1)及びA(主催者)の状態を「会議中」に更新する(ステップS138、S139、S140)。
そして、C(参加者2)、B(参加者1)は、状態更新後、A(発信側)へ音声データのストリーミングを開始する(ステップS141、S142、S153、S163)。
以上説明したように、本実施形態のIP電話端末によれば、会議人数分のアドレス領域を共有メモリに準備し、複数の端末間で会議電話を行うことができる。
また、本実施形態のIP電話端末によれば、主催者のみが全メンバ分の共有メモリにアクセスするため、ネットワーク負荷が低く抑えられる。また、本実施形態のIP電話端末によれば、参加者を順に参加させていくため、途中メンバが話中の場合だった場合、ロールバック処理が少なくてすむ。さらに、本実施形態のIP電話端末によれば、参加メンバ数分の領域を用意すれば、参加メンバ数のIP電話端末1が会議に参加することができるため、会議参加人数制限が無くなる。さらに、本実施形態のIP電話端末によれば、会議メンバ情報を設定するとき、相手アドレス1を必ず最後に設定することにより、参加者は参加人数を意識することなく情報の設定が完了したか判断できる。
次に、図面を参照して、第4の実施形態の端末の動作について説明する。図23は、本実施形態の通話処理の過程を示すフローチャートである。
複数のIP電話端末1が会議電話中において、新規参加(発呼側)のIP電話端末1は、中継交換機を介さずに、会議電話中のIP電話端末1のIPアドレスを取得して、通話中に割り込み可能な電話会議に参加(以下、パージイン)する。
本実施形態の端末の動作が第3の実施形態と異なる点は、会議電話中のIP電話端末1の情報を読み書きするために複数の着呼側のIP電話端末1の共有メモリグループに参加する点である(パージイン)。以下、第4の実施形態の端末の動作のうち、第1〜3の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
新規参加のIP電話端末1において、受話器が上げられ、参加したい電話会議に参加中のIP電話端末1の電話番号が入力されると(図23のステップS171)、新規参加のIP電話端末1は、共有メモリ上に書き込まれた自端末の状態を読み込んで、「終了中」であるか否かを確認する(ステップS172)。終了中の場合は、アイドルになるまで、通話開始処理を保留する。具体的には、自端末の状態が「終了中」であれば、新規参加のIP電話端末1は、自端末の状態が「終了中」から変更されるまで、アイドルループ処理を実行する。一方、自端末の状態が「終了中」でなければ、新規参加のIP電話端末1は、相手とのコネクション接続中に他から通話されないように、共有メモリを使って自状態を管理する。すなわち、新規参加のIP電話端末1は、共有メモリ上の自端末の状態を、通話準備の一種である「パージ準備中」に変更する(ステップS173)。
次に、新規参加のIP電話端末1は、参加中のIP電話端末1が属する共有メモリグループに参加する(ステップS174)。そして、新規参加のIP電話端末1は、入力された参加中のIP電話端末1の電話番号をキーとして、共有メモリ上に書き込まれた参加中のIP電話端末1の状態を読み出す(ステップS175)。
読み出した参加中のIP電話端末1の状態が「通話中/会議中」でない場合、新規参加のIP電話端末1は、発呼処理を終了する。一方、読み出した参加中のIP電話端末1の状態が「通話中/会議中」であれば、新規参加のIP電話端末1は、共有メモリ上の通話情報(電話番号、IPアドレス)を取得する(ステップS176)。
そして、新規参加のIP電話端末1は、取得した通話情報から通話メンバ(会議に参加しているIP電話端末1)の共有メモリグループすべてに参加する(ステップS177)。すべての共有メモリグループに参加が完了すると、新規参加のIP電話端末1は、これらの共有メモリグループに参加中のIP電話端末1の電話番号をキーとして、共有メモリ上に書き込まれた参加中のIP電話端末1の状態を読み出す(図24のステップS178)。
読み出した参加中のIP電話端末1の状態が「通話中/会議中」でない場合、該当する端末の情報は削除する(ステップS183)。一方、読み出した参加中のIP電話端末1の状態が「通話中/会議中」であれば、新規参加のIP電話端末1は、自アドレス情報をこれらの共有メモリグループに参加中のIP電話端末1に設定する(ステップS179)。そして、新規参加のIP電話端末1は、これらの共有メモリグループに参加中のIP電話端末1の状態にパージxを設定する(ステップS180 ただし、パージxは、自アドレス情報の格納場所を示す)。ここで、上記IP電話端末1に対し、パージしてくる他の共有グループにおけるIP電話端末が複数同時に存在する場合、共有メモリへの書き込みが競合してしまうため、この競合を解消する必要がある。具体的には、例えば、パージ状態とする端末において最も小さい電話番号のIP電話端末を最優先端末し、この共有メモリへの書き込みが成功した割り込み端末(すなわち新規参加のIP電話端末1)が、割り込み記述をした位置への優先書き込み権を得るように構成する。このように構成することで、共有メモリへの書き込みの競合が解消できるとともに、会議参加端末それぞれで書き込み結果の確認をする必要がなくなる。
次に、新規参加のIP電話端末1は、状態を読み出した参加中のIP電話端末1が最優先端末であれば、この端末に対し、すでにパージの設定がされているか否か(割り込みの有無)を確認する(ステップS184)。また、状態を読み出した参加中のIP電話端末1が最優先端末でないか、または、パージが設定されていない場合、他にパージ状態とする端末として設定されている参加中のIP電話端末1があるか否かを確認し、なければ全端末の情報を確認する(ステップS181)。そして、電話会議に参加中のIP電話端末1すべての状態が「会議中」であれば、自端末の状態を「会議中」に設定する(ステップS182)。
一方、最優先端末の状態がすでにパージに設定されている場合、割り込みが終了しているか否かを確認する(ステップS185)。そして、割り込みが終了するまでアイドルループ処理を実行し、割り込みが終了した後、自アドレス情報を最優先端末(参加中のIP電話端末1)に設定し(ステップS186)、参加中のIP電話端末1の状態にパージxを設定する(ステップS187)。
以下、図25を用いて、着呼側(参加者1、2)及び発呼側(新規参加者)のIP電話端末1の間における詳細な通話処理について説明する(以下、着呼側(参加者1、2)をA、Bとし、発呼側(新規参加者)をCとする)。図25(a)は、呼処理を開始する前の初期状態におけるA〜Cが属する共有メモリグループA〜C上の通話管理テーブルの構成図である。
図25(a)に示すように、A〜Cが属する共有メモリグループA〜C上の通話管理テーブルにおいて、A、B(参加者1、2)及びC(新規参加者)それぞれについて、自電話番号、自アドレス、自状態、複数の相手電話番号、複数の相手アドレスが書き込まれる。
今、図25の(b)に示すように、C(新規参加者)において、受話器が上げられ、B(参加者2)の電話番号が入力されると(ステップS191)、C(新規参加者)は、共有メモリ上の3.(1)に書き込まれた自状態を「パージ準備中」に更新し(ステップS192)、共有メモリグループBに参加する(ステップS193)。そして、C(新規参加者)は、共有メモリ上の1.(2)、2.(2)、4.(2)、5.(2)に書き込まれたB(参加者2)の自電話番号、自アドレス、相手電話番号1、相手アドレス1を読み出して、共有メモリ上の4.(3)、5.(3)、6.(3)、7.(3)に書き込まれたC(新規参加者)の相手電話番号1、相手アドレス1、相手電話番号2、相手アドレス2を更新する(ステップ194)。
これにより、C(新規参加者)は、会議参加者Aを特定し、さらに、特定したすべての参加者の共有メモリグループ(この場合は、メモリグループAのみ)に参加する(ステップS195)。そして、C(新規参加者)は、B(参加者2)の空いている相手電話番号2、相手アドレス2に自情報を設定する。具体的には、C(新規参加者)は、共有メモリ上の1.(3)、2.(3)に書き込まれたC(新規参加者)の自電話番号、自アドレスを読み出して、共有メモリ上の6.(2)、7.(2)に書き込まれたB(参加者2)の相手電話番号2、相手アドレス2を更新する(ステップ196)。
次に、C(新規参加者)は、共有メモリ上の3.(2)に書き込まれたB(参加者2)の状態を「パージ2」に更新する(ステップS197)。
一方、B(参加者2)は、共有メモリ上の3.(2)に書き込まれたB(参加者2)の状態を監視する(ステップS211)。そして、B(参加者2)は、共有メモリ上の3.(2)に書き込まれたB(参加者2)の状態が「パージ2」に更新されたことを検出すると、共有メモリ上の3.(2)に書き込まれた自状態を「会議中」に変更する(ステップS212)。以上により、C(新規参加者)は、B(参加者2)との間に通信路を確立し、ストリーミングを開始する(ステップS213、S198)。
次に、C(新規参加者)は、A(参加者1)との間で通信路を確立する。すなわち、C(新規参加者)は、A(参加者1)の空いている相手電話番号2、相手アドレス2に自情報を設定する。具体的には、C(新規参加者)は、共有メモリ上の1.(3)、2.(3)に書き込まれたC(新規参加者)の自電話番号、自アドレスを読み出して、共有メモリ上の6.(1)、7.(1)に書き込まれたA(参加者1)の相手電話番号2、相手アドレス2を更新する(ステップ199)。
次に、C(新規参加者)は、共有メモリ上の3.(1)に書き込まれたA(参加者1)の状態を「パージ2」に更新する(ステップS200)。
一方、A(参加者1)は、共有メモリ上の3.(1)に書き込まれたA(参加者1)の状態を監視する(図26のステップS221)。そして、A(参加者1)は、共有メモリ上の3.(1)に書き込まれたA(参加者1)の状態が「パージ2」に更新されたことを検出すると、共有メモリ上の3.(1)に書き込まれた自状態を「会議中」に変更する(ステップS222)。
C(新規参加者)は、共有メモリグループに参加中のIP電話端末1すべての自状態が「会議中」に変更されると、自状態を「会議中」に変更して会議を開始する。
以上により、C(新規参加者)は、A(参加者1)との間に通信路を確立し、ストリーミングを開始する(ステップS223、S203)。
以上説明したように、本実施形態のIP電話端末によれば、通話中のメンバ情報の電話番号およびアドレスを共有メモリで管理するため、パージインするIP電話端末が通話中のメンバ一人の電話番号がわかれば、そのメンバが通話している全相手の情報を取得して、通信路を確立することにより会議に参加することができる。
また、本実施形態のIP電話端末によれば、共有メモリの領域で保持する限界まで、何人会議中であっても通話中のメンバのうち一人のグループ参加することで、全IP電話端末の情報を取得でき、パージインすることができる。
さらに、本実施形態のIP電話端末によれば、新規参加時に必要な共有メモリグループに全て参加するため、参加処理を即時に行うことができる。
さらに、本実施形態のIP電話端末によれば、各IP電話端末ごとに自アドレス情報を書き込み、最後に自状態をパージ中として、相手に新規メンバを認識させる。このように構成することで、相手が認識した際にすでに情報が記述されている。したがって、認識処理が容易になる効果が得られる。
また、本実施形態のIP電話端末によれば、最初にパージ状態にするIP電話端末を一定の法則で決定し、そこから始めることで同時アクセスの制御を行う。具体的には、アドレスが最小のものから開始する等の方法で最初にパージ状態にするIP電話端末を決定する。この用に構成することで、新規参加メンバが複数同時にアクセスする場合において、自状態のパージ情報位置が合わなくなることを防止する。また、パージ位置について自書き込みが正常に行われたか確認し、異なる書き込みが発生した場合には、一定期間待ち合わせをおこない、パージ状態が解除されてから再度行う。
次に、図面を参照して、第5の実施形態の端末の動作について説明する。図27は、本実施形態の通話処理の過程を示すフローチャートである。
本実施形態の端末の動作が、第1〜4の実施形態と異なる点は、着呼側のIP電話端末1が通話できない場合の付加サービス(転送電話、留守電メール)を実行する点である。
ここで、転送電話は、通信不可となった場合に登録されている転送先を通話先として通信するサービスである。また、留守電メールとは、通信不可となった場合に登録されているメールアドレスに対して音声を添付したメールを送信するサービスである。メール送信は、送信元IP電話端末で行う。
以下、第5の実施形態の端末の動作のうち、第1〜4の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
第2の実施形態におけると同様に(図16のステップS1〜5を参照)、発呼側のIP電話端末1において、着呼側のIP電話端末1の電話番号が入力され、自端末の状態確認、自端末の状態変更が実行されると、発呼側のIP電話端末1は、着呼側のIP電話端末1が属する共有メモリグループに参加する。
そして、発呼側のIP電話端末1は、入力された着呼側のIP電話端末1の電話番号をキーとして、参加した共有メモリ上に書き込まれた着呼側のIP電話端末1の状態を読み出す。
読み出した着呼側のIP電話端末1の状態が「アイドル」でない場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、読み出した着呼側のIP電話端末1の状態が「アイドル」であれば、発呼側のIP電話端末1は、共有メモリ上に通話情報(電話番号、IPアドレス)を設定する(以上、ステップS231)。
次に、発呼側のIP電話端末1は、通話確認タイマをセットし(ステップS232)、自端末の受話器が下げられた状態において、着呼側のIP電話端末1において受話器が上げられずにタイムアウトするまで、自端末における通話断念を確認する(ステップS233)。具体的には、発呼側のIP電話端末1は、自端末の受話器が下げられているか否かを確認する。自端末の受話器が下げられている(受話器断である)場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、自端末の受話器が上げられたままである場合、発呼側のIP電話端末1は、共有メモリ上における着呼側のIP電話端末1の状態が「通話中」に変更されるのを監視する(ステップS234)。
着呼側のIP電話端末1において受話器が上げられて、共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更された場合、発呼側のIP電話端末1は、着呼側のIP電話端末1と通話処理を開始する(ステップS235)。
一方、着呼側のIP電話端末1において受話器が上げられずに、セットした通話確認タイマがタイムアウトした場合、通信不可時(不在対応時)のサービスとして設定されている転送電話サービス、留守電メールサービスが実行される。
転送電話サービスが通信不可時のサービスとして設定されている場合、共有メモリ上の通話先を予め設定された転送先に変更し(ステップS236)、共有メモリに格納された旧通話先の情報をクリアして(ステップS237)、転送先の通話処理を実行する(ステップS238 図16のS60〜S8と同様)。なお、転送先がループになって、無限リトライとならないように転送は1度しか行わない条件を電話機側で設定する。
また、留守電メールサービスが通信不可時のサービスとして設定されている場合、予め設定された送信先アドレスへ音声を添付して電子メールを送信する(ステップS239)
以下、図28を用いて、A(通話者)、B(着信者)、C(転送先)のIP電話端末1の間における詳細な付加サービス処理について説明する。図28(a)は、転送電話及び留守電メールの付加サービスを行なう場合の共有メモリ上の通話管理テーブルの構成図である。
図28(a)に示すように、A〜Cが属する共有メモリグループA〜C上の通話管理テーブルにおいて、A(通話者)、B(着信者)、C(転送先)それぞれについて、自電話番号、自アドレス、自状態、相手電話番号、相手アドレス、確認コール数、不在対応、転送先、メールアドレスが書き込まれる。
今、図28の(b)に示すように、A(通話者)の自状態が「アイドル」から「通話準備中」に更新され、相手電話番号が設定されると、A(通話者)は、B(着信者)が属する共有メモリグループに参加する。そして、通話情報設定後、A(通話者)は、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態及び6.(2)に書き込まれた通話確認タイマの設定確認コール数を超えていないか否かを監視する(ステップS241)。
セットした通話確認タイマがタイムアウトした場合、A(通話者)は、共有メモリ上の8.(2)に書き込まれたB(着信者)の転送先を読み出して、共有メモリ上の4.(1)に書き込まれたA(通話者)の相手電話番号を更新する(ステップS242)。
そして、A(通話者)は、B(着信者)の共有メモリをクリアした後(ステップS243 図19のS41〜S48)、C(転送先)の共有メモリグループに参加する(ステップS244)。そして、通常の基本通話処理と同様にC(転送先)との通話を行う(ステップS245 図17のステップS13〜19を参照)。
以上説明したように、本実施形態のIP電話端末によれば、共有メモリ上に通話不可時のサービス内容を設定し、不在時のサービス種別を設定しておくことにより、フレキシブルに不在時サービスを選択することができる。また、本実施形態のIP電話端末によれば、共有メモリ上に何度コールしたら通話不可か設定しておくことにより、不在モード等による切り替え処理が不要となる。
次に、図面を参照して、第6の実施形態の端末の動作について説明する。図29は、本実施形態の通話処理の過程を示すフローチャートである。
本実施形態の端末の動作が、第1〜5の実施形態と異なる点は、着呼側のIP電話端末1が通話できない場合の付加サービス(オートリピート)を実行する点である。
ここで、オートリピートとは、相手が通話中だった場合に、通話が終わるまで待つサービスである。
以下、第6の実施形態の端末の動作のうち、第1〜5の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
第2の実施形態と同様に(図16のステップS1〜60を参照)、発呼側のIP電話端末1において、着呼側のIP電話端末1の電話番号が入力され、自端末の状態確認、自端末の状態変更が実行されると、発呼側のIP電話端末1は、着呼側のIP電話端末1が属する共有メモリグループに参加する(ステップS251)。
そして、発呼側のIP電話端末1は、入力された着呼側のIP電話端末1の電話番号をキーとして、参加した共有メモリ上に書き込まれた着呼側のIP電話端末1の状態を読み出す(ステップS252)。
読み出した着呼側のIP電話端末1の状態が「アイドル」であれば、第2の実施形態と同様に(図16のステップS5〜8を参照)、発呼側のIP電話端末1は、共有メモリ上に通話情報(電話番号、IPアドレス)を設定して、通常通話処理を実行する(ステップS253)。一方、読み出した着呼側のIP電話端末1の状態が「アイドル」でない場合、発呼側のIP電話端末1は、発呼処理を終了せずに、着呼側のIP電話端末1の次情報(次電話番号、次アドレス)に自情報(自電話番号、自アドレス)を設定する(ステップS255)。
そして、発呼側のIP電話端末1は、自端末における通話断念を確認する(ステップS255)。具体的には、発呼側のIP電話端末1は、自端末の受話器が下げられていないか否かを確認する。自端末の受話器が下げられている場合、発呼側のIP電話端末1は、発呼処理を終了する。一方、自端末の受話器が上げられたままであれば、発呼側のIP電話端末1は、共有メモリ上において着呼側のIP電話端末1の状態が「通話中」に変更されるのを監視する(ステップS256)。
着呼側のIP電話端末1において受話器が上げられて、共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更されると、発呼側のIP電話端末1は、着呼側のIP電話端末1と通話処理を開始する(ステップS257)。
以下、図30を用いて、A(通話者)、B(着信者)のIP電話端末1の間における詳細な付加サービス処理について説明する。図28(a)は、オートリピートの付加サービスを行なう場合の共有メモリ上の通話管理テーブルの構成図である。以下、簡単のため、通話者のIP電話端末1をA(通話者)とし、着信者のIP電話端末1をB(着信者)として記述して説明を行う。
図30(a)に示すように、A、Bが属する共有メモリグループA、B上の通話管理テーブルにおいて、A(通話者)、B(着信者)それぞれについて、自電話番号、自アドレス、自状態、相手電話番号、相手アドレス、次電話番号、次アドレスが書き込まれる。
今、A(通話者)において、B(着信者)の電話番号が入力され、自状態が「通話準備中」に更新されると、B(着信者)の電話番号で共有メモリ上の4.(1)に書き込まれた相手電話番号を更新する。
そして、A(通話者)は、共有メモリグループBに参加した後、図30の(b)に示すように、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態を読み出して、B(着信者)の状態が「通話中」であることを確認する(ステップS261)。
この場合、B(着信者)の状態が「通話中」であるため、A(通話者)は、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態を「リピート中」に更新する。
次に、A(通話者)は、通話が終わるまで他から割り込まれないように、待っている電話番号を共有メモリに保存する。具体的には、A(通話者)は、共有メモリ上の1.(1)に書き込まれたA(通話者)の自電話番号を読み出して、共有メモリ上の6.(2)に書き込まれたB(着信者)の次電話番号を更新する(ステップS262)。また、A(通話者)は、共有メモリ上の2.(1)に書き込まれたA(通話者)の自アドレスを読み出して、共有メモリ上の7.(2)に書き込まれたB(着信者)の次アドレスを更新する(ステップS263)。すなわち、A(通話者)は、次に通信を行うIP電話端末の電話番号とアドレスとを共有メモリ上のB(着信者)領域に書き込む。
そして、A(通話者)は、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態が「通話中」に更新されることを監視する(ステップS264)。
一方、B(着信者)において、受話器が下げられると、通常の通話シーケンスに合流し、再接続処理が開始される(ステップS271)。すなわち、B(着信者)は、自状態が「リピート中」に設定されていることから、共有メモリ上の6.(2)に書き込まれたB(着信者)の次電話番号を読み出して、共有メモリ上の4.(2)に書き込まれたB(着信者)の相手電話番号を更新する(ステップS272)。なお、このとき、B(着信者)は、共有メモリ上の6.(2)に書き込まれたB(着信者)の次電話番号を初期化しておく。
次に、B(着信者)は、共有メモリ上の7.(2)に書き込まれたB(着信者)の次アドレスを読み出して、共有メモリ上の5.(2)に書き込まれたB(着信者)の相手アドレスを更新する(ステップS273)。
そして、B(着信者)は、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態を「通話準備中」に更新する(ステップS274)。
B(着信者)は、自状態更新後、鳴動処理を開始する(ステップS275)。そして、鳴動処理中において、受話器が上げられると、B(着信者)は、これをトリガとして、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態を「通話中」に更新する(ステップS276)。
A(通話者)は、共有メモリ上の3.(2)に書き込まれたB(着信者)の状態が「通話中」に更新されたことを検出すると、共有メモリ上の3.(1)に書き込まれたA(通話者)の状態を「通話中」に更新する(ステップS265)。
そして、A(通話者)は、状態更新後、B(着信者)へ音声データのストリーミングを開始する(ステップS266、S277)。
以上説明したように、本実施形態のIP電話端末によれば、オートリピートの付加サービスを中継交換機を介さずに実現することができる。なお、割り込みサービス(キャッチホン相当)も本方式と同様の仕組みで可能である。
次に、図面を参照して、第7の実施形態の端末の動作について説明する。図31は、本実施形態の通話処理の過程を示すフローチャートである。
本実施形態の端末の動作が、第1〜6の実施形態と異なる点は、着呼側のIP電話端末1が通話できない場合の付加サービス(保留転送)を実行する点である。
以下、第6の実施形態の端末の動作のうち、第1〜5の実施形態と同一の部分については説明を省略し、異なる点についてのみ説明する。
発呼側のIP電話端末1において、基本通話を行っている際に、通話先のIP電話端末1を保留中に設定し(ステップS281,S282)、転送先である着呼側のIP電話端末1の電話番号が入力されると(ステップS283)、基本通話中であった発呼側のIP電話端末1は、入力された着呼側のIP電話端末1の電話番号をキーとして、当該転送先である着呼側のIP電話端末1の状態を読み出す(ステップS284)。
読み出した着呼側のIP電話端末1の状態が「アイドル」であれば、発呼側のIP電話端末1は、共有メモリ上に転送先情報(電話番号、IPアドレス)を設定する(ステップS285)。
そして、発呼側のIP電話端末1は、転送先の応答を確認する(ステップS286)。具体的には、発呼側のIP電話端末1は、着呼側のIP電話端末1において受話器が上げられて、共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更されると、自状態を「通話保留中」に更新する。
通話先のIP電話端末1は、発呼側のIP電話端末1の状態が「通話保留中」に更新されると、共有メモリ上に転送情報を設定する。具体的には、通話先のIP電話端末1は、共有メモリ上の着呼側のIP電話端末1の相手電話番号、相手アドレスに自電話番号、自アドレスを設定する(ステップS287)。
一方、発呼側のIP電話端末1は、転送先である着呼側のIP電話端末1において受話器が下げられたことを確認し(ステップS288)、再度受話器が上げられると、転送先である着呼側のIP電話端末1の通話状態を共有メモリ上で設定し(ステップS289)、かつ、送信元である通話先のIP電話端末1の通話状態を共有メモリ上で設定する(ステップS290)。
以上により、通話先のIP電話端末1は、共有メモリ上の着呼側のIP電話端末1の状態が「通話中」に変更されると、着呼側のIP電話端末1と通話処理を開始する(ステップS291)。
以下、図32を用いて、A(通話者)、B(通話者)、C(転送先)のIP電話端末1の間における詳細な付加サービス処理について説明する。図32(a)は、保留転送の付加サービスを行う場合の共有メモリ上の通話管理テーブルの構成図である。
図32(a)に示すように、A〜Cが属する共有メモリグループA、B上の通話管理テーブルにおいて、A(通話者)、B(通話者)、C(転送先)それぞれについて、自電話番号、自アドレス、自状態、相手電話番号、相手アドレス、仮電話番号、仮アドレスが書き込まれる。
今、A(通話者)とB(通話者)とが通話中に、B(通話者)において、保留ボタンが押下されることをトリガとして、B(通話者)は、共有メモリ上の3.(1)に書き込まれたA(通話者)の状態を「保留中」に更新する(ステップS301)。また、B(通話者)は、同様に、共有メモリ上の3.(2)に書き込まれたB(通話者)の状態を「保留転送」に更新する(ステップS302)。
そして、B(通話者)は、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態を読み出して、C(転送先)の状態が「アイドル」であることを確認する(ステップS303)。
この場合、C(転送先)の状態が「アイドル」であるため、B(通話者)は、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態を、「アイドル」から「保留転送」に更新する(ステップS304)。
一方、C(転送先)は、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態が「保留転送」に更新されているか否かを監視し(ステップS321)、C(転送先)の状態が「保留転送」に更新された場合、さらに、共有メモリ上の7.(3)に書き込まれたC(転送先)の仮アドレスが初期値以外になることを監視する(ステップS322)。
B(通話者)は、共有メモリ上の1.(3)に書き込まれたC(転送先)の自電話番号を読み出し、これを共有メモリ上の6.(2)に書き込むことにより、B(通話者)の仮電話番号を更新するとともに、共有メモリ2.(3)に書き込まれたC(転送先)の自アドレスを読み出して、これを共有メモリ7.(2)に書き込むことにより、B(通話者)の仮アドレスを更新する(ステップS305)。また、B(通話者)は、共有メモリ上の4.(2)に書き込まれたA(通話者)の自電話番号を読み出して、共有メモリ上の6.(3)に書き込まれたC(転送先)の仮電話番号を更新する(ステップS306)。さらに、B(通話者)は、共有メモリ上の5.(2)に書き込まれたA(通話者)の自アドレスを読み出して、共有メモリ上の7.(3)に書き込まれたC(転送先)の仮アドレスを更新する(ステップS307)。
そして、B(通話者)は、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態が「保留通話」に更新されることを監視する(ステップS308)。
C(転送先)は、共有メモリ上の7.(3)に書き込まれたC(転送先)の仮アドレスが初期値以外となったことを検出し、鳴動処理を開始する(ステップS323)。そして、鳴動処理中において、受話器が上げられると、C(転送先)は、これをトリガとして、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態を「保留通話」に更新する(ステップS324)。
一方、B(通話者)は、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態が「保留通話」に更新されたことを検出し、共有メモリ上の3.(2)に書き込まれたB(通話者)の状態を「保留通話中」に更新する(ステップS309)。そして、B(通話者)とC(転送先)との間で、データのストリーミングが行われる(ステップS310,S325)。
一方、A(通話者)は、共有メモリ上の3.(2)に書き込まれたB(通話者)の状態が「保留通話中」に更新されることを監視しており(ステップS331)、B(通話者)の状態が「保留通話中」に更新されたことを検出して、以下の処理を行う(ステップS332)。すなわち、A(通話者)は、共有メモリ上の6.(2)に書き込まれたB(通話者)の仮電話番号を読み出して、共有メモリ上の4.(1)に書き込まれたA(通話者)の相手電話番号を更新、すなわちC(転送先)の自電話番号へ書き替える(図33のステップS333)。また、A(通話者)は、共有メモリ上の7.(2)に書き込まれたB(通話者)の仮アドレスを読み出して、共有メモリ上の5.(1)に書き込まれたA(通話者)の相手アドレスを更新、すなわちC(転送先)の自アドレスへ書き替える(ステップS333)。
一方、B(通話者)は、自端末の受話器が下ろされたことをトリガとして、以下の処理を行う(ステップS311)。すなわち、B(通話者)は、まず共有メモリ上の6.(3)に書き込まれているA(通話者)の自電話番号を読み出し、これを共有メモリ上の4.(3)に書き込み、7.(3)に書き込まれているA(通話者)の自アドレスを書き込み、共有メモリ上の3.(3)に書き込まれたC(転送先)の状態を「通話中」に更新する(ステップS312)。次に、B(通話者)は、共有メモリ上の3.(1)に書き込まれたA(通話者)の状態を「通話中」に更新する(ステップS313)。
そして、A(通話者)は、状態更新後、C(転送先)へ音声データのストリーミングを開始する(ステップS335、S326)。
以上説明したように、本実施形態のIP電話端末によれば、保留転送の付加サービスを中継交換機を介さずに実現することができる。
以上説明したようなサービス機能を各IP電話端末に追加する場合、例えば、図34に示すように、全IP電話端末を一度オフサービス状態にして、PC端末などから追加アプリケーションをダウンロードするように構成する。このようにすれば、一度オフサービスにすることにより、サービス変更時のすれ違いによる不具合を考慮しなくて良いため、作業の簡略化が期待できる。
また、この変形例としては、図35に示すように、アプリケーション更新用サーバを設定して、共有メモリにバージョン設定領域を作成することが考えられる。この場合、各IP電話端末が、動作の前にアプリケーションのバージョンをチェックし、サービス中にアプリケーションのバージョンを更新する。
このようにすれば、グループ毎にバージョンアップを行えるため、アプリケーション更新用サーバの負荷制御が可能である。ただし、グループ間通話で影響があるような変更の場合は、該当サービスを抑止する必要がある。したがって、この場合には、最初に全グループに該当サービスの規制フラグを設定しておく。
また、以上説明したIP電話端末が故障した場合、これを検出する方法について説明する。まずDSMもしくは、データ同期用サーバが、メンバ数が減少したことを検出することで故障を検出することが考えられる。
すなわち、DSMもしくは、データ同期用サーバが、ヘルスチェックやパケットの応答監視などによりメンバの消滅を検出した場合、アプリケーションにその旨を通知する。アプリケーションは、共有メモリから該当するIP電話端末のクリア処理を行う。
なお、DSMの場合においては、メンバ消滅を通知されるアプリケーションが複数だった場合、共有メモリに対する無駄なクリア処理が発生する。したがって、グループ参加者内で最小のIP電話端末識別子を選択する等によりメンバ内の代表者を一意に設定し、メンバ内の代表者にメンバ消滅を通知するようにして、共有メモリに対する無駄なクリア処理を防止する。
また、この変形例としては、共有メモリにカウンタ領域を設定して、そのカウンタを共有メモリにカウンタを用意して、定間隔で書き込みをおこない、一定期間変更がない場合は、故障と認識して該当データをクリアすることも考えられる。
上述の各IP電話端末は、内部に、コンピュータシステムを有している。
そして、上述した各呼処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、各IP電話端末における、各処理手段、処理部は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
本実施形態のIP電話端末1による通話ネットワークシステムの構成図。 電話番号と共有メモリグループとの対応関係を示すテーブル。 電話番号と共有メモリグループとの対応関係を示すテーブル。 ダウンロードサーバへの負荷分散方式の説明図。 ダウンロードサーバへの負荷分散方式の説明図。 サービス中におけるダウンロードの説明図。 起動時チェックによるダウンロードの説明図。 起動時チェックによるダウンロードの説明図。 共有メモリグループの構成図。 共有メモリの構成図。 共有メモリへの初期登録シーケンス図。 基本通話(内線)のフローチャート。 基本通信正常シーケンス図。 相手が話中時のシーケンス図。 通話キャンセル(相手が未応答時)のシーケンス図。 基本通話(外線)のフローチャート。 基本通信正常シーケンス図。 相手が話中時のシーケンス図。 通話キャンセル(相手が未応答時)のシーケンス図。 会議電話のフローチャート。 会議電話正常シーケンス図。 会議電話正常シーケンス図。 通話割り込み可能な会議電話のフローチャート。 会議電話正常シーケンス図。 会議電話正常シーケンス図。 転送電話、留守電メールのフローチャート。 転送電話、留守電メールの正常シーケンス図。 転送電話、留守電メールの正常シーケンス図。 オートリピートのフローチャート。 オートリピート正常シーケンス図。 保留転送のフローチャート。 保留転送シーケンス図。 保留転送シーケンス図。 機能追加の説明図。 機能追加の説明図。
符号の説明
1…IP電話端末
2…ダウンロードサーバ

Claims (9)

  1. ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する端末であって、
    自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させるグループ参加管理手段と、
    前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する通話処理手段と
    を具備することを特徴とする端末。
  2. 前記通話処理手段は、前記第2の記憶手段に記憶された前記通話先端末の状態を通話準備状態に変更するとともに、前記第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する
    ことを特徴とする請求項1に記載の端末。
  3. 前記第2の記憶手段は、自端末の状態をさらに記憶し、
    前記通話処理手段は、所定の時点で前記自端末の状態を通話準備状態に変更する
    ことを特徴とする請求項2に記載の端末。
  4. 前記第1または第2の記憶手段は、自端末、前記通話先端末、又は、前記ネットワークを介して接続された他の端末内のいずれかに共有記憶領域として構築される
    ことを特徴とする請求項1から請求項3のいずれかの項に記載の端末。
  5. 前記第1または第2の記憶手段は、自端末、前記通話先端末、又は、前記ネットワークを介して接続された他の端末内に分散された共有記憶領域として構築される
    ことを特徴とする請求項1から請求項3のいずれかの項に記載の端末。
  6. 前記通話処理手段は、さらに、前記通話先端末と自端末との間の通話処理の実行結果に基づいて、所定の転送先端末と自端末との間で通話処理を実行する
    ことを特徴とする請求項1に記載の端末。
  7. 前記通話処理手段は、さらに、前記通話先端末と自端末との間の通話処理の実行結果に基づいて、所定の転送先端末への電子メール送信処理を実行する
    ことを特徴とする請求項1に記載の端末。
  8. ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する通話方法であって、
    グループ参加管理手段が、自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させ、
    通話処理手段が、前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する
    ことを特徴とする通話方法。
  9. ネットワークを介して接続された通話先端末の第1の識別情報を入力して前記通話先端末と通話処理を実行する処理をコンピュータに実行させるためのプログラムであって、
    グループ参加管理手段が、自端末又は前記通話先端末を含む端末の第1の識別情報と、前記ネットワークに接続された前記端末を分割した複数のグループにおいて当該端末の属しているグループとの対応関係を示すテーブルが記憶された第1の記憶手段であって、前記自端末のグループに属する前記端末により共有される第1の記憶手段の前記テーブルに基づき、前通話先端末の前記第1の識別情報により、当該通話先端末が参加しているグループを識別し、前記通話先端末が前記自端末とは異なるグループに参加している場合には、自端末を前記通話先端末が参加しているグループに参加させるグループ参加管理処理と、
    通話処理手段が、前記通話先端末の第1の識別情報、及び、前記通話先端末の状態を記憶する、前記グループに属する端末により共有される第2の記憶手段から読み込んだ前記通話先端末の状態に基づいて、前記通話先端末の第1の識別情報から変換された前記通話先端末の第2の識別情報を用いて前記通話先端末を識別して、前記通話先端末と自端末との間で通話処理を実行する通話処理と
    をコンピュータに実行させるための通話プログラム。
JP2004216229A 2004-07-23 2004-07-23 端末、通話方法及び通話プログラム Expired - Fee Related JP4554295B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004216229A JP4554295B2 (ja) 2004-07-23 2004-07-23 端末、通話方法及び通話プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004216229A JP4554295B2 (ja) 2004-07-23 2004-07-23 端末、通話方法及び通話プログラム

Publications (2)

Publication Number Publication Date
JP2006041731A JP2006041731A (ja) 2006-02-09
JP4554295B2 true JP4554295B2 (ja) 2010-09-29

Family

ID=35906278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004216229A Expired - Fee Related JP4554295B2 (ja) 2004-07-23 2004-07-23 端末、通話方法及び通話プログラム

Country Status (1)

Country Link
JP (1) JP4554295B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434238B2 (ja) 2007-06-25 2010-03-17 パナソニック株式会社 Ip機器交換装置および通話切替方法
KR101658242B1 (ko) * 2010-09-08 2016-09-22 주식회사 엘지유플러스 이동통신 단말기의 전화번호를 이용한 ip 통신 방법 및 그 기능을 갖춘 서버

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053755A (ja) * 1999-08-12 2001-02-23 Nec Eng Ltd Lan電話システムにおける通話転送制御システム及びその制御方法
JP2001211439A (ja) * 2000-11-27 2001-08-03 Canon Inc 画像通信装置及び方法
JP2001331469A (ja) * 2000-05-23 2001-11-30 Ntt Comware Corp データの共有方法、端末装置および記録媒体
JP2003101671A (ja) * 2001-09-26 2003-04-04 Adtex:Kk インターネット電話サーバ、インターネット電話システムおよび通話提供方法
JP2003110594A (ja) * 2001-09-28 2003-04-11 Dental Supply:Kk Ipアドレス通知方法及び端末間の接続方法
JP2003134172A (ja) * 2001-10-29 2003-05-09 Dental Supply:Kk Ip電話サービスシステム、ip電話機、及び、サービス端末装置
JP2003158553A (ja) * 2001-11-20 2003-05-30 Oki Electric Ind Co Ltd Ip電話装置およびip電話装置検索方法
JP2003198736A (ja) * 2001-12-28 2003-07-11 Hitachi Communication Technologies Ltd Acdシステム
JP2004112651A (ja) * 2002-09-20 2004-04-08 Nec Engineering Ltd Lan電話システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2602250B2 (ja) * 1987-11-04 1997-04-23 株式会社日立製作所 Isdn端末転送先アドレス通知方式
JPH07115469A (ja) * 1993-10-18 1995-05-02 Hitachi Ltd 音声通信システム
JPH1098524A (ja) * 1996-09-20 1998-04-14 Nippon Telegr & Teleph Corp <Ntt> 分散型ネットワーク

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053755A (ja) * 1999-08-12 2001-02-23 Nec Eng Ltd Lan電話システムにおける通話転送制御システム及びその制御方法
JP2001331469A (ja) * 2000-05-23 2001-11-30 Ntt Comware Corp データの共有方法、端末装置および記録媒体
JP2001211439A (ja) * 2000-11-27 2001-08-03 Canon Inc 画像通信装置及び方法
JP2003101671A (ja) * 2001-09-26 2003-04-04 Adtex:Kk インターネット電話サーバ、インターネット電話システムおよび通話提供方法
JP2003110594A (ja) * 2001-09-28 2003-04-11 Dental Supply:Kk Ipアドレス通知方法及び端末間の接続方法
JP2003134172A (ja) * 2001-10-29 2003-05-09 Dental Supply:Kk Ip電話サービスシステム、ip電話機、及び、サービス端末装置
JP2003158553A (ja) * 2001-11-20 2003-05-30 Oki Electric Ind Co Ltd Ip電話装置およびip電話装置検索方法
JP2003198736A (ja) * 2001-12-28 2003-07-11 Hitachi Communication Technologies Ltd Acdシステム
JP2004112651A (ja) * 2002-09-20 2004-04-08 Nec Engineering Ltd Lan電話システム

Also Published As

Publication number Publication date
JP2006041731A (ja) 2006-02-09

Similar Documents

Publication Publication Date Title
JP2001249878A (ja) 通信手段の通知方法及び通知システム
JPWO2008129597A1 (ja) 負荷分散システム、ノード装置、負荷分散装置、負荷分散制御プログラム、負荷分散プログラム及び負荷分散方法
JP2505063B2 (ja) 仮想チェインを確立し管理する方法およびシステム
JP2005143099A (ja) マルチゾーンでの私設無線ネットワークシステム間のローミングサービス方法及びそのシステム
WO2006103719A1 (ja) マルチキャスト通信システム
JP4522449B2 (ja) 電話装置
JP2000134336A (ja) 電話サーバシステムおよび電話サーバシステムのプログラムを記録した記録媒体
JP4554295B2 (ja) 端末、通話方法及び通話プログラム
JP2005244463A (ja) 呼接続制御装置、管理サーバ、呼接続制御システム、及び、呼接続制御方法
JP2010162151A (ja) ナースコールシステム、ナースコール処理方法、ナースコール処理プログラムおよびプログラム記録媒体
JP4037432B2 (ja) 電話交換システム及び電話交換方法及び電話交換プログラム
JP4932272B2 (ja) チャットシステム
JP2008109302A (ja) 呼制御システム及び呼制御方法
JP2680057B2 (ja) 通信網のサービス競合チェック方式
JP6671625B1 (ja) 電話の転送設定の自動切替システム及び電話の転送設定の自動切替プログラム
JP5166355B2 (ja) 主装置、電話システム、および無線電話端末のプレゼンス通知方法
JP2004235922A (ja) Ip電話機による内線サービス方式とサービス方法
JP4835336B2 (ja) 電話回線切替装置、電話中継システム、電話中継方法、電話中継プログラム
KR20110057945A (ko) 멀티 주소록을 이용한 선택적 착신 전환 서비스 시스템 및 선택적 착신 전환 서비스 방법
JP4771773B2 (ja) 通信端末
JP5895508B2 (ja) 通信システムおよびピックアップ方法
JP5761006B2 (ja) 通信システムおよびピックアップ方法
JP2004030300A (ja) ネットワークシステムとその管理方法、該方法のプログラムと記録媒体
JP2013211686A (ja) サーバ装置、プログラム及び情報処理方法
KR20200040650A (ko) D2d 기반 실시간 이동통신단말기 사용상태 확인 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100706

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140723

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees