Яндекс.Метрика

RealTime в Asterisk: архитектура и конфигурация

RealTime в Asterisk: архитектура и конфигурация с 5 октября по 9 октября

Количество
свободных мест

8 Записаться

Курсы по Mikrotik MTCNA

Курсы по Mikrotik MTCNA с 2 марта по 6 марта

Количество
свободных мест

4 Записаться

Курс по Zabbix

Zabbix: мониторинг Asterisk и VoIP с 2 марта по 6 марта

Количество
свободных мест

8 Записаться
Примеры интеграции кастомных crm с Asterisk и FREEPBX
31
Доклад
Илья Панько
Примеры интеграции кастомных crm с Asterisk и FREEPBX

Примеры интеграции кастомных crm с Asterisk и FREEPBX

Интеграция Asterisk с внешними системами — одна из наиболее частых задач при внедрении IP-телефонии. Особенно это актуально в случаях, когда используется самописная CRM, не имеющая готовых модулей и стандартных коннекторов.

В рамках данного материала рассматривается практический подход к интеграции Asterisk с кастомной CRM-системой. Основной акцент сделан на выборе инструментов, архитектуре взаимодействия и тех решениях, которые позволяют упростить сопровождение и дальнейшее развитие интеграции.

Подходы к интеграции Asterisk с внешними системами

Asterisk предоставляет несколько интерфейсов для взаимодействия с внешними приложениями: AMI, AGI, ARI, AJAM, а также управление через CLI. С технической точки зрения каждый из этих вариантов подходит для построения интеграций, однако на практике ключевым фактором становится не функциональность, а удобство поддержки.

В рассматриваемом случае со стороны CRM отсутствовали специалисты, глубоко знакомые с Asterisk и его внутренней логикой. Поэтому при выборе интерфейса приоритет был отдан простоте использования и возможности работы через привычные для веб-разработчиков механизмы.

Использование AJAM как основного интерфейса

В качестве основного инструмента был выбран AJAM — HTTP-обёртка над AMI. Такой подход позволяет управлять Asterisk через обычные HTTP-запросы без необходимости работы с постоянными сокетными соединениями.

AJAM даёт возможность:

  • инициировать вызовы;
  • получать информацию о состоянии каналов;
  • передавать пользовательские параметры;
  • вызывать команды Asterisk из внешней системы.

Для CRM это выглядит как стандартное REST-взаимодействие: формируется HTTP-запрос, на который Asterisk возвращает ответ. Это значительно снижает порог входа и упрощает разработку.

Архитектура взаимодействия CRM и Asterisk

Базовая схема работы строится следующим образом. CRM инициирует HTTP-запрос в Asterisk через AJAM, передавая параметры вызова. Asterisk, в свою очередь, обрабатывает команду и запускает соответствующий сценарий в dialplan.

Дальнейшая логика вызовов выносится за пределы Asterisk:

  • dialplan передаёт данные во внешнюю систему;
  • CRM принимает решение о маршрутизации;
  • результат возвращается обратно в Asterisk в виде параметров и переменных.

Таким образом, Asterisk отвечает за выполнение вызовов, а CRM — за бизнес-логику и сценарии обработки.

Для обмена данными используются внешние скрипты, которые:

  • принимают параметры из dialplan;
  • формируют HTTP-запросы в CRM (как правило, в формате JSON);
  • обрабатывают ответы;
  • возвращают значения обратно в Asterisk через переменные.

Это позволяет сохранять dialplan компактным и универсальным, а всю сложную логику централизовать в CRM.

Работа с записями разговоров и FreePBX

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

CRM может использовать эти данные для:

  • отображения истории вызовов;
  • хранения ссылок на записи;
  • воспроизведения разговоров прямо из интерфейса системы.

При использовании FreePBX применяются те же принципы. Интеграция реализуется через кастомные контексты и расширения без вмешательства в базовую логику платформы, что упрощает обновления и поддержку.

Заключение

Рассмотренный подход позволяет построить простую и гибкую интеграцию Asterisk с самописной CRM без глубокого погружения в внутренние механизмы телефонии. Использование AJAM и HTTP-взаимодействия делает решение понятным для веб-разработчиков и снижает зависимость от узкоспециализированных знаний.

При этом важно учитывать ограничения: необходимо контролировать таймауты запросов, корректно обрабатывать ошибки и предусматривать резервные сценарии маршрутизации. Такой вариант интеграции оптимально подходит для небольших и средних проектов, где важны прозрачность, управляемость и возможность дальнейшего самостоятельного развития решения.

 

Ежегодная конференция по Asterisk 2025!

Билеты уже в продаже!

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

Наши
клиенты

Посмотреть все