JP2015207924A - 呼制御装置 - Google Patents
呼制御装置 Download PDFInfo
- Publication number
- JP2015207924A JP2015207924A JP2014087969A JP2014087969A JP2015207924A JP 2015207924 A JP2015207924 A JP 2015207924A JP 2014087969 A JP2014087969 A JP 2014087969A JP 2014087969 A JP2014087969 A JP 2014087969A JP 2015207924 A JP2015207924 A JP 2015207924A
- Authority
- JP
- Japan
- Prior art keywords
- call control
- control device
- call
- collision
- telephone terminal
- 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.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
【課題】2つの電話端末が互いに発信し合ったときに話中とならずに通話が開始できるようにする。【解決手段】呼制御装置が呼接続要求信号受信履歴を保持し、新たに受信した呼接続要求信号の発信元と着信先が履歴から得られる接続処理中の呼の中にそれぞれ着信先と発信元として記録されていると2つの呼が互いに発信しあって呼衝突が発生していると判断し、衝突した呼が確立する区間を発信元と呼制御装置となるように呼制御し、電話端末同士が音声信号を交換させるためのセッション情報を呼制御装置を介して衝突呼間で交換させることで、通話開始が可能となる。【選択図】図11
Description
本発明は、呼制御装置に係り、特に2人のユーザーが互いに同時に発呼することで生じる呼衝突を処理して通話を可能にする呼制御装置に関する。
電話サービス利用において、ユーザーの意図に反して接続が切断され通話が終了してしまうことがある。例えば、携帯電話端末における電波状況の悪化または保留の処理に伴う釦操作の誤りによる接続切断が挙げられる。このような場合、通話をしていた2者が互いに同時に再度発信操作を行うことが起こりうる。本明細書では、このような状況を相互発信による呼衝突と呼ぶ。現在の電話サービスシステムでは、相互発信による呼衝突が発生した場合、どちらの電話端末も発信中であるため接続要求に対してエラーメッセージを送信し合い、結果的に通話を再開するに至らない。
特許文献1は、相互発信による呼衝突と接続失敗を解決する手段として、電話端末に、発信中の呼の情報と着信した呼の情報を保存する記憶機能と、記憶機能を元に相互に発信し合っていることを判断する衝突検知機能と、衝突検知時に衝突した2つの呼における優先度を決定し優先度の高い呼の処理を続行することで通話が開始できるようにする優先呼接続機能、の3つの拡張機能を具備する技術を開示する。これは、IP電話では呼制御装置は電話端末の利用状態を把握せず、電話端末自身に接続可否の判断を行わせるという特徴を利用した技術である。
既存の電話端末が特許文献1の機能を利用するためには、電話端末のソフトウェアアップデートが必要である。このアップデートに対応できない場合、電話端末の買い替えとなるため、いずれにしてもユーザーへの負担が発生してしまう。また、特許文献1では課題解決を電話サービス事業者ネットワークの外部で実施しており、ユーザーが前述の機能を備えた電話端末に置き換えるまでの時間と、ユーザーの前述の電話端末への移行を促すための費用と、が必要である。
本発明の目的は、相互発信による呼衝突発生時でも通話を開始できる呼制御装置を提供することにある。
上述した課題は、電話端末間の呼制御信号を中継し電話端末の接続処理を行う呼制御装置において、呼制御信号を外部通信装置より受信する呼制御信号受信部と、受信した呼制御信号の内容を解析する呼制御信号解析部と、受信した呼制御信号の送信先を検索するユーザー情報検索部と、呼制御信号解析部およびユーザー情報検索部より得られた情報をもとに呼制御信号を編集する呼制御信号編集部と、呼制御信号を外部通信装置へ送信する呼制御信号送信部と、接続処理中の呼の中に発信電話端末と着信電話端末との組み合わせが互いに逆の2つの呼の衝突が発生していることを検知する呼衝突検知部と、呼衝突検知部が呼衝突を検知したとき、当該呼の接続処理を終了させることなく通話開始させるための制御を行う衝突処理部と、を備える呼制御装置により、達成できる。
本発明によれば、相互発信による呼衝突発生時でも通話を開始できる。
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。
図1を参照して、呼制御装置の構成を説明する。図1において、呼制御装置400は、電話端末間の呼制御信号を中継し、電話端末間の通話を可能にする。呼制御装置400は、呼制御信号受信部410と、呼制御信号解析部420と、ユーザー情報検索部430と、ルーティング表保持部440と、呼制御信号編集部450と、呼制御信号送信部460と、呼衝突検知部470と、呼衝突処理部480と、を含んで構成されている。
呼制御信号受信部410は、呼制御信号を外部通信装置より受信する。呼制御信号解析部420は、受信した呼制御信号の内容を解析する。ユーザー情報検索部430は、受信した呼制御信号の送信先を検索する。検索部430の参照先である着信先別ルーティング表保持部440は、呼制御装置400外であって構わない。呼制御信号編集部450は、解析部および検索部より得られた情報をもとに呼制御信号を編集する。呼制御信号送信部460は、呼制御信号を外部通信装置へ送信する。呼衝突検知部470は、接続処理中の呼の中に発信電話端末と着信電話端末の組み合わせが互いに逆となって衝突が発生していることを検知する。呼衝突処理部480は、検知部により呼と呼が衝突したことを検知した場合、当該呼の接続処理を終了させることなく通話開始させる。
呼衝突処理部480は、衝突した呼を発信した電話端末と衝突を検知した当該呼制御装置の区間でセッションを確立させるための処理を実行する。呼衝突処理部480は、また、衝突した2つの呼それぞれに対する接続処理実施による2つのセッションの確立と、接続処理の過程におけるセッション間でのセッション情報の交換と、衝突を検知した呼制御装置数の特定と、を実施する。
衝突を検知した呼制御装置数が1であった(自装置のみが検知した)場合、呼制御装置400は、接続処理を継続する。衝突を検知した呼制御装置数が2であった場合、一方の呼制御装置は、接続処理を継続する。これに対して、他方の呼制御装置は、接続処理を中止する。
衝突を検知した呼制御装置数が2における動作分岐を判定するにあたり、呼制御装置間の判定は一意的である。すなわち、他方の当該呼制御装置が継続と判断する場合は当方の当該呼制御装置は中止と判断する。一方、他方の当該呼制御装置が中止と判断する場合は当方の当該呼制御装置は継続と判断する。
衝突接続処理とセッション情報交換において、接続要求信号内のセッション情報の有無に応じた接続処理とセッション情報交換が可能であり、電話端末のセッション情報送信時期および仕様に影響されない。
呼衝突処理部480は、分岐要因(1)衝突位置による衝突処理の変化と、分岐要因(2)セッション情報取得状況による衝突処理の変化と、に対応した分岐処理を実施する。以下、分岐要因(1)、(2)について詳細に説明する。
図2Aを参照して、分岐要因(1)について説明する。図2Aにおいて、通信システム700は、呼制御装置400と、電話端末100とを含んで構成されている。通信システム700における呼衝突は、ネットワーク内衝突とネットワーク外衝突の2種類が存在する。その違いは呼が衝突する位置の差であり、衝突位置の差に伴い衝突検知可能な呼制御装置数に差がある。電話端末100−aと100−bが相互発信すると、100−aからの接続要求信号はネットワーク200に到達し、呼制御装置400−aを経由して呼制御装置400−bに送信される。一方、電話端末100−bからの接続要求信号は400−bを経由して400−aに送信される。衝突検知を検知した呼制御装置は、自身が着信電話端末の代替として発信電話端末と接続処理を実施する。このため、呼制御装置400−aと400−bの区間で発生したネットワーク内衝突の場合、衝突を検知する呼制御装置数は2となる。
一方、電話端末100−cと電話端末100−dによる相互発信では、100−cからの接続要求信号と100−dからの接続要求信号は、呼制御装置400−bと電話端末100−dの間の区間でネットワーク外衝突を起こしており、衝突を検知する呼制御装置数は1である。
ここでは、衝突を検知する呼制御装置数が2をネットワーク内衝突と呼ぶ。一方、衝突を検知する呼制御装置数が1をネットワーク外衝突と呼ぶ。ネットワーク内衝突とネットワーク外衝突では検知した呼制御装置400−aおよび呼制御装置400−bが受信する制御信号は異なる。ネットワーク内衝突とネットワーク外衝突の発生条件の違いは電話端末から呼接続要求が送信される時期によるものであり、どちらかをユーザーおよび呼制御装置が選択できるものではない。なお、明細書および図面に於いて、電話端末100−aを、電話端末aと記載することがある。呼制御装置も同様である。
図2Bを参照して、セッション確立において呼が経由する呼制御装置数により分類される接続形態を説明する。図2Bにおいて、ネットワーク200内の呼制御装置による呼制御が実施される場合において、電話端末100−eから電話端末100−g宛に接続要求信号が呼制御装置400−cから呼制御装置400−dの区間を経由して伝達されるとき、経由呼制御装置数は、2以上である。
一方、電話端末100−fから電話端末100−h宛に接続要求信号が呼制御装置400−cのみを経由して伝達されるとき、経由呼制御装置数は、1である。呼制御装置400−cと呼制御装置400−dの区間に複数の呼制御装置がありうる。
図2Bにおいて、ネットワーク内衝突は、経由呼制御装置が2以上のときにしか発生しない。しかし、ネットワーク外衝突は、経由呼制御装置が1でも2以上の場合でも発生しうる。
分岐要因(2)について説明する。衝突検知後の接続処理およびセッション同士によるセッション情報の交換において、当該の衝突呼にセッション情報が含まれているかは発信電話端末の仕様により規定されている。衝突検知時のセッション情報取得状況として、(A)どちらの電話端末からもセッション情報が取得できている場合、(B)どちらかからのみ取得できている場合、(C)どちらからも取得できていない場合、がある。
SIPによる呼制御において、Session Description Protocol(SDP)上でオファー・アンサーモデルによるセッション情報の交渉がされる。INVITEオファー・200 OKアンサーの場合、衝突検知時には発信電話端末からセッション情報を、取得できる。しかし、200 OKオファー・ACKアンサーの場合、セッション情報を、取得できない。
(A)〜(C)のセッション情報取得状況に応じたセッション情報の取得およびセッション間のセッション情報交換をする必要がある。該当するデータが検索された場合、相互発信による呼衝突が発生したと検知する。
図1に戻って、呼衝突検知部470は、衝突を検知すると呼衝突管理テーブル(後述)に相互発信呼衝突中の電話端末の電話端末識別子の組とセッション情報取得状況のデータを追加する。呼接続要求信号受信以降の信号の受信の際、呼衝突検知部470は、呼衝突管理テーブルを参照することで衝突処理が必要な呼であるかを判断する。処理が必要な場合、呼衝突検知部470は、呼衝突処理部480へ信号を送る。
図3を参照して、INVITE受信履歴情報テーブルを説明する。図3において、INVITE受信履歴情報テーブル500は、発信電話端末識別子510と、着信電話端末識別子520と、セッション情報の有無530と、を含む。
発信電話端末識別子510は、発信電話端末の識別子である。着信電話端末識別子520は、着信電話の端末識別子である。セッション情報の有無530は、発信電話端末と着信電話端末との間のセッション情報の有無である。
図4を参照して、衝突管理情報テーブルを説明する。図4において、衝突管理情報テーブル600は、衝突を起こしている電話端末の組を管理するテーブルである。衝突管理情報テーブル600は、電話端末識別子1 610と、電話端末識別子2 620と、セッション情報1 630と、セッション情報2 640と、を含む。電話端末識別子1 610と電話端末識別子2 620は、衝突を起こしている電話端末の組である。セッション情報1 630は、電話端末識別子1 610に該当する電話端末のセッション情報の有無を記載する。セッション情報2 640は、電話端末識別子2 620に該当する電話端末のセッション情報の有無を記載する。
図5を参照して、呼制御装置による衝突検知までの処理を説明する。図5において、フローチャート中の要求メッセージと共に記されるA→B、B→Aは、そのメッセージが電話端末Aから電話端末Bへ、電話端末Bから電話端末Aへ向けて送信されたことを意味する。さらに、応答メッセージにおけるA→B、B→Aは、要求メッセージに対する応答として電話端末Bから電話端末Aへ、電話端末Aから電話端末Bへ向けて送信されたメッセージであることを意味する。ここで、要求メッセージと応答メッセージとでは、矢印に対する送信元、受信先の位置が代わっている。また、フローチャート全体の前提条件として、呼制御装置400は、電話端末Aから送信されたINVITEを最初に受信したこととする。
図5において、先頭の待機中は、呼制御装置400が電話端末Aまたは電話端末BのいずれからもINVITEを受信していない状態を指す。呼制御装置400は、INVITE(A→B)を受信する(S701)。
呼制御装置400は、ユーザー情報検索部430により送信先アドレスを判明させた後に呼衝突検知部470にて受信したINVITEの発信電話端末識別子510、着信電話端末識別子520、セッション情報の有無530をINVITE受信履歴情報テーブル500に新規追加する(S702)。呼制御装置400は、INVITE受信履歴情報テーブル500の中に電話端末Bの電話端末識別子が510でありかつ電話端末Aの電話端末識別子が520であるデータを検索し、データが追加されていないことを確認する(S703)。呼制御装置400は、衝突は発生していないと判断してINVITE(A→B)を次の宛先に送信する(S704)。ここまではINVITE受信履歴情報テーブル500へのデータ追加とデータ検索を除いて一般的な呼処理に同じである。
呼制御装置400は、INVITE(B→A)を受信する(S705)。ステップS701〜ステップS703と同様に、呼制御装置400は、INVITE受信履歴情報テーブル500にデータを追加する(S706)。呼制御装置400は、INVITE受信履歴情報テーブル500にINVITE(A→B)のデータが追加されているか検索し、存在を確認する(S707)。
呼衝突が発生したことを検知した呼制御装置400は、衝突管理情報テーブル600にAとBの電話端末識別子の組およびセッション情報の取得状況を示すデータを追加し(S708)、衝突呼処理中状態へと遷移する。
この状態のときに受信した衝突処理対象となる呼の信号は次の宛先へ送信されることはなく、呼制御装置400は、着信電話端末として発信電話端末と接続処理を行う。
この状態のときに受信した衝突処理対象となる呼の信号は次の宛先へ送信されることはなく、呼制御装置400は、着信電話端末として発信電話端末と接続処理を行う。
図6ないし図8を参照して、衝突呼処理を説明する。
図6において、呼制御装置400は、着信電話端末としてINVITE(A→B)に対する応答として呼び出し中を示す180Ringing(A→B)を電話端末A宛に送信し、INVITE(B→A)に対しても同様に180Ringing(B→A)を電話端末B宛に送信する(S801)。この応答メッセージを受信した電話端末Aおよび電話端末Bは、Ring Back Tone(RBT)を鳴動させて各ユーザーに着信電話端末を呼び出し中であることを通知し、各ユーザーは着信電話端末のユーザーが応答するのを待つ。発信電話端末のユーザーにRBTを一定時間聴取させるために、ステップS801のあとに呼制御装置400は、RBT鳴動タイマーTRBTを設定し、RBT鳴動タイマーTRBTがタイムアウトするまで待機する(S802)。次のステップである200 OKの送信において、上記の分岐要因(2)である、電話端末の仕様ごとに決められているSDPメッセージの送信タイミングの違いにより、INVITE(A→B)とINVITE(B→A)がともにオファーである場合(パターンA)、どちらか片方だけがオファーの場合(パターンB)、どちらもオファーでない場合(パターンC)、の3つのパターンのいずれに該当するのかについて、呼制御装置400は、衝突管理情報テーブル600より判定する(S803)。
図6において、呼制御装置400は、着信電話端末としてINVITE(A→B)に対する応答として呼び出し中を示す180Ringing(A→B)を電話端末A宛に送信し、INVITE(B→A)に対しても同様に180Ringing(B→A)を電話端末B宛に送信する(S801)。この応答メッセージを受信した電話端末Aおよび電話端末Bは、Ring Back Tone(RBT)を鳴動させて各ユーザーに着信電話端末を呼び出し中であることを通知し、各ユーザーは着信電話端末のユーザーが応答するのを待つ。発信電話端末のユーザーにRBTを一定時間聴取させるために、ステップS801のあとに呼制御装置400は、RBT鳴動タイマーTRBTを設定し、RBT鳴動タイマーTRBTがタイムアウトするまで待機する(S802)。次のステップである200 OKの送信において、上記の分岐要因(2)である、電話端末の仕様ごとに決められているSDPメッセージの送信タイミングの違いにより、INVITE(A→B)とINVITE(B→A)がともにオファーである場合(パターンA)、どちらか片方だけがオファーの場合(パターンB)、どちらもオファーでない場合(パターンC)、の3つのパターンのいずれに該当するのかについて、呼制御装置400は、衝突管理情報テーブル600より判定する(S803)。
最初にパターンAについて説明する。通常、INVITEオファーによるセッション情報の交渉は電話端末同士で行われる。しかし、衝突を検知した呼制御装置400は、INVITEオファーを着信電話端末宛に送信しない。電話端末AとBの両方のセッション情報が揃っており交渉が可能なため、呼制御装置400は、セッション情報の交渉を実施する。呼制御装置400は、電話端末Aおよび電話端末Bに着信電話端末のセッション情報を200 OKアンサーに記載して送信する(S806)。
次にパターンBの場合について説明する。パターンBの場合、既に1つ電話端末からセッション情報を取得できているため、呼制御装置400は、これを200 OKオファーとしてセッション情報を取得できていない電話端末に送信する(S805)。具体的には、電話端末Aからセッション情報が図5のステップS701にて取得できている場合、呼制御装置400は、200 OK(B→A)にこのセッション情報を記載する。INVITEオファーでセッション情報を送信してきた電話端末に対する200 OKアンサーは、200 OKオファーに対するACKアンサーが得られた後に、ACKアンサーに記載されるセッション情報を利用して送信する。
最後にパターンCの場合について説明する。パターンCの場合、どちらからもセッション情報が取得できていないため、呼制御装置400は、どちらか一方のセッション情報を取得するための処理を実施する。呼制御装置400は、衝突した2つのINVITEのどちらかを選択し、選択されたINVITEを発信した電話端末のセッション情報を取得する。選択を決定するための判定条件に指定はないが、ネットワーク内衝突ではステップS708で衝突を検知する呼制御装置400の数は2であり、どちらの呼制御装置400が選択したINVITEも同じであることが好ましい。判定法として、具体的には、SIPの要求メッセージにおいて必須とされるCall‐IDヘッダの文字列を指定した変換規則のもと文字列と1対1で変換可能な数値にし、その大小を比較した上で一方のINIVITEを選択するなどの方法がある。呼制御装置400は、選択されたINVITEに対する200 OKオファーに、ダミーセッション情報を記載して送信する(S804)。ダミーセッション情報とは電話端末からACKアンサーを受信してセッションを確立させるためのセッション情報であり、ユーザー同士が通話を開始させるために記載されるものではない。このため、電話端末100からACKアンサーを得られるものであるならその内容に制限はない。
200 OK送信すると、呼制御装置400は、衝突位置判定とそれに応じた処理を実施する(S807)。呼制御装置400は、ACK(A→B)を受信する(S808)。なお、ステップS808において、呼制御装置400が、ACK(B→A)を受信することもあるが、ここではACK(A→B)を受信したとして、説明する。
図7を参照して、衝突位置判定処理を説明する。200 OKを送信した呼制御装置400は、応答信号を受信する(S901)。この応答信号は、ネットワーク内衝突の場合、衝突を検知したもう1つの呼制御装置400からであり、ネットワーク外衝突の場合、電話端末100から受信する。そこで、呼制御装置400は、受信した応答メッセージの違いでどちらの衝突形態であるかを判定する(S902)。180Ringing(A→B)を受信した場合、呼制御装置400は、そのメッセージの送信元について衝突検知したもう1つの呼制御装置400と特定でき、衝突はネットワーク内衝突であることがわかる(S903)。一方、ステップS902で486BusyHereを受信したと判定したとき、メッセージの送信元は電話端末100であり、衝突はネットワーク外衝突であることがわかる(S904)。
ネットワーク内衝突の場合、呼制御装置400は、衝突管理情報テーブル600のセッション情報取得状況の違いによりその後の処理を3つに分岐する。パターンBで電話端末Aからのみセッション情報を取得していた場合、呼制御装置400は、衝突を検知したもう1つの呼制御装置400からINVITEを取り消すCANCEL(B→A)を受信する(S907)。呼制御装置400は、これに対して200 OK(B→A)を返信する(S908)。呼制御装置400は、INVITE要求を拒否し処理を終了させたことを示す487RequestTerminated(B→A)を送信する(S909)。呼制御装置400は、487RequestTerminated(B→A)を受信した他の呼制御装置400から送られてくるACK(B→A)を受信する(S910)。この時点で呼制御装置400と電話端末Bの間のB→Aの接続処理は取り消されたので、呼制御装置400は、テーブル500から該当するデータを削除する(S911)。またこれ以降、呼制御装置400は、衝突処理に関与しないため、衝突管理情報テーブル600から電話端末A・Bの電話端末識別子が記載されたデータを削除する(S912)。呼制御装置400は、非衝突呼処理中フラグを設定して(S917)、リターンする。
ステップS905で電話端末Bからのみセッション情報を取得している場合、呼制御装置400は、INVITE要求を取り消すためにCANCEL(A→B)を送信する(S913)。CANCEL(A→B)を受信した対向の呼制御装置400は200 OKを送信するため、呼制御装置400は、これを受信する(S914)。INVITE要求が取り消されたことを示す487RequestTerminatedが送信されてくるので、呼制御装置400は、これを受信する(S915)。呼制御装置400は、ACK(A→B)を送信する(S916)。呼制御装置400は、衝突呼処理中フラグを設定して(S918)、リターンする。
最後に、ステップS905において、セッション情報を両方の端末から取得済みの場合、またはどちらからも未取得の場合、呼制御装置400は、衝突した2つの呼の情報をもとに衝突を検知した2つの呼制御装置のどちらが衝突処理を継続し、どちらが衝突処理を中止するのかを判定する(S906)。この判定法としては、具体的には、ステップS804にて選択されたINVITEを先に受信した呼制御装置が処理継続とする、などが考えられる。呼制御装置400は、継続と判定された場合はステップS913へ、中止と判定された場合はステップS907へ分岐する。
ステップS902よりステップS904へと分岐した場合、呼制御装置400は、486BusyHere(A→B)を受信したことを知らせるためにステップS916に遷移する。
ステップS902よりステップS904へと分岐した場合、呼制御装置400は、486BusyHere(A→B)を受信したことを知らせるためにステップS916に遷移する。
図8を参照して、図6の続きとなる衝突呼処理を説明する。呼制御装置400は、フラグ設定を判定する(S1001)。非衝突呼処理中フラグの場合、呼制御装置400は、衝突呼の処理を終え通常の呼制御処理状態に移っているため、ステップS808で受信したACK(A→B)を電話端末B宛に送信して(S1003)、セッションが確立して電話端末Aと電話端末Bが通話している状態に遷移する。ステップS1001で衝突呼処理中フラグの場合、呼制御装置400は、さらに衝突管理情報テーブル600のセッション情報取得状況に応じて3つに処理が分岐する。電話端末Aおよび電話端末Bのセッション情報取得済みの場合、この時点で衝突呼処理中状態であるならネットワーク内衝突およびネットワーク外衝突いずれの場合でも他に衝突呼処理中状態の呼制御装置400はネットワーク内には存在しないので、あとはACK(B→A)を受信して(S1004)、電話端末Aと電話端末Bの間で通話可能な状態となる。なお、ステップS808とステップS1004の受信タイミングは逆転することもある。
ステップS1002において、セッション情報を電話端末Bからのみ取得済みの場合、ステップS808で電話端末Aより受信したACKアンサーから取得したセッション情報について、呼制御装置400は、200 OK(B→A)アンサーに記載し送信する(S1005)。呼制御装置400は、電話端末BよりACK(B→A)を受信して(S1006)、これにより電話端末Aと電話端末Bの間の通話が開始される。
ステップS1002において、電話端末Aおよび電話端末Bのどちらからもセッション情報を取得できていない場合、この時点で呼制御装置400と電話端末Bの区間ではダミーセッション情報の交換により一時的にセッションが確立している。しかし、電話端末Aおよび電話端末Bは、どちらも互いのセッション情報を交換していないため通話は開始できない。そこで呼制御装置400は、電話端末Aとして電話端末Bにre−INVITE(A→B)をセッション情報を付けずに電話端末B宛に送信する(S1007)。電話端末Bは、セッション情報の記載された200 OKオファーを送信してくるため、呼制御装置400は、これを受信する(S1008)。呼制御装置400は、電話端末Bのセッション情報を200 OK(A→B)オファーに記載して電話端末A宛に送信する(S1009)。呼制御装置400は、電話端末Aよりセッション情報の記載されたACKアンサーを受信する(S1010)。呼制御装置400は、このセッション情報を記載したACKアンサーを電話端末B宛に送信する(S1011)。以上にて、電話端末Aと電話端末Bのセッション情報が交換され、通話が開始となる。
図9を参照して、衝突呼接続中状態の呼制御装置における呼切断処理を説明する。図9において、呼制御装置400は、電話端末Aまたは電話端末Bがオンフック状態となることで送信される切断要求信号のBYEを受信する(S1101)。呼制御装置400は、切断者に対して200 OKを送信する(S1102)。呼制御装置400は、INVITE受信履歴情報テーブル500の中にある切断者発信のINVITEデータを削除する(S1103)。これにより切断者と呼制御装置400の区間のセッションが終了する。呼制御装置400は、被切断者に対してBYEを送信する(S1104)。呼制御装置400は、被切断者から200 OKを受信する(S1105)。呼制御装置400は、INVITE受信履歴情報テーブル500から被切断者発信のINVITEのデータを削除し(S1106)、被切断者と呼制御装置400のセッションを終了する。電話端末Aおよび電話端末Bのセッションが終了した後に、呼制御装置400は、衝突管理情報テーブル600より電話端末Aと電話端末Bの呼衝突データを削除し(S1107)、待機中に遷移する。
図10を参照して、通常呼接続中の呼制御装置における呼切断処理を説明する。図10において、呼制御装置400は、切断者よりBYEを受信する(S1201)。呼制御装置400は、切断者に対して200 OKを送信する(S1202)。呼制御装置400は、被切断者宛にBYEを送信する(S1203)。呼制御装置400は、被切断者より200 OKを受信する(S1204)。これで電話端末Aと衝突呼処理中の呼制御装置400との接続が切れるため、呼制御装置400は、最後にINVITE受信履歴情報テーブル500のINVITE(A→B)のデータを削除し(S1205)、待機中へ戻る。
以下、経由呼制御装置数1かつネットワーク外衝突と、経由呼制御装置数2かつネットワーク内衝突と、のそれぞれの衝突形態における実施例をSIPシーケンスを用いて説明する。
図11を参照して、経由呼制御装置数1かつネットワーク外衝突発生時の呼制御装置の衝突処理を説明する。図11において、電話端末100−aは、呼制御装置400にINIVTE(a→b)を送信する(S301)。電話端末100−bは、呼制御装置400にINIVTE(b→a)を送信する(S302)。呼制御装置400は、電話端末100−bにINIVTE(a→b)を送信する(S303)。呼制御装置400は、呼衝突を検出し、電話端末100−bに180Ringing(b→a)を送信する(S304)。呼制御装置400は、電話端末100−aに180Ringing(a→b)を送信する(S305)。電話端末100−bは、RBTを鳴動する(S306)。電話端末100−aは、RBTを鳴動する(S307)。電話端末100−bは、その時点で発信中であるため着信に応答できず、呼制御装置400に486BusyHere(a→b)を送信する(S308)。呼制御装置400は、発信電話端末である電話端末100−aには送信しないまま電話端末100−bにACK(a→b)を送信する(S309)。
電話端末100−bがACK(a→b)を受信することで呼制御装置400と電話端末100−bの区間の呼制御装置400からのINVITE(a→b)に始まるセッション確立処理は中止される。セッション確立処理は、電話端末100−aと呼制御装置400の区間は、電話端末100−aからのINVITE(a→b)によるセッション確立処理が、電話端末100−aと呼制御装置400の区間は電話端末100−bからのINVITE(b→a)によるセッション確立処理が、それぞれ続行される。
破線で囲われた部分、A、B、Cは、それぞれ、(A)2つのINVITEがセッション情報を含む場合、(B)INVITE(b→a)のみがセッション情報を含む場合、(C)2つのINVITEがどちらもセッション情報を含まない場合、による処理である。
(A)において、呼制御装置400は、電話端末100−aに電話端末100−bのセッション情報が含まれた200 OK(a→b)を送信する(S310)。呼制御装置400は、電話端末100−bに電話端末100−aのセッション情報が含まれた200 OK(b→a)を送信する(S312)。電話端末100−aは、呼制御装置400にACK(a→b)を送信する(S313)。電話端末100−bは、呼制御装置400にACK(b→a)を送信する(S314)。
(B)において、呼制御装置400は、電話端末100−aに電話端末100−bのセッション情報を含む200 OK(a→b)を送信する(S320)。電話端末100−aは、呼制御装置400に電話端末100−aのセッション情報を記載したACK(a→b)を送信する(S321)。呼制御装置400は、電話端末100−bに200 OK(b→a)を送信する(S322)。電話端末100−bは、呼制御装置400にACK(b→a)を送信する(S323)。
(C)において、呼制御装置400は、電話端末100−aにダミーのセッション情報を含む200 OK(a→b)を送信する(S330)。電話端末100−aは、呼制御装置400に電話端末100−aのセッション情報を記載したACK(a→b)を送信する(S331)。呼制御装置400は、電話端末100−aにセッション情報のないre‐INVITE(b→a)を送信する(S332)。電話端末100−aは、呼制御装置400に電話端末100−aのセッション情報が記載された200 OK(b→a)を送信する(S333)。呼制御装置400は、電話端末100−bに電話端末100−aのセッション情報が記載された200 OK(b→a)を送信する(S334)。電話端末100−bは、呼制御装置400に電話端末100−bのセッション情報を記載したACK(b→a)を送信する(S335)。呼制御装置400は、電話端末100−aに電話端末100−bのセッション情報を記載したACK(b→a)を送信する(S336)。
ステップS314、323、336のあと、電話端末100−aと電話端末100−bとの間の通話が開始される。
ステップS314、323、336のあと、電話端末100−aと電話端末100−bとの間の通話が開始される。
図12を参照して、経由呼制御装置数2かつネットワーク内衝突が発生したときの呼制御装置の衝突処理を説明する。ここで、INVITE(a→b)の200 OK送信優先度が高いものとする。また衝突処理継続判定においては200 OK送信優先度の高いINVITEを先に受信した呼制御装置が処理を停止するものとする。
図12において、電話端末100−aは、呼制御装置400−aにINVITE(a→b)を送信する(S351)。電話端末100−bは、呼制御装置400−bにINVITE(b→a)を送信する(S352)。呼制御装置400−bは、呼制御装置400−aにINVITE(b→a)を送信する(S353)。呼制御装置400−aは、呼制御装置400−bにINVITE(a→b)を送信する(S354)。INVITE(a→b)を受信した呼制御装置400−aは、衝突を検知し、呼制御装置400−bに180Ringing(b→a)を送信する(S355)。呼制御装置400−bは、衝突を検知し、電話端末100−bに180Ringing(b→a)を送信する(S356)。呼制御装置400−aは、電話端末100−aに180Ringing(a→b)を送信する(S357)。呼制御装置400−bは、呼制御装置400−aに180Ringing(a→b)を送信する(S358)。電話端末100−bは、RBTを鳴動する(S359)。電話端末100−aは、RBTを鳴動する(S360)。
180Ringing(a→b)を受信した衝突検知後の呼制御装置400−aと180Ringing(b→a)を受信した衝突検知後の呼制御装置400−bは、ネットワーク内衝突であると判断する。
図13ないし図15を参照して、図12以降のシーケンスを説明する。ここで、図13は、2つのINVITEにセッション情報を含む場合、図14は、INVITE(a→b)のみがセッション情報を含む場合、図15は、2つのINVITEのどちらもセッション情報を含まない場合、の処理シーケンスである。
図13において、呼制御装置400−aと呼制御装置400−bは、ともに衝突検知後であり、電話端末100−aと電話端末100−bのセッション情報を取得している。このため、呼制御装置400−aは、呼制御装置400−bに200 OK(b→a)を送信する(S381)。呼制御装置400−bは、電話端末100−bに200 OK(b→a)を送信する(S382)。呼制御装置400−aは、電話端末100−aに200 OK(a→b)を送信する(S383)。呼制御装置400−bは、呼制御装置400−aに200 OK(a→b)を送信する(S384)。
INVITE(a→b)の200 OK送信優先度が高いと判定した呼制御装置400−bは、呼制御装置400−aにCANCEL(b→a)を送信する(S385)。呼制御装置400−aは、呼制御装置400−bに200 OK(b→a)を送信する(S386)。呼制御装置400−aは、呼制御装置400−bに487RequestTerminated(b→a)を送信する(S387)。呼制御装置400−bは、呼制御装置400−aにACK(b→a)を送信する(S388)。呼制御装置400−aは、呼衝突処理を実施する必要がなくなったため衝突処理を停止する(S389)。電話端末100−aは、呼制御装置400−aにACK(a→b)を送信する(S390)。電話端末100−bは、呼制御装置400−bにACK(b→a)を送信する(S391)。呼制御装置400−aは、呼制御装置400−bにACK(a→b)を送信する(S392)。以上により、電話端末100−aと電話端末100−b間での通話が可能となる。
図14を参照して、電話端末100−aのセッション情報のみが取得できているシーケンスを説明する。図14において、呼制御装置400−aと呼制御装置400−bは、電話端末100−aのセッション情報のみを取得している。このため、呼制御装置400−bは、電話端末100−bに200 OK(b→a、SDP)を送信する(S401)。呼制御装置400−aは、呼制御装置400−bに200 OK(b→a、SDP)を送信する(S402)。呼制御装置400−bは、呼制御装置400−aにCANCEL(b→a)を送信する(S403)。呼制御装置400−aは、呼制御装置400−bに200 OK(b→a)を送信する(S404)。呼制御装置400−aは、呼制御装置400−bに487RequestTerminated(b→a)を送信する(S405)。呼制御装置400−bは、呼制御装置400−aにACK(b→a)を送信する(S406)。呼制御装置400−aは、呼衝突処理を実施する必要がなくなったため衝突処理を停止する(S407)。電話端末100−bは、呼制御装置400−bにセッション情報を含んだACK(b→a、SDP)を送信する(S408)。呼制御装置400−bは、呼制御装置400−aに、電話端末100−bのセッション情報を記載した200 OK(a→b、SDP)を送信する(S409)。呼制御装置400−aは、衝突処理を中止しているのでそのまま電話端末100−aに200 OK(a→b、SDP)を送信する(S410)。電話端末100−aは、呼制御装置400−aにACK(a→b)を送信する(S411)。呼制御装置400−aは、呼制御装置400−bにACK(a→b)を送信する(S412)。以上により、電話端末100−aと電話端末100−b間での通話が可能となる。
図15を参照して、2つのINVITEのどちらもセッション情報を含まない場合の処理シーケンスを説明する。図15において、ここでは、呼制御装置400−aが処理を中止し、400−bが処理を継続する。呼制御装置400−aは、電話端末100−aにダミーのセッション情報を含んだ200 OK(a→b、ダミーSDP)を送信する(S431)。呼制御装置400−bは、呼制御装置400−aにダミーのセッション情報を含んだ200 OK(a→b、ダミーSDP)を送信する(S432)。呼制御装置400−bは、呼制御装置400−aにCANCEL(b→a)を送信する(S433)。呼制御装置400−aは、呼制御装置400−bに200 OK(b→a)を送信する(S434)。呼制御装置400−aは、呼制御装置400−bに487RequestTerminated(b→a)を送信する(S435)。呼制御装置400−bは、呼制御装置400−aにACK(b→a)を送信する(S436)。呼制御装置400−aは、衝突処理を中止する(S437)。電話端末100−aは、呼制御装置400−aに電話端末100−aのセッション情報を記載したACK(a→b、SDP)を送信する(S438)。呼制御装置400−aは、呼制御装置400−bにACK(a→b、SDP)を送信する(S439)。
呼制御装置400−bは、電話端末100−aに電話端末100−bのセッション情報を伝えるために、呼制御装置400−aにre−INVITE(b→a)を送信して(S440)、セッションの更新を図る。呼制御装置400−aは、電話端末100−aにre−INVITE(b→a)を送信する(S441)。電話端末100−aは、呼制御装置400−aに、セッション情報を含む200 OK(b→a、SDP)を送信する(S442)。呼制御装置400−aは、呼制御装置400−bに200 OK(b→a、SDP)を送信する(S443)。呼制御装置400−bは、電話端末100−bに200 OK(b→a、SDP)を送信する(S444)。電話端末100−bは、呼制御装置400−bに、電話端末100−bのセッション情報の記載されたACK(b→a、SDP)を送信する(S445)。呼制御装置400−bは、呼制御装置400−aにACK(b→a、SDP)を送信する(S446)。呼制御装置400−aは、電話端末100−aにACK(b→a、SDP)を送信する(S447)。以上により、電話端末100−aと電話端末100−b間での通話が可能となる。
本実施例によれば、相互発信による呼衝突発生時でも通話が開始できる。また、既存電話サービスシステムに適用するにあたりユーザーへの負担がない。さらに、電話端末への置き換えを促す時間および費用が不要である。
100…電話端末、200…ネットワーク、400…呼制御装置、410…呼制御信号受信部、420…呼制御信号解析部、430…ユーザー情報検索部、440…ルーティング表保持部、450…呼制御信号編集部、460…呼制御信号送信部、470…呼衝突検知部、480…呼衝突処理部、500…INVITE受信履歴情報テーブル、600…衝突管理情報テーブル、700…通信システム。
Claims (5)
- 電話端末間の呼制御信号を中継し電話端末の接続処理を行う呼制御装置において、
呼制御信号を外部通信装置より受信する呼制御信号受信部と、
受信した呼制御信号の内容を解析する呼制御信号解析部と、
受信した呼制御信号の送信先を検索するユーザー情報検索部と、
前記呼制御信号解析部および前記ユーザー情報検索部より得られた情報をもとに呼制御信号を編集する呼制御信号編集部と、
呼制御信号を外部通信装置へ送信する呼制御信号送信部と、
接続処理中の呼の中に発信電話端末と着信電話端末との組み合わせが互いに逆の2つの呼の衝突が発生していることを検知する呼衝突検知部と、
前記呼衝突検知部が呼衝突を検知したとき、当該呼の接続処理を終了させることなく通話開始させるための制御を行う衝突処理部と、
を備える呼制御装置。 - 請求項1に記載の呼制御装置であって、
前記衝突処理部は、
衝突した当該呼を発信した電話端末と衝突を検知した当該呼制御装置の区間でセッションを確立させ、
衝突した2つの呼のそれぞれに対するセッションの確立を行い、
前記セッションの確立の過程において2つセッション間でのセッション情報の交換を行い、
当該衝突を検知した呼制御装置数の特定を行うことを特徴とする呼制御装置。 - 請求項2に記載の呼制御装置であって、
衝突を検知した呼制御装置数が1であったとき、接続処理を継続し、
衝突を検知した呼制御装置数が2であったとき、一方の呼制御装置は、接続処理を継続し、他方の呼制御装置は、接続処理を中止することを特徴とする呼制御装置。 - 請求項3に記載の呼制御装置であって、
当該呼制御装置間の判定が一意的であり、他方の当該呼制御装置が継続と判断する場合は当方の当該呼制御装置は中止と判断し、他方の当該呼制御装置が中止と判断する場合は当方の当該呼制御装置は継続と判断することを特徴とする呼制御装置。 - 請求項2に記載の呼制御装置であって、
接続要求信号内のセッション情報の有無に応じた接続処理とセッション情報交換を行うことを特徴とする呼制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087969A JP2015207924A (ja) | 2014-04-22 | 2014-04-22 | 呼制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087969A JP2015207924A (ja) | 2014-04-22 | 2014-04-22 | 呼制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015207924A true JP2015207924A (ja) | 2015-11-19 |
Family
ID=54604424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014087969A Pending JP2015207924A (ja) | 2014-04-22 | 2014-04-22 | 呼制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015207924A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338503A (zh) * | 2015-12-07 | 2016-02-17 | 海能达通信股份有限公司 | 一种呼叫处理方法及装置 |
US11239907B2 (en) | 2015-12-07 | 2022-02-01 | Hytera Communications Corporation Limited | Call processing method and device |
-
2014
- 2014-04-22 JP JP2014087969A patent/JP2015207924A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338503A (zh) * | 2015-12-07 | 2016-02-17 | 海能达通信股份有限公司 | 一种呼叫处理方法及装置 |
CN105338503B (zh) * | 2015-12-07 | 2019-01-15 | 海能达通信股份有限公司 | 一种呼叫处理方法及装置 |
US11239907B2 (en) | 2015-12-07 | 2022-02-01 | Hytera Communications Corporation Limited | Call processing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102253561B1 (ko) | 셀룰러 네트워크 상의 voip 콜 터널링 제어 | |
RU2509434C2 (ru) | Способ для переноса сеанса связи в телекоммуникационной сети первого соединения во второе соединение | |
WO2017028567A1 (zh) | 网络电话连接处理方法及装置 | |
US9456333B2 (en) | Centralized routing in hybrid networks | |
JP2007274170A (ja) | 通話再開システム、通話再開プログラム、通話再開方法、携帯端末および中継装置 | |
JP2015207924A (ja) | 呼制御装置 | |
JP2018182474A (ja) | Ip電話ネットワークシステム、親ゲートウェイ、子ゲートウェイ、およびip電話システム | |
KR100587945B1 (ko) | 호 전환 서비스 제공 방법 및 시스템 | |
KR101065560B1 (ko) | 착신 전환 시스템 및 그 제어 방법 | |
JP5670850B2 (ja) | メッセージ通知システム | |
JP4902683B2 (ja) | 通信システム、通信装置、および通信接続方法 | |
JP5530722B2 (ja) | メッセージ送信装置 | |
JP5853941B2 (ja) | 電話制御装置およびプログラム | |
JP2011024006A (ja) | 電話交換機システムおよび電話機切替方法 | |
KR102393653B1 (ko) | 호 처리를 위한 장치 및 방법 | |
JP2009267597A (ja) | 電話システム、位置情報サーバー、交換機、電話システム制御方法 | |
CN106330655A (zh) | 一种支持电路交换数据业务的无线通信方法及设备 | |
JP2012169720A (ja) | 呼制御装置、代理応答方法 | |
JP5551493B2 (ja) | サービス制御装置、ガイダンス制御システム、及びガイダンス制御方法 | |
JP2010158031A (ja) | 通信中継方法、通信中継プログラムおよび通信中継装置 | |
JP2012070084A (ja) | 音声メッセージによる着信通知機能を有する電話機 | |
JP2010171515A (ja) | 呼制御システム及び呼制御方法 | |
KR20090078593A (ko) | Sip와 3g-324m간의 영상 채팅 서비스 방법과이를 위한 변환기 | |
KR20190016726A (ko) | 전화 회의 제공 서버, 전화 회의 제공 시스템, 전화 회의 제공 방법 및 전화 회의 제공 애플리케이션을 저장하는 컴퓨터 판독가능한 저장매체 | |
JP2019096980A (ja) | 電話システム、電話制御装置、およびip内線端末 |