アスタリスクでDISAを設定しています。私がやりたいことは、アスタリスクが DTMF を受信している間に発信者に音楽を再生することです。「#」の DTMF を受信すると、DTMF の再生が停止します。
私はbackground()とplayback()コマンドを使ってみましたが、目的を果たしません!
何か案は?
氏族長
phpagiを使ってみることができます。fastpass_get_data という関数があり、サウンドを再生しながら dtmf 入力を取得できます。
http://phpagi.sourceforge.net/phpagi22/api-docs/phpAGI/AGI.html#fastpass_get_data
組み込みのDISAアプリケーションを使用するだけではニーズを満たせないと思います。もしそうなら、それを使ってください。
アスタリスクをプログラムする方法はいくつかあります。通常のダイヤルプラン、aelダイヤルプラン、AGI、AMIを使用でき、Cで独自のモジュールを作成することもできます。
ダイヤルプランでより多くのことを実行できますが、多くの場合、AGIを介して実際の言語を使用すると、コードが読みやすくなります。
ダイヤルプランアプリケーションStartMusicOnHold、StopMusicOnHold、およびReadまたはWaitExtenのいずれかを使用すると、必要なことを実行できるはずです。アスタリスク-rx'コアショーアプリケーションStartMusicOnHold'などを実行して、それぞれについて読みます。
基本的には、StartMusicOnHoldを実行し、完了するまでReadまたはWaitExtenを使用して数字を収集し(おそらくチャネル変数に収集します)、StopMusicOnHoldを実行します。