1

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

我曾尝试使用背景()和回放()命令,但它们没有达到目的!

有任何想法吗?

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,您应该能够做您想做的事情。运行 asterisk -rx 'core show application StartMusicOnHold' 等,以了解其中的每一个。

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

于 2012-06-17T16:14:59.440 回答