VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Черный список не срабатывает

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

fecyt
Сообщения: 148
Зарегистрирован: 17 янв 2017, 17:51

Re: Черный список не срабатывает

Сообщение fecyt »

Вы, лучше, скиньте лог, где у Вас в конфигурации, описанной выше, срабатывает постоянно блэклист.
Заодно и вывод "database show".
andrystepa
Сообщения: 17
Зарегистрирован: 03 апр 2014, 09:57

Re: Черный список не срабатывает

Сообщение andrystepa »

fecyt писал(а):Ну не знаю, у меня все получилось.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
localhost*CLI> database show
/blacklist/101 : blacklist test
1 results found.

== Using SIP RTP CoS mark 5
-- Executing [100@test:1] GotoIf("SIP/101-00000004", "1?blacklisted") in new stack
-- Goto (test,100,3)
-- Executing [100@test:3] Hangup("SIP/101-00000004", "") in new stack
На счет AGI, если пару номеров надо чекнуть, зачем писать сторонний скрипт, вызывать его и тратить на это ресурсы и время? Вопрос риторический.
Я в конфиге написал такую конструкцию:

Код: Выделить всё

exten = mi,1,Log(NOTICE,$[blacklist()])
Добавил в базу телефон 79774177456
Он там появился:

Код: Выделить всё

vtigercrm*CLI> database show
/blacklist/74953799628                            : 1                        
/blacklist/79774177456                            : 1                        
/blacklist/79857880714                            : 1                        
/dundi/secret                                     : KmHzZFZc1WcjTQZVIhbYNw==;CFWbQko8N0J0Hp8aM4NnQQ==
/dundi/secretexpiry                               : 1513084310               
5 results found.
vtigercrm*CLI> 
Позвонил, и вот что увидел в логе:

Код: Выделить всё

Executing [mi@incoming_calls:1] Log("SIP/asterisk-gw-00001415", "NOTICE,0") in new stack
Т.е. функция возвратила false. Почему?
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: Черный список не срабатывает

Сообщение shader »

ааа, вот откуда оно пошло
https://www.voip-info.org/wiki/view/Ast ... +BLACKLIST
Та это ж вроде тупо обертка для метода DB().
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: Черный список не срабатывает

Сообщение shader »

И еще: самые частые ошЫбки появляются при копипасте :)
У Вас написано:

Код: Выделить всё

exten = mi,1,GotoIf($["${BLACKLIST()}"=1]?blacklist)
exteb = mi,n,Dial(SIP/101)
....
exten = mi, n(blacklist), Playback(privacy-unident)
Hangup()
В оригинале:

Код: Выделить всё

exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,Dial(SIP/123)
exten => s,n(blacklisted),Hangup()
Я нашёл аж целых две :)
andrystepa
Сообщения: 17
Зарегистрирован: 03 апр 2014, 09:57

Re: Черный список не срабатывает

Сообщение andrystepa »

Первая ошибка от того что не копипастил, а руками писал.
А вторая - я уже писал, что конфигурация:

Код: Выделить всё

exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,Dial(SIP/123)
exten => s,n(blacklisted),Hangup()
у меня отсеивает все звонки подряд.
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: Черный список не срабатывает

Сообщение shader »

только что воспроизвел этот пример у себя на DEV asterisk. Все работает как задекларировано.
Версия asterisk - 13.18.2
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Черный список не срабатывает

Сообщение Wapo »

Для начала первой строкой поставьте exten => s,1,NoOp(${CALLERID(num)}) - сразу увидите номер вызывающего
fecyt
Сообщения: 148
Зарегистрирован: 17 янв 2017, 17:51

Re: Черный список не срабатывает

Сообщение fecyt »

У меня такая конструкция вообще не работает. Получили вывод и не написали еще несколько строк с варнингами, которые ругались на некорректный синтаксис.
А вот

Код: Выделить всё

exten => 100,1,Log(NOTICE,${BLACKLIST()})
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Executing [100@test:1] Log("SIP/101-00000005", "NOTICE,1") in new stack
[Dec 12 08:18:21] NOTICE[8562][C-00000006]: Ext. 100:1 @ test: 1
И с номером не в блэклисте
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Executing [100@test:1] Log("SIP/102-00000008", "NOTICE,0") in new stack
[Dec 12 08:18:46] NOTICE[9127][C-00000009]: Ext. 100:1 @ test: 0
Между прочим, синтаксис чувствителен к регистру, функции blacklist() нет, есть BLACKLIST()

Так, что пишите корректно, и будет работать, а не как сейчас, спустя рукава.
andrystepa
Сообщения: 17
Зарегистрирован: 03 апр 2014, 09:57

Re: Черный список не срабатывает

Сообщение andrystepa »

Сделал. В логе увидел вот что:

Код: Выделить всё

 Executing [mi@incoming_calls:1] NoOp("SIP/asterisk-gw-00001417", "79774175476") in new stack
[Dec 12 16:23:10] VERBOSE[9513][C-00000abf] pbx.c:     -- Executing [mi@incoming_calls:2] Log("SIP/asterisk-gw-00001417", "NOTICE,0") in new stack
В общем то то, что и должно было быть.
Про синтаксис знаю. У меня так и есть. Сейчас наконец скопирую:

Код: Выделить всё

exten = mi,1,NoOp(${CALLERID(num)})
exten = mi,n,Log(NOTICE,$[BLACKLIST()])
И все же почему BLACKLIST() возвращает 0 на имеющийся в базе номер?
Последний раз редактировалось andrystepa 12 дек 2017, 16:32, всего редактировалось 1 раз.
fecyt
Сообщения: 148
Зарегистрирован: 17 янв 2017, 17:51

Re: Черный список не срабатывает

Сообщение fecyt »

То, что и должно было быть - работает? или нет?

Если не работает, то выше

Код: Выделить всё

vtigercrm*CLI> database show
/blacklist/74953799628                            : 1                       
/blacklist/79774177456                            : 1                       
/blacklist/79857880714                            : 1                       
/dundi/secret                                     : KmHzZFZc1WcjTQZVIhbYNw==;CFWbQko8N0J0Hp8aM4NnQQ==
/dundi/secretexpiry                               : 1513084310               
5 results found.
vtigercrm*CLI>
И тут такого номера нет.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH