- PVSM.RU - https://www.pvsm.ru -

Видео-звонки в видеоконференцию Zoom с веб страниц

Видео-звонки в видеоконференцию Zoom с веб страниц - 1

В предыдущей [1] хабрастатье я показал, что если сервис умеет интегрироваться по SIP и RTP, то с ним можно делать много интересных штук. Например, приглашать в видеоконференции Zoom участников с мобильных телефонов. Но наше облако Voximplant — это не только телеком и телефоны. Еще мы любим и умеем SDK, чтобы звонить и принимать звонки из неожиданных мест: с веб страниц, из приложений (звонки через интернет намного дешевле, чем через голосовой канал) и даже из VR/AR [2] Unity решений. В этой статье я покажу, как с помощью нескольких строк фронтенд JavaScript создавать «звонящие» страницы, с помощью которых участники смогут делать видеозвонок в конференцию. И да, благодаря последнему обновлению от Apple звонить теперь можно и с веб страниц на iPhone!

Настройка Zoom

Все то же самое, что в предыдущей хабрастатье [1].

Настройка Voximplant

В предыдущей статье я подробно рассказал про создание нового приложения и организацию конференций, чтобы голос всех участников с телефонов микшировался на стороне облака Voximplant и затем коммуницировался с Zoom по одному SIP каналу. В этой статье я покажу другу схему работы, когда каждый пользователь, звонящий с веб страницы через видео звонок, будет подключаться напрямую к конференции Zoom. Соответствующий сценарий Voximplant (один, потому что два нужные были только для организации конференции со стороны Voximplant) выглядит вот так:

Этот сценарий получает входящий видео-звонок от WebSDK, патчит SDP (потому что все сервисы «понимают» SDP немного по-разному), совершает исходящий звонок в Zoom и соединяет видео и голосовые потоки входящего и исходящего звонков.

Фронтенд часть

Несколько строк JavaScript позволяет сделать вот такую страницу [3], на которой любой желающий может ввести идентификатор конференции Zoom и, если для конференции подключая интеграция через SIP, то видеозвонок будет осуществлен прямо с веб страницы!

Видео-звонки в видеоконференцию Zoom с веб страниц - 2

Видео-звонки в видеоконференцию Zoom с веб страниц - 3

Разделение звонка в облаке на две части, «входящий» и «исходящий», пошло еще со времен Asterisk, который мы не используем. Для разработчика удобно оперировать двумя независимыми частями (они называются «ногами» звонка, «call legs»). Например, для голосовых звонков, в случае потери связи можно синтезировать что-нибудь вроде «подождите, восстанавливаю соединение», позвонить повторно из той же JavaScript сессии и снова соединить звонки. Или по команде от оператора переключить входящий звонок куда-нибудь еще. В нашем примере можно «вставить» между входящей и исходящей ногой звонка запись видео, если заменить вызов easyProcess на:

А с помощью параметра transcribe [4] можно превратить голос в текст! Если у вас есть оплаченный Zoom с SIP коннектором, то вы можете воспользоваться тестовой страницей, которую я сделал для этой статьи: demos02.voximplant.com/zoom [3]

Вопросы в комментах традиционно приветствуются. Про телефонию мы знаем много и готовы рассказывать.

Автор: Алексей Айларов

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/266476

Ссылки в тексте:

[1] предыдущей: https://habrahabr.ru/company/Voximplant/blog/339650/

[2] VR/AR: https://unity.voximplant.com/

[3] вот такую страницу: https://demos02.voximplant.com/zoom/

[4] transcribe: http://voximplant.com/docs/references/appengine/VoxEngine.RecorderParameters.html

[5] Источник: https://habrahabr.ru/post/340746/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best