- PVSM.RU - https://www.pvsm.ru -
Сервис Zoom [1] штурмом взял индустрию видеоконференций — просто потому, что ребята смогли предложить хорошее качество видео и «всегда работает». У конкурентов и первое, и второе как-то не клеилось. Кто пробовал сделать в Skype или аналоге видеоконференцию на пять и более человек, меня поймет. Авторы сервиса адекватно оценивают его популярность и «премиум» возможности предлагают недешево: возможность подключать к конференциям участников с обычными телефонами стоит от 100 долларов в месяц [2]. Зато SIP-подключение стоит в два раза дешевле. И под катом я хочу показать, как подключать к подобным сервисам Voximplant, чтобы в несколько строк JavaScript-кода получать недорогие звонки по всему миру и нашу голосовую автоматику.
Всё, что нужно сделать со стороны Zoom, это купить интеграцию с SIP, которая называется H.323/SIP Room Connector и покупается по этой ссылке [3]. Нам понадобится всего один порт, так как вся «телефонная магия» будет осуществляться с помощью JavaScript на стороне Voximplant.
Идея заключается в создании веб-интерфейса, который через HTTP API будет инструктировать облако Voximplant подключиться к нужной конференции Zoom. А затем облако сможет подключить к этой конференции участников с телефонов: как позвонив само, так и предоставив номер для звонка. Чтобы сделать решение еще дешевле, мы будем использовать номера в «песочнице» Готэм Сити, которые почти как настоящие, но работают через добавочные.
Зарегистрироваться разработчиком Voximplant можно здесь [4], после чего в вашем полном распоряжении оказывается панель управления manage.voximplant.com [5], в которой и будут осуществляться дальнейшие шаги по настройке.
С помощью раздела «приложения» верхнего меню создайте новое приложение и назовите его zoomconnector. Затем с помощью раздела «сценарии» создайте сценарии ZoomBridge и ZoomCall-In вот с таким исходным кодом:
Чтобы участники конференции могли позвонить в Готэм, перейдите в раздел «номера», щелкните по переключателю «настоящие»/«отладочные» и купите себе за один цент номер в несуществующем городе. Для этого примера мы будем использовать 699100266 в Готэм Сити. Это добавочный номер. Чтобы позвонить по нему, нужно вначале позвонить по единому номеру доступа виртуальных номеров (указаны в разделе «мои номера») и после голосового приветствия набрать этот номер. Также в разделе «мои номера» нужно связать номер и приложение:
Последнее, что нужно сделать, это указать, какие JavaScript-сценарии в каких ситуациях нужно выполнять. Для этого перейдите в раздел «приложения», выберите приложение zoomconnector и нажмите на «правила». Нужно создать два правила. Первое будет выполнять сценарий ZoomCall-In по входящему звонку на виртуальный номер, а второе выполнять сценарий ZoomBridge для организации конференции и взаимодействия с Zoom. Обратите внимание, что порядок указания сценариев имеет значение. Более специфичные (для одного номера) нужно располагать выше, чем менее специфичные (для всех звонков).
Запускаем приложение Zoom и открываем Zoom Meeting:
У запущенного Meeting есть Meeting ID, который используется при подключении. Скопированные выше демонстрационные JavaScript-сценарии позволяют подключиться к Zoom двумя способами:
Обратите внимание на этот фрагмент кода в сценарии ZoomBridge:
После того как облако Voximplant запустило JavaScript-сессию по входящему звонку или по команде от HTTP API, вы можете взаимодействовать с этой сессией, делая HTTP-запросы к специальному access url (сама сессия, кстати, тоже может общаться с окружающим миром, делая HTTP-запросы). В нашем примере мы используем эту возможность чтобы проинструктировать JavaScript-сессию конференции позвонить по указанному номеру и добавить его к общению с Zoom Meeting:
«Access URL» для общения с сессией мы получаем либо запустив сессию через HTTP API (способ номер 2 выше), либо подписавшись на событие Started сессии [7] и передав его себе HTTP-вызовом из сессии на свой backend. В нашем примере команда на запуск обратного звонка будет выглядеть как-то вот так:
Автор: aylarov
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/265182
Ссылки в тексте:
[1] Zoom: https://zoom.us/
[2] от 100 долларов в месяц: https://zoom.us/pricing
[3] по этой ссылке: https://zoom.us/signin
[4] здесь: https://voximplant.com/sign-up/
[5] manage.voximplant.com: https://manage.voximplant.com
[6] startconference: http://voximplant.com/docs/references/httpapi/#toc-startconference
[7] Started сессии: http://voximplant.com/docs/references/appengine/AppEvents.html#AppEvents_Started
[8] Источник: https://habrahabr.ru/post/339650/
Нажмите здесь для печати.