Привет!
Есть номер, скажем это +3726893167. И ему нельзя звонить никуда через наш астериск. Написал такой шаблон, те при звонке на любой номер(_X!) с номера 6893167 в любой его вариации(с кодом, 00 и без) должен прийти сигнал 503 и затем трубка должна положиться.
Однако номер звонит и дальше.
exten => _X!/003726893167,1,Congestion
exten => _X!/003726893167,2,Hangup
exten => _X!/3726893167,1,Congestion
exten => _X!/3726893167,2,Hangup
exten => _X!/6893167,1,Congestion
exten => _X!/6893167,2,Hangup
если написать не _X!, а прописать префикс, например _372. , то все работает, однако таких префиксов много и писать их в ручную проблематично и непрактично. Сокращение префикса до _37. уже не работает, звонок проходит.
Версия * 1.4.29
В чем тут может быть ошибка?
а почему
_X!
если должно быть
_X.
?
вообще метод какойто странный. сделайте так гдето
[in] exten = > _X.,1,Gosub(checkcid,${CALLERID(num)},1) exten = > _X.,2,Dial(кудато) [checkcid] include => checkcid_cidok exten => 3726893167,1,Congestion(2) [checkcid_ok] exten => _X.,1,Return exten => s,1,return; no cid
а вообще такое я пишу обычно через лукап в базе по номеру и посыланиювсего что не нашлося. да я знаю что база нагружаеться - для этого есть кеширование. и у мускл оно получше чем у астриска.
А зачем этот номер на * нужен если ему никуданельзя звонить ?
[checkcid] include => checkcid_ok exten => 3726666666,1,Hangup exten => 0055555555,1,Hangup [checkcid_ok] exten => _X.,1,Return exten => s,1,Return; no cid [phones] include => internal exten => _372.,1,macro(donabor) [macro-donabor] exten => s,1,Gosub(checkcid,${CALLERID(num)},1) exten => s,2,GoTo(sky_test,${MACRO_EXTEN},1) [sky_test] exten => 3727000000,1,DIAL(SIP/3727044444,15) exten => 3727000000,2,DIAL(SIP/3726000000,50) exten => 3727000000,3,Hangup
вот так все заработало. спасибо за помощь! :)
Задан: 2011-03-16 14:52:29 +0400
Просмотрен: 1,148 раз
Обновлен: Apr 03 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.