星号在等待DTMF时播放音乐

时间:2012-06-17 15:20:20

标签: asterisk dtmf

我正在用星号设置DISA。 我想做的是在星号接收DTMF时向呼叫者播放音乐。 当DTMF收到“#”

的DTMF时,它将停止播放

我尝试过使用background()和playback()命令,但它们没有达到目的!

任何想法?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用phpagi。有一个名为fastpass_get_data的函数,你可以在播放声音时获得dtmf输入。

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

答案 1 :(得分:1)

我假设只使用内置的DISA应用程序无法满足您的需求。如果是,请使用它。

有不同的方法来编写星号。您可以使用普通的拨号方案,ael拨号方案,AGI,AMI,甚至可以用C语言编写自己的模块。

您可以在拨号方案中做更多事情,但通常通过AGI使用真实语言会产生更易读的代码。

使用拨号方案应用程序StartMusicOnHold,StopMusicOnHold以及Read或WaitExten,您应该能够做您想做的事情。运行asterisk -rx'核心节目应用程序StartMusicOnHold'等,阅读其中的每一个。

你基本上想要运行StartMusicOnHold,然后使用Read或WaitExten收集数字直到你完成(可能将它们收集到一个通道变量中),然后运行StopMusicOnHold。