PBX

 

  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 мы решили научить говорить в новом релизе.

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

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

Время от времени возникает вопрос — как быстро получить информацию пропущенном или переведенном звонке, когда я не в офисе? Раньше я предлагал отправлять 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 сеть:

В своих старых вебинарах я рассказывал о реализации функции “звонк на ответственного” через разработку дополнительного 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, у которого есть доступ на чтение в разделе Контакты.

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

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

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

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

Конструктор фильтров

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

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

SIP

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

Друзі, більшість із Вас знає, що ми розробляємо та впроваджуємо систему з відкритим кодом для побудови хмарних контакт-центрів та АТС — webitel. Наш продукт захищений українським авторським правом, більша частина коду доступна на Github. У нас є потужна команда однодумців, яка процює над створенням якісної вітчізняною платформи для телефонізації будь-яких веб-рішень. Проте, наша робота паралізована, завдяки діям працівників львівського СБУ по надуманим звинуваченням: Ст. 359 ККУ — Незаконні придбання, збут або використання спеціальних технічних засобів отримання інформації.

Читайте повний текст звернення на сайті ain.ua.

Вчера мы закончили основные работы с перехода на новую версию webitel. Лично для меня, самым долгожданным был новый WebClient (Игорь, привет!). Описание других новшеств Вы сможете прочитать на этой странице: тыц!

Несколько дней назад возникла необходимость объединить пользователей bpm’online клиента с его офисной АТС Avaya IP Office 500.

Схема объединения

Для начала я разделил внутренние номера так, что пользователи bpm’online будут иметь номера на 2хх, а телефоны за Avaya — 1хх. Поскольку webitel находится в облаке, а IPO в локальной сети клиента, необходимо наличие статического IP адреса на маршрутизаторе, а так же, сделать проброс SIP и RTP портов. Здесь все зависит от конкретной модели интернет роутера.

Наша задача — разрешить пользователям звонить между собой по внутренним номерам, а пользователям bpm’online — выходить в мир через городские линий IPO. Рассмотрим настройки Avaya и Webitel в отдельности.