Интеграция Битрикс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 рабочих дней.







