Всегда полезно знать, откуда именно поступает звонок, не правда ли? Имея на руках такие данные, можно настроить маршрутизацию для клиента в зависимости от его региона.
К примеру, консультант 1 отвечает за столичный регион, консультант 2 – за Владивосток, и так далее. Определив регион, из которого поступает звонок, можно проиграть клиенту голосовое приветствие, специфичное для данного региона. Пример: «Добрый день! Вы звоните в компанию NAME. В Казани сегодня +15, сейчас вас соединят с консультантом»
. Здорово, не так ли?
К слову, подготовить подобные приветствия не составляет особого труда. Для этого существуют развернутые мануалы, объясняющие все по пунктам.
Поддерживать и регулярно обновлять базу данных, содержащую префиксы телефонов, довольно сложно. Как справиться с этой задачей? Здесь можно рекомендовать к использованию внешний API. Лучший вариант – если мы сможем применить его бесплатно. И мы таким располагаем.
NUMVERIFY.COM
Сервис numverify.com идеально подходит для выявления географической принадлежности телефонного номера. Он обладает понятным API, с которым легко работать. При этом сервисом можно пользоваться бесплатно. Правда, денег авторы не попросят только в том случае, если не выходить за пределы ограничения в 250 запросов к API в месяц (в среднем 12–13 штук в сутки).
Для использования сервиса необходимо пройти регистрацию на сайте.
Заходим на сайт
numverify.com, жмем Sign Up
на выбранном бесплатном тарифе, указываем контактные данные и получаем API-ключ.
Выполняем копирование ключа API и переходим к конфигурированию скрипта в Asterisk.
Телеграм-БОТ
Перед тем, как углубиться в параметры, создадим Telegram-бота.. Мы получим API-токен и ID чата.
СКРИПТ AGI
Переходя на этот этап, мы уже должны располагать API-токеном от Telegram-бота и ID группового чата. Далее загрузим и выполним AGI–скрипт Dial-плана Asterisk для обработки случае входящего вызова и пересылки сведений в Telegram.
После скачивания следует поменять расширение файла с .txt на .php.
Отлично! Не забудем сохранить скрипт как numverify.php, после чего загрузим его в папку /var/lib/asterisk/agi-bin
. Для этого можно использовать, к примеру, WinSCP. Затем, подключившись посредством SSH к Asterisk, в консоли выполним следующие команды:
dos2unix /var/lib/asterisk/agi-bin/numverify.php
chown asterisk:asterisk /var/lib/asterisk/agi-bin/numverify.php
chmod 775 /var/lib/asterisk/agi-bin/numverify.php
Отредактируем диалплан, добавив строку вызова скрипта в контекст, обрабатывающий внешние входящие вызовы:
exten => _.,n,AGI(numverify.php)
Перезагрузим диалплан с помощью соответствующей команды:
dialplan reload
Проверим настройки и узнаем, что же у нас вышло. Звоним с номера 4996491825.
Тип линии landline
– номер принадлежит городу. Mobile
– номер мобильного оператора. И так дальше. Подробная информация по вопросу представлена в документации numverify.
Итак, все функционирует как надо, правда? А если нам поступит звонок из Владивостока? Для этих целей скрипт возвращает переменные, которые могут быть использованы далее в диалплане.
К примеру, для столицы можно делать возвращение в диалплан переменной со значением 1
, для Казани – 2
, для Владивостока – 3
, для Челябинска – 4
. С учетом этого значения и производится маршрутизация звонка.
С учетом того, в каком населенном пункте находится звонящий, мы можем выполнять индивидуальную маршрутизацию вызова.