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

Коли Asterisk уже працює, а Бітрікс24 потрібно підключити без переробки всієї телефонії, ми знаходимо просте рішення. Наша команда налаштовує інтеграцію через AMI або SIP-транк, зберігаючи вашу АТС і додаючи CRM-функції: картки дзвінків, ліди, записи розмов. Реалізуємо проєкт під ключ — від аудиту до підтримки, щоб зв'язка працювала надійно та масштабувалася разом із бізнесом.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція Asterisk і Бітрікс24: AMI, записи дзвінків, CRM
Середній
~1-2 тижні

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

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1523
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1043
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    813
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    906
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    850
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1200

Інтеграція 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С-Бітрікс. Гарантуємо стабільну роботу та підтримку після запуску. Якщо у вас нестандартна конфігурація — ми оцінимо проєкт і запропонуємо оптимальне рішення. Зв'яжіться з нами, щоб обговорити деталі. Отримайте консультацію інженера.