我用星号写了简单的拨号方案。这个拨号方案的目标是检查来电的caller-id和特定的挂机:)!
但此拨号方案会挂断所有具有不同呼叫者id的来电。
那我该怎么办?
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=yes
include "exten_gvars.inc"
[macro-queue]
exten => s, 1, Queue(${ARG1})
[default]
exten => s, 1, Answer
exten => s/9999, 2 ,Hangup
exten => s, 2, BackGround(welcome)
exten => s, 3, Macro(queue,operator) 编辑
我改变了我的拨号方案,但它不起作用,来电挂断两声嘟嘟声(我知道它发生了,因为我的拨号方案中的一个错误)!
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=yes
#include "exten_gvars.inc"
[macro-monitor]
exten => s, 1, MixMonitor(${UNIQUEID}.wav)
exten => s, 2, SetCIDName(${UNIQUEID}#${CALLERIDNAME},a)
[macro-defaultLine]
exten => s, 1, Macro(monitor)
exten => s, 2, Dial(SIP/${ARG1},60,T)
[macro-queue]
exten => s, 1, Macro(monitor)
exten => s, 2, Queue(${ARG1})
[inbound]
exten => _XX, 1, Macro(defaultLine,${EXTEN})
[default]
exten => 123,1,GotoIf($[${CALLERID(num)} = XX]?reject:allow)
exten => 123,n(allow),Answer
exten => 123,n,BackGround(welcome)
exten => 123,n,Macro(queue,operator)
exten => 123,n(reject),BackGround(WTF)
exten => 123,n,Hangup()
include => inbound发布于 2010-09-13 14:13:34
这是你的反前女友Dailplan,假设xxxxx是你的前女友编号
exten => 123,1,GotoIf($[${CALLERID(num)} = xxxxx]?reject:allow)
exten => 123,n(allow),Dial(Zap/4)
exten => 123,n,Hangup()
exten => 123,n(reject),Playback(abandon-all-hope)
exten => 123,n,Hangup()希望这能对你有所帮助
发布于 2010-09-02 15:08:02
您没有针对其他呼叫者is的步骤2,并且启用了自动回落,这意味着(在1.6中)呼叫将在步骤1之后掉线。
[default]
exten => s, 1, Answer
exten => s/9999, 2 ,Hangup
exten => s, 2, NoOp
exten => s, 3, BackGround(welcome)
exten => s, 4, Macro(queue,operator) 编辑:您确定callerID是EXACTELLY9999吗?尝试将该行替换为
exten => s, 2, NoOp((${CALLERID(all)})然后查看控制台,看看callerID是什么。
使用:
asterisk -r 然后输入:
core set verbose 5另外,输入:
show dialplan并查看拨号方案是否正确加载到星号中
发布于 2013-11-05 08:53:20
首先,看起来您并不真正了解星号拨号方案是如何工作的。你放在那里的代码块是完全错误的,星号不会抱怨的-因为dialplan不应该这样做。
让我们逐一分析:
[macro-queue]
exten => s, 1, Queue(${ARG1})
[default]
exten => s, 1, Answer
exten => s/9999, 2 ,Hangup
exten => s, 2, BackGround(welcome)
exten => s, 3, Macro(queue,operator) 上面错误的原因是因为你不能在扩展的一行上放一个CALLERID匹配--它应该是完全匹配的。因此,从技术上讲,您需要:
[macro-queue]
exten => s, 1, Queue(${ARG1})
[default]
exten => s/9999, 1, Answer
exten => s/9999, 2 ,Hangup
exten => s/9999, 2, BackGround(welcome)
exten => s/9999, 3, Hangup
exten => s, 1, Answer
exten => s, 2 ,Hangup
exten => s, 2, BackGround(welcome)
exten => s, 3, Macro(queue,operator) 现在,这不是一种正确的方法-因为您将一遍又一遍地复制代码行。正确的方法与前面的答案非常相似,然而,我会这样做:
exten => s, 1, Answer
exten => s, n, Gotoif($["${CALLERID(num)}" = "9999"]?reject:continue)
exten => s, n(continue), Background(Welcome)
exten => s, n, Macro(queue, operator)
exten => s, n(reject), Hangup()现在,您可以扩展您想要阻止的各种CALLERID号码。再说一次,假设这就是你想要的结果。
https://stackoverflow.com/questions/3624458
复制相似问题