Как в России сделали Смарт Видео Агент на WebRTC для видео-техподдержки телеком-операторов

Как в России сделали Смарт Видео Агент на WebRTC для видео-техподдержки телеком-операторов

В современном телекоме, да и не только там, техподдержка — это подразделение, работа которого бесконечно оптимизирована, а затраты выжаты по максимуму. При этом, менеджмент понимает, что качество техподдержки сильно влияет на отток и приток клиентов, на отзывы о сервисе компании, — но что еще можно здесь улучшить, заодно облегчив работу операторов? Оказывается, есть такая почти волшебная таблетка и называется она «видеоподдержка». В этой статье посмотрим подробнее, что это такое и насколько такой сервис полезен всем нам.

P.S. Дисклеймер: контент и другие данные предоставлены автору с действующего проекта.

По оценке телеком-операторов, в ценах февраля 2022 года выезд инженера техподдержки на адрес клиента стоит в среднем около 650 рублей. Уменьшив количество выездов на десятки процентов за счет удаленного решения проблемы у клиента, можно экономить десятки тысяч рублей в расчете на одного сотрудника техподдержки.

Существует мнение, что для техподдержки телеком-операторов и провайдеров Интернета вполне достаточно иметь в арсенале ПО TeamViewer (подробнее см. Википедию). Да, это самое популярное в мире решение для удаленной поддержки, — но что делать, если у клиента полностью не работает Интернет, проблемы с показом телепрограмм или приложений на Смарт-ТВ?

Вот тут начинаются расспросы — «А что у вас за роутер, какие индикаторы на нем горят, что вы видите на экране ТВ и т.д. и т.п.». Иначе говоря, оператор техподдержки пытается понять ситуацию на стороне клиента и это занимает достаточно долгое время, причем часто безрезультатно. Клиенты — люди с разным пользовательским опытом, и далеко не все вообще понимают, о чем их спрашивает техподдержка.

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

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

Лирическое отступление про «почему бы не взять готовый сервис». Анализ рынка показал, что можно было рассмотреть с десяток подходящих, на первый взгляд, приложений. Причем, в основном это приложения видеоподдержки, которые используются в нише так называемых «умных очков». Т.е. когда, к примеру, сервис-инженер, работающий на удаленном объекте, консультируется через такое приложение с шеф-механиком (или иным экспертом) в головном офисе.

Однако, у приложений-кандидатов было два недостатка: они не были рассчитаны на применение совместно с довольно специфичным ПО колл-центров, и это были зарубежные разработки с необходимостью оплаты базовых лицензий и дополнительной локализации/кастомизации в валюте. В итоге, компания-заказчик решила, что разместит заказ на разработку сервиса «под себя» в России.

Давайте посмотрим, как выглядит сервис видеоподдержки на стороне обслуживаемого клиента и у оператора техподдержки, а затем перейдем к рассказу о непростом пути процесса разработки.

Как работает Смарт Видео Агент

Зная о том, как недоверчиво клиенты относятся к установке любых сторонних приложений на свои смартфоны, Смарт Видео Агент было решено делать на основе технологии WebRTC для браузера Chrome или Safari на смартфонах. Сервис на стороне техподдержки также запускается из браузера.

Как это работает:

  • Для инициации сеанса связи, после ввода номера телефона клиента и заполнения полей тикета (тема заявки и т.п.), оператор нажимает кнопку «Начать разговор» и клиенту приходит SMS со ссылкой, запускающей сеанс связи с оператором. Кроме SMS, ссылку можно отправить в виде сообщения в Telegram, Viber, WhatsApp или по email. При клике по ссылке, клиенту предлагается разрешить доступ к камере, микрофону и своей геопозиции.
Экран запуска сервиса на стороне оператора техподдержки
Экран запуска сервиса на стороне оператора техподдержки
  • Получив доступ к камере и микрофону на смартфоне клиента, оператор видит то, что ему показывает клиент через камеру смартфона. У клиента на экране выводится изображение собственной камеры (по умолчанию, основной камеры, но клиент может переключить изображение и на фронтальную камеру).

  • Оператор действует по внутрикорпоративной инструкции по выявлению и устранению неисправностей, или настройке оборудования. Например, в соответствии с ситуацией предлагает навести камеру на роутер, на разъемы кабелей, индикатор блока питания ТВ-приставки, на экран Смарт-ТВ и т.п.

Пример, как техподдержка подсказывает клиенту проверить нужный индикатор на роутере
Пример, как техподдержка подсказывает клиенту проверить нужный индикатор на роутере
  • После подключения, оператор также видит тип операционной системы и версию браузера на смартфоне, что полезно, если речь пойдет о настройках самого смартфона (например, клиент не помнит, как разрешить ранее заблокированный доступ к микрофону и камере для браузера).

  • В процессе работы по тикету, пользуясь двухсторонней голосовой связью, оператор предлагает клиенту выполнить ряд действий по устранению неисправности или настройке оборудования. Чтобы клиенту было понятнее, оператор может задействовать онлайн-указку, с помощью которой показывает клиенту на экране смартфона, какие действия надо совершить. Например, просит клиента навести камеру на клавиатуру и показывает, какие клавиши на клавиатуре ПК (пульте Смарт-ТВ и т.п.) надо нажать и в какой последовательности.

А это вид на тот же клиентский роутер уже на стороне оператора
А это вид на тот же клиентский роутер уже на стороне оператора
  • При необходимости, оператор может сделать снимок оборудования (в том числе с увеличением) и показать это фото клиенту с отмеченной стрелкой кнопкой или иным элементом управления.

  • Оператор также может попросить клиента переключить камеру на фронтальную и сделать фото клиента для сохранения в аккаунте (с согласия клиента).
Оператор может сделать снимок оборудования и отправить этот снимок клиенту
Оператор может сделать снимок оборудования и отправить этот снимок клиенту

Запись видео и созданные в процессе сеанса изображения сохраняются в базе данных сервиса для последующего анализа и разрешения спорных ситуаций (например, при жалобах клиентов на работу сотрудников поддержки).

Как сделана Админка сервиса Смарт Видео Агент

Про клиентскую часть поговорили, теперь про админку. В сервисе Смарт Видео Агент имеется панель администратора, где можно предоставлять/запрещать сотрудникам техподдержки доступ к сервису, управлять настройками, получать различную статистику использования сервиса, выполнять брендирование экрана у клиента и осуществлять ряд других полезных действий.

Сервис видеоподдержки можно развернуть как в облаке, так и установить On-premises в ИТ-системе организации (телеком-оператора, провайдера Интернета и ТВ, банка, финансового или страхового сервиса, ремонтной службы бытовой техники и т.д.).

Пример записи о сеансе связи с клиентом в админ панели
Пример записи о сеансе связи с клиентом в админ панели

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

Панель администратора, как и клиентская часть, могут быть брендированы
Панель администратора, как и клиентская часть, могут быть брендированы

Набор сервисных функций в админке сервиса задается техзаданием и может быть настроен под бизнес-процессы конкретной организации. В частности, панель администратора, как и клиентская часть, могут быть брендированы под корпоративный стиль.

Смарт Видео Агент – почему технология WebRTC

Теперь, после обзора функциональности, перейдем к рассказу о том, как создавался Смарт Видео Агент.

При постановке задачи, помимо набора функциональных требований, было несколько важных моментов:

  • Во-первых, надо было сделать систему Enterprise Friendly — чтобы она могла интегрироваться в практически любой ИТ-ландшафт предприятия, а также позволять замену части своих модулей программными компонентами, имеющимися на предприятии.
  • Во-вторых, надо было сделать систему доступной для клиентов, не используя мобильное приложение, т.е. она должна работать в браузере.
  • В-третьих, нужно предусмотреть будущее развитие системы в сторону использования ботов с технологией компьютерного зрения и системой дополненной реальности. Впрочем, о роадмапе развития я еще скажу в разделе Summary.

Сначала по второму пункту — для передачи видео и чата было решено использовать технологию WebRTC. Ее поддерживают браузеры практически на всех смартфонах. Удобно, что никаких дополнительных приложений устанавливать на стороне клиента не надо, технология обеспечивает видеосвязь «точка-точка», используя только браузер.

Для обеспечения безопасного обмена данными используется DTLS и SRTP. Это позволяет обмениваться информацией безопасным способом, предотвращая перехват, прослушивание, вмешательство, при этом не нарушая защиты целостности данных и не позволяя подделку содержимого.

Технология отлично подходит для разработки приложений для видеоконференций на основе браузера. При этом, WebRTC можно использовать не только для видеочатов: технология позволяет передавать данные любого формата и текстовые сообщения в специально предназначенном для этого канале данных.

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

Технология WebRTC предназначена для передачи потоковых данных между браузерами или приложениями с использованием технологии двухточечной передачи (point-to-point transmission).

Смарт Видео Агент – что под капотом?

Команде разработки предстояло написать интерфейсы клиента, агента, админку. Далее реализовать идентификацию и авторизацию, чат, статистику, запись, функции дополненной реальности и оставить возможности для подключения системы компьютерного зрения. Учитывая предполагаемый объем разработки и желаемые сроки, команда решила взять готовый медиа-сервер, реализующий работу непосредственно с WebRTC. Благо на рынке сейчас много open-source решений.

В первый раз взгляд разработчиков упал на довольно популярное решение под названием Kurento. Kurento — это низкоуровневый WebRTC сервер с хорошим API, MCU, транскодингом, записью, широкими возможностями по управлению медиа-потоками, возможностью подключения плагинов, и даже с готовыми примерами реализации с использованием компьютерного зрения.

Выбрали требования к MVP, затем архитектуру, модель объектов и состояний, выбрали вспомогательные компоненты. Для хранения истории взаимодействий и конфигурации решено было использовать MongoDB, так как система порождает множество неструктурированных данных.

Работающий прототип появился примерно через 3 месяца. Можно было гонять видео из браузера в браузер через сервер, отправлять SMS, авторизовывать пользователей. В прототипе реализовали некоторые функции дополненной реальности и простейшего чата. В тот момент разработчики очень радовались, что сервер Kurento взял на себя много функций.

По спринтам двигались довольно быстро — еще через 3 месяца была готова статистика, функциональный чат, запись видео, аудио и текста, появилась возможность работы с скриншотами.

Про медиа-сервер Kurento и отрицательный опыт

На уровне 6 месяцев с момента начала разработки появилась существенная проблема. Иногда под нагрузкой медиа-сервер Kurento падал, унося с собой docker. В 9 случаях из 10 после перезагрузки он поднимался, но иногда поднять его можно было только рестартом сервера. При этом, в логах полная тишина. То есть он просто переставал работать безо всяких видимых причин.

В этот момент разработчики выяснили, что у испанцев, которые разрабатывают данный сервер, нет Community, с которым можно обсудить эту проблему. Интернет тем временем пестрит подобными отзывами о низкой стабильности решения и полном отсутствии каких-либо действий со стороны разработчиков.

Все попытки самостоятельно разобраться, что же тут не так с Kurento, приводили к тому, что надо садиться за непростой анализ чужого кода с непонятными перспективами поиска источника нестабильности. Увы, такой роскоши, как делать работу за вендора, российские разработчики себе позволить не могли.

Поэтому было принято решение поменять медиа-сервер. Во второй раз выбирали сервер уже с учетом опыта с Kurento — кроме функциональных возможностей, пристально изучали, насколько проект живой, как быстро закрываются найденные баги, что клиенты пишут в отзывах.

Так, в качестве нового медиа-сервера взяли другой популярный и активно развивающийся проект — Janus. Это сервер WebRTC, позволяющий почти все тоже самое, что и Kurento. К плюсам Janus можно отнести высокую стабильность (по отзывам клиентов), более развитый API, множество готовых плагинов.

Сложность с Janus была в том, что часть работы надо было начинать заново. У этого медиа-сервера другие объекты и их состояния, иначе реализована работа с клиентами, естественно, у него другой API и, в целом, отличий с Kurento оказалось больше, чем сходства.

Повторить MVP на Janus с устранением ранее выявленных недочетов в функциональности и дизайне удалось еще только через 6 месяцев. Прошло плюс 3 месяца — и мы догнали по функциональности версию, работающую на Kurento.

Потом оказалось, что надо быть аккуратнее с выбором плагинов. Один из плагинов Janus внес нам ограничения на использование систем компьютерного зрения и опять пришлось переписывать часть Front и Back модулей и менять модель состояний клиентов.

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

Сегодня архитектура решения Видео Смарт Агент выглядит так:

Архитектура решения Видео Смарт Агент
Архитектура решения Видео Смарт Агент

Несколько слов о том, как реализована безопасность и конфиденциальность клиента:

  • Оператор не видит экран клиента, только изображение с камеры телефона. Причем доступ к камере возможен только в момент сеанса, после завершения сеанса доступа к камере смартфона нет.
  • Оператор не может самостоятельно подключиться к смартфону клиента, только если это соединение инициирует клиент по ссылке на сеанс видеоподдержки. При этом, ссылка на сеанс связи имеет уникальный одноразовый адрес, повторно по ней соединиться нельзя.
  • DTLS и SRTP обеспечивают шифрование пакетов и гарантируют защиту от прослушивания и вмешательства третьей стороны.

Как показал себя Смарт Видео Агент после внедрения

К этой статье, по просьбе автора, была дана небольшая статистика об использовании сервиса и его эффективности в колл-центре Дом.ру.

Разумеется, эти результаты отражают специфику бизнеса оператора и набора предоставляемых услуг для клиентов, но в целом м.б. интересно ИТ-сообществу для общего понимания картины.

Тематика заявок оператора, в которой часто используется видеоподдержка:

- Качество вещания каналов в услугах КТВ\ЦКТВ;

- Консультации по работе мобильных приложений (Дом.ru Movix, Мой Дом.ru, МП Умный Дом.ru и т.д.)

- Настройка Смарт-ТВ / приставки / CAM-модуля:

- Настройка подключения к сети Интернет (изменение привязок (MAC-адреса и т.д), настройка на устройстве, прямое подключение и т.д.);

- Настройка роутера (Wi-Fi, проброс портов, IGMP, LAN, DHCP и т.д.).

О сокращении времени на коммуникацию с клиентом при использовании видеоподдержки:

Немного парадоксальной оказалась ситуация, что агент видеоподдержки не помог заметно снизить время звонка. У сотрудников, которые активно его используют, наблюдается даже рост AHT (Average Handle Time) в 15-20%, но при этом они показывают динамику по снижению количества заведенных сервисных заявок на 10-15%.

Оценка снижения числа выездов на объект к клиенту:

У операторов техподдержки, которые активно используют Смарт Видео Агент как инструмент удаленной диагностики, в т.ч. в сочетании с TeamViewer, количество сервисных заявок на выезд снизилось в среднем с 34% до 24%, что очень значительно.

О числе заявок, закрываемых с первого раза при использовании видеоподдержки:

FCR клиента (First Call Resolution) достиг высокого уровня в районе 94,4%. Использование инструментов удаленной диагностики (Смарт Видео Агент + TeamViewer) положительно сказывается на оценках удовлетворенности клиентов.

Параметр FCR показывает процент контактов, когда клиенты получили исчерпывающий ответ с первой попытки обращения в техподдержку. Удовлетворенность клиента обслуживанием сильно коррелирует с показателем First Call Resolution (FCR). Видеовызовы, звонки или чаты, которые требуют обратного вызова или эскалируются на более высокий уровень, не могут быть засчитаны в FCR.

У использующих видео-инструментарий сотрудников оценка удовлетворенности клиентов достигла уровня в 4,95 по 5-бальной шкале. А такая удовлетворенность клиентов ведет к тому, что они продолжают пользоваться услугами компании, при этом рекомендуя своим друзьям и знакомым как провайдера с высоким качеством техподдержки.

При достижении определенного уровня удовлетворенности клиентов, дальнейший рост этог опоказателя крайне дорог и сложен. К примеру, при уровне удовлетворенности 4.9, дальнейший рост по 0.01 дается очень непросто.

Суммируя результаты по сервису видео-техподдержки

Российский "Смарт Видео Агент" оказался удобным и эффективным сервисом для сотрудников техподдержки у операторов. Кроме телеком-операторов и провайдеров Интернета, сервис полезен при удаленной настройке оборудования во всех иных сферах, где используются современная бытовая или промышленная техника:

  • Провайдеры спутникового ТВ,
  • Службы ремонта и поддержки технологий «Умного дома», сложной бытовой техники, в т.ч. на предприятиях в секторе В2В,
  • В страховых компаниях (съемка состояния объекта перед заключением договора без выезда агента, фиксация ущерба в удаленном режиме).

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

В «дорожной карте» сервиса планируется выпуск агента видеоподдержки в виде мобильного приложения, создание чат-бота с компьютерным зрением и элементами ИИ и дополненной реальности для автоматизации рутинных операций техподдержки без участия оператора, выпуск десктопной версии с функциональными возможностями показа экрана и полноценных видеоконференций.

Если будут вопросу по сервису Смарт Видео Агент и используемым технологиям, можно обратиться к разработчику. Автор будет признателен за оценки и обсуждения в комментах к посту.

11
Начать дискуссию