Asterisk — блокировка номеров-хулиганов с информированием.

Предыстория.

После внедрения схемы принятия звонков 112 по многоканальной схеме и анализа входящих звонков выяснилось, что определенные номера совершают от 20 до 700 звонков с месяц.  Прослушав записи выяснилось, что разговоров со стороны абонентов не ведется. Для уменьшения нагрузки на диспетчеров решено «самых активных» заносить в стоп-лист и при последующих звонках информировать об этом абонента.

Задача. Сделать максимально просто для управлением через FreePBX.

Итак, схема работы будет следующая.
1. Используя штатный модуль BLACKLIST — заносим в базу необходимые номера.
Screenshot_4Screenshot_52. Штатная функция модуля — проверка номера на наличие в стоп листе и проигрывание сообщение о недоступности номера. Необходимо изменить поведение под наши нужды, а значит перенаправить звонок в специальную группу «000». Так, как править непосредственно контекст в файле extensions_additional.conf нельзя (при перезагрузке он будет перезаписан). Для этого есть файл extensions_override_freepbx.conf, в который переносим контекст и заменяем строку на отправку звонка в очередь.

[app-blacklist-check]
exten => s,1(check),GotoIf($["${BLACKLIST()}"="1"]?blacklisted)
exten => s,n,Set(CALLED_ =1)
exten => s,n,Return()
exten => s,n(blacklisted),Answer
exten => s,n,Wait(1)
exten => s,n,Zapateller()
exten => s,n(dest-ext),Goto(ext-queues,000,1)
exten => s,n,Hangup
;--== end of [app-blacklist-check] ==--;

3. Далее создаем очередь 000.
Screenshot_1Укажем какое сообщение проигрывается при попадании.
Screenshot_2Установим действие при «неответе» и сохраняемся.
Screenshot_3Все. Теперь забаненным номерам будет сообщено о причине блокировки и предложен способ разблокирования.

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

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