какую телефонию выбрать для битрикс 24
Архитектурные решения в системе телефонии «Битрикс24»
Несмотря на эпоху интернета и всевозможных средств коммуникации, телефонная связь по прежнему остаётся одним из важнейших каналов взаимодействия компании со своими клиентами. И каким бы ни был корпоративный сайт, — лицо фирмы — отсутствие телефона или плохое качество связи может сильно подпортить впечатление клиентов и партнёров. Поэтому, мы когда-то всерьёз озаботились тем, чтобы интегрировать в «Битрикс24» полноценную систему телефонной связи, которую наши пользователи могут применять для поддержки и развития своего бизнеса. И на страницах этого поста мы хотим рассказать об архитектуре и принципах функционирования созданной системы.
Прорабатывая требования к телефонии, которую планировалось интегрировать в «1С-Битрикс», мы сразу же решили, что каждый телефонный аккаунт должен быть изолирован друг от друга. Чтобы ни один клиент не мог помешать или навредить другому. Нас не устраивала схема, когда на нашу компанию выделяется один телефонный аккаунт, клиенты переводят нам деньги, а мы как-то распределяем трафик. Нам требовалась полная изоляция, чтобы у каждого пользователя была своя статистика, свой баланс, раздельное предоставление прочих услуг. Для этого потребовалось, чтобы компания Voximplant, чей продукт мы выбрали для создания телефонии, доработала свою систему. В результате был внедрён так называемый мастер-аккаунт, под которым создаются все дочерние аккаунты наших пользователей, для каждого портала свой. Хотя, на самом деле, технически используется четыре мастер-аккаунта: для рублей, гривен, долларов и евро.
Это архитектурное решение позволило в будущем реализовать ряд услуг. Например, на каждом портале пользователи могут подключать собственную АТС. Обеспечить такой функционал на одном общем аккаунте было бы невероятно трудно, ведь пришлось бы создавать сложнейшую систему учета, обеспечивать безопасность каждого звонка. А изолированные пользовательские аккаунты позволили всего этого избежать, как и множества других проблем.
Контроллер телефонии
Однако это ещё не решало всех наших задач. Дело в том, что Voximplant представляет собой не просто некий сервис для организации телефонии. Это платформа для разработчиков. А это подразумевает, что все необходимые инструменты должны создавать сами разработчики, в зависимости от своих нужд, принятой бизнес-логики и имеющихся условий.
Поэтому, чтобы реализовать задуманное нами разделение пользовательских аккаунтов, нам пришлось написать на PHP и MySQL модуль для Битрикс24, называющийся контроллер телефонии. Он выступает своеобразным информационным посредником между пользовательским порталом и сервером Voximplant.
Когда пользователь впервые инициирует вызов, то модуль телефонии на его портале обращается к контроллеру телефонии и запрашивает учётные данные. Контроллер проверяет на сервере лицензий, что данный пользователь имеет право на использование этой услуги, а потом обращается за учётными данными на сервер Voximplant. Если учётной записи ещё нет, то она сразу создаётся. После этого контроллер возвращает порталу учётные данные для подключения по SIP, они записываются в БД на портале и используются при всех последующих вызовах. То есть в дальнейшем контроллер телефонии уже не задействуется.
По получении учётных данных пользователь напрямую обращается к Voximplant и весь голосовой трафик идет по WebRTC без каких-либо посредников. Для передачи все прочей информации используется подключение по протоколу WebSocket. Когда вызов завершается, Voximplant уведомляет контроллер, а тот фиксирует это в статистике пользователя. Всё общение с серверами Voximplant осуществляется по принципу REST.
То же самое происходит и в том случае, если пользователь хочет выполнить какие-то другие операции, например, узнать баланс, просмотреть статистику звонков или приобрести телефонный номер. Портал сначала обращается к контроллеру с соответствующим запросом, а тот запрашивает необходимые данные в соответствующем источнике и передает их пользователю.
Иными словами, сами пользовательские порталы ничего не знают про Voximplant, для них точкой входа всегда является контроллер телефонии. Получилась изолированная система, при которой сам пользователь совершенно не беспокоится о том, как совершаются звонки. Вся статистика и текущий баланс отображаются прямо на портале, оплата осуществляется там же, пользователю не нужно заходить куда-то ещё. Это позволяет максимально быстро начать пользоваться услугой телефонии: достаточно зайти на свой портал, выбрать номер, оплатить тут же деньги, и можно совершать звонки. Не нужно заводить какие-то дополнительные аккаунты, что-то настраивать.
В отличие от звонков через браузер, телефонные аппараты пользователей «Битрикс24» подключаются к серверу Voximplant напрямую, минуя контроллер телефонии. Для этого при первичном подключении в телефон заносятся логин и пароль, которые впоследствии используются при каждом звонке. Эти учётные данные пользователь получает во время настройки в разделе «Телефония», процедура такая же, как и при совершении первого звонка. И уже на основе этих регистрационных данных Voximplant отправляет статистику о совершенных звонках. А поскольку телефонные аппараты (в том числе приложения для VoIP-телефонии) могут менять хозяев, то у администратора есть возможность быстро сменить пароль или вообще отключить данный аккаунт.
Когда из внешней сети поступает входящий вызов на номер, арендованный пользователем «Битрикс24», то он попадает на сервер Voximplant. Тот обращается к контроллеру за информацией о том, кому нужно направить звонок. На портале соответствующего пользователя появляется оповещение о входящем вызове, и как только кто-то отвечает, сервер связывает обоих абонентов напрямую.
Безопасность
Несмотря на наличие информационного посредника в виде контроллера телефонии, безопасности это не вредит. Во-первых, все данные передаются по HTTPS, то есть шифруются протоколом SSL. Кроме того, при каждом обмене данными (любая команда по REST) между порталом и контроллером телефонии, на основе передаваемой информации и лицензионного ключа формирует уникальный ключ запроса (для каждого набора данных он будет разным). Такое же шифрование осуществляется при обмене данным между контроллером и голосовыми терминалами Voximplant. Обмен ключами осуществляется и при установлении прямой связи между пользовательским порталом и сервером Voximplant.
Регистрация аккаунтов
Когда новый пользователь заходит на портале «Битрикс24» в раздел телефонии, то контроллер телефонии автоматически создает для него учетную запись в Voximplant. При совершении первого звонка или подключении телефонного аппарата информация о телефонном номере добавляется в учетную запись. То есть все операции по регистрации выполняются последовательно, по мере осуществления пользователем тех или иных действий. Тем самым мы избегаем возникновения пиковой нагрузки на серверы в процессе регистрации.
Обновление аккаунтов
Одной из главных причин создания контроллера телефонии была необходимость контроля за аккаунтами с возможностью их легкого обновления. Внутри пользовательских аккаунтов на порталах хранятся настройки сценария звонка, правила маршрутизации и многое другое. А поскольку у нас уже сейчас созданы десятки тысяч аккаунтов, то суммарный объём данных получается очень большим. И в случае, если мы находим какую-то ошибку в сценарии или хотим добавить новый функционал, нужно зайти в каждый аккаунт и что-то поменять.
Но это даже при ста клиентах очень сложно и долго. Поэтому мы сделали систему обновления. Работает она так: мы создаем новый сценарий, нумеруем его, отправляем на контроллер телефонии, а тот начинает постепенно обновлять все телефонные аккаунты.
Так как у нас много пользователей, которые когда-то попробовали нашу телефонную связь, но не стали ею дальше пользоваться, то мы решили обновлять только те аккаунты, которые будут использовать телефонную связь после выхода обновления. То есть процедура будет запущена только в том случае, если будет инициирован вызов или проверка баланса. Это позволяет планомерно проводить обновление, по мере обращения, не устраивая каждый раз аврал и не загружая систему обновлением многих тысяч аккаунтов.
Сценарии звонков
Voximplant позволяет создать абсолютно любой сценарий звонка. Ниже представлен пример упрощенной схемы входящего вызова.
Давайте разберемся в этой схеме. Итак, у нас есть входящий звонок. Поскольку Voximplant является для «Битрикс24» внешней системой, сначала ему нужно получить у контроллера настройки для вызываемого абонента (в формате JSON), на основании которых сценарий выполняет действия, предусмотренные для входящих или исходящих вызовов. После первого вызова настройки JSON кэшируются, и впоследствии нам не нужно каждый раз обращаться за ними на пользовательский портал. Сам же сценарий представляет собой программный модуль, написанный на JavaScript и содержащий около 3000 строк кода.
После получения настроек начинается обработка сценария, то есть выполнение алгоритма многочисленных проверок. Входит ли вызывающего номера в чёрный список, выходной сегодня день или рабочий, надо ли проигрывать приветствие и проверять добавочные коды, и многое другое.
Мы обрабатываем все типовые сценарии, которые могут быть востребованы нашими пользователями. Например, если входящий звонок совершается ночью, то нужно сообщить о том, что на месте пока никого нет, перезвоните позже или оставьте сообщение. Или сценарии обработки CRM: нужно ли это делать, если да, то перевести вызов на ответственного человека и сразу сообщить ему, от кого именно поступил звонок. Чтобы звонящему сразу ответили: «Здравствуйте, Иван Иванович. Что вы хотите?»
Схема сценария выполняется последовательно: сразу после запуска приветствия запрашиваются необходимые данные, если абонент не ответил на вызов, то выполняется соответствующий этап сценария, и т.д. То есть схема хоть и выглядит очень внушительно, но обрабатывается поэтапно, а не единовременно, так что абоненту не приходится ждать.
Дополнительные возможности
С помощью контроллера телефонии мы можем предупреждать пользователей о том, что их баланс достиг определенного лимита. Это особенно важно для компаний, в которых активно используется телефонная связь, а раннее уведомление позволяет заранее внести средства на счет, не оставшись внезапно без связи на какое-то время.
Также контроллера позволяет нам переносить все настройки пользователя при его переходе с облачной версии «Битрикс24» на коробочную. Поскольку телефонный аккаунт не привязан жёстко к порталу, то достаточно просто переназначаем его на другую версию продукта. Поэтому клиенту ничего не нужно перенастраивать, сразу после миграции он может продолжить пользоваться телефонной связью.
Помимо прочего, посредством контроллера телефонии наша техническая поддержка может оказывать помощь пользователям. Когда кто-то обращается с некой проблемой, специалист техподдержки запрашивает у пользователя данные для авторизации. А затем по утверждённому регламенту спрашивает у него разрешение на просмотр статистики. После того, как разрешение получено, через контроллер телефонии мы получаем данные телефонного аккаунта, логи звонков и прочую информацию, позволяющую решить проблему, с которой обратился пользователь. Зачастую, для полной диагностики проблемы достаточно проанализировать лог вызова, поэтому доступ непосредственно к аккаунту телефонии наши специалисты запрашивают крайне редко. Вот как выглядит лог в оригинале:
Все вызываемые JavaScript-методы прописаны в API Voximplant.
Чтобы специалистам было проще читать логи, мы сделали небольшой плагин для Chrome, который немного меняет форматирование:
Так как услуга телефонии предоставляется в рамках сервиса «Битрикс24», то к ней мы применяем такие же политики безопасности, как и к самому сервису. Мы гарантируем пользователям, что без их ведома не заходим к ним на порталы, не прослушиваем записи разговоров и так далее. У нас хранятся только статистические данные по количеству и продолжительности звонков. А сами записи разговоров хранятся только у оператора в закрытом разделе и на портале у клиента. Кроме того, круг специалистов, которые могут с разрешения пользователей получать доступ к записям, строго ограничен.
Трудности внедрения
В целом мы не сталкивались с какими-то сложностями при внедрении системы телефонной связи в «Битрикс24». Можно отметить разве что один момент, да и тот вообще не связан с платформой Voximplant.
Проблема была связана с реализацией «SIP-коннектора». Это услуга, позволяющая пользователю подключить свою АТС (облачную или офисную), чтобы совершать звонки через неё, а не через интерфейс браузера. Оказалось, что разные поставщики услуг и операторы облачных АТС (не говоря уже про офисные АТС) по-разному работают с форматами номеров. Кто-то прекрасно понимает, что такое 7495; кому-то нужно указывать ведущий +; для некоторых не нужно указывать код страны. Для казахских операторов нужно вместо 7495 указывать 8495, иначе не дозвонишься. Также абонентам казахских операторов для международных вызовов (на все номера, кроме казахских и российских) нужно перед кодом страны указывать 810.
Вообще проблема нумерации существует даже в головах пользователей: кто-то набирает перед номером префикс +7, кто-то 8; кто-то набирает 007495, а кто-то 0117495. Многие пользователи любят указывать номера в таком виде: 8 (495) 445-11-20, и нам приходится приводить их к международному формату (без знака +) 74954451120.
Не так давно Voximplant реализовали у себя логику, с помощью которой система распознаёт, откуда звонит пользователь. И для РФ, например, префикс 8 заменяет на 7. Мы пока не готовы к этому переходу, нам кажется, что тут нужно ориентироваться не на страну регистрации номера, а на предпочтения пользователя и сложившиеся традиции; всё-таки русскому человеку, находящемуся в командировке, куда привычнее набирать 8, чем какие-то непонятные 00.
Планы на будущее
Возможности платформы Voximplant весьма обширны, и на сегодняшний день мы используем лишь порядка 30% её функционала. Например, мы планируем внедрить у себя систему многоуровневого IVR. Также собираемся дополнить функцию предупреждения о малом остатке средств на счёте неким адаптивным алгоритмом. По умолчанию в Voximplant уведомления рассылаются по достижении некой границы, общей для всех пользователей. Но в каждой компании свой уровень использования телефонной связи, и если для одной 300 рублей на счёте вполне позволят спокойно работать пару дней, пока не будет пополнен баланс, то для другой даже 2000 рублей не хватит на рабочий день. Так что мы хотим дополнить контроллер телефонии модулем, который будет анализировать расходы компании на телефонную связь в течение недели, и исходя из полученных данных будет устанавливать индивидуальный порог остатка на счёте, по достижении которого будет отправляться уведомление.
Кроме того, в ближайшее время мы внедрим возможность совершения звонков на внутренние номера, трансфер звонков между телефонными аппаратами, конференц-связь и фиксацию источника вызова в CRM. Весь этот функционал уже находится на стадии тестирования, и ближе к середине августа станет доступен нашим пользователям.
Иными словами, телефония для «Битрикс24» активно развивается, мы внимательно отслеживаем все пожелания наших пользователей и стараемся максимально быстро внедрять необходимые новинки.
Интеграция Битрикс24 с телефонией
Телефония в Битрикс 24 — дополнительный модуль CRM, упрощающий общение с клиентом и обработку заявок. Главное преимущество модуля — возможность приема телефонных звонков из любой точки мира, где есть выход в интернет. Сегодня мы разберем как подключить и настроить телефонию в Б24.
Интеграция телефонии позволяет работать с любыми мобильными или стационарными номерами внутри страны или за рубежом. Система предполагает возможность аренды телефонных линий, подключение личного номера или собственной телефонной станции. Подключение телефонной сети к корпоративному порталу обеспечивает:
Подключение Битрикс24 к телефонии позволяет упростить коммуникацию сотрудников внутри компании. Кроме того, интеграция телефонной станции увеличивает качество предоставляемых услуг и способствует росту продаж. Это позволяет оптимизировать большинство внутренних процессов компании, а также увеличить качество предоставляемого сервиса.
Способы подключения телефонии в Битрикс24
Подключить Битрикс24 к телефонии нетрудно. Продукт предлагает на выбор 3 способа интеграции:
Третий вариант уже не является актуальным и редко используется. Причина: опции сторонних приложений значительно уступают возможностям штатной телефонии от Б24. Первые 2 решения для клиента компании ничем не отличаются — разница видна только администраторам портала. Основные отличия штатной и сторонней ip-телефонии — стабильность телефонной линии, сложности ее настройки и стоимость обслуживания.
Встроенная телефония
Большим преимуществом встроенной системы является возможность звонить из CRM сразу после интеграции модуля с Б24. Для исходящих звонков требуется только наличие гарнитуры и совместимый браузер. Оптимально подходят Mozilla Firefox либо Google Chrome. Первый звонок можно осуществить уже после пополнения баланса.
Проверить баланс в приложении можно в разделе «Телефония» во вкладке «Баланс и статистика».
В данном разделе также можно подобрать оптимальный тариф для звонков и просмотреть детализацию расходов компании за любой период.
Чтобы пополнить баланс, необходимо нажать соответствующую кнопку в меню, после чего система перенаправит на оплату услуг в Voximplant.
Далее необходимо выбрать удобный способ пополнения счета, заполнить реквизиты и подтвердить платеж.
Привязка номера
Битрикс24 позволяет звонить из CRM без указания номера, однако клиенту будет поступать вызов с неопознанного номера. Чтобы сохранить свой номер в Битрикс24 необходимо перейти в раздел «Управление номерами», после чего нажать на кнопку «Привязать свой номер».
После подтверждения робот автоматически наберет указанный номер и сообщит пароль линии. Полученный пароль необходимо сразу ввести для полной привязки. При завершении процедуры ваш номер станет отображаться всем абонентам. Также появится возможность вам перезвонить.
Аренда номера
Чтобы получать входящие звонки от клиентов посредством встроенной телефонии, потребуется либо подключить свою АТС, либо арендовать номер. Для аренды требуется перейти в «Управление номерами», где выбрать команду «Арендовать номер». Далее необходимо зарезервировать подходящий номер.
Обратите внимание! Для аренды потребуется указать юридическую информацию об организации или данные физлица, с которым будет заключен договор.
Решение от Voximplant позволяет брать в аренду:
Кроме того, для вашей компании доступна опция оплаты входящих звонков, позволяющая клиентам совершать бесплатный набор номера.
Интеграция Битрикс24 со сторонней ip-телефонией
Несмотря на легкость подключения и доступность встроенной телефонии, часто существует необходимость подключения телефонной линии через номера внешних SIP-АТС. Данное решение позволяет подключить собственную или виртуальную стацию для звонков по Интернет.
Подобное решение позволяет обрабатывать входящие звонки независимо от местоположения абонента или тарифа оператора. Однако звонки в таком случае возможно принимать только через SIP-протокол.
Обратите внимание! Чтобы избежать технических проблем с SIP при интеграции Б24 с виртуальной станцией рекомендуется выбирать услуги только проверенных операторов. Корректная работа может быть обеспечена следующими компаниями: MANGO, Zadarma, Мегафон, Интертелеком, а также Telecom.kz и Tekmi.
Кроме того, для стабильной работы операторов колл-центра необходимо будет провести настройку firewall внутри локальной сети компании. В противном случае существует риск блокирования звонков или обрывы на линии.
Как подключить Б24 к сторонней ip-телефонией?
При подключении сторонней ip-телефонии все услуги, а также ответственность за качество связи, несет оператор телефонной компании. Кроме того, дальнейшая оплата за аренду номера, тарифный план и прочие функции производится оператору. Из Б24 необходимо будет только оплачивать действие модуля интеграции SIP.
SIP-коннектор — это разработанный для Б24 программный модуль, обеспечивающий перенаправление звонков из корпоративного портала на телефонную станцию. Система позволяет проводить исходящие звонки через АТС и перенаправлять входящие.
Интеграция офисной АТС с Б24: все, что нужно знать
Чтобы настроить интеграцию ip-телефонии с Битрикс24 для офисной станции необходимо:
1. В Б24 перейти по адресу «Управление номерами», где нажать кнопку «Подключить SIP-АТС».
2. Далее указываем данные сервера, а также учетные данные SIP-профиля и нажимаем «Подключить». Затем ждем завершение интеграции. Мастер установки самостоятельно подключит систему за несколько минут.
После завершения процедуры система перенаправит вас к параметрам маршрутизации. Также по окончанию интеграции потребуется открыть все порты для телефонной станции в firewall. Обычно это 5060 для SIP и 10000–20000 — для медиа данных. Теперь sip-телефония подключена и готова к работе в Битрикс24.
Обратите внимание! Интеграция телефонной станции в коробочном решении Битрикс24 может проводиться только после настройки облачной телефонии.
Интеграция облачной АТС с Б24: тонкости настройки
Кроме офисной телефонной станции Б24 позволяет установить до 10 дополнительных облачных АТС (до 10 sip-логинов). При этом каждая станция может принимать неограниченное количество входящих звонков.
Битрикс24 работает с телефонией облачной станции через REST-программу или SIP-коннектор. Основные отличия в следующем:
SIP-коннектор Б24 обеспечивает доступ ко всем опциям CRM. При этом входящие звонки не тарифицируются, а плата исходящих зависит от тарифного плана вашего оператора. При этом оплата услуг происходит отдельно от оплаты опций из телефонии корпоративного портала. Кроме того, данный способ позволяет звонить из браузера или приложений Б24, что недоступно при соединении через REST-приложение.
REST-приложение в свою очередь оставляет все звонки и перенаправление абонентов на стороне телефонной компании. Это значительно уменьшает время соединения с абонентом, однако блокирует некоторые функции Битрикс24. В частности, будут недоступны такие опции как инфозвонок CRM-Маркетинга и преобразование разговорной речи в текст.
Настройка и интеграция телефонной станции по REST API полностью производится без участия со стороны Б24. Как правило, настройка выполняется в отдельной программе, поставляемой вашим Интернет-провайдером. Таким образом особенности интеграции и настройки связи индивидуальны для каждого случая.
Интеграция телефонной станции с Б24 по SIP-коннектору
Для настройки подключения придерживаемся следующей инструкции:
1. В меню выбираем «Облачная станция» и нажимаем «Подключить облачную станцию».
2. Далее вводим учетные данные и серверные параметры.
В данном разделе также можно оплатить продление модуля для дальнейшего использования исходящих звонков.
Это интересно! Для данного решения можно провести интеграцию телефонии с Битрикс24 ради тестового ознакомления. Система предлагает 60 минут бесплатных звонков для тестирования и ознакомления с доступными опциями.
Что выбрать?
Оба способа связи имеют свои преимущества и недостатки. Для компаний, которые уже пользуются услугами Б24, но не используют опции телефонии, рационально будет работать со встроенным решением.
Для организаций, уже использующим SIP-телефонию, целесообразно взять готовое решение на базе REST API от оператора телефонной связи. Это позволит сохранить все настройки подключений и избавит технический персонал компании от лишней нагрузки.
Переход на ip-телефонию по SIP-коннектору позволит полностью использовать мощностной потенциал корпоративного портала Битрикс24. Данное решение обеспечит максимальную оптимизацию внутренних процессов компании и увеличит качество предоставляемого сервиса. Однако для установки и настройки АТС по SIP-коннектору придется привлечь квалифицированных специалистов.