PBX

Недавно я рассказывал о нашем опыте подружить webitel с elasticsearch. И вот мы запустили в тестовом режиме сервис аналитики по звонкам для всех пользователей webitel on-demand. В основе все та же связка elasticsearch и kibana. Сегодня я хочу более подробней рассказать, что это такое.

Пройдя авторизацию (все данные можете запросить у поддержки), для Вас открывается простой Dashboard:

Dashboard

Вся статистика webitel хранится в хранилище MongoDB в виде JSON файлов с детальным описанием всего маршрута звонка и переменных канала. Но, до сегодня было довольно сложно быстро построить отчет (либо график) по истории звонков. И мы начали поиск решения… Но, решение оказалось ближе, чем мы предполагали 🙂

Уже несколько последних месяцев для сбора и анализа логов я использую связку Elasticsearch+Logstash+Kibana, которая успешно справляется с поставленной задачей. Возникла идея, что если синхронизировать MongoDB с Elasticsearch и с помощью Kibana строить отчеты. Так и решили сделать!

Не так давно мы перенесли наш облачный сервис на площадку DigitalOcean, что позволило не только увеличить производительность, но и добавить новые функции, такие как поддержка IPv6. Вся прелесть в том, что в офисе мы тоже используем IPv6. Так почему, бы не настроить телефоны напрямую, минуя NAT? Так и сделаем!

С Yalink T22 проблем небыло — включил поддержку IPv6 и все просто заработало. А вот на SIP-T20 не завелось… Как я выяснил, по какой-то причине (глюк в прошивке), телефон не подхватывал шлюз:

Yealink SIP-T20

Пришлось прописать вручную. И сразу телефон зарегистрировался на сервере:

SIP IPv6

Что же, Webitel в on-demand теперь доступен как по IPv4, так и по IPv6 — пользуйтесь!

В предыдущих статьях я рассказал о том, что такое Docker и как оно все работает. Так же, рассмотрели пример запуска простого Webitel-приложения в контейнере. Сегодня я покажу практический пример, как быстро запустить FreeSWITCH в контейнере.

Для Webitel мы уже давно используем Docker как основной инструмент управления приложением. Для FreeSWITCH я сделал базовый образ, на основание которого строится автоматически образ для Webitel. Недавно, я расширил его еще и под задачи установки vanilla конфигурации FreeSWITCH. Вы можете его использовать для быстрого разворачивания приложения. Как это сделать — опишу ниже.

В предыдущих статьях мы обсудили основные преимущества и возможности Docker. Сегодня я хочу рассказать о реализации сервера Webitel Collaboration с помощью этой технологии. Напомню, что не так давно, с выходом bpm’online 7.4.1, был анонсирован новый продукт для бесплатных внутренних коммуникаций. Вот его мы сегодня и разберем по кирпичиках.

Микросервисы

Помните, микросервисы в основе приложения? Именно эта идеология и заложена в Collaboration. Мы разбили все компоненте на несколько небольших контейнеров в зависимости от выполняемой задачи. А какие основные задачи Collaboration? Если вкратце, то это внутренние звонки. Здесь нет статистики, нет записей разговоров, нет внешней маршрутизации и провайдеров связи.

Архитектура решения

Webitel Collaboration Cloud