Приоритеты звездочки, которые имеют возможность совпадения - PullRequest
0 голосов
/ 30 августа 2011

Я хочу иметь возможность изолировать только бесплатные номера из моей абонентской группы и затем направлять через SIP вместо локальной магистрали.У меня вопрос о приоритетной нумерации, и кажется, что бесплатный номер также совпадет с расширением соединительной линии.

В настоящее время: `

 exten => _1XXXXXXXXXX,1,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)

 exten => _1XXXXXXXXXX,n,Dial(${TRUNK_OB}/${EXTEN:0:11})

 exten => _1XXXXXXXXXX,n,Hangup

`

Я хочубыть в состоянии добавить:

exten => _1800NXXXXXX,1,Dial(SIP/sip.server.com/${EXTEN})

(а также 888, 855, 877 и 866)

, но бесплатный номер совпадает с набором номера соединительной линии.

Если я установлю добавление в качестве Приоритета 2, а затем установлю магистральный набор как Приоритет 3, будет ли он только набирать SIP и пропускать магистраль, или возможно ли иметь их обоих как Приоритет 1, а затем, еслибесплатный звонок, только наберите SIP?

Я посмотрел везде и не могу прийти к выводу.Любой совет будет принята с благодарностью !!

1 Ответ

0 голосов
/ 02 сентября 2011

В вашем примере вы перезаписываете приоритет 1, и диалплан продолжается с приоритетом 2 в рамках "более широкого" шаблона расширения. В вашем случае, когда вы наберете 18001234567, будет выполнен следующий план набора:

exten => _1800NXXXXXX,1,Dial(SIP/sip.server.com/${EXTEN})
exten => _1XXXXXXXXXX,2,Dial(${TRUNK_OB}/${EXTEN:0:11})
exten => _1XXXXXXXXXX,3,Hangup

SetCallerID () перезаписывается бесплатным расширением. Есть два способа решения этой проблемы:

  1. Перезаписать расширение 2, а не 1

    exten => _1XXXXXXXXXX,1,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)
    exten => _1XXXXXXXXXX,n,Dial(${TRUNK_OB}/${EXTEN:0:11})
    exten => _1XXXXXXXXXX,n,Hangup
    ; overwrite priority 2 (Dial) for toll free numbers
    exten => _1800NXXXXXX,2,Dial(SIP/sip.server.com/${EXTEN})
    

    Возможно, это не самое чистое решение, поскольку при перемещении кода вы запутаетесь в приоритетах.

  2. Установите переменную "dialstring" в приоритете 1, которую вы можете перезаписать и использовать позже.

    exten => _1XXXXXXXXXX,1,Set(DIALOUTSTRING=${TRUNK_OB}/${EXTEN:0:11})
    exten => _1XXXXXXXXXX,n,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)
    exten => _1XXXXXXXXXX,n,Dial(${DIALOUTSTRING})
    exten => _1XXXXXXXXXX,n,Hangup
    ; use another dialout for toll free numbers
    exten => _1800NXXXXXX,1,Set(DIALOUTSTRING=SIP/sip.server.com/${EXTEN})
    
...