Обзор удачной реализации интерфейса виртуальной АТС (ВАТС)
В обзоре представлен пример простой и понятной реализации веб-интерфейса для виртуальной АТС(ВАТС) или облачной АТС(ОАТС). Так как обзор не рекламный, никаких упоминаний о разработчике в обзоре не будет. Обзор ориентирован скорее не на конечных потребителей услуги, а на специалистов занимающихся данной услугой, которым было бы интересно познакомиться с вариантом реализации логики такой услуги.
Простота и удобство настройки виртуальной АТС через веб-интерфейс сегодня зачастую определяет успех и востребованность той или иной виртуальной АТС на рынке, поэтому многие разработчики борются за юзабилити графического интерфейса дабы реализовать концепцию «Easy PBX»(перевод с англ. Простая АТС), это когда ВАТС может настроить и использовать потребитель услуги не являющийся специалистом в области телефонии, тем более, технологий VoIP. Данная реализация является простой и удобной, приближенной к «Easy PBX», поэтому я решил написать о ней. Кстати, на вопрос чем отличается облачная АТС(ОАТС) от виртуальной АТС(ВАТС) могу дать ответ: в целом ничем не отличается, просто разные названия одной сути.
Данная ВАТС полностью управляется через веб-браузер при помощи веб-интерфейса.
В веб-интерфейсе есть два уровня доступа:
-
Администратор с полными правами – «видит” все настройки ВАТС.
-
Пользователь, «не видит” никаких настроек – рабочей области сценария и элементы схемы, но видит всю (и свою и чужую) историю вызовов и записи разговоров
Мне очень понравилась идея настройки виртуальной АТС(ВАТС) – слева в меню элементы схемы кружки – логические модули содержащие функции обработки вызова, например, голосовое меню, группа пользователей, анонс, внутренний пользователь, справа «рабочий стол» или область сценария, на который помещаются эти логические элементы в нужном порядке, начиная от точки поступления вызова вверху (например, входящий звонок с городского номера) и его выхода из логики виртуальной АТС внизу(например, на SIP-абонента), затем, в зависимости от желаемого сценария, модули соединяются линиями – логическими связями, которые определяют какой логический модуль будет следовать после завершения обработки вызова в предыдущем модуле. Например, модуль, «Входящий вызов» с городского номера – сюда первым делом попадает позвонивший в компанию клиент, в модуле можно включить мелодию вместо гудков, дальше, в соответствии с тем как мы решили строить сценарий, для нашего входящего вызова, перетаскиваем следующий модуль из меню слева – «Элементы схемы» и соединяем с предыдущим, например, фильтр звонков. В модуле «Фильтр звонков» вводим А-номера нежелательных клиентов, которых хотим отфильтровать, на выходе из этого модуля есть два варианта:
«Да» – вызов уходит по этому пути если в фильтре «попался» указанный номер, отправляем его на следующий модуль «Анонс», где проигрывается сообщение что компания не работает, затем передается уведомление по API – следующий модуль и отбой,
«Нет» – в этом случае на модуль «График работы». В модуле «График работы» проверяем расписание, если сейчас не рабочие часы компании, что соответствует результату «Нет», отправляем вызов на модуль «Анонс» где ему сообщается что «Мы закрыты» и вешается трубка. Если в данный момент рабочие часы, то вызов направляется на по пути «Да» на следующий модуль «Голосовое меню», где позвонившему проигрывается приветствие, здесь он может нажатием кнопки на телефоне(DTMF-сигналом) выбрать с каким отделом соединиться или подождать ответа оператора. И так далее.
Схема получается очень простой и наглядной. Для тестирования я создал сценарий представленный ниже.
Теперь по каждому модулю виртуальной АТС(ВАТС). Как я написал выше, модуль — это логический элемент общего сценария обработки вызова, пример которого представлен выше. Вызов с городского номера попадает в сценарий, двигается сверху вниз, проходя через логические модули обрабатывается в соответствии с настройками, указанными в этих модулях. На исходящую связь на внутренних номерах каждый из которых представлен отдельным модулем указывается каким городским номером закрывать внутренний номер.
При добавлении модулей в рабочую область они автоматически сохраняются, но клонировать модули нельзя. Если в дереве ошибка – сразу сброс. Есть интерактивная справка – описание большинства полей. Плюс есть общая справка с анимацией.
Модуль «Входящий звонок»
Модуль является отправной точкой обработки входящего вызова. Тут можно настроить только мелодию вместо гудков.
Модуль «Фильтр звонков»
Позволяет отфильтровать вызовы оп А-номерам или их маскам.
Определяет куда пойдут вызовы по условию Фильтра – подключаем на «Да». Будь то Сотрудник, Группа или другой элемент. На «Нет» уйдут все остальные звонки.
Модуль «График Работы»
Проверяет время, если фильтр по временным интервалам совпал с текущем временем, вызов уходит по направлению «Да», в противном случае – «Нет»
Ограничения:
-
Только недельное расписание на 7 дней, без дат в году
-
Нельзя настроить несколько рабочих интервалов для одного дня, но это можно решить каскадированием модулей «График работы» один за другим
Модуль «Голосовое меню»
Здесь можно загрузить свой голосовой файл или ввести текст, который проговаривает речевой синтезатор, когда вызов попадает в данный модуль. Загруженное голосовое меню можно сразу же проиграть просто, нажав кнопку. Может проговорить женским или мужским голосом, мужской голос показался совсем не похожим не настоящий.
Цифры выбора с 0-9,*(звёздочка) — соответствуют кнопкам при нажатии абонента на которые вызов переводится на указанный в меню модуль. Выбор «E» – соответствует ошибочному вводу абонента.
Ограничения:
-
Нельзя указать таймаут ожидания ввода цифры меню
-
Нельзя указать сколько раз проиграть аудио файл голосового меню
-
Нельзя больше одно раза сделать ошибку ввода и остаться в меню
-
Нет возможности разрешать/запрещать набор внутреннего номера сотрудника через меню – он просто всегда работает
Модуль «Анонс
Здесь можно загрузить свой голосовой файл или ввести текст, который проговаривает речевой синтезатор, когда вызов попадает в данный модуль. Если анонс пустой, то модуль не пропускает вызовы, сообщает звонящему что нужно загрузить файл.
Модуль «Уведомление»
Присылает уведомления по SMS с текстом, который указан в поле «Текст уведомления» + номер звонящего.
Ограничения:
- Нельзя отправлять уведомления по e-mail.
Модуль «API»
Как работает непонятно, в документации ничего нет.
Вот что прилетело на сервер 84.52.94.245 (видимо стиль Call Tuch):
47 14.093872 91.217.178.35 -> 84.52.94.245 HTTP 278 GET /action=callconnected&apikeytest&sessionid=1521725382.23&callid=1521725382.23&callerid=74732500000&phonenumber=78123332211 HTTP/1.1 49 14.095428 84.52.94.245 -> 91.217.178.35 HTTP 868 HTTP/1.1 500 Internal Server Error (text/html)
А и Б номер и некие ID.
Модуль «Группа пользователей»
Модуль реализует функционал группового вызова. Когда вызов попадает в данный модуль, вызываются указанные в настройках внутренние пользователи по определённому алгоритму с определённым таймаутом.
Примечательно, что если соединить разные цифры с одним пользователем – возникает критическая ошибка. И все соединительные линии исчезают.
Вероятно, в группе может быть до 9 участников. Т – это таймаут обзвона (Время в очереди), может принимать дискретные значения из списка от 30 секунд до 10 минут, также при помощи соединительной линии с T можно «запетлевать» вызов.
В общем это группа с функцией очереди.
Есть следующие стратегии(алгоритмы) обзвона
Модуль «Внутренний пользователь»
Внутренний SIP-абонент.
Модуль добавляет внутреннего пользователя, на котором может быть 1 SIP-терминал.
Вкладка «Основные»:
Можно добавить переадресацию на мобильный. Здесь выбирается каким городским А-номером(или АОНом) на исходящую связь закрывать данный внутренний номер. Включить или выключить запись разговоров.
Тут же ещё есть одна интересная настройка «Номер в роуминге»:
Выбираем нужного пользователя и вызываем меню настройки. Вводим номер сотрудника в роуминге. Сохраняем изменения.
Теперь при звонке с роумингового номера на ВАТС, вызов будет отбит. Затем АТС перезвонит, и для связи с нужным абонентом нужно просто ввести его телефон.
Иными словами – это обратный вызов с контролем по А-номеру. Единственный минус – не всегда А-номер из за границы корректно передаётся(может прилететь “левый” номер).
Настройки SIP-терминала:
Веб-доступ:
Если включить администратора, то пользователь может настраивать ВАТС, иначе сможет только просмотреть ВСЕ вызовы и послушать ВСЕ записи вызовов, а не только свои. И логин 20179(хотя учётная запись будет основного администратора домена) трудновато запомнить, пароль тоже символьный.
Модуль «Звонок с сайта»
Заставить его работать не удалось. Но в принципе сделано просто и симпатично.
Настраивается на 3х вкладках, я так и не понял, как указать кому из менеджеров должен прийти вызов.
Вот как выглядит на сайте:
При нажатии на трубку разворачивается форма.
Модуль «SIP-номер»
Можно завернуть на ВАТС SIP-номер от другого оператора.
Но только на входящую связь. То есть купить ВАТС без номера оператора не получится.
С внешними SIP-провайдерами работает отлично.
Модуль «Удалённый доступ»
Удаленный доступ – элемент используется в схеме для того, чтобы сотрудники смогли звонить через ВАТС со своих мобильных на другие внешние номера, например, на междугородние и международные.
Если сотрудник звонит с мобильного, затем попадает на этот модуль, сверяется его А-номер, если он в разрешён, сотрудник может набирать любой номер и звонить от имени ВАТС.
Модуль «Внешняя АТС»
Здесь можно подключить свою АТС. На виртуальной АТС выделяется SIP-акаунт, своя АТС (например, Asterisk клиента) регистрируется при помощи этого аккаунта. Можно авторизоваться по логину и паролю, можно по IP-адресу.
Выбрать городской А-номер, которым будут закрываться вызовы в город через виртуальную АТС, чтобы позвонить на АТС выделяется номер 400, внутренний абонент, например, 201 набирает 400 и попадает на виртуальная АТС.
История вызовов и записи разговоров
Отлично сделано — всё просто, но вся необходимая информация присутствует. Сразу видно кто куда звонил, во сколько, кто принял вызов. Вызовы можно прослушать в браузере или скачать.
Единственное – нет массовой выгрузки. Здесь не отображается стоимость совершённых вызовов.
Готовые шаблоны ВАТС
Для совсем «ленивых» есть готовые шаблоны настроек, нажимаешь кнопку и есть преднастроенный вариант, например, «малый бизнес», «горячая линия», «интернет магазин» и так далее.
Выводы
Реализация удачная, виртуальную АТС действительно просто настроить и использовать. Тут просто один рабочий стол и конструктор. Есть готовые шаблоны настроек. Причём абонент может под своей учётной записью может настроить просто SIP-линию или целую виртуальную АТС. Грани между классическим услугами SIP-линии и виртуальной АТС стираются.
Минусы:
-
Почти полное отсутствие интеграции с CRM. Так как в графической схеме обмен с CRM может происходить в разных точках, интересно как это будет реализовать на практике.
-
Все уведомления построены только на SMS, хорошо бы добавить, e-mail и месседжер Telegram или подобный
-
Не все по всем модулям есть справка
-
Нет сервиса отправки факсов
-
Нет личного кабинета для абонента, нельзя посмотреть только свои CDR и записи вызовов
-
Нет массовой выгрузки записанных разговоров
-
В истории вызовов не отображается их стоимость
-
Ограниченная гибкость в настройки сценариев за счёт простоты – реализуются только базовые сценарии обработки вызовов
-
Завести номера сторонних операторов можно только на входящую связь
-
Сервер указан в виде IP-адреса, а не DNS имени. Для всех одинаковый
-
Для RTP используется отдельный IP-адрес, который нигде не афишируется
-
Внутренние номера нельзя менять, идут поп порядку с 200 при создании
-
В состоянии регистрации нельзя посмотреть IP-адрес с которого зарегистрирован и модель терминала (UA) пользователя
-
Есть ограничения в модуле «голосовом меню», подробнее в описании работы модуля
-
Есть ограничения в модуле «график работы», подробнее в описании работы модуля
-
Не удалось заставить работать модуль «Звонок с сайта». Также я не понял где указывается с кем из абонентов станции соединять посетителя сайта, который заказал вызов на сайте
Похожие материалы:
Tags: IP PBX, IP АТС, VoIP, Виртуальтая АТС