Определение географического местоположения звонящего абонента — ценная функция для любой телефонной системы. Настройка определения страны и города звонящего с помощью сервиса Numverify и Asterisk описана ниже.
Доступные параметры Numverify
Сервис Numverify предоставляет следующие параметры звонка:
- Номер звонящего (Caller ID).
- Номер вызываемого (Called ID).
- Страна.
- Город.
- Область (проверено на примере Боровска).
- Тип линии (стационарный, мобильный).
- Спецслужбы (полиция, МЧС и т.д.).
- Спутниковые номера.
- Оператор сотовой связи (определение работает примерно в 70% случаев).
Точность определения страны и города составляет 99,8%.
Настройка Numverify и создание Telegram-бота
- Регистрация в Numverify: Зарегистрируйтесь на сайте Numverify (ссылка будет предоставлена в описании) и выберите тарифный план (бесплатный — до 250 запросов в месяц, платные — больше запросов). После регистрации получите API-ключ.
- Создание Telegram-бота: Создайте Telegram-бота с помощью BotFather (ссылка будет предоставлена в описании) и запомните его api_token.
Настройка и интеграция скрипта
- Получение скрипта: Скопируйте предоставленный скрипт (ссылка в описании) в текстовый редактор.
- Замена параметров: Замените в скрипте следующие параметры:
- telegram_api_token: api_token вашего Telegram-бота.
- numverify_api_key: API-ключ Numverify.
- telegram_chat_id: ID вашего Telegram-чата.
- Сохранение и права доступа: Сохраните скрипт в формате .sh (например, numverify.sh) и предоставьте ему права доступа:
chmod 775 /path/to/numverify.sh
chown 1000:1000 /path/to/numverify.sh
Замените /path/to/ на реальный путь.
- Интеграция с Asterisk: Добавьте в контекст вашего транка в файле extensions.conf следующую строку:
AGI(numverify.sh)
Тестирование и заключение
После перезагрузки dialplan (команда dialplan reload) протестируйте работу скрипта, совершив звонки с разных номеров. Уведомления с информацией о звонке будут отправлены в ваш Telegram-чат.
Настройка определения географического местоположения звонящих позволяет улучшить обработку входящих звонков, маршрутизацию и аналитику. Данные могут быть использованы для интеграции с CRM-системой и построения маршрутизации в зависимости от местоположения абонента. Пример демонстрирует базовый сценарий с отправкой уведомлений в Telegram.