Защита от спам-звонков в Asterisk и FreePBX

Дмитрий Аверин
13 июля 2020
access_time3 минуты
remove_red_eye5268
Компания «Ланкрафт»
Компания «Ланкрафт»

Сегодня мы рассмотрим весьма актуальный вопрос борьбы со спамом в относительно стабильном мире телефонии. Можно отыскать много разных приложений, позволяющих блокировать спам на смартфонах. Куда труднее обнаружить аналогичные программные решения, предназначенные для работы с IP-АТС и IP-телефонами.

В программе Telegram предусмотрен бот, определяющий спамные звонки. Он распознает спамера, географическую точку, в которой он находится, а также устанавливает оператора связи. Сервис подходит для совместного использования с разными IP-АТС (Asterisk, FreeSWITCH и другими), IP-телефонами, а также CRM. При выявлении вызова, определяющегося как спам, бот отправляет уведомление через мессенджер Telegram со специальной меткой и наименованием оператора.

Запрос к Telegram API  производит возврат текстового фрагмента с наименованием поставщика услуг мобильной связи. При указании такой ссылки в Asterisk уведомление с меткой «спам» и наименованием оператора будет отображено в чате Telegram, а также на дисплее телефонного IP-аппарата. При этом в настройках статистики CDR в любой момент администратор Asterisk может выполнить фильтрацию выдачи по названию компаний, предоставляющих услуги сотовой связи.

Каждый пользователь, который отмечает вызов меткой «спам», помогает расширять базу с соответствующими номерами.

К основным возможностям сервиса можно отнести следующие пункты:

  • проверка телефонов по специальным базам;
  • формирование индивидуального перечня номеров, с которых рассылается спам;
  • установление государства и населенного пункта, из которого поступил вызов;
  • выявление поставщика услуг связи;
  • комментирование вызовов.

Как подключается API

Ссылки для поиска Telegram-бота:

Еще один адрес:

Как подключить FreePBX

Настройка осуществляется через веб-портал FreePBX.
Заходим в Admin → CallerID LookupSources → AddCID LookupSource и заполняем требуемые поля:

  • там, где указано SourceType, задаем значение HTTP;
  • для Host указываем rustyle.tmweb.ru;
  • для Path задаем bots/tgbots/phone_info_bot/callerid_lookup_src/callerid_lookup.php;
  • в довершение редактируем Query, где вводим:
    in_num=[NUMBER]&dst_num=${FROM_DID}&user_id=[ПРИНАДЛЕЖАЩИЙ_ВАМ_USER_ID];

Для Query обязательно укажите принадлежащий вам персональный USER_ID, присваиваемый при запуске бота Telegram. Значения [NUMBER], а также ${FROM_DID} изменять не требуется. Их необходимо оставить в изначальном виде.

После выполнения вышеописанных процедур переходим в Connectivity → Inbound Routes, указываем уже существующий или определяем новый маршрут. Затем открываем вкладку Other → CID LookupSource, чтобы выбрать источник, заданный на предыдущем шаге:.

  • USER_ID_пользователя – уникальный идентификатор, который присваивается при первой загрузке бота;
  • ВХОДЯЩИЙ_НОМЕР – кодовая комбинация страны и телефонный номер. Пример: 74991765;
  • НОМЕР_НАЗНАЧЕНИЯ – кодовая комбинация страны и телефонный номер. Пример: 74991234455.

Настройку можно считать завершенной. Теперь вы сможете использовать функции бота Telegram, чтобы эффективно бороться со спам-звонками, поступающими на вашу IP-АТС Asterisk.