Черный список в Asterisk

Черный список в Asterisk

Звонки с нежелательных номеров можно блокировать, добавляя их в черный список в Asterisk.

Первым делом — добавим две операции в ту часть диалплана (extensions.conf), которая обрабатывает входящие звонки. Сначала вставим строку с проверкой номера по черному списку (если номер присутствует — Астериск перекинет звонок на операцию, помеченную как blacklisted):

exten => s,n,GotoIf(${BLACKLIST()}?blacklisted)

Затем в конец вставим операцию HangUp с меткой blacklisted:

exten => s,n(blacklisted),Hangup()

Теперь при обработке звонка, если номер найдется в черном списке Asterisk`а, звонок пропустит все операции вплоть до метки. Пример:

exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,Background(welcome)
exten => s,n,Queue(queue_cc,rt)
exten => s,n(blacklisted),Hangup()

После сохранения диалплана необходимо его перезагрузить:

$ asterisk -rx "dialplan reload"

Теперь можно добавить номер в черный список. Синтаксис команды:

database put

Обратите внимание — в дополнительной паре кавычек указан комментарий, он обязателен. Пример:

$ asterisk -rx "database put blacklist 4951234567 "Test""
Updated database successfully

$ asterisk -rx "database show" | grep blacklist
/blacklist/4951234567 : Test

Чтобы удалить номер из черного списка:

$ asterisk -rx "database del blacklist 4951234567"
Database entry removed.

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

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2024

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!