Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

не работает шаблон блокировки номера

0

Привет!
Есть номер, скажем это +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
В чем тут может быть ошибка?

спросил Mar 16 '11

erizo Gravatar erizo
71 10 3 11
http://www.telefant.ee/

обновил Mar 17 '11

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

3 Ответа

1

а почему

_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

а вообще такое я пишу обычно через лукап в базе по номеру и посыланиювсего что не нашлося. да я знаю что база нагружаеться - для этого есть кеширование. и у мускл оно получше чем у астриска.

ссылка удалить спам редактировать

ответил Mar 16 '11

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил Mar 16 '11

Comments

! - 0 или более любых знаков, . - 1 или более любых знаков. одинаково не работает в данном случае :) erizo (Mar 16 '11)edit
вы имеете ввиду базу номеров и лукап по ней? erizo (Mar 16 '11)edit
ага. лукап по мускл через реалтайм(без скриптов) meral (Mar 16 '11)edit
мы не реализовывали реалтайм. так что мой вариант - блокировать через диалплан erizo (Mar 16 '11)edit
у меня рутинг в диалплане реализован с помощью макроса. Я так понимаю в этом случае предложенный выше вариант не будет работать, тк Gosub не умеет возвращать управление макросу? erizo (Mar 16 '11)edit
первый раз слышу. а вааобще какая разница. вот смотрите, вы послыаете гоусаб, потом ретурн - и после него нет следов того что госуб вообще был. а дальше пишите как обычно. meral (Mar 17 '11)edit
а, те Return вернет меня на след приоритет после GoSub? В документации написано "Return from a Gosub or GosubIf " но не сказано куда. и ${CALLERID(num)} num - это что? так и оставить просто num? erizo (Mar 17 '11)edit
0

А зачем этот номер на * нужен если ему никуданельзя звонить ?

ссылка удалить спам редактировать

ответил Mar 16 '11

amonra Gravatar amonra flag of Ukraine
2301 26 13 65
http://lantec.ua/

Comments

он не на *, это транзитный трафик через *. ему можно звонить определенное кол-во минут в сутки, потом он блокируется. erizo (Mar 16 '11)edit
0
[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

вот так все заработало. спасибо за помощь! :)

ссылка удалить спам редактировать

ответил Mar 17 '11

erizo Gravatar erizo
71 10 3 11
http://www.telefant.ee/

обновил Apr 3 '12

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Mar 16 '11

Просмотрен: 1,076 раз

Обновлен: Apr 03 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.