Уведомления из webitel в Slack

Не так давно наша компания начала активно использовать Slack в качестве внутреннего корпоративного чата. Одним из больших преимуществ данного приложения (как и в webitel) – множество механизмов для веб-интеграций. Сегодня рассмотрим пример уведомления пользователей о пропущенных звонках.

Первое, что необходимо сделать – настроить входящий WebHook:

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

Дальше, в public маршрутизации нашего городского номера на событие OnDisconnect добавляем:

Continue reading “Уведомления из webitel в Slack”

Мій ДН :)

Усі ви прекрасно знаєте, що в минулому році я активно розпочав займатися спортом. В березні у мене День Народження. І вже зараз багато хто з вас запитує: “Що тобі подарувати?”

Ви можете зробити мене дуже щасливим, подарувавши цей прекрасний спортивний годинник! А я, підкоряючи все нові й нові спортивні вершини, споглядатиму на дисплей годинника з думкою про усіх вас класних! 🙂

Здійснити мрію тут!

Let’s encrypt bpm’online

В статье переводим bpm’online на HTTPS я описал процесс перевода сайта приложения на использование безопасного протокола https. Но, не так давно, центр сертификации StartCom был заблокирован основными браузерами и больше не считается надежным. Не спешите покупать платный сертификат, в этой статье я опишу, как бесплатно получить надежный сертификат и забыть о проблеме раз и на долго 🙂

Let’s Encrypt – это OpenSource центр сертификации, который предоставляет API для получения бесплатных сертификатов на 90 дней. Вам не нужно заходить на сайт, регистрироваться, покупать сертификаты. Достаточно выполнить один запрос и настроить автоматическое обновление. В официальной документации весь процесс автоматизирован для Linux\Unix платформ и в будущей версии webitel Вы найдете инструменты для получения и продления сертификатов.

Как быть с Windows? Я нашел несколько утилит, но одна мне особенно понравилась своей простотой – letsencrypt-win-simple. Все, что Вам нужно – это скачать архив с последней версией, распаковать его и запустить в консоли PowerShell утилиту:

LetsEncrypt

Вам будет предложено только 2 действия: ввести свой email и выбрать сайт для установки нового сертификата из списка доступных сайтов. Утилита автоматически сгенерирует сертификат и установит его на выбранном вами сайте:

Перезапускаем приложение и проверяем наш сайт: Continue reading “Let’s encrypt bpm’online”

Verto Phone step-by-step

 

  1. Setup FreeSWITCH
    1. Install FreeSWITCH with mod_verto.
    2. Setup mod_verto
    3. For screen sharing, please, add new extension in the default context:
      <extension name="screen_sharing">
            <condition field="destination_number" expression="^(\d )-screen$">
              <action application="set" data="effective_caller_id_number=${caller_id_number}-screen"/>
              <action application="transfer" data="$1 XML default"/>
            </condition>
          </extension>
      
  2. Install chrome Application and Extension.
  3. Setup Your login, password and WebSocket Uri:
  4. Make a call:

Как мы научили webitel говорить

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

Тестировали и выбирали из нескольких поставщиков услуги Text-To-Speech. Основные требование – качество синтеза речи и наличие основных языков. Очень понравился облачный сервис IVONA, он и стал первым кандидатом на реализацию. Так же, мы добавили поддержку Microsoft Bing Text To Speech.

Протестировать в живую, что у нас получилось, можете на нашем IVR. Набирайте любой наш номер (есть на сайте), услышите приветствие и голосовое – нажамайте 9, там вас ждет IVONA.

Push-уведомления и webitel

Время от времени возникает вопрос – как быстро получить информацию пропущенном или переведенном звонке, когда я не в офисе? Раньше я предлагал отправлять SMS сообщение, но сейчас с этой задачей прекрасно справляются Push-уведомления. Давайте посмотрим, как это работает в webitel.

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

Создаем свое приложение и получаем Token Key.

User Key и Token Key будут нам нужен для отправки сообщений.

А дальше, все элементарно просто – воспользуемся приложением httpRequest для отправки сообщений из ACR маршрутизации. К примеру, я уже по номеру телефона из bpm’online получил имя клиента и теперь могу отправить себе эту информацию на телефон:

{
        "httpRequest": {
            "url": "https://api.pushover.net/1/messages.json",
            "method": "POST",
            "headers": {
                "Content-Type": "application/x-www-form-urlencoded"
            },
            "data": {
                "html": 1,
                "user": "hGvdrtgFDvsgtrfBBFgvfff",
                "token": "HGGtyteg66gbGFfggtdgbgG",
                "message": "<font color=blue>входящий звонок от </font> <b>${effective_caller_id_name}</b> с ${caller_id_number}"
            }
        }
    }

Если звонок переводят мне на мобильный, то я получаю вот такие уведомления, еще до того, как звонок поступить ко мне через GSM сеть:

Звонок на ответственного в bpm’online

В своих старых вебинарах я рассказывал о реализации функции “звонк на ответственного” через разработку дополнительного web-сервиса без авторизации в bpm’online. Данный сервис позволяет определить контакта по номеру телефона, найти внутренний номер сотрудника, закрепленного за этим контактом и направить звонок непосредственно на него. Только если он не ответил на протяжение n-секунд, отправить по общему правилу.

В представленной мною реализации было несколько проблем:

  1. Сервис без авторизации, а значит, к нему легко получить доступ. Ничего, кроме внутреннего номера ответственного по заданному номеру клиента не увидят. Но, это все же не безопасный метод.
  2. Есть основание полагать, что после очередного обновления bpm’online, этот сервис перестанет работать и нужна будет повторная его установка.

В документации по разработке bpm’online 7.8 появилось описание интеграции с помощью веб-службы DataService. Как уверяют меня коллеги, этот функционал был давно, но, описание появилось только начиная с 7.8 🙂 Вот на него и будем переводить нашу функцию “Звонок на ответственного”.

Для реализации поставленной задачи, нужна сборка ACR от 27.06.2016 или старше (начиная с релиза webitel v3.3.0), где была добавлена функция реверса строки и работы с Cookie. Так же, нам понадобиться логин и пароль пользователя bpm’online, у которого есть доступ на чтение в разделе Контакты.

Continue reading “Звонок на ответственного в bpm’online”

Переводим bpm’online на HTTPS

Если у Вас установлен bpm’online on-site и Вы хотите использовать webitel с WebRTC, то без наличия HTTPS это сделать у Вас не получиться. Я уже описывал процесс перевода webitel на использование сертификатов безопастности, а сегодня поговорим о bpm’online.

Процесс получения бесплатного сертификата такой же, как и для webitel, единственное отличие – это создание PFX файла для IIS:

pfx

Сертификат необходимо загрузить в хранилище “Веб-служб” в меню “Сертификаты сервера” IIS:

сертификат

Назначим сертификат на нужный нам сайт с bpm’online через меню “Привязки”:

Для того, что бы корректно работали WebSocket на HTTPS, нам необходимо перевести сайт на использование Microsoft WebSocket сервера. Для этого сайт должен быть размещен минимум на Windows 8 или Windows 2012 Server и компонент WebSocket – установлен:

WebSocket

Теперь, когда у нас уже есть сертификат и установлены WebSocket, перейдем к конфигурации сайта bpm’online. Все указанные ниже изменения я делаю на сайте версии 7.8.0.1005.

Continue reading “Переводим bpm’online на HTTPS”

Полнотекстовый поиск по статистике звонков

Очень сильно раздражает, если для поиск нужного звонка в статистике любой АТС нужно ждать десятки секунд, а то и минуты. А теперь представьте, что Вы постоянно работаете со статистикой… Каждый поиск, каждый новый фильтр – потерянные минуты, которые собираются в часы 🙁 Вы можете увеличить вычислительные ресурсы сервера, можно удалить старые записи… А можно перейти на полнотекстовый поиск. Вот это последние мы и решили испытать в ожидающем нас новом релизе webitel.

Те, кто пользовался админкой в webitel 3.0 или 3.1, очень хорошо помнят ее ограничения при работе со статистикой – только фильтры по дате. Я сам неоднократно не мог найти нужный мне звонок:

Старая статистика звонков

В релизе 3.2 мы презентовали новый Webitel WebClient, который обзавелся не только новым видом, но и новым конструктором фильтров:

Конструктор фильтров Continue reading “Полнотекстовый поиск по статистике звонков”

Безопасные звонки с Webitel

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

Когда мы используем обычный SIP, то каждый звонок выглядит вот так:

SIP

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

Continue reading “Безопасные звонки с Webitel”