Інтеграція Бітрікс24 з FreePBX

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція Бітрікс24 з FreePBX
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

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