Мы часто слышим от компаний: «У нас уже стоит 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-транк.
| Характеристика | SIP-транк | AMI-интеграция |
|---|---|---|
| Маршрутизация | В Asterisk или в облаке | Только в Asterisk |
| Латентность | + (через серверы Битрикс24) | Минимальная (локально) |
| Сложность настройки | Средняя, требует SIP-конфига | Выше, нужен демон-обработчик AMI |
| Гибкость IVR/очередей | Ограничена возможностями облачной АТС | Полная, Asterisk |
| Запись звонков | Автоматически в Битрикс24 | Через API, с прикреплением файла |
| Производительность | Ниже из-за дополнительного hop'а | Выше, медиа не покидает локальную сеть |
Согласно документации Asterisk, AMI обеспечивает управление через TCP-соединение.
Настройка AMI-интеграции: пошаговая инструкция
Развернём типовую схему:
-
Создать 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" } -
Как передать записи звонков в Битрикс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 рабочих дней под ключ. Стоимость проекта зависит от сложности схемы — рассчитаем индивидуально после аудита.
Частые ошибки и как их избежать
-
Дублирование звонков в CRM. При переводе звонка Asterisk создаёт новый канал. Фильтруйте по
LinkedIDв AMI-событиях — он остаётся постоянным. -
Запись не прикрепляется. Файл может быть ещё не готов в момент Hangup. Добавьте задержку 5-10 секунд или отслеживайте появление файла через
inotify. -
Неверная привязка к оператору. В очередях используйте
AgentConnect, а неNewchannel.
Почему стоит доверить интеграцию нам?
У нас более 5 лет опыта работы с Битрикс24 и Asterisk. Выполнили более 30 проектов по интеграции телефонии. Сертифицированные специалисты 1С-Битрикс. Гарантируем стабильную работу и поддержку после запуска. Если у вас нестандартная конфигурация — мы оценим проект бесплатно и предложим оптимальное решение. Свяжитесь с нами, чтобы обсудить детали. Получите консультацию инженера без обязательств.







