Хочу рассказать о способе, который естественным образом вытекает из задачи забанить абонента по номеру. Оператор, принявший звонок, просто отправляет его на… специальный добавочный номер (к примеру «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
Эта полезная фишка убережёт не только ваши нервы, но и ваших коллег, сидящих на телефоне. И как обычно, всё так просто.
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
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