Asterisk 星号反前女友拨号计划?

Asterisk 星号反前女友拨号计划?,asterisk,Asterisk,我用星号写了简单的拨号计划。此拨号计划的目标是检查来电的呼叫者id和特定的挂断:) 但此拨号计划会挂断所有具有不同呼叫者id的来电。 那我该怎么办;( 编辑 我改变了我的拨号计划,但它不工作,来电挂断后,两个嘟嘟声(我知道它发生了,因为我的拨号计划错误) 您没有针对其他被叫方的步骤2,并且启用了AutoFalltHough,这意味着(在1.6中)在步骤1之后将放弃呼叫 [default] exten => s, 1, Answer exten => s/9999, 2 ,Hangup

我用星号写了简单的拨号计划。此拨号计划的目标是检查来电的呼叫者id和特定的挂断:)

但此拨号计划会挂断所有具有不同呼叫者id的来电。
那我该怎么办;(

编辑

我改变了我的拨号计划,但它不工作,来电挂断后,两个嘟嘟声(我知道它发生了,因为我的拨号计划错误)


您没有针对其他被叫方的步骤2,并且启用了AutoFalltHough,这意味着(在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) 
编辑: 你确定被叫人是9999吗? 试着把那条线换成

exten => s, 2, NoOp((${CALLERID(all)})
然后在控制台中查看callerID是什么

使用:

 asterisk -r 
然后输入:

 core set verbose 5
此外,请输入:

show dialplan

看看拨号计划是否正确加载到星号中,这是你的反前女友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()

希望这能帮助你

首先,你似乎并不真正了解星号拨号计划的工作原理。你在那里设置的代码块完全错误,星号不会抱怨-因为拨号计划不应该这样做

让我们逐一检查:

[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号码。再次假设这是您希望实现的结果。

非常简单:

[default]  
    exten => s/9999,1,Hangup  

    exten => s,1,Answer  
    exten => s,2,BackGround(welcome)  
    exten => s,3,Macro(queue,operator)  

我像你说的那样更改了我的拨号计划。但是现在9999号码的呼叫没有挂断,所有呼叫都与9999号码相同,请转到后台步骤。谢谢,但是有没有解决方案可以查看来电或在线呼叫的来电显示。我检查我的voip网关并查看号码,然后在我的拨号计划中输入该号码。谢谢你的关注NoOp(${CallerID(all)})将在执行该步骤时在星号控制台上显示呼叫者id。因此,让我更难回答这个问题!!!!如果9999呼叫,请先听到声音文件,然后挂断。请将您的问题表述为比“我该怎么办?”如果这不是一个编程问题,也许是一个更好的地方。我不明白这个答案是如何获得如此多的选票的。我一直看到这种拨号计划。伙计们,当你有两个前女友或50个时会发生什么?你需要为一个号码筛选多少次。通常是一个号码列表和前缀列表。GotoIf将ot工作。按预期使用拨号计划,或者如果您想编程,可以使用AGI脚本。
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()
[default]  
    exten => s/9999,1,Hangup  

    exten => s,1,Answer  
    exten => s,2,BackGround(welcome)  
    exten => s,3,Macro(queue,operator)