はじめに
FXO インタフェースは、Voice GW 装置をアナログ電話回線 (公衆電話網、PBX の内線等) に接続する際に使用されます。
電話回線の場合、接続相手がコールを切断した際、Voice GW は回線の極性反転を検出することにより、コールの切断処理を行います。
PBX 装置の内線 (ライン) 等は、極性反転をサポートしていない場合があり、接続する際は注意が必要です。対策としては、PBX 装置から提供される切断トーンを検出してコールの切断処理を行う方法があります。
本ドキュメントでは、 Voice GW での Supervisory Tone Disconnect (STD) 機能を用いたコールの切断方法について解説します。
1.FXO 回線でよく発生する問題
FXO 回線からの着信時、発信側の電話機がコールを切断した際に着信側の電話機が鳴り続ける事象が発生することがあります。
この事象は、Voice GW が PBX 装置からの極性反転、切断トーン等の信号を正しく検出できていないために発生します。
参考ドキュメント: Understanding FXO Disconnect Problem
2.PBXからの切断トーンの確認
PBX装置が極性反転をサポートしていない場合、Voice GWの Supervisory Tone Disconnect 機能を用いて切断トーンを検出できるように設定します。
(PBX業者に確認)
コール切断時にPBX装置から提供される切断トーンについて以下の情報を
PBX業者から入手します。
・切断トーンの周波数
・切断トーンのケーデンス(オン、オフの間隔)
(録音による確認)
PBX業者から情報を入手できない場合、実際に切断トーンを録音して
解析することになります。市販の、電話録音アダプタを用いて切断トーンを
WAVEファイル形式で録音します。
録音したWAVファイルを、Audacity等のツールを用いて解析します。
ケーデンスの解析例
周波数の解析例
備考1:上記の例では、解析しやすいようにサンプリングレートを8000Hz、
音量をdB (デシベル) 表示にしています。
備考2:上記の解析例では切断トーンの周波数は400Hz、
ケーデンスは0.5秒オン、0.5秒オフのパターンになります。
備考3:NTT電話網の場合、上記の例と同様に、切断トーンの周波数は400Hz、
ケーデンスは0.5秒オン、0.5秒オフのパターンになります。
技術参考資料:電話サービスのインタフェース
3. Supervisory Tone Disconnect の設定例
以下は、切断トーンの周波数が 400 Hz、ケーデンスが 0.5 秒オン、
0.5 秒オフの場合の、STDによる切断の設定例です。
voice class custom-cptone JAPAN dualtone busy frequency 400 cadence 500 500 dualtone ringback frequency 400 cadence 1000 2000 dualtone disconnect frequency 400 cadence 500 500 ! voice-port 1/0/0 cptone JP timeouts call-disconnect 5 timeouts wait-release 5 supervisory disconnect dualtone mid-call supervisory custom-cptone JAPAN no battery-reversal |
備考:timeouts call-disconnect の値を小さくすれば早く切断する事ができますが、
小さくしすぎると、切断トーンの誤検出で切断される場合があります。
4.Supervisory Tone Disconnectの動作確認
アナログポートの動作は、Voice GW の debug 機能で確認できます。
(debugコマンド: debug vpm signal、 debug voip vtsp all、debug voip ccapi inout)
STDでコールが切断された場合、以下のような debug ログが出力されます。
*Apr 7 10:07:32.436: //49/CF9143F38074/VTSP:(0/1/3):-1:1:1/vtsp_dsm_media_event_cb: Event=E_DSMP_DSP_SUP_TONE *Apr 7 10:07:32.436: htsp_process_event: [0/1/3, FXOLS_PROCEEDING, E_DSP_SUP_DISCONNECT]fxols_incoming_sup_disc *Apr 7 10:07:32.436: htsp_timer2 - 5000 msec *Apr 7 10:07:37.436: htsp_process_event: [0/1/3, FXOLS_PROCEEDING, E_HTSP_EVENT_TIMER2]fxols_disc_confirm |
まとめ
FXO インタフェースを使用する場合、接続する機器に応じて設定を変更する
必要があります。
PBX装置が極性反転をサポートしない場合、本ドキュメントを参考に
設定を行ってください。