Интеграция Битрикс24 с FreePBX

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция Битрикс24 с FreePBX
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция Битрикс24 с FreePBX

FreePBX — это графический интерфейс управления поверх Asterisk. Большинство компаний, у которых «стоит Asterisk», на самом деле используют FreePBX: он упрощает настройку через веб-панель, управляет расширениями, очередями, IVR без ручного редактирования конфигов. Технически интеграция с Битрикс24 строится так же, как с Asterisk, но FreePBX добавляет свой инструментарий — модули, AGI-интеграции и API FreePBX.

FreePBX API и модуль Asterisk-CRM интеграции

FreePBX имеет собственный REST API (FreePBX RESTAPI), доступный с версии 14+. Это позволяет управлять расширениями, очередями и конфигурацией через HTTP-запросы, что удобно для автоматизации. Однако для интеграции с Битрикс24 важнее AMI Asterisk — тот же интерфейс, что и в чистом Asterisk.

На FreePBX можно использовать три подхода:

1. AGI-скрипт. В диалплан FreePBX добавляется вызов AGI-скрипта в нужных контекстах. Скрипт получает переменные звонка и передаёт данные в Битрикс24.

2. AMI-демон. Отдельный процесс слушает AMI и обрабатывает события — аналогично интеграции с чистым Asterisk.

3. Модуль Bitrix24 для FreePBX — коммерческий или open-source модуль, устанавливается через административную панель FreePBX (Admin → Module Admin). Некоторые модули доступны в репозитории FreePBX, другие поставляются отдельно.

Настройка AGI-интеграции

AGI (Asterisk Gateway Interface) — протокол взаимодействия диалплана Asterisk с внешними скриптами. В FreePBX диалплан управляется через веб-интерфейс, и добавление AGI-вызова делается через кастомный контекст.

В Admin → Config Edit (или через файл /etc/asterisk/extensions_custom.conf) добавить в нужный контекст:

[from-internal-custom]
exten => _.,1,AGI(bitriks24.php,${EXTEN},${CALLERID(num)},${UNIQUEID})
exten => _.,n,Return()

Скрипт /var/lib/asterisk/agi-bin/bitriks24.php получает три аргумента: номер назначения, номер звонящего, уникальный ID. Внутри скрипта — вызов Битрикс24 REST API для регистрации звонка.

Для входящих звонков контекст будет from-trunk-custom или аналогичный в зависимости от настройки FreePBX.

Очереди в FreePBX и маппинг на отделы Битрикс24

FreePBX имеет развитый модуль очередей. Типичная схема: входящий звонок попадает в IVR, клиент выбирает отдел — звонок уходит в соответствующую очередь.

При интеграции с Битрикс24 нужно знать, в какую очередь FreePBX попал звонок, чтобы привязать его к правильному отделу в CRM. В AMI-событиях это видно через переменную канала QUEUE_NAME. Передаётся в Битрикс24 через параметр LINE_NUMBER при регистрации звонка — это позволяет Битрикс24 маршрутизировать звонок к нужным ответственным.

Очередь FreePBX Параметр в Битрикс24 Ответственные в CRM
sales LINE_NUMBER=200 Отдел продаж
support LINE_NUMBER=201 Техподдержка
billing LINE_NUMBER=202 Финансовый отдел

Запись разговоров: настройка в FreePBX

FreePBX управляет записью через модуль Call Recording. В настройках расширения или очереди включается запись (Record Calls: Always). Файлы сохраняются в /var/spool/asterisk/monitor/ с именем формата YYYYMMDD-HHMMSS-CALLERID-EXTEN-UNIQUEID.wav.

После обработки звонка AMI-демон или AGI-скрипт ищет файл по UNIQUEID и передаёт его в Битрикс24. Критично — дождаться окончания конвертации записи (FreePBX автоматически конвертирует .wav в .mp3 если настроено через cron). Время конвертации зависит от длины разговора.

Кейс: юридическая компания с многоуровневым IVR

Компания использовала FreePBX 15 с IVR на 6 отделов, каждый со своей очередью. Требование: в Битрикс24 звонок должен создаваться не в момент начала IVR, а только когда клиент выбрал отдел и его поставили в очередь. Иначе фиксировались короткие «технические» звонки от клиентов, которые повесили трубку при прослушивании меню.

Решение: AGI-скрипт запускается в контексте очередей (после выбора IVR), а не в контексте входящего транка. telephony.externalcall.register вызывается только при реальном попадании в очередь. Дополнительно: если клиент положил трубку в очереди, не дождавшись ответа, — создаётся пропущенный звонок и лид с пометкой «Не дождался очереди», что триггерит автоперезвон через роботов Битрикс24.

Срок настройки: 4-6 рабочих дней.