首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止拨号方案连续重复的星号拨号方案

防止拨号方案连续重复的星号拨号方案
EN

Stack Overflow用户
提问于 2014-09-01 20:20:40
回答 2查看 2.1K关注 0票数 0

我的diaplan中有以下宏,每次有来电时都会执行该宏。

问题是,它正在无限期地重复自己。我希望它重复3次,如果没有来自用户的输入,它应该说再见并退出。有谁能帮我一下这个吗?

谢谢

代码语言:javascript
复制
[macro-test]   
;exten => s,1,Answer()   
;exten => s,n,Wait(2)   
exten => s,1,Set(AGISIGHUP=no)   
exten => s,n,NoOp(AGISUGHUP: ${AGISIGHUP})   
exten => s,n,Set(CALLED=${MACRO_EXTEN})   
exten => s,n,Set(CALLER=${CUT(CUT(SIP_HEADER(From),@,1),:,2)})  
exten => s,n(action),Set(EXIT=0)  
exten => s,n,Set(TOKEN="")    
exten => s,n,Set(INIT="true")   
exten => s,n,While($[${EXIT}<1])   
exten => s,n,Set(EXIT=1)   
exten => s,n,Agi(agi://${ARG1}/server.agi?caller=${CALLER}&called=${CALLED}&init=${INIT})   
exten => s,n,Set(INIT="false")   
exten => s,n,NoOp(AGISTATUS: ${AGISTATUS})    
exten => s,n,GotoIf($["${AGISTATUS}" != "SUCCESS"]?fail:succ)   
exten => s,n(succ),EndWhile()   
exten => s,n,Set(INIT="end")   
exten => s,n,Agi(agi://${ARG1}/server.agi?caller=${CALLER}&called=${CALLED}&init=${INIT})   
exten => s,n,Hangup()   
exten => s,n(fail),Wait(2)   
exten => s,n,Playback(vm-goodbye)   
exten => s,n,Hangup()   

exten => h,1,NoOp(Notify Billing System)   
exten => h,n,NoOp(Other Tasks)   
exten => h,n,Hangup()   
EN

回答 2

Stack Overflow用户

发布于 2014-09-02 05:05:55

简单循环拨号方案

代码语言:javascript
复制
exten =>s ,1,Set(loop=3)
exten =>s,n(loop),Noop(loop start here)
exten =>s,n,Noop(do something here)
exten =>s,n,Set(loop=$[ ${loop} - 1 ]);decrease loop countr
exten =>s,n,GotoIf($[ ${loop} > 0 ]?loop); if still have something, do again
票数 0
EN

Stack Overflow用户

发布于 2014-10-24 10:23:36

扩展=> h,n,挂起()

当你已经挂断的时候,不要打电话给hangup。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25605738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档