Web-интерфейс для вашей Asterisk. Статистика для call-центров, отделов продаж, прослушивание звонков и многое другое

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

    Также мы запустили сайт, партнерку, wiki, паблики в соц. сетях, написали биллинг, переписали демон синхронизации на golang… и сделали еще кучу классных штук — всего не перечислишь.

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



    Под катом я детально раскрою все пункты и подробно расскажу о работе с интерфейсом.
    И конечно, в честь «годовщины», всем подарки!

    Что мы умеем сегодня


    В текущей версии ПО (1.1.0) статистика ViStep.RU позволяет:

    • Прослушивать и скачивать записи совершенных вызовов
      (причем скачать можно все записи, найденные по фильтру поиска, одним архивом).
    • Отслеживать качество отработки звонков, оценивать их эффективность
      (кто сколько принял/пропустил/совершил звонков; их продолжительность).
    • Создавать группы внутренних номеров и просматривать отчеты в разрезе этих групп
      (для исходящих вызовов, в отчетах по входящим абоненты группируются посредством очередей Asterisk).
    • Предоставлять каждому супервизору доступ к группам и очередям, отчеты которых он может просматривать.
    • Смотреть статистику входящих звонков в разрезе каждого «внешнего» номера
      (сколько входящих за период было по каждому номеру, сколько принято/пропущено).
    • Просматривать подробные журналы внешних, внутренних и пропущенных звонков, а также журнал позвонивших вам впервые (табличные отчеты с гибким фильтром поиска).
    • Экспортировать все отчеты в Excel.
    • Добавлять комментарии к звонкам (в табличных отчетах).
    • Осуществлять мониторинг АТС
      (мы интегрировали наш сервис с zabbix и отправим вам email/sms в случае обнаружения проблем).
    • Оценить время работы и перерывов каждого оператора очереди за выбранный период.
    • Добавить логотип вашей компании
      (на страничку авторизации и в хедер для локальной версии и только в хедер для облачной).
    • Задать любой вопрос support'у прямо из интерфейса.
    • Смотреть разбивку по количеству входящих и исходящих звонков по областям/краям и прочим субъектам РФ на Яндекс.Карте.

    — ОК, это умеете сегодня, а что завтра?
    — Всю информацию о ближайших планах по разработке мы регулярно публикуем в wiki-разделе Road map — заходите, будем рады!

    Главная


    Меню делится на два отчета:

    • «Общая», где представлена информация о всех поступивших на АТС звонках в разрезе внешних («городских») номеров.
      Скриншот верхней части страницы был до ката, ниже идут диаграммы и график:


    • «Очереди и Группы», в котором отображена информация о входящих звонках:





      Здесь можно выбрать одновременно все очереди (повторюсь — очереди Asterisk), или одну/несколько необходимых.

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

      Очереди и группы - Исходящие






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

    Отчеты данного раздела помогут:

    • оценить «выхлоп» рекламной компании, где вы указали определенный номер телефона
    • понять какой номер наиболее «популярен» у клиентов
    • узнать соотношение принятых/пропущенных к поступившим на АТС звонкам в целом
    • получить картину по входящим звонкам как по очереди(ям) так и по каждому оператору в отдельности
    • отследить количественные и качественные характеристики исходящих вызовов сотрудников

    А еще многие пункты в группе отчетов «Главная» кликабельны и ведут прямиком к отчетам в подменю «Звонки». О нем и поговорим.

    Звонки


    Здесь собранны 4 табличных отчета:

    • «Внешние звонки»
      Покажет все звонки, поступившие извне на АТС или совершенные ее абонентами вовне. Делится на входящие и исходящие и позволяет искать звонки по очередям и/или группам.
      Помимо очереди(ей), в фильтре для входящих можно выбрать группу (например, если в диалплане после Queue() идет Dial(), то звонки тоже найдутся).
      В дополнение к основным фильтрам: дата, очередь(и) и/или группа, под спойлером есть еще ряд дополнительных. Вот как это выглядит:



      Переключим плашку Звонки: вверху страницы на «Исходящие»

      скрин под спойлером


      Фильтр несколько отличается, но в целом все тоже самое.

      Также отмечу, что дополнительные фильтры могут искать звонки как по внутреннему номеру абонента так и по его ФИО (соответствие ФИО номеру задается в «Настройки — Номера — Внутренние», расскажу чуть позже)
    • «Внутренние звонки»

      Отчет найдет вам все звонки между внутренними номерами, т.е. абонентами АТС.

      скрин под спойлером


      Подробно останавливаться не стану, думаю здесь все ясно.
    • «Пропущенные звонки»
      Это табличное исполнение отчета «Главная — Общая» в части пропущенных вызовов, т.е. покажет: кто/куда/во сколько вам позвонил и остался без ответа.

      скрин

    • «Позвонили впервые»
      — А кто нам звонил впервые за указанный период времени (т.е. вообще когда-либо покуда ведется БД звонков с учетом выбранного периода)?
      — А вот кто (скрин снова под спойлером).

      Позвонили впервые


      Как и во всех табличных отчетах, мы видим:
      дату звонка, кто из сотрудников ответил, номер звонящего и наш городской, длительность и прочие данные.

    Еще вы, наверное, заметили эти значки на каждой из описанных страниц:



    первый из них сохранит отчет в формате xls, по клику на второй вы скачаете архив со всеми файлами записей разговоров, найденными по фильтру поиска, а третий уведет в нашу вики на FAQ открытого отчета или настройки.

    Группа отчетов «Звонки» служит подспорьем в поиске подробной информации по любому вызову, предоставляет возможность прослушать и скачать записи разговоров и выгрузить таблицу в Excel.

    Здесь у меня все, идем далее.

    Работа операторов


    Отчет покажет сколько отработал каждый из операторов очереди за период времени. Оператор может добавляться и удаляться из очереди, может ставить себя на паузу (на обеденный перерыв, например) и убирать с паузы.

    Все эти события вы увидите в данном отчете и сможете оценить сколько времени каждый оператор очереди провел в ней (время пауз и время добавления/удаления вычитается из общего).





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

    ГЕО


    Геолокация входящих и исходящих звонков.
    Мы взяли БД соответствия номеров их территориальной принадлежности, для ускорения работы затолкали ее в reddis, прикрутили Яндекс.Карты и получили вот такую картинку:





    Работает пока только по РФ, в разрезе входящих и исходящих вызовов.
    Для входящих есть дополнительный фильтр — внешний номер, т.е. получить результат можно как по всем «городским» номерам так и по каждому в отдельности.

    Уверен, на скринах все наглядно, не буду тратить ваше время и буквы — продолжим.

    АТС. Статус


    Сервис статистики интегрирован с популярной системой мониторинга Zabbix.
    В личном кабинете пользователя, в этом меню, мы рапортуем о наличии каких-либо проблем и выводим несколько графиков ресурсов АТС:



    Меню «подсвечивается» цифрой-количеством сработавших триггеров.

    Графики кликабельны


    Если хотите, то при срабатывании триггера отправим вам email или sms о проблеме.
    Плюс к этому, за небольшую доплату, возьмем вашу Asterisk под свое «крыло» и сразу же устраним возникшую неполадку.

    АТС. Параметры


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



    Дополнительные отчеты


    Совсем забыл упомянуть — ведь у нас есть еще и дополнительные отчеты.
    Идея в том, что вам может не хватить функционала «из коробки» и требуется узкоспециализированный отчет под конкретные бизнес-процессы (или логику обработки звонков, если хотите). Мы напишем такой по вашему ТЗ.

    Для примера, приведу отчет «Кто ответил», написанный для call-центра клиента:



    Входящий звонок сначала адресуется очереди операторов (назовем их первая линия), затем, если первая линии прозевала или все заняты, отправляется менеджерам (вторая линия).
    Руководителю важно знать какие звонки приняла первая линия, какие вторая и те, что вовсе остались без ответа. Мы предоставили такую картину — помимо стандартных дата/кто/куда и пр. у каждого звонка есть поле «Статус»:







    С отчетами управились, теперь я расскажу о настройках.

    Настройки


    Разнообразные параметры конфигурации интерфейса разместились в отдельной подгруппе:



    • «Основные»
      скрин

      Путь к файлам записей разговоров, ваш логотип, отображать ли статус АТС, и прочие настройки разместились здесь. Также, внизу страницы, найдутся демон для синхронизации данных АТС в облачную версии и инструкция по его настройке.
    • «Номера»
      • «Внешние»

        скрин


        На этой страничке нужно внести все ваши «городские» номера и понятную легенду (например, «Москва», «Питер», «Реклама» и т.д.) для них.
      • «Внутренние»

        скрин


        Началом работы с настройкой служит кнопка «Загрузить номера из БД».
        Она подтянет соответствие внутренний_номер <-> callerid из базы данных (в запросе используются все звонки за последний год).

        Далее список ведется вручную, вы можете исправить его, дополнить, а также задать пароль для каждого сотрудника, дабы он мог авторизоваться и посмотреть свои звонки.
    • «Группы»
      Группировать внутренние номера полезно в случае, если их очень много или нужно разделение, например, на отделы или смены. Список всех групп выглядит следующим образом:

      скрин


      Добавлять/удалять сотрудников можно по одному, используя мультиселект (ctrl/cmd + ЛКМ):

      скрин


      и поиск:

      скрин


    • «Супервизоры»
      Именно здесь администратор редактирует список супервизоров и назначает им доступ к отчетам групп и очередей.

      скрин




      Меню настройки супервизора похоже на настройку групп, есть все те же возможности.

      Вот как оно выглядит:

      скрин


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

      скрины





    Help desk и Wiki


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

    Под спойлером несколько скринов




    «Wiki» — это просто ссылка на нашу базу знаний, где мы храним инструкции по работе с интерфейсом и собираем разные лайфхаки по части Asterisk.

    Вместо заключения


    Именно вместо, потому как работа над новыми фичами кипит и сейчас — проект не стоит на месте и постоянно продолжает совершенствоваться. Например, в одном из следующих релизов, мы планируем добавить меню «Real-time».

    Соберем там такие показатели как:

    • Количество и статус транков
    • Количество и статус внутренних номеров
    • Состояние очередей
    • Активные звонки
    • И еще что-нибудь классное

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

    Нет аккаунта на Хабре? Не беда — все мои координаты в профиле FessAectan, пишите напрямую.

    Нет, не забыл


    Спасибо всем, кто осилил и дошел до финала публикации. Авторам пяти самых крутых комментов по улучшению продукта — месяц бесплатного пользования облачной версией! Победителей объявим в пятницу 27.10.2017.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 23
    • +2
      Каким количеством человек и каким количеством общего времени вам удалось сделать этот Грааль?
      • +1
        благодарим за интерес к нашему продукту, над проектом работает пока что команда из 3 человек: Евгений, его супруга, в качестве тестировщика и генератора идей, и я
        в течение года мы смогли воплотить все что Вы увидите в текущей версии статистики
        • +3
          Мой вам поклон!
          • +1

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


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



            Ничего не пошло. В силу того, что диалплан весьма непростой и специфичный для каждого астериска; используются макросы; показатели, посчитанные тремя разными программами отличаются в разы; нужна еще интеграция с внешними источниками; не все настройки астерисков в зоне нашего влияния.
            Поэтому на первом этапе мы вынуждены были перейти на событийную модель расчета и использовать только queue log. Фактически, ведем построение callflow, самостоятельный перерасчет временных показателей по временным меткам в логе и последующий честный расчет всех показателей.


            Интересно, что переход на call-flow позволяет делать приятные вещи типа process mining. Много чего любопытного вскрылось.


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


            Делали все на R, чтобы не быть голословным, прикладываю ряд скриншотов.
            Сводный Call-flow по выбранному звонку
            Дашборд сводных данных
            Сценарии дозвона


            На втором этапе подумываем сесть на AMI события.


            Вопросы таковы:


            1. как вы валидируете правдивость статистических показаний, особенно на чужих астерисках, настройки которых вы менять не можете?
            2. можете ли предоставить детальную аналитику по плечам и звонку в целом, когда звонок состоит из трех участников: абонент-оператор-третья сторона и звонок собирается через attendent transfer из двух плеч? второе плечо инициируется оператором.
            • +1

              на самом деле, вопросов гораздо больше, но на часть из них может ответить только бизнес — нужно согласиться с той или иной методологией подсчета. Простой пример — кейс, когда абонент не один раз попадает в очередь (в ту же или в другую, а перевел его после диалога с уточнением потребностей первый взявший оператор). Считать ли это за один звонок или за несколько (событий ENTERQUEUE несколько)? Что каждому из операторов включать в KPI? Делать ли различие по сценариям повторного попадания в ту же очередь?


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


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

              • +1
                1. Мы работаем с cel, cdr и queue_log и, как правило, удается вытащить все так как оно было на самом деле (в этом cel — неоценимый помощник). Настройки Asterisk на стороне клиента правятся, это необходимо для логики работы наших запросов.
                Нужный кастом мы описали в вики, например — wiki.vistep.ru/doku.php?id=configure_freepbx_for_cloud_version

                2. В базовом функционале — нет.
                В этом случае, по запросу клиента, пилим спец. отчеты (пример в статье «Дополнительный отчеты»).

                Безусловно, как вы правильно заметили, — серебрянной пули нет,
                но мы стараемся выплавить нечто универсальное и растем в каждой итерации за счет фидбека и новых кейсов в настройке АТС клиентов.

                Была идея написания своего модуля к Asterisk, дабы в отдельную БД все складывалось как нам необходимо, но уже не раз убедились, что весь путь звонка можно собрать из трех стандартных таблиц и представить его в нужно виде.
        • 0
          Вы работаете только со стандартными средствами логирования астериск (CDR,CEL, Queue_Log) или есть АПИ для того чтобы прикрутить свои данные?
          • +1
            Да, данные все берем из этих трех таблиц + нужен небольшой кастом в настройке АТС (в вики у нас есть эти гайды).
            Свои данные можно отправить нам посредством linux-демона (ставится к вам на АТС).
            • 0
              Так API планируется?
              Ну к примеру у меня кластер из АТС.
              Я бы не прочь иметь обертку для статистики которой я смог бы поставить свои данные со своей АТС, чтобы она их проанализировала и отрисовала (не хочу например писать свой frontend и аналитику, готов на облако, но не хочу свою АТС в облако загонять)
              • 0
                АТС загонять в облако нет нужды.
                На АТС ставится демон, который синкает БД и файлы записей разговоров к нам.
                Вы заходите на stat.vistep.ru, вбиваете логин и пароль и смотрите все отчеты.
                • 0
                  есть ли вариант установки приложения на стороне клиента, чтоб не давать вам информацию о номерах и записях телефонов?
                  • 0
                    да, у нас есть локальная версия ПО
          • 0
            Думаю что аудитория, которая хочет предложить что-то свое у вас достаточно крупная, но хотелось бы внести предложения/задать вопрос:
            • 0
              рады любым вопросам, задавайте здесь или в личке
            • 0
              А что по поводу возможности обзвонов и убежавших звонков?
              • 0
                Пропущенные звонки есть в отчетах, на счет обзвонов — поясните, пожалуйста.
                • 0
                  Вопрос был, не просто увидеть в отчете, а может, например, оператор, если не успел ответить, нажать кнопочку и перезвонить из программы тому, кто не дождался?

                  Обзвон имеется в виду автоинформирование. Есть база абонентов, им нужно донести какую-то информацию. Записывается сообщение, программа дозванивается и проигрывает звуковой файл.
                  • +1
                    Звонок по клику мышкой из интерфейса — да, в одном из следующих релизов будет.
                    Автоинформатор — в недрах нашего редмайна и гита есть такой проект, но в свет мы его пока не готовы выпустить.
                    • +2
                      Как будете справляться с WebRTC?
                      Астериск даже в 13 версии очень так себе работает через этот транспорт. Не продакшн.
                      • +1
                        В ближайшее время реализация будет через AMI (как в интеграции с amoCRM, например, т.е. жмакнул на ссылку — зазвонил у тебя телефон, берешь трубку — пошел вызов на номер, по которому жмакнул).
                        Дальше будем смотреть.
                        • 0
                          Дело тут даже не только в Астериске… но вот проблема которую я не поборол — при каждом звонке приходится нажимать «разрешить» использовать микрофон. Очень бесит
                          • +2
                            В chrome, вроде бы можно добавлять исключения для url, где запрос на использование микрофона не будет появляться, и он будет доступен по умолчанию, этот момент уже будем обрабатывать, когда начнем внедрять функционал звонков в статистику.
                            • 0
                              Сервер с нормальным сертификатом + оттуда же загружаем код звонилки = решение проблемы с микрофоном

                              Дело именно в Астериске — его WebRTC к продакшну не готов.

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