Pull to refresh
74.02

История с хэппи-эндом: интеграция «Битрикс24» с Asterisk

Reading time 4 min
Views 9.9K


Сегодня жизненно необходима интеграция CRM и телефонии. Если клиент слишком долго слушает автоматическое приветствие или вы не перезваниваете по оставленной им на сайте заявке — вы его потеряете.

Как мы, компания-интегратор informUnity, пришли к созданию массового продукта для интеграции «Битрикс24» и Asterisk под управлением FreePBX, и что из этого вышло — под катом.

Предыстория


К концу 2016 года у нас было практически готовое решение для контакт-центров на базе коробочного «Битрикс24» и Asterisk. Практически — потому что используемый для обработки WebRTC в браузере форк SIPML5 еще не был отлажен.

Мы уже планировали финальное тестирование и запуск тиражируемого продукта, когда в декабре появилась поддержка телефонии в REST API «Битрикс24». А вместе с ней коллегам понадобилось интегрировать Asterisk и «Битрикс24» с помощью новых REST-методов.

Тем временем потребность в такой интеграции как раз назрела. Связка через VoxImplant включала лишнее звено, требовала «танцев с бубном» в настройке и лишала «астерискеров» свободы. Так как часть логики обработки звонка вместе с SIP трафиком отдавалась во внешнюю систему.

Мы решили, что контакт-центры подождут. Мы выполняем конкретный заказ. По результатам которого готовим продукт по интеграции для всех желающих.



MVP


Оказалось, что у коллег используется целых три Asterisk:

  • один с кастомными контекстами
  • два подключенных к первому

Это затрудняло по сути несложную задачу:

  • определить ответственного
  • открыть карточку
  • записать звонок в CRM

Действительно несложная, — скажете вы. Часа на четыре работы. Так и есть: если пишете для себя, то можно ограничиться только нужными вам сценариями. Но любой шаг в сторону добавляет очередные четыре часа. Однако, мы делали для всех. Значит наша цель — не легкий путь для разработчика. А легкий путь для пользователя.
 
За основу решения выбрали фреймворк FreePBX v.13. Он самый популярный среди аналогов на сегодняшний день. Активно развивается и включает все необходимое для нашего решения.

Основную часть мы оформили как модуль для FreePBX.

Плюсы тринадцатой версии FreePBX:

  • современный интерфейс
  • удобные оповещения при настройке модуля
  • поддержка AJAX и
  • простой процесс обновления модуля с изменением структуры таблиц

Самое важное для работы модуля —определить соответствующие контексты для интеграции. Ведь у каждого клиента своя схема обработки вызовов.

Сегодня основная работа идет с контекстами ext-did-001, ext-did-002 и macro-dial-one для входящих звонков и outrt-, macro-dialout-trunk — для исходящих.

За два месяца Asterisk и «Битрикс24» были интегрированы. CRM «Битрикс24» теперь следит всевидящим оком за входящими и исходящими звонками.

Мы получили большой опыт в ходе совместной работы. Многочисленные обсуждения разных сценариев не прошли зря. А некоторые багрепорты закрывались в течение дня. К концу марта у нас был продукт, который мы уже могли отдать в каталог приложений с пометкой “бета”.



Первые результаты


Создавая MVP, мы ориентировались на простую и прозрачную логику. Например, время начала и конца разговора привязано к каналу внешнего абонента (при входящем — первый открывшийся канал, при исходящем — канал, на котором находится вызываемый номер). В беклог MVP не вошла поддержка Ring Groups и FollowMe. Но это не повлияло на функциональность, так как они заменяются на Queues.
 
Результат не заставил себя долго ждать: с первых дней мы получаем 15–20 установок в день. Для нас это была проверка гипотезы. Первая бета-версия представляла из себя достаточно сырой MVP. Поэтому такой результат придал нам сил и уверенности. А вместе с уверенностью пришел и шквал вопросов на первую линию.



С заботой о пользователях


Большинство установок Asterisk отрезаны от мира и спокойно работают за NAT. Тем не менее, получать от сисадминов десятки вопросов о том, как настраивать Firewall для интеграции, было весьма удивительно.

«Проброс портов? Конечно слышали. А что пробрасывать? Куда? Зачем?».

Проблема оказалась не в квалификации пользователей. А в подаче информации. И поправками в инструкцию тут не отделаешься. Подобные вопросы практически прекратились после переработки интерфейса.
 
Считается, что сисадмину не важно, с каким интерфейсом работать. Эта точка зрения не выдержала проверки практикой. Неважно, кто пользователь — сисадмин или домохозяйка. Чем проще и понятней интерфейс, тем больше лояльности к приложению. При этом сделать интерфейс простым — невероятно сложно. Особенно с учётом регулярных изменений. В период бета-тестирования мы старались выпускать не меньше одного обновления в неделю.


Эволюция интерфейса модуля
 
Каждую неделю добавлялась новая функциональность, изменялась внутренняя логика. Продукт развивался невероятно быстро. Собранная за неделю аналитика становилась неактуальной с выходом новой версии. Иногда технические нововведения опережали изменения в интерфейсе. Тогда приходилось править или полностью пересматривать пользовательские сценарии. Это приводило к серьёзным изменениям интерфейса.

Высокая динамика разработки накладывает ограничения на проектирование интерфейсов. Мы поставили перед собой амбициозную задачу — сделать удобное приложение для связки «Битрикс24» с Asterisk. И мы справились — теперь «подружить» их сможет любой желающий.



Вместо послесловия


За полтора месяца бета-тестирования мы проверили множество гипотез и реализовали десятки сценариев. Это заслуга службы поддержки.
 
Мы сразу отказались от тикетов и электронной почты. Такая переписка не предполагает быстрой реакции. А рассмотрение одного простого вопроса может затянуться на несколько дней.

Нам очень помогли открытые линии в «Битрикс24». И мы, и клиенты пользуемся одним продуктом. Клиент всегда может найти нашу открытую линию в списке своих чатов и посмотреть всю историю переписки. Мы получаем задачи, внутренние коммуникации и общение с клиентом в одной экосистеме.
 
Благодаря такому формату клиенты получают ответ на обращение в среднем в течение трёх минут. А клиент доволен поддержкой и охотно делится не только проблемами, но и идеями по улучшению продукта.
 
С выходом stable-версии нам пришлось искусственно снижать динамику в пользу качества: ответственность перед коммерческими пользователями не дает экспериментировать в прежних масштабах.

Сборку и тестирование, а также установку и работу модуля в Docker-контейнерах, автоматизировали на базе GitLab CI (об этом планируем написать отдельно). Обновления стараемся выпускать раз в неделю, но все эксперименты вынесли в ветку beta. Кстати, приглашаем к сотрудничеству бета-тестеров.



На этом и сказке конец, но история нашего решения только начинается.  
Сам продукт: ссылка.
Tags:
Hubs:
+12
Comments 1
Comments Comments 1

Articles

Information

Website
www.bitrix24.ru
Registered
Founded
2012
Employees
201–500 employees
Location
Россия
Representative