Звездочка против бывшей подруги План набора? - PullRequest
7 голосов
/ 02 сентября 2010

Я написал простой план набора в звездочке.Цель этой абонентской группы - проверить идентификатор вызывающего абонента для входящего звонка и для определенного зависания :)!

, но это зависание абонентской группы для всех входящих звонков с другим идентификатором вызывающего абонента.
Так что мне делать?; (

   [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

Ответы [ 4 ]

13 голосов
/ 13 сентября 2010

Вот ваша анти-бывшая подруга Дейлплан, предполагая, что 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()

Надеюсь, это поможет вам

3 голосов
/ 02 сентября 2010

У вас нет шага 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) 

Edit: Вы уверены, что callerID - это ТОЧНО 9999? Попробуйте заменить эту строку на

exten => s, 2, NoOp((${CALLERID(all)})

затем загляните в консоль и посмотрите, что такое callerID.

использование:

 asterisk -r 

затем введите:

 core set verbose 5

также введите:

show dialplan

и посмотрите, правильно ли загружена диалплан в звездочку

0 голосов
/ 27 марта 2014

Все довольно просто:

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

    exten => s,1,Answer  
    exten => s,2,BackGround(welcome)  
    exten => s,3,Macro(queue,operator)  
0 голосов
/ 05 ноября 2013

Прежде всего, может показаться, что вы не совсем понимаете, как работает диалплан Asterisk. Кодовый блок, который вы поставили, просто неверен, Asterisk не будет жаловаться - так как диалплан не должен этого делать.

Давайте рассмотрим по одному:

[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, которые хотите заблокировать. Опять же, предполагая, что это результат, которого вы хотели достичь.

...