Asterisk: забанить по номеру

Это бан-хаммерХочу рассказать о способе, который естественным образом вытекает из задачи забанить абонента по номеру. Оператор, принявший звонок, просто отправляет его на… специальный добавочный номер (к примеру «0»), на котором уже крутится логика бана этого номера. Для хранения номеров будем пользоваться внутренней базой данных Asterisk. Также хочу отметить, что для успешного функционирования данного способа у вас должен быть включён “слепой трансфер” в features.conf, по умолчанию это кнопка “#”. Самое приятное, что теперь операторы смогут банить неугодных без участия админа.

Начнём, пожалуй. Определяем в диалплане default добавочный номер, на который операторы будут отправлять “плохие” звонки. В данном случае оператору нужно будет набрать #0

[default]
exten = 0,1,Goto(ban,1)

[ban]
exten = s,1,Set(DB(ban/${CALLERID(number)})=1)
exten = s,n,System(echo "${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)}: Number ${CALLERID(number)} is banned by ${DIALEDPEERNUMBER}" | mail -s "Banned" vassily@pupkin.com)
exten = s,n,Hangup

При этом, как видно, номер сохраняется в базе данных “ban”, и отправляется уведомление админу (Васе Пупкину).

Теперь, при очередном звонке, Asterisk проводит проверку наличия номера в базе забаненных номеров:

[incoming]
exten = s,1,Answer
exten = s,n,Macro(blacklist)
exten = s,n,(здесь ваша обычная логика обработки звонка)

[macro-blacklist]
exten = s,1,GotoIf($["${DB(ban/${CALLERID(number)})}"="1"]?false)
exten = s,n,MacroExit
exten = s,n(false),Hangup

Эта полезная фишка убережёт не только ваши нервы, но и ваших коллег, сидящих на телефоне. И как обычно, всё так просто.

Похожие статьи

2 thoughts on “Asterisk: забанить по номеру”

  1. YOU NEED FAST PROXY SERVERS ?

    Check it out this Anonymous and Private Proxy Servers.
    HTTP & SOCKS5 Proxy supported.
    IP Authentication or Password Authentication available.
    HERE: https://bit.ly/3ifZkmL

  2. YOU NEED FAST PROXY SERVERS ?

    Check it out this Anonymous and Private Proxy Servers.
    HTTP & SOCKS5 Proxy supported.
    IP Authentication or Password Authentication available.
    HERE: https://bit.ly/3ifZkmL

Leave a Reply

Your email address will not be published. Required fields are marked *