図面を参照してこの発明の音声通信システムについて説明する。図1は、この発明の実施形態である音声通信システムの構成図である。この音声通信システムでは、ネットワーク10を用いて、複数の端末装置14が相互に通信を行う。端末装置14は、無線通信用のハンディトランシーバに似た形状をしており、図2に示すようにPTT(プッシュ・トゥ・トーク)スイッチ220を備えている。この実施形態では、ネットワーク10として、携帯電話機用の通信基盤設備であるLTEネットワークが用いられる。LTEネットワーク10は、各地に基地局13を備えており、端末装置14は、基地局13と通信することで、ネットワーク10にアクセスすることができる。端末装置14は、機能面で言えば、基地局13を介して音声パケットを送受信する無線ネットワーク機器である。ネットワーク10には、サーバ装置11が接続されている。中継装置であるサーバ装置11は、端末装置14間のネットワーク10を経由した相互通信を中継する。すなわち、ある端末装置14が音声信号をネットワーク10に送出すると、サーバ装置11がその音声信号を受信し、サーバ装置11はその音声信号を通信相手の端末装置14に対して転送する。中継処理の詳細は後述する。なお、本発明において、ネットワーク10はLTEネットワークに限定されない。たとえば、IEEE802.3やIEEE802.11などが用いられてもよい。
サーバ装置11には、管理装置12が接続されている。管理装置12は、管理プログラムがインストールされたパーソナルコンピュータなどで構成されている。管理装置12は、管理者の操作に応じてサーバ装置11にアクセスし、サーバ装置11に図6,図7に示す端末テーブル301、グループテーブル302などを設定するとともに、これらのテーブルに端末装置14や後述のユーザグループなどを登録する。
端末装置14は、サーバ装置11の端末テーブル301(図6参照)に登録され、且つ、図3に示す端末装置14の記憶エリア210〜213に情報が記憶されることによって、運用(通信)が可能になる。図3の記憶エリア210〜213への書き込みは、設定装置15によって行われる。設定装置15は、いわゆるパーソナルコンピュータに専用のアプリケーションを実行させることによって実現される。設定装置15は、ケーブルで端末装置14を接続して、記憶エリア210〜213に通信先アドレスなどの書き込みを行う。
すなわち、端末装置14をサーバ装置11に登録する処理は、サーバ管理者が操作する管理装置12によって行われ、端末装置14に通信先アドレスや所属グループを設定する処理は、係員またはユーザが操作する設定装置15によって行われる。したがって、サーバ装置11に端末装置14を登録したのちは、係員またはユーザがその端末装置14の通信先アドレスや所属グループを自由に設定して使用することができる。このように、係員またはユーザが端末装置14の所属グループを自由に設定できることを利用して、係員(中間ユーザ)が端末装置14を設定し、ユーザ(最終ユーザ)レンタルすることも可能である。このレンタルの方式については後で詳述する。
この音声通信システムでは、サーバ装置11が、端末装置14から前触れなく送信されてくる音声パケット(RTPパケット)を受信し、この音声パケットに書き込まれている通信制御情報に基づいて、転送先である通信相手の端末装置14のアドレスを割り出し、このパケットの音声信号をその通信相手の端末装置14に配信する。これにより、ネットワーク10を介した音声通信であるにもかかわらず、SIP手順のような通信確立手順を不要にしている。すなわち、この音声通信システムでは、ユーザが、ダイヤリングのような呼び出し操作をしなくても、端末装置14のPTTスイッチ220をオンしてマイク240に向けて話せば、この音声信号が通信相手の端末装置14に伝達される。これにより、ユーザは、従来の無線通信のトランシーバと同じような使用感でネットワーク10を介した音声通信を行うことができる。
この音声通信システムにおいて、端末装置14が実行可能な通信形態は、個別通信、グループ通信および全体通信である。個別通信は、1台の端末装置14(呼出端末装置)が他の1台の端末装置を呼び出して行う、一対一の通信形態である。グループ通信は、呼出端末装置14がグループを呼び出し、そのグループに所属する端末装置間で相互に通信する形態である。グループ通信の呼び出しは、そのグループに所属する端末装置14ができるほか、そのグループに所属しない端末装置14もすることができる。そのグループに所属しない端末装置14がクループ通信の呼び出しをした場合、その呼び出しによる一連の通信(通信セッション)の間のみ、呼び出しをした端末装置14もそのグループ通信に参加することができる。この通信形態を、以下、拡張グループ通信と呼ぶ。また、全体通信は、全端末装置14を対象としたグループ通信であり、呼出端末装置14が全体を呼び出し、全端末装置間で相互に通信する。
グループ通信のグループは、サーバ装置11のグループテーブル302(図7参照)に登録されている。このグループの登録は、管理装置12によって行われる。グループには、通常グループとユーザグループがある。通常グループは、予め固定的に、所属する端末装置14(所属端末)が登録されたグループである。ユーザグループは、グループ枠のみ設定され、所属する端末装置14が予め登録されていない(イニシャル状態では所属端末無しの)グループである。なお、ユーザグループが本発明の「グループ」に対応する。
端末装置14が、サーバ装置11に所属するユーザグループを指定する情報を含む音声パケットを送信することで、サーバ装置11は、その端末装置14を指定されたユーザグループに所属させる。図4に示すようにデータ本体の通信制御情報には、所属するユーザグループを指定する情報であるユーザグループ番号が含まれているため、端末装置14のユーザグループが変更されたのち、通常の音声通信が行われれば、サーバ装置11においてもユーザグループの登録が変更される。なお、端末装置14のユーザグループが変更されたのち、係員またはユーザが一瞬PTTボタン220をオンして(Kerchunk)、短い音声パケットを送信することでユーザグループの登録を変更してもよい。
複数の端末装置14を同じユーザグループに所属させることにより、そのグループのメンバー(所属端末)間でメンバーでない端末装置14を排除して通信をすることができる。なお、端末装置14のユーザグループ番号213が0に設定されると、この端末装置14はそれまで所属していたユーザグループから離脱する。
図2は、端末装置14のブロック図である。上述したように、端末装置14は、機能面から言うと、LTEネットワーク10の基地局13を介して音声パケットを送受信する無線ネットワーク機器である。制御部20は、マイクロプロセッサで構成され、端末装置14の動作を制御する。制御部20は、図3に示すデータが記憶される記憶部21を有している。制御部20には、操作部22、表示部23、オーディオ回路24およびネットワーク通信部25が接続されている。操作部22は、PTTスイッチ220などのキースイッチを含み、ユーザの操作を受け付けてその操作信号を制御部20に入力する。表示部23は液晶ディスプレイを含む。液晶ディスプレイには、ユーザの操作によって選択された通信相手の識別番号や着信した通信相手の識別番号などが表示される。
オーディオ回路24は、マイク240およびスピーカ241を有している。制御部20は、受信した音声パケットをデコードしてオーディオ回路24に入力する。オーディオ回路は、このデコードされたオーディオ信号をアナログ信号に変換してスピーカ241から出力する。また、オーディオ回路24は、マイク240から入力された音声信号をデジタル信号に変換して制御部20に入力する。制御部20は、このデジタルオーディオ信号を音声パケット化してネットワーク通信部25に入力する。ネットワーク通信部25は、FDD−LTE(Frequency Divition Duplex Long Term Evolution)に準拠した通信方式で無線通信を行う回路を有する。ネットワーク通信部25は、制御部20から入力されたパケットを基地局13に向けて送信する。以上の機能により、ユーザがPTTスイッチ220を押しながらマイク240に向けて音声を発すると、この音声信号が、音声パケットに編集されてサーバ装置11に送信される。また、ネットワーク通信部25は、基地局13を経由してサーバ装置11から受信したパケットを制御部20に入力する。
端末装置14は、PTTスイッチ220とともにVOX回路242を有している。VOX回路242とは、マイク240の入力レベルとその持続時間に基づいてユーザの通話音声(音声信号)が入力されたか否かを判定し、通話音声が入力されたと判定された場合に装置をPTTスイッチ220がオンされた場合と同じ通信状態に切り換える回路である。端末装置14は、モード設定により、送信オン/オフの切り換えを、PTTスイッチ220のオンおよびVOX回路242の一方または両方に基づいて用いて行う。
一般の無線通信トランシーバは、送信状態の時に無線信号の受信を行うことができないシンプレックス方式であるのに対し、端末装置14は、音声信号の送信と受信を同時に並行して行うフルデュプレックス方式の通信が可能である。この機能は、端末装置14が、ネットワーク10を介して音声パケットを高速に送受信するネットワーク通信端末であることによる。ただし、端末装置14は、フルデュプレックス通信を行う場合であっても、無音の音声パケットを送信し続けることがないように、PTTスイッチ220またはVOX回路242の機能により、通話音声が入力されたときのみ音声パケットを編集および送信する。
図3は、記憶部21に設定される記憶エリアを示す図である。端末番号210は、この端末装置14の識別情報であり、1乃至複数桁の数値で表現される。この端末番号は、サーバ装置11の端末テーブル301(図6参照)に登録される番号と対応しており、端末装置14から変更できないものである。個別通信アドレス211には、個別に通信可能な端末装置14の端末番号が記憶される。グループ通信アドレス212には、通信および所属可能なグループのグループ番号が記憶される。また、所属グループ番号213は、この端末装置14が所属しているグループ(ユーザグループ)の番号である。このうち、個別通信アドレス211、グループ通信アドレス212および所属グループ番号213は、端末装置14に対して設定装置15から設定される。
ここで、図4を参照して、端末装置14−サーバ装置11間で送受信される音声パケットの構成を説明する。音声パケットはヘッダおよびデータ本体(ペイロード)からなる。ヘッダには宛先IPアドレス(destination address)、宛先ポート番号、発信元IPアドレスおよび発信元ポート番号が含まれている。端末装置14からサーバ装置11に送信される音声パケットの場合、宛先IPアドレスはサーバ装置11のIPアドレスであり、送信元アドレスは端末装置14のIPアドレスである。また、サーバ装置11から端末装置14に送信される音声パケットの場合、宛先IPアドレスは端末装置14のIPアドレスであり、送信元アドレスはサーバ装置11のIPアドレスである。ポート番号は、各機器において、この音声通信を行うプログラムに対応している。データ本体には、デジタル化された音声信号とともに、通信制御情報が含まれている。通信制御情報は、呼出種別、呼出ID,発信IDおよびユーザグループ番号を含んでいる。呼出種別は、この音声パケットがどの通信種別(個別通信、グループ通信、全体通信)のものであるかを識別する情報である。呼出IDは、通信相手(target device)を識別する情報であり、個別通信の場合、その端末装置14の端末番号が用いられ、グループ通信の場合、そのグループのグループ番号が用いられる。
発信IDは、音声信号の発信元を示す情報である。端末装置14からサーバ装置11に送信される音声パケットの場合、発信IDには、その端末装置14の端末番号が書き込まれる。端末装置14から音声パケット化されて送信された音声信号は、サーバ装置11で別の音声パケットに載せ換て通信相手の端末装置14に転送される。通信相手の端末装置14においても、受信した音声信号の発信元が判るように、サーバ装置11から端末装置14に転送される音声パケットの発信IDにはその音声信号を送信してきた端末装置14の端末IDが書き込まれる。グループ通信の場合、複数の端末装置14から受信した音声信号をミキシングした信号をパケット化して端末装置14に転送する場合があるが、この音声パケットの発信IDはクリアされてもよく、グループ番号が書き込まれてもよい。
グループ通信の場合、グループ通信に参加している複数の端末装置14から受信した音声信号をミキシングして、グループ通信に参加している各端末装置14に転送するが、音声信号を送信した端末装置14に自装置が送信した音声信号が戻ってこないように、ミキシングは各端末装置14ごとに別々に行われる。すなわち、音声信号を送信していない端末装置14に対しては、受信した全ての音声信号をミキシングしたものを転送し、音声信号を送信してきた端末装置14に対しては、その端末装置14が送信した音声信号を外して、それ以外の音声信号をミキシングしたものを転送する。これにより、端末装置14で自装置が送信した音声信号のエコーが生じないようにしている。
グループ通信を行う場合、グループに属する端末装置14の構成は、固定的ではなく、そのときの各端末装置14の通信の状況に応じて柔軟に増減される。詳細は図6のテーブルを参照して説明する。
図5は、サーバ装置11のブロック図である。サーバ装置11は、制御部30、記憶部31およびネットワーク通信部32を有している。記憶部31は、たとえばハードディスクやRAMなどで構成され、図6〜図8に示す各種のテーブルや各端末装置14の設定データなどが記憶される。制御部30は、端末装置14のセットアップや音声信号のミキシングなどを行う。ネットワーク通信部32は、ネットワーク10を介した端末装置14および管理装置12との通信を制御する。
図6、図7および図8は、サーバ装置11の記憶部31に設けられるテーブルを示す図である。
図6は、端末テーブル301を示す図である。端末テーブル301は、サーバ装置11が端末装置14を管理するためのテーブルである。各端末装置14は、各々ユニークに振られている識別番号(端末番号)で識別される。端末テーブル301には、端末番号ごとにアクティブフラグおよび設定データの格納アドレスが記憶されている。アクティブフラグは、端末装置14が、ネットワーク10に接続され、通信可能であることを示すフラグである。設定データは、たとえば、プログラムの更新データ(ファームウェア)などである。
図7は、グループテーブル302を示す図である。グループテーブル302は、サーバ装置11がグループを管理するためのテーブルである。図7(A)は、イニシャル状態のグループテーブル302を示し、図7(B)は、ユーザグループが利用されている状態のグループテーブル302を示す。各グループは、各々ユニークに振られているID(グループ番号)で識別される。グループテーブル302には、グループごとに、そのグループ番号、グループ種別、および、そのグループに所属する端末装置14(所属端末装置)の端末番号が記憶されている。グループ種別は、通常グループまたはユーザグループである。通常グループは、予め所属端末が決められているグループである。ユーザグループは、端末装置14から受信したユーザグループ情報に応じて所属端末が登録されるグループである。この実施形態では、ユーザグループは、1000および1001の2つが設定されている。図7(A)では、ユーザグループに登録されている端末装置14は無しである。図7(B)では、ユーザグループ1000に3番の端末装置14−3と6番の端末装置14−6が登録されている。この登録の代わりに、通常グループ0010、0011における端末装置14−3、14−6の登録が一時的に削除されている。これにより、ユーザグループ1000に移動した端末装置14−3、14−6のユーザは、他の通信に邪魔されることなく、端末装置14−3、14−6のみで通信することができる。なお、ユーザグループに登録される端末装置14の台数は2台に限定されない。また、ユーザグループに登録された端末装置14を通常グループから一時的に削除しなくてもよい。
図8はミキシングテーブル(セッションテーブル)303を示す図である。ミキシングテーブル303は、サーバ装置11が通信セッションを管理するためのテーブルである。通信セッションとは、サーバ装置11を中継装置とした複数の端末装置14間の通信状態のことである。ミキシングテーブル303は、複数の行を有しており、各行に1つの通信セッションの情報が記憶される。サーバ装置11は、端末装置14から音声信号(音声パケット)を受信したとき、ミキシングテーブル303を参照してその音声信号がどの通信セッションのものかを判断する。
サーバ装置11が、端末装置14から最初の音声パケットである呼出音声パケットを受信したとき、この音声パケットに基づく通信セッションがミキシングテーブル303に登録される。
ミキシングテーブル303には、各通信セッションについて、セッション番号、発呼端末番号、参加端末番号、追加端末番号、除外端末番号、および、残保持時間(T1)の項目が設けられる。セッション番号は、この通信セッションを識別する番号である。発呼端末番号は、この通信セッションの最初の音声パケット(呼出音声パケット)を送信した端末装置14(発呼端末装置)の端末番号である。セッション番号は、通信セッションごとにユニークな値であればよいが、この実施形態では、上記呼出音声パケットに書き込まれていた通信相手識別番号が用いられる。セッション番号として端末番号が登録されている通信セッション(たとえば「19」)が、個別通信の通信セッションである。個別通信とは、1対1の個別の端末装置14同士の通信である。セッション番号としてグループ番号が登録されている通信セッション(たとえば「0012」)が、グループ通信の通信セッションである。グループ通信とは、複数の端末装置14(一般的には3台以上)が相互に音声信号を交換する通信である。
参加端末番号は、この通信セッションに参加している端末装置14の端末番号の一覧である。参加端末番号に端末番号が登録されている或る端末装置14から音声パケットが送信されてきた場合、制御部30は、この音声パケットを、参加端末番号に端末番号が登録されている他の端末装置14に転送し、参加端末装置間の相互通信を実現する。
グループ通信セッションの場合、参加端末番号は、発呼端末装置の端末番号および通信相手に指名されたグループに属する端末装置14の端末番号となる。ただし、そのグループに所属していてもアクティブでない端末装置14や別の個別通信セッションを行っている端末装置14は、このグループ通信セッションに参加できないため、それらの端末装置14の端末番号は参加端末番号から除外される(除外端末番号の欄に登録される)。なお、ユーザグループに移動したことにより、グループから一時的に削除された端末装置14の端末番号は、グループの所属端末とは扱われず、グループ通信セッションの除外端末番号の項目には記載されない。
発呼端末装置が、このグループに所属していない端末装置14であった場合、すなわち、端末装置14が、自局の属するグループ以外のグループを呼び出した場合(拡張グループ通信)、その端末装置14の端末番号も参加端末番号として登録される。同時に臨時にメンバー登録された追加端末装置として、その端末番号が追加端末番号の欄にも登録される。すなわち、このグループ通信セッションでは、発呼端末装置は、グループに所属していなくてもそのグループに所属する端末装置14と同様にその通信セッションに参加している端末装置14(参加端末装置)として扱われる。なお、ミキシングテーブル303の項目のうち、追加端末番号、除外端末番号の欄は必須ではない。参加端末番号の欄に対する端末番号の追加、除外のみでもテーブルの管理が可能である。
個別通信セッションの場合、参加端末番号として、発呼端末装置の端末番号と通信相手の端末装置14の端末番号が登録される。一対一通信であるため、追加端末番号および除外端末番号は登録されない。
また、保持時間は、参加端末装置から音声パケットが送信されてこない状態で、この通信セッションを解消せずに保持する時間である。サーバ装置11における各通信セッションの保持時間は、たとえば30秒に設定される。ミキシングテーブル303の保持時間タイマ(TS)は、音声パケットが送信されてこないとき、保持時間の経過をカウントするタイマである。保持時間タイマTSは、制御部30による処理(図11参照)で、音声パケットが送信されてこないとカウントダウンされ、且つ、音声パケットが送信されてくれば30秒にリセットされる。参加端末装置から音声パケットが30秒間送られて来ないことによりタイマTSがタイムアップした場合、この通信セッションは解消され、ミキシングテーブル303からこの通信セッションの情報が消去される。
以上の例では、グループ通信セッションにおいて、ミキシングテーブル303の参加端末装置の項目には、所属端末装置以外では発呼端末装置が追加で登録され、所属端末装置であっても非アクティブな端末装置14および他の通信セッションを行っている端末装置14が除外される。しかし、参加端末装置の項目に追加で登録される端末装置14、および、除外される端末装置14はこれらに限定されない。
或る参加端末装置が、グループ通信セッションの途中で他の通信セッション(個別通信セッション)を開始すると、その時点で、そのグループ通話セッションの参加端末装置から除外される。すなわち、その端末装置14の端末番号が、参加端末番号の欄から除外端末番号の欄に移動される。
また、通信セッションが継続されるためには、各端末装置14においても保持時間を計時する必要がある。端末装置14の保持時間(T1)は、本実施形態では5秒が設定されており、サーバ装置11の保持時間(TS=30秒)よりも短くなっている。ユーザは、PTTスイッチ220をオフしたのち、5秒が経過すると、サーバ装置11でその通信セッションが維持されていても、所定操作により他の通信セッションを開始することができる。端末装置14の保持時間(T1)は、30秒以上にも設定可能である。
また、ミキシングテーブル303を、実行中ミキシングテーブルと退避テーブルからなる2つのテーブルに分けてもよい。実行中ミキシングテーブルは、現在ミキシングを行っているセッションが登録されるテーブルであり、高速なメモリ上に形成される。通信(音声信号の送受信)が途絶えたセッションは、200ミリ秒程度の短時間で退避テーブルに転記され、退避テーブルで保持時間(T1)だけ保持される。保持時間中に再度通信(音声信号の送受信)が発生すると、そのセッションは再度実行中ミキシングテーブルに転記され、ミキシングの実行に用いられる。これにより、各端末装置14のミキシングテーブル303からの開放を早くしている。
ユーザは、端末装置14のユーザグループを変更したとき、短くPTTスイッチ220を押すことで、音声パケットを短く送信することができ、実際に通信することなくユーザグループの変更のみをサーバ装置11に登録することができる。また、ユーザグループが変更されたのち何も操作されなくても、端末装置14は、上述の所定のタイミングに、サーバ装置11との間でレジストの更新処理を行うため、このときにユーザグループの変更がサーバ装置11に登録される。
図9は端末装置14の制御部20によって実行される通信制御処理を示すフローチャートである。この処理は20ミリ秒毎に繰り返し実行される。この処理では、PTTスイッチ220のオン/オフや音声パケット(RTPパケット)の受信に応じて、現在の通信の状態(ステータス)を割り出す。ここで、このフローチャートで用いられるフラグ、タイマ類は以下のとおりである。
PTT:プッシュ・トゥ・トーク・スイッチ(PTTスイッチ)220の略記であるが、PTTスイッチ220のオン/オフに限定されず、VOX回路による送信信号のオン/オフも含んでいる。
NC0:ユーザの操作によって選択された通信相手の識別番号(端末番号/グループ番号)、通信セッションが確立される最初の音声パケット(呼出音声パケット)に書き込まれ、セッション番号(NC1)となる。
NC1:セッション番号(呼出ID)、実行中の通信セッションを識別する番号
FC:通信セッションフラグ(この端末装置14が通信セッションに参加していることを示すフラグ)
FT:通信中フラグ(音声パケットの送信中または受信中であることを示すフラグ)
T1:保持時間タイマ(通信セッションの保持時間(5秒)を計時するタイマ)
S10〜S21は音声パケットの送信管理処理である。制御部20は、PTTスイッチ220の状態を判断する(S10)。制御部20は、PTTスイッチ220がオンしている場合、処理をS11に進める。PTTスイッチ220がオンしていない場合、処理をS21に進める。
S11では、制御部20は、通信セッションフラグFCがセットされているか否かを判断する。通信セッションフラグFCがセットされていない場合(S11でNO)、今回のPTTスイッチ220のオンによって作成される音声パケットは呼出音声パケットである。制御部20は、通信セッションフラグFC、および、音声パケットを送受信中であることを示す通信中フラグFTをセットする(S12)。制御部20は、ユーザによって選択された通信相手番号NC0を通信セッション番号NC1に転記し(S13)、この通信セッション番号NC1およびエリア213に記憶されているユーザグループ番号が書き込まれた音声パケットを作成し(S14)、この音声パケットをサーバ装置11宛に送信する(S15)。この呼出音声パケットの送信により、サーバ装置11により通信セッションが開始される。制御部20は、保持時間タイマT1を5秒にリセットしたのち(S16)、S30以下の音声パケットの受信管理処理に処理を進める。
S11で、通信セッションフラグFCが既にセットされている場合(S11でYES)、制御部20は、通信中フラグFTがセットされているか否か、すなわち、現在音声パケットの送信または受信中であるかを判断する(S17)。通信中フラグFTがセットされていない場合(S17でNO)、制御部20は、通信中フラグFTをセットする(S18)。処理がS11→S17→S18に進むのは、既に開始された通信セッションが維持されている状態で、新たな音声パケット(ユーザの通話音声)の送信を開始する場合である。S19では、既に開始されている通信セッションを継続して、その通信セッションに対して今回の音声パケットを返信するか(S19でNO)、先の通信セッションから離脱して、新たな通信相手に今回の音声パケットを送信する、すなわち新たな別の通信セッションを確立するか(S19でYES)を判断する。この判断は、例えば、今回のPTTスイッチ220オンの直前のユーザによる操作、例えば通信相手の選択操作など、が行われたか否かに応じて判断すればよい。ユーザによって新たな通信相手の選択操作が行われた場合には、S20の処理で、その選択された通信相手に対する新たな通信セッションを確立する処理を行えばよい。
通信セッションを更新する場合(S19でYES)、制御部20は、そのとき選択されている通信相手番号NC0を通信セッション番号NC1に転記して(S20)、S14に処理を進める。既に開始されている通信セッションを継続する場合(S19でNO)、制御部20は、S19からそのままS14に処理を進める。
S10において、PTTスイッチ220がオンされていない場合(S10でNO)、制御部20は、通信中フラグFTをリセットする(S21)。なお、通信中フラグFTが既にリセットされている場合にはそのままでよい。こののち、制御部20は、S30以下の音声パケットの受信管理処理に処理を進める。
制御部20は、S30で、ネットワーク10を介して音声パケットを受信したか否かを判断する。制御部20は、音声パケットを受信した場合、処理をS31に進める。音声パケットを受信していない場合、処理をS40に進める。
S31では、制御部20は、通信セッションフラグFCがセットされているか否かを判断する。通信セッションフラグFCがセットされていない場合(S31でNO)、今回新たな通信セッションが確立され、その最初の音声パケットが送信されてきたと判断し、通信セッションフラグFCおよび通信中フラグFTをセットする(S33)。FTフラグは、現在音声パケットを送受信中であることを示すフラグである。制御部20は、その音声パケットに含まれている通信相手番号を通信セッション番号NC1に転記する(S34)。制御部20は、音声パケットをオーディオ回路24に出力し(S35)、保持時間タイマT1を5秒にリセットする(S36)。
S31で、通信セッションフラグFCが既にセットされている場合(S31でYES)、制御部20は、今回の音声パケットの受信に対応して通信中フラグFTをセットする(S32)。なお、通信中フラグFTが既にセットされている場合にはそのままでよい。こののち、制御部20は、処理をS35に進める。
S30において、音声パケットを受信しなかった場合(S30でNO)、制御部20は、通信セッションフラグFCがセットされているか否かを判断する(S40)。通信セッションフラグFCがセットされている場合(S40でYES)、制御部20は、S41以下の処理を実行する。通信セッションフラグFCがセットされていない場合(S40でNO)、制御部20は、そのまま処理を終了する。
S41では、制御部20は、通信中フラグFTがセットされているか否かを判断する。通信中フラグFTがセットされている場合(S41でYES)、制御部20は、そのまま処理を終了する。通信中フラグFTがセットされていない場合(S41でNO)、すなわち、通信中フラグFTはリセットされているが通信セッションフラグFCがセットされた状態の場合、制御部20は、保持時間タイマT1を1カウント(20ミリ秒分)減算する(S42)。そして、この減算で保持時間タイマT1が0になったか否かを判断する(S43)。保持時間タイマT1が0になった場合(S43でYES)、制御部20は、通信セッションを解消するために、通信セッションフラグFCをリセットする(S44)。S43において、保持時間タイマT1が未だ0よりも大きい場合(S43でNO)、制御部20は、そのまま処理を終了する。
図10および図11は、サーバ装置11の動作を示すフローチャートである。図10は、音声パケット受信時の処理を示している。図11は、ミキシングテーブル管理処理を示している。
図10において、制御部30は、端末装置14から音声パケットを受信すると(S50)、その音声パケットからその端末装置14に設定されているユーザグループ番号を読み出す(S51)。読みだしたユーザグループ番号が“0”でない場合(S52でNO)、グループテーブル302の読みだしたユーザグループ番号の項目にこの端末装置14の端末番号を登録し、この端末装置14が所属している通常グループから一時的にこの端末装置14の端末番号を削除する(S53)。逆に、読みだしたユーザグループ番号が“0”の場合(S52でYES)、グループテーブル302のユーザグループの項目からこの端末装置14の端末番号を削除し、通常グループからの一時的な削除を解除して、通常グループに復帰させる(S54)。なお、S53、S54の処理は、音声パケットに書き込まれているユーザグループ番号に変更があった場合のみ行えばよい。
発信元端末番号および通信相手番号で識別される通信セッションが、既にミキシングテーブル303に登録されているかを判断する(S60)。通信セッションが既にミキシングテーブル303に登録されている場合(S60でYES)、制御部30は、ミキシングテーブル303の参加端末番号に基づき、受信した音声パケットに含まれている音声信号を通信セッションに参加している端末装置14宛に転送する(S66)。そして、ミキシングテーブル303のその通信セッションの保持時間タイマTSを30秒にリセットする(S67)。
受信した音声パケットの通信セッションが、ミキシングテーブル303に登録されていない場合(S60でNO)、すなわち、この音声パケットが呼出音声パケットであった場合、この呼出音声パケットに基づく新たな通信セッションをミキシングテーブル303に登録する(S61)。このとき、通信相手番号がセッション番号として登録され、この音声パケットの送信元の端末装置14の端末番号が発呼端末番号として登録される。参加端末番号としては、個別通信セッションの場合、通信相手番号および発呼端末番号が登録され、グループ通信セッションの場合、発呼端末番号および通信相手番号のグループに所属する端末装置14の端末番号が登録される。また、発呼端末装置がグループに所属していない場合には、発呼端末番号は追加端末番号にも登録される。さらに、グループに所属している端末装置14のうち、非アクティブ、他の通信セッションに参加中などでこの通信セッションに参加できないものがある場合、その端末番号は参加端末番号の項目から除外され、除外端末番号の項目に転記される。
制御部30は、受信した音声パケットの音声信号を、その通信セッションに参加している端末装置14宛に転送する(S62)。その通信セッションに参加している端末装置14は、ミキシングテーブル303に登録されているその通信セッションの参加端末番号から決定される。
制御部30は、S61で確立された通信セッションに参加したことにより、既に登録されている通信セッションの参加端末装置から除外される端末装置14があるかを判断する(S63)。該当する端末装置14が存在する場合(S63でYES)、当該先に確立されていた通信セッションの参加端末番号からこの端末装置14の端末番号を削除する(S64)。除外された端末番号は、除外端末番号に転記される。このようにして各通信セッションの参加端末装置を最適化する。
図11のミキシングテーブル管理処理は、定期的(たとえば20ミリ秒毎)に繰り返し実行される。制御部30は、まずミキシングテーブル303の先頭行の通信セッションを指定する(S70)。制御部30は、指定された通信セッションの保持時間タイマTSを1カウント(20ミリ秒分)減算し(S71)、この減算で保持時間タイマTSが0になったか否かを判断する(S72)。保持時間タイマTSが0になった場合(S72でYES)、制御部30は、この通信セッションは終了したとして、この行の通信セッションを消去する(S73)。
制御部30は、以上の処理をミキシングテーブル303の最終行になるまで順次行うことで(S74、S75)、ミキシングテーブル303の管理を行う。
以上の構成の音声通信システムにおいて、各端末装置14が所属するユーザグループを設定装置15から設定できることから、以下の形態で端末装置14をレンタルに供することができる。すなわち、「サーバ管理者が、管理装置12を用いて複数(たとえば100台)の端末装置14を端末テーブル301に登録するとともに、複数(たとえば20)のユーザグループをグループテーブル302に登録する。この複数の端末装置14を中間ユーザ(レンタル業者)に引き渡す(販売する)。中間ユーザが、最終ユーザ(顧客)からのレンタル依頼に合わせて必要な台数の端末装置14を一つのユーザグループに所属させ、これらの端末装置14がユーザグループ内で相互通信できるようにする。このように設定された必要台数の端末装置14を最終ユーザにレンタルする。」以下、図面を参照してこの手順について詳細に説明する。
図12を参照して、この音声通信システムの端末装置14がレンタルに供される場合の処理の手順について説明する。まず、サーバ管理者(たとえば端末装置14の販売者)が、中間ユーザ(たとえばレンタル業者)から依頼を受けて、その依頼台数(たとえば100台)の端末装置14をサーバ装置11の端末テーブル301に登録する(S101)。これにより、各端末装置14には端末番号が付与される。端末番号は、たとえば00001〜00100である。次に、中間ユーザが使用する数(たとえば20)のユーザグループを設定する(S102)。各グループのグループ番号は、たとえば00901〜00920である。この時点では、各ユーザグループの所属端末は0である。設定が完了したのち、依頼台数の端末装置14がサーバ管理者から中間ユーザに引き渡される(S103)。
中間ユーザは、引き渡された複数台の端末装置14をレンタル用として保管している。また、中間ユーザは、図1に示した設定装置15を有している。中間ユーザが、最終ユーザ(顧客)からレンタルの依頼を受けると(S104)、そのレンタル依頼内容に応じた設定情報を設定装置15に入力し(S105)、レンタル台数分の端末装置14をその内容に設定する(S106)。
最終ユーザからのレンタルの依頼が、たとえば、図13(A)に示すように、「端末装置14を10台レンタルする。10台の端末装置14は、同一グループで全員が相互通話できる。また、10台のうち2台については、どの端末装置からでも個別呼出ができる。」という内容であり、端末番号が00001〜00010の端末装置14をレンタルするとする(図面上では、端末番号を1〜10と記している)。各端末装置14の番号とその使用者の氏名は、それぞれ、00001:AAさん、00002:BBさん、00003:CCさん、00004:DDさん、00005:EEさん、00006:FFさん、00007:GGさん、00008:HHさん、00009:JJさん、00010:KKさんであり、そのうち、端末番号00001、00002の端末装置14に対して個別呼出を可能にする。
設定装置15には、図13(B)に示す内容が設定され、ケーブルで接続された端末装置14に設定された内容が転送される。図13(B)には、端末番号00003の端末装置14に設定される情報の例を示している。
端末番号の00003は、この端末装置14がサーバ装置11に登録されたとき(S101の時点で)設定されており、設定装置15から書き換えることはできない。図13(B)のうち、点線で囲んだ部分の内容が設定装置15によって端末装置14に設定される。このうち、端末装置14の使用者の氏名(CCさん)は、端末毎に書き換える必要があるが、個別呼出を許可する端末番号00001、00002、呼出および所属可能なグループ(ユーザグループ)00901、および、この端末装置14が所属しているユーザグループ00901は、今回レンタルされる端末装置14に共通であるため、一度設定すればレンタル対象の端末装置14全てに対して共通に使用することができる。これらの内容が、設定装置15から端末装置14に転送され、記憶エリア210〜213に書き込まれる。
図14は、設定装置15の端末設定動作を示すフローチャートである。この処理は、端末装置14に個別・グループの電話帳および所属グループを書き込む処理であるが、中間ユーザ(レンタル業者)が、レンタルの依頼を受けたときに、そのレンタル依頼の内容に応じて端末装置14を設定する場合にも行われる。
まず、設定装置15のユーザインタフェースに対して個別通信のアドレスが設定される(S121)。図13の例の場合には、「00001、AAさん」と「00002、BBさん」が設定される。次に、グループ通信のアドレスが設定される(S122)。図13の例の場合には、「00901、PP Ltd.」が設定される。そして、設定対象の端末装置14が所属するユーザグループが指定される(S123)。図13の例の場合には、「00901、PP Ltd.」が指定される。次に、個別に設定される端末の使用者名が中間ユーザによって入力される(S124)。以上の入力ののち、設定対象の端末装置14が接続され、設定された情報が転送される(S125)。転送された内容は、端末装置14の記憶エリア210〜213に書き込まれる。この処理を設定対象の端末装置14が終了するまで(S126)、繰り返し行う。なお、2台目以後は、共通事項である個別通信アドレス、グループ通信アドレス、所属グループの設定(S121−S123)は行う必要はなく、S124の端末名称(使用者名)の入力と、端末装置14への情報の転送(S125)を行えばよい。なお、この転送ののち端末装置14のPTTスイッチ220を一瞬オン(Kerchunk)すれば、サーバ装置11に対して、この設定をアップロードすることができる。
図12に戻って、中間ユーザ(レンタル業者)は、端末装置14の設定を完了すると、その端末装置14を最終ユーザに引き渡す(S107)。すなわち、顧客にレンタルする。レンタルされた最終ユーザは、電源をオンしてPTTスイッチ220をオンすることで、図13(A)に示した形態の通信を行うことができる。レンタル期間が終了すると最終ユーザは中間ユーザに端末装置14を返却する(S109)。中間ユーザは、返却された端末装置14の設定を解除して(S110)、次のレンタル用の端末装置14とする。なお、端末装置14の設定の解除は、この端末装置14が次のレンタルに供されるとき(次のレンタルの設定が行われるとき)に併せて行ってもよい。
以上は、1つのレンタル案件の処理について説明したが、中間ユーザ(レンタル業者)には、たとえば100台の端末装置14が引き渡され、且つ、たとえば20のユーザグループが使用可能であるため、中間ユーザは、複数の(最大ユーザグループ数の)レンタル案件を取り扱うことが可能である。
図15にその一例を示す。中間ユーザ500に対して複数のユーザグループ510が設定されており、それがそれぞれ最終ユーザのレンタル案件に対して使用される。ユーザグループ510は、最終ユーザ520のレンタル案件に使用され、ユーザグループ511,512は、最終ユーザ521のレンタル案件に使用される。このように、1つの顧客に対して複数のユーザグループを提供することも可能である。
また、以上の説明では、サーバ装置11が1つの音声通信システム、すなわち、1つの中間ユーザ(レンタル業者)を管理するように記載しているが、1台のサーバ装置11が、複数の音声通信システム管理タスクを起動することで、複数の音声通信システム(中間ユーザ)を管理することも可能である。
実施形態においては、各端末装置14に全体通信を可能にしているが、もし全体通信を行うと複数のレンタル案件にまたがった通信が行われてしまうため、全体通信を禁止するようにしてもよい。この禁止の処理は、サーバ装置11が全体通信の転送を行わないようにしてもよく、端末装置14が全体通信の音声パケットの送信をしないように設定してもよい。
また、上記実施形態では、設定装置15からの設定で端末装置14が所属するユーザグループを設定しているが、ユーザによる端末装置14への直接の操作で端末装置14をユーザグループに参加/離脱させることを許可してもよい。