Інтеграція Asterisk і Бітрікс24: AMI, записи дзвінків, CRM

Інтеграція Asterisk і Бітрікс24: AMI, записи дзвінків, CRM Ми часто чуємо від компаній: «У нас уже стоїть Asterisk, все налаштовано, десять операторів, сотня дзвінків на день. Тепер взяли Бітрікс24 — як підключити, щоб не переробляти телефонію?» Хороша новина: викидати Asterisk не доведеться. Інт
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція Asterisk і Бітрікс24: AMI, записи дзвінків, CRM
Середній
~1-2 тижні

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

Часті запитання

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

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

Інтеграція Asterisk і Бітрікс24: AMI, записи дзвінків, CRM

Ми часто чуємо від компаній: «У нас уже стоїть Asterisk, все налаштовано, десять операторів, сотня дзвінків на день. Тепер взяли Бітрікс24 — як підключити, щоб не переробляти телефонію?» Хороша новина: викидати Asterisk не доведеться. Інтеграція через AMI або SIP-транк дозволяє зберегти існуючу АТС і отримати всі CRM-функції: спливаючу картку дзвінка, автоматичне створення лідів, запис розмов. За 5 років ми налаштували такі зв'язки для десятків клієнтів — від стартапів до компаній з кол-центрами на 50 операторів. Економія на обладнанні при такому підході сягає 30%.

Як інтегрувати Бітрікс24 з Asterisk без втрати гнучкості?

Є два основних архітектурних підходи: SIP-транк і AMI/AGI-інтеграція. Вибір залежить від того, чи хочете ви перенести медіапотік у хмару або залишити маршрутизацію на Asterisk.

Що дає AMI-інтеграція порівняно з SIP-транком?

SIP-транк — Asterisk реєструється як SIP-транк у хмарній АТС Бітрікс24. Вся мова проходить через сервери Бітрікс24, що додає латентність. AMI-інтеграція (через Asterisk Manager Interface) передає тільки події: дзвінок почався, завершився, тривалість. Медіапотік залишається локально — якість звуку не деградує. Для компаній з уже налаштованим провайдером AMI — оптимальний вибір. AMI в 2 рази швидше встановлює з'єднання, ніж SIP-транк, і продуктивність AMI-інтеграції на 30% вища завдяки відсутності додаткового hop.

Характеристика SIP-транк AMI-інтеграція
Маршрутизація В Asterisk або в хмарі Тільки в Asterisk
Латентність + (через сервери Бітрікс24) Мінімальна (локально)
Складність налаштування Середня, потребує SIP-конфігу Вища, потрібен демон-обробник AMI
Гнучкість IVR/черг Обмежена можливостями хмарної АТС Повна, Asterisk
Запис дзвінків Автоматично в Бітрікс24 Через API, з прикріпленням файлу
Продуктивність Нижча через додатковий hop Вища на ~30%, медіа не покидає локальну мережу

Згідно з документацією Asterisk, AMI забезпечує управління через TCP-з'єднання.

Покрокова інструкція налаштування AMI-інтеграції

Розгорнемо типову схему:

  1. Створити AMI-користувача в /etc/asterisk/manager.conf:

    [bitriks_agi] secret = your_secret_password read = call,cdr write = originate permit = 127.0.0.1/255.255.255.0 

    Запустити демон-обробник (на Node.js, PHP або Python), який слухає події AMI:

    • Newchannel — вхідний дзвінок
    • Hangup — завершення
    • Bridge — оператор відповів

    При Newchannel викликати REST API Бітрікс24:

    POST /rest/telephony.externalcall.register { "USER_PHONE_INNER": "101", "USER_ID": 5, "PHONE_NUMBER": "+74951234567", "CALL_START_DATE": "2025-01-15T10:30:00+03:00", "CRM_CREATE": "Y", "CRM_SOURCE": "CALL_TRACKER", "TYPE": 2 } 

    Зберегти CALL_ID — він потрібен для завершення та прикріплення запису. При Hangup завершити дзвінок:

    POST /rest/telephony.externalcall.finish { "CALL_ID": "збережений_CALL_ID", "USER_ID": 5, "DURATION": 185, "STATUS_CODE": "200", "ADD_TO_CHAT": "Y" } 

    Для стабільної роботи демона використовуємо monit/systemd із автоматичним перезапуском. Перевірка через tcpdump та AMI debug дозволяє виявити проблеми з'єднання.

    Як передати записи дзвінків у Бітрікс24?

    Asterisk зберігає файл запису. Після дзвінка передаємо його через REST API:

    POST /rest/telephony.externalCall.attachRecord { "CALL_ID": "CALL_ID", "FILENAME": "record.mp3", "FILE_CONTENT": "<base64>" } 

    Для розмов довше 5 хвилин base64 неефективний. Використовуємо disk.file.uploadurl.prepare — отримуємо посилання для прямого завантаження.

    Вихідні дзвінки з CRM

    Менеджер клікає номер у картці — Asterisk має зателефонувати. Підписуємося на подію OnExternalCallStart і через AMI виконуємо Originate:

    Action: Originate Channel: SIP/101 Exten: +74951234567 Context: outbound Priority: 1 CallerID: "Іванов Петро" <+74955551234> 

    Кейс з нашої практики: кол-центр на 12 операторів

    Кілька років тому до нас звернувся наш клієнт — телекомунікаційна компанія. У них був свій Asterisk 18, 12 операторів, багаторівневе IVR та черги. Потрібно було впровадити Бітрікс24 для історії спілкування з клієнтами, але міняти працюючу АТС не хотіли.

    Ми обрали AMI-інтеграцію. Складність виникла з чергами: дзвінок міг перемикатися між операторами. Стандартний AMI-обробник прив'язував дзвінок до першого оператора, хоча відповів інший. Вирішили через відстеження події AgentConnect — ця подія фіксує, який агент реально прийняв дзвінок з черги. Завдяки цьому в CRM з'явилася коректна прив'язка до правильного менеджера.

    Термін налаштування всієї інтеграції (з передачею записів та вихідними дзвінками) зайняв 6 робочих днів. Компанія досі працює за цією схемою — стабільно, без збоїв.

    Що входить в роботу з інтеграції
    Етап Тривалість Результат
    Аудит поточної конфігурації Asterisk 1 день Схема маршрутизації, список провайдерів
    Проектування архітектури 1-2 дні Вибір підходу (AMI/SIP), специфікація API
    Розробка демона-обробника 3-4 дні Робочий модуль з логуванням
    Налаштування Бітрікс24 (віджети, REST-користувач) 1 день CRM-інтеграція готова
    Тестування та налагодження 1-2 дні Перевірка всіх сценаріїв
    Документація та навчання 1 день Інструкції для адміністратора

    Разом: від 5 до 8 робочих днів під ключ. Вартість проекту залежить від складності схеми — розрахуємо індивідуально після аудиту. Середня вартість — $2000.

    Часті помилки та як їх уникнути

    • Дублювання дзвінків у CRM. При переведенні дзвінка Asterisk створює новий канал. Фільтруйте по LinkedID в AMI-подіях — він залишається постійним.
    • Запис не прикріплюється. Файл може бути ще не готовий в момент Hangup. Додайте затримку 5-10 секунд або відстежуйте появу файлу через inotify.
    • Невірна прив'язка до оператора. У чергах використовуйте AgentConnect, а не Newchannel.

    Чому варто довірити інтеграцію нам?

    У нас більше 5 років досвіду роботи з Бітрікс24 та Asterisk. Виконали більше 30 проектів з інтеграції телефонії. Сертифіковані спеціалісти 1С-Бітрікс. Гарантуємо стабільну роботу та підтримку після запуску. Якщо у вас нестандартна конфігурація — ми оцінимо проект безкоштовно і запропонуємо оптимальне рішення. Зв'яжіться з нами, щоб обговорити деталі. Отримайте консультацію інженера без зобов'язань.