加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在拨号方案中获取dtmf值

发布时间:2020-12-13 17:13:10 所属栏目:PHP教程 来源:网络整理
导读:我有一个拨号方案,其中我想要的是,如果用户按任意键然后再次播放文件但我无法理解如何在拨号方案中获得dtmf值. 这是我的拨号方案: [callme] exten = s,1,Answer exten = s,n,Playback(demo/${FILENAME1}) 首先如何获得DTMF值,如果用户按任意键,则应该执行2
我有一个拨号方案,其中我想要的是,如果用户按任意键然后再次播放文件但我无法理解如何在拨号方案中获得dtmf值.
这是我的拨号方案:

[callme]  
exten => s,1,Answer 
exten => s,n,Playback(demo/${FILENAME1})

首先如何获得DTMF值,如果用户按任意键,则应该执行2次播放.但我想使用dialplan管理所有这些事情.

解决方法

你可以使用WaitExten [1]来做到这一点:

[callme]  
exten => s,Playback(demo/${FILENAME1})
exten => s,WaitExten(3)
exten => s,Goto(s,1)
exten => 1,Noop(user pressed 1)
exten => 1,Goto(however-shall-go-to-when-pressed-1)
exten => 2,Noop(user pressed 2)
exten => 2,Goto(however-shall-go-to-when-pressed-2)

使用扩展模式[2]:

[callme]  
exten => s,1)
exten => X,Noop(user pressed ${EXTEN})
exten => X,Goto(however-shall-go-to-when-pressed-${EXTEN})

这正是你要求的:

[callme]  
exten => s,WaitExten(3) 
exten => s,NoOp(going on - no dtmf detectd)
exten => X,1)

另外看看背景星号应用[3].

参考文献:

[1] http://www.voip-info.org/wiki/view/Asterisk+cmd+WaitExten

[2] http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns

[3] http://www.voip-info.org/wiki/view/Asterisk+cmd+BackGround

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读