1

アスタリスクでDISAを設定しています。私がやりたいことは、アスタリスクが DTMF を受信して​​いる間に発信者に音楽を再生することです。「#」の DTMF を受信すると、DTMF の再生が停止します。

私はbackground()とplayback()コマンドを使ってみましたが、目的を果たしません!

何か案は?

氏族長

4

2 に答える 2

2

phpagiを使ってみることができます。fastpass_get_data という関数があり、サウンドを再生しながら dtmf 入力を取得できます。

http://phpagi.sourceforge.net/phpagi22/api-docs/phpAGI/AGI.html#fastpass_get_data

于 2012-06-18T08:10:06.043 に答える
1

組み込みのDISAアプリケーションを使用するだけではニーズを満たせないと思います。もしそうなら、それを使ってください。

アスタリスクをプログラムする方法はいくつかあります。通常のダイヤルプラン、aelダイヤルプラン、AGI、AMIを使用でき、Cで独自のモジュールを作成することもできます。

ダイヤルプランでより多くのことを実行できますが、多くの場合、AGIを介して実際の言語を使用すると、コードが読みやすくなります。

ダイヤルプランアプリケーションStartMusicOnHold、StopMusicOnHold、およびReadまたはWaitExtenのいずれかを使用すると、必要なことを実行できるはずです。アスタリスク-rx'コアショーアプリケーションStartMusicOnHold'などを実行して、それぞれについて読みます。

基本的には、StartMusicOnHoldを実行し、完了するまでReadまたはWaitExtenを使用して数字を収集し(おそらくチャネル変数に収集します)、StopMusicOnHoldを実行します。

于 2012-06-17T16:14:59.440 に答える