Blog from November, 2021

Homer - это простой способ беспрерывного мониторинга SIP и RTP протоколов. Поскольку мы сами очень часто прибегаем к данному инструменту, то я хотел бы поделиться с вами настройкой и использованиям Homer совместно с Webitel.

Установка

Здесь все довольно просто. Добавить репозиторий и установить пакеты:


curl -s https://packagecloud.io/install/repositories/qxip/sipcapture/script.deb.sh | sudo bash
apt install heplify-server
apt install homer-app


Настройка

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

su postgres
createuser -P -s -e homer7

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

  • /etc/heplify-server.toml
  • /usr/local/homer/etc/webapp_config.json

Теперь можем запустить скрипты создания и наполнения стандартной конфигурации Homer 


homer-app -create-config-db -database-root-user=homer7 -database-host=localhost -database-root-password=webitel -database-homer-user=homer7
homer-app -create-data-db -database-root-user=homer7 -database-host=localhost -database-root-password=webitel -database-homer-user=homer7

homer-app -create-table-db-config 
homer-app -populate-table-db-config 
homer-app -upgrade-table-db-config


Если все прошло без ошибок, тогда включаем и запускаем сервисы:

systemctl start heplify-server
systemctl enable heplify-server
systemctl start homer-app
systemctl enable homer-app

Webitel

Для того, чтобы Webitel начал отправлять логи звонков на сервер Homer, нужно выполнить следующие настройки.

OpenSIPS

В стандартном конфигурационном файле opensips.cfg открываем строку с hep_udp, указав с какого IP должен OpenSIPS отправлять пакеты в Homer:

Открыть строки модуля и указать IP адрес нашего Homer сервера:

Включить перенаправление SIP трафика в новый роут:

Активировать этот роут:

rtpengine

Дополнительно по каждому звонку мы можем собирать статистику качества голоса. Для этого нужно в файле rtpengine.conf указать куда направлять логи:

Использование

Web интерфейс будет доступен по адресу http://HOMER-SERVER-IP:9080/ 

Стандартный логин admin , а пароль - sipcapture (не забудьте изменить)

  1. Область поиска нужного звонка
  2. Область фильтра по дате и времени
  3. Область отображения найденных пакетов

Если просто нажать на поле SIP Method, тогда откроем данный пакет:

Если нажать на Session ID, тогда сможете просмотреть весь диалог:

Сводная информация по сессии:

Что касается RTP, то на вкладке QoS вы найдете информацию по RTP протоколу - потери пакетов, значения Jitter и MOS, а также многое другое, что поможет найти проблемные места во время отладки качества связи:


В новой версии появилась возможность создавать чат для сайта и принимать сообщения вместе со звонками в едином окне оператора. В этой заметке я расскажу о том, как правильно создать свой чат для сайта.

Подготовка

Создадим в справочнике Навыки операторов новый навык - Чат

Перейдем в раздел Очереди и добавим новую Входящую очередь чатов:

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

Так же назначим навык Чат нужным операторам: 

Перейдем в раздел /wiki/spaces/WEP/pages/21300119 и создадим простую схему, которая напишет приветственный текст, дождется ответа клиента и направит на созданную выше очередь:

Создание чата

В разделе Текстовые шлюзы создаем новую запись Web chat:

В настройках нужно указать созданную выше схему:

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

Чат с сайта

Скопируйте код и добавьте на ваш сайт (ваш сайт должен работать с использованием https протокола):

После ввода текста клиентом:

Система распределить чат на свободного оператора с навыком Чат:

Ответ оператора отображается на сайте:

Так же, при необходимости, у оператора есть возможность отправить клиенту файл.

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

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

Есть 2 способа реализации данного функционала:

  1. Звонок с представлением случайного номера, где клиент должен ввести последние 4 цифры номера
  2. Звонок с одного номера, а клиент должен нажать 1 для входа

Рассмотрим концепцию реализации на втором примере.

Нам нужно подготовить схему, где будет воспроизводиться звуковой файл: «Для входя в личный кабинет, нажмите 1» и проверка, если нажали единицу, тогда отправляем http запрос на веб-сервис личного кабинета, в котором отдаем идентификатор веб-сессии:

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

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

POST  /api/call_center/queues/1/members

{
    "communications": [
        {
            "destination": "380631111111",
            "type": {
                "id": "1"
            }
        }
    ],
    "name": "VIP Client",
    "variables": {
        "session_id": "4bbfbd54-4fc2-4535-ad55-fe1bbc8ccbc6"
    }
}

Все довольно просто, а главное, работает из коробки 😎