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

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

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
В чем тут может быть ошибка?

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

спросил 2011-03-16 14:52:29 +0400

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

обновил 2011-03-17 15:24:34 +0400

meral Gravatar meral flag of Ukraine
21228 24 19 169
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

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

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

ответил 2011-03-16 19:53:19 +0400

meral Gravatar meral flag of Ukraine
21228 24 19 169
http://pro-sip.net/

обновил 2011-03-16 20:01:09 +0400

Comments

! - 0 или более любых знаков, . - 1 или более любых знаков. одинаково не работает в данном случае :) erizo ( 2011-03-16 21:06:58 +0400 )редактировать
вы имеете ввиду базу номеров и лукап по ней? erizo ( 2011-03-16 21:12:18 +0400 )редактировать
ага. лукап по мускл через реалтайм(без скриптов) meral ( 2011-03-16 21:50:37 +0400 )редактировать
мы не реализовывали реалтайм. так что мой вариант - блокировать через диалплан erizo ( 2011-03-16 21:52:21 +0400 )редактировать
у меня рутинг в диалплане реализован с помощью макроса. Я так понимаю в этом случае предложенный выше вариант не будет работать, тк Gosub не умеет возвращать управление макросу? erizo ( 2011-03-16 22:28:29 +0400 )редактировать
первый раз слышу. а вааобще какая разница. вот смотрите, вы послыаете гоусаб, потом ретурн - и после него нет следов того что госуб вообще был. а дальше пишите как обычно. meral ( 2011-03-17 15:23:42 +0400 )редактировать
а, те Return вернет меня на след приоритет после GoSub? В документации написано "Return from a Gosub or GosubIf " но не сказано куда. и ${CALLERID(num)} num - это что? так и оставить просто num? erizo ( 2011-03-17 15:54:38 +0400 )редактировать
0

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

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

ответил 2011-03-16 18:15:15 +0400

amonra Gravatar amonra flag of Ukraine
2261 24 13 63
http://lantec.ua/

Comments

он не на *, это транзитный трафик через *. ему можно звонить определенное кол-во минут в сутки, потом он блокируется. erizo ( 2011-03-16 18:23:25 +0400 )редактировать
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

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

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

ответил 2011-03-17 17:07:01 +0400

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

обновил 2012-04-03 14:21:46 +0400

Ваш ответ

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 ленту новостей

Статистика

Задан: 2011-03-16 14:52:29 +0400

Просмотрен: 753 раз

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

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