DTMF (Dual Tone Multiple Frequency) は、電話機でダイヤルする際に
使用される音の信号です。日本ではプッシュ回線(プッシュボタン電話機)で
使用されるので、PB信号と呼ばれています。
DTMF信号はコール接続時に、相手の電話番号を指定するために使用されるだけでなく、
通話中に音声応答のアプリケーション(配送業者の荷物再配達予約など)で、情報を
入力するためにも使用されます。
ここでは、DTMFの原理の説明と、問題への対処方法について解説します。
1.DTMF について
DTMF信号は低群の音(697Hz、770Hz、852Hz、941Hz)と高群の音(1209Hz、1336Hz、
1477Hz、1633Hz)の組合せで構成されます。電話では1633Hzは使用されないので、
4x3=12種類の信号を表すことができます。
2.VoIPシステムの課題
VoIPでは、音の信号はデジタル化され圧縮されて伝送されます。G.711(64Kbps)の
コーデックを使用する場合、DTMF信号は圧縮による劣化がないため、音として伝送
することが可能です。しかし、G.729(8Kbps)のコーデックの場合、音声の圧縮による
信号の劣化が発生し、DTMFを伝送するのが難しくなります。
この問題に対処するため、VoIP機器では DSP(Digital Signal Processor)を用いて
DTMFを検出し、内部的にデータとして伝送する方法(DTMF Relay)を行います。
DTMF自体はアナログの音の信号であるため、送信する機器による品質のバラつき、
伝送回線による劣化等の影響を受けます。また、電話、PBX装置で生成される
保留音には、DTMFに近い音を含んだものも存在します。
そのため、DSPが音の処理を行う際、DTMFを正しく検出できなかったり、保留音再生時に
誤ってDTMFを検出してしまう問題が発生することがあります。
3.VoIPシステムで発生する問題(DTMFの誤検出の事例)
Voice GWまたはCUBE経由での外線通話において音切れが発生する場合があります。
特定の保留音が聞こえている場合にのみ事象が発生する場合、VoiceGWまたはCUBEで
DTMFの誤検出が発生している可能性も考えられます。
この問題の調査を行うには、対象の保留音の解析が必要になります。
まず最初に、Voice GWのPCMキャプチャ機能、Wireshark等のツールを用いて、
音声データをWAVEファイル形式で保存します。
WAVEファイルの解析は専用のツール(WAVEファイルエディタ)で行います。
(本資料では、Audacityを使用した解析例を紹介します。)
上図はユーザが使用されている保留音の一部をWAVEファイルエディタで開いたところです。
DTMF信号との比較のために、左側の部分に、DTMF信号を挿入しています。
上図ではWAVEファイルエディタの表示を、音量表示からスペクトルグラム表示に切り替えています。
縦軸は周波数で、色の白い部分が大きな音量であることを示しています。
この保留音は、DTMF信号の "#" 音(941Hz、1477Hz)の成分を含んでいることが
分かります。
この問題に対処するには、保留音の送信元において音源ファイルを変更し、DTMF成分を
含まない保留音に変更する必要があります。
まとめ
DTMFに関する問題に対処するには、信号の音の解析が必要になる場合があります。
保留音が、DTMF信号の成分を含んでいるような事例では、Voice GW、CUBEでの
誤検出を防ぐ適切な手段がありません。
Voice GWのPCMキャプチャ機能、Wireshark等のツールで音を録音し、
市販のWAVEファイルエディタを活用して解析を行ってください。