Определение города/страны звонящего в Asterisk с Numverify

Определение географического местоположения звонящего абонента — ценная функция для любой телефонной системы. Настройка определения страны и города звонящего с помощью сервиса Numverify и Asterisk описана ниже.

Доступные параметры Numverify

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

  • Номер звонящего (Caller ID).
  • Номер вызываемого (Called ID).
  • Страна.
  • Город.
  • Область (проверено на примере Боровска).
  • Тип линии (стационарный, мобильный).
  • Спецслужбы (полиция, МЧС и т.д.).
  • Спутниковые номера.
  • Оператор сотовой связи (определение работает примерно в 70% случаев).

Точность определения страны и города составляет 99,8%.

Настройка Numverify и создание Telegram-бота

  1. Регистрация в Numverify: Зарегистрируйтесь на сайте Numverify (ссылка будет предоставлена в описании) и выберите тарифный план (бесплатный — до 250 запросов в месяц, платные — больше запросов). После регистрации получите API-ключ.
  2. Создание Telegram-бота: Создайте Telegram-бота с помощью BotFather (ссылка будет предоставлена в описании) и запомните его api_token.

Настройка и интеграция скрипта

  1. Получение скрипта: Скопируйте предоставленный скрипт (ссылка в описании) в текстовый редактор.
  2. Замена параметров: Замените в скрипте следующие параметры:

    • telegram_api_token: api_token вашего Telegram-бота.
    • numverify_api_key: API-ключ Numverify.
    • telegram_chat_id: ID вашего Telegram-чата.
  3. Сохранение и права доступа: Сохраните скрипт в формате .sh (например, numverify.sh) и предоставьте ему права доступа:
chmod 775 /path/to/numverify.sh
chown 1000:1000 /path/to/numverify.sh

Замените /path/to/ на реальный путь.

  1. Интеграция с Asterisk: Добавьте в контекст вашего транка в файле extensions.conf следующую строку:
AGI(numverify.sh)

Тестирование и заключение

После перезагрузки dialplan (команда dialplan reload) протестируйте работу скрипта, совершив звонки с разных номеров. Уведомления с информацией о звонке будут отправлены в ваш Telegram-чат.

Настройка определения географического местоположения звонящих позволяет улучшить обработку входящих звонков, маршрутизацию и аналитику. Данные могут быть использованы для интеграции с CRM-системой и построения маршрутизации в зависимости от местоположения абонента. Пример демонстрирует базовый сценарий с отправкой уведомлений в Telegram.

Что будем искать? Например,программа