73
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest Сергей Юцайтис консультант по технологиям совместной работы 23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.

HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Embed Size (px)

Citation preview

Page 1: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Сергей Юцайтис – консультант по технологиям совместной работы

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.

Page 2: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Что такое WebRTC

Что такое WebRTC: §  WebRTC это API определенный, продвигаемый и разработанный Консорциумом Всемирной паутины (World Wide Web Consortium -W3C)

§  Это открытый, не коммерческий стандарт, который позволяет веб браузерам обмениваться информацией в режиме реального времени (Real-Time Communications -RTC) через простой JavaScript API

В чем ценность WebRTC: §  WebRTC позволяет приложениям реализовывать возможности телефонии, видеосвязи и P2P обмена файлами внутри браузера без загрузки плагина или (внешнего программного клиента)

2

Page 3: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Браузерные приложения для голосового и видео общения сегодня...

3

Page 4: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Но…

У каждого производителя своя реализация – нет совместимости Требуется установка плагинов Сложности с установкой (разрешения и т.д...) Не на всех платформах доступны, мобильные – iOS и Android, Linux Их необходимо обновлять Сам по себе браузер не может открыть медиа сессию (для обмена голосом и видео)

4

Page 5: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Браузеры старых версий плохо подходят для реализации телекоммуникационных приложенний

Программного телефона Кодирования звука в реальном времени Кодирования видео в реальном времени Обмена контентом в реальном времени Сигнализации Шифрования медиа трафика

Плагины и внешние приложения требуются для поддержки функционала

5

Возможность отправки медиа на удаленную сторону Согласование протоколов Оповещения пользователя Преодоление NAT и firewall Управление периферийными устройствами Детектирование активности системы

Разработка браузерных технологий, направленных на отказ от плагинов, последнее время резко ускорилась. WebRTC сегодня становится основной альтернативой загружаемым модулям.

Page 6: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

UC/Видео сегодня не часто используется через браузер..

Плагины или внешние приложения могут быть запущены, если требуются

6

Page 7: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Те же ограничения встречают пользователи мобильных платформ

Требуются внешние приложения

7

Page 8: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Приложения и приложения выполняемые в браузере ПК приложения

8

Основанные на браузере приложения

Преимущества •  Межплатформенность •  Быстрое развёртывание

Вчерашние ограничения •  Подключение к сети •  Ограниченные возможности UI •  Дизайн UI •  Медленные •  Ограниченный доступ к оборудованию

•  Ограниченные мультимедийные возможности

Сегодня браузеры поддерживают гораздо

больше •  Аудио и Видео (вещание и в

реальном режиме времени) •  Хранение данных в офлайн и

локальные базы данных •  2D и 3D графика •  Выполнение в фоне, потоки •  Расширенная публикация

уведомлений •  Средства обеспечения безопасности

приложений •  Лучший UI, управление шрифтами

Браузер обеспечивает доступ к локальным

ресурсам •  Геолокация •  Адресная книга •  Микрофон и камера •  SMS, MMS, почта •  Drag & Drop

Сегодня

Page 9: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Эволюция технологий браузера и WebRTC

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 9

Page 10: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Эволюция браузерных технологий

10

HTTP (Pre AJAX)

AJAX (2004)

Web Socket (2008)

WebRTC (2012)

Обычный Web, запрос, выполненный на странице возвращает код страницы

(Geocities)

Часть страницы может обновляться без перезагрузки

страницы целиком (Gmail)

Браузер может открывать сессию двунаправленного обшения

Страница браузера может обмениваться информацией напрямую с другой страницей

Browser Server

Browser Server

Browser Server

Browser

http://venturebeat.com/2012/08/13/webrtc-is-almost-here-and-it-will-change-the-web/

http://www.evolutionoftheweb.com/

Browser

Page 11: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Браузеры запрещают загрузку и запуск плагинов

Производители браузеров (Google Chrome и Mozilla Firefox) планируют полностью прекратить поддержку плагинов в ближайшем будущем

Chrome и Firefox первые ввели политику запрета

11

“To give people more control over their browser, Firefox will no longer activate most plugins by

default” - Для того чтобы дать пользователю больше

возможностей по управлению браузером Firefox больше не будет разрешать загрузку и запуск большинства плагинов «по умолчанию».

https://blog.mozilla.org/futurereleases/2013/09/24/plugin-activation-in-firefox/

“Today’s browsers are speedier, safer, and more capable than their ancestors. Meanwhile, NPAPI’s 90s-era architecture has become a leading cause of hangs, crashes, security incidents, and code complexity. Because of this, Chrome will be phasing

out NPAPI support over the coming year.” - Сегодня браузеры быстрее, безопаснее и функциональнее чем были раньше. Архитектура веб. приложений 90-х,

основанная на плагинах, становится слишком громоздкой, уязвимой, содержит многочисленные ошибки. Поэтому Chrome планирует прекратить поддержку загружаемых

модулей (плагинов) в ближайшие годы http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-

friend-npapi.html

•  Для предотвращения недовольства пользователей, Google Chrome будет поддерживать список разрешенных популярных плагинов.

Page 12: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Загрузка и запуск плагинов сегодня

Chrome и Firefox поддерживают список разрешенных плагинов

12

Page 13: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Обзор HTML5 Стандарт начал поддерживаться браузерами еще до окончательного утверждения

13

<!DOCTYPE html>

SEMANTICS

<audio>

<video> <section>

<header> <footer>

<output>

<time> MathML

MEDIA & GRAPHICS WebRTC RTCWeb

<audio> <video> <canvas>

WebGL SVG

OFFLINE / STORAGE

Application Cache IndexedDB localStorage STYLING

border-radius

border-image

columns

backgrounds

shadows

transitions

animations

PERFORMANCE

Web Sockets Web Workers XMLHttpRequest

window.history

Drag & Drop

CSS3

Touch Events

Full Screen

INTEGRATION

Geolocation

Page 14: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

14

Замороженные или отмененные

Сторонние стандарты (не W3C)

В стадии разработки

Практически готовы

Тестовая версия (Candidate recommendation)

Рекомендация закончена и опубликована

HTML5

Page 15: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Ключевые возможности Медиа потоки Get User Media: для захвата аудио или видео с веб-камеры или микрофона WebRTC обеспечивает работу с устройствами захвата передающими один или несколько синхронизированных потоков медиа Адрес медиа необходимо представить в виде URL для возможности проиграть его средствами HTML5 Поддержка соединений точка - точка Соединения с поддержкой видео и звука высокого качества Управление методами и протоколами кодирования Шифрование Управление полосой пропускания Канал передачи данных Передача данных приложения точка – точка (поддерживается не всеми браузерами)

15

Page 16: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Что это означает?

Это означает что привычные нам приложения для телефонной и видеосвязи (такие как, например, Jabber и Skype) легко могут быть заменены встроенными в веб. страницы клиентами (а точнее – компактным кодом, исполняемым браузером).

§  Нет необходимости в установки дополнительных приложений. Браузер сам проделает всю необходимую работу.

Как только передача данных (Data Channel) будет полностью поддержана браузерами -управление удаленным рабочим столом, передача файлов, онлайн игры и текстовый чат в режиме реального времени, а также любой другой функционал, требующий обмена данными, можно будет реализовать только на базе браузера.

16

Page 17: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Что еще станет возможным?

Совмещение с другими веб технологиями откроет путь к совершенно новым возможностям! Например WebGL и HTML5 применяемые вместе с WebRTC позволят сделать функционал не существовавший в индустрии ранее

§  Пример: Применение видеоэффектов в приложениях веб трансляции в режиме реального времени или видеосвязи

17

Этот функционал можно реализовать с минимальными усилиями (очень низкой

стоимостью)

Page 18: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

WebRTC архитектура

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 18

Page 19: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Почему это интересно?

Легко разрабатывать

Легко внедрять

Простой доступ

Massive Adoption

§  Не нужны глубокие знания в области VoIP

§  Дает доступ к VoIP технологиям существующим Web программистам

§  Новые приложения §  Совместимые компоненты приложений связи

§  Не зависимо от платформы

§  Распространение = URL

§  Хранение в датацентр, а не на индивидуальных устройствах

§  Низкая стоимость обслуживания

§  Мгновенное обновление

§  Доступ в один клик §  Любое устройство §  Нет необходимости в плагинах/приложениях

§  Расширяет систему коммуникаций предприятия

19

Массовое использование

Page 20: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

20

<html> <body> <h1>getUserMedia API Example</h1> <div id='video-space'> <video autoplay></video> </div> <script> navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; var constraints = {audio: false, video: true}; var video = document.querySelector("video"); function successCallback(stream) { // Выведем видео в окно, что бы убедиться что все работает window.stream = stream; if (window.URL) { video.src = window.URL.createObjectURL(stream); } else { video.src = stream; } video.play(); } function errorCallback(error) { console.log("navigator.getUserMedia error: ", error); } navigator.getUserMedia(constraints, successCallback, errorCallback); </script> </body> </html>

Пример html webrtc кода

Выбор источника видео

Вывод видео в окно

Page 21: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Стратегия Cisco по внедрению HTML5 / WebRTC

Планируется широкое, основанное на стандартах, поддерживаемое большинством браузеров, внедрение WebRTC в течении 1-2 лет

21

Сегодня Cisco использует в своих продуктах только стабильные технологии,

полностью поддерживаемые текущими версиями

браузеров

Разработка новых продуктов с учетом

будущих возможностей браузеров – т.е. - WebRTC

Планируется поддержать все прогрессивные

возможности браузеров как только они станут

доступны

Поддержка встроенных возможностей браузеров

Направление развития

Page 22: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Интерактивное Аудио, Видео, Данные в Браузерах

22

Браузеры

Кодеки

Стандарты

«A» Браузер с

Веб. Приложением X

«Б» Браузер с

Веб. Приложением X

Нативно, без плагина

Приложения

Page 23: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Возможные проблемы

23

Передача медиа Через брандмауэр, NAT

Обеспечение безопасности в браузере, защита медиа потоков

Идентификация звонящего

Оптимизация производительности при обработки/ передачи трафика реального времени

Page 24: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Архитектура основанных на браузере коммуникаций Высокоуровневая архитектура меж-браузерных коммуникаций для приложений связи

24

Веб сервер

Веб. Приложение X через HTTP/HTTPS (т,е. HTML, CSS, JavaScript)

Голос, видео через SRTP (DTLS)

Page 25: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Архитектура WebRTC

Ключевые компоненты

25

…..

Web API (Редакция W3C WG)

Ваше Веб. приложение

WebRTC

WebRTC C++ API (Подключение)

Управление сессией/ Сигнализация (Сессии)

Обработка Звука

isac /iLBC Codec

NetEQ для голоса

Эхоподавитель/ Шумоподавитель

Аудио захват/вывод

Обработка Видео

VP8 / H.264 кодеки

Буфер флуктуации задержки для видео

Обработка/улучшение изображения

Видео захват

Транспортные механизмы

SRTP

Мультиплексирование

P2P STUN+ TURN+ICE

Сеть I/O

Веб. сервер

БРАУЗЕР

Page 26: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Что пока не возможно реализовать с WebRTC

Ограничения WebRTC

26

•  Установка сессии пока не реализована в рамках WebRTC. •  Проверки доступности (presence) нет в WebRTC

– Установка сессим и сервисы присутствия должны быть реализованы собственным кодом приложения, включающего вызовы WebRTC

•  WebRTC поддерживает только общение по схеме точка-точка; нет поддержки схем один-многие и многие-многие (multicast, broadcast)

•  Внешние библиотеки могут быть использованы для работы с сигнализацией

– Cafex Fusion Client SDK уже сегодня предоставляет фреймворк для разработки встроенных в браузер приложений связи в реальном режиме времени, легко интегрируемые в корпоративные порталы без необходимости установки пользователем внешних приложений или плагинов.

Page 27: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Установление соединения в WebRTC

27

Приложение 1 вызывает Сервер Приложение 2 принимает вызов

2 Соединяется с сервером 2 Соединяется с сервером

1 Обеспечивает сигнальное соединение

3 информация о соединении (Setup) 4 Передача OFFER на сервер

5 Передача сигнализации удаленной стороне

6 Подтверждение сигнализации: OFFER

7 Информация о соединении (Setup)

8 Передача ANSWER на сервер 9

Передача сигнализации в сторону инициатора соединения

10 Подтверждение приема сигнализации: ANSWER

11 Передача OK на сервер 12

Передача сигнализации удаленной стороне 13 Согласование медиа потоков

Page 28: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Идентификация в WebRTC

Браузер настраивается для запроса сервисов идентификации (identity provider) пользователя

§  Пользователь логинится на сервис идентификации

§  Браузер получает подтверждение от сервиса аутентификации который создает персональную DTLS подпись

§  JavaScript звонящего передает подтверждение идентификации удаленной стороне

§  Браузер удаленного абонента запрашивает сервис аутентификации и проверяет совпадение DTLS подписи

http://www.w3.org/TR/webrtc/#identity-provider-interaction

28

Facebook (сервис

аутентификации)

JS приложение

Браузер 1

JS приложение

Браузер 2 DTLS/SRTP медиа

Вебсайт

1

2

3 3

4

Page 29: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Безопасность в WebRTC

SRTP RTP/SRTP наиболее часто используется в решениях для связи по IP Порядковый номер, синхронизация и т.д,.. Только медиа (payload) шифруется

DTLS DTLS используется для согласования ключей шифрования Само-подписанные сертификаты (Self-signed)

NAT/Firewall Traversal STUN (Session Traversal Utilities for NAT) TURN (Traversal Using Relays around NAT) ICE (Interactive Connectivity Establishment)

29

Page 30: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Архитектура взаимодействия браузера и приложения Подробнее о расширениях для приложений связи в реальном режиме времени

30

Доступ к камере, микрофону Аудио, видео кодеки sRTP как транспорт для медиа, синхронизация потоков и т.д. SRTP шифрование с согласованием ключей по DTLS ICE для преодоления NAT/firewall SCTP/DTLS для обмена данными (многопользовательские игры) Основанные на SDP механизмы согласования режимов/протоколов

Web приложения (HTML, CSS, JavaScript)

API Управление медиа

Другие API браузера

Доступ к камере, микрофону

Кодеки

Аудио/видео RTP Stack

DTLS/SRTP транспорт

ICE

Контроллер согласования

режимов и кодеков данные SCTP/DTLS

= встроено в браузер = приложения использующие новый APIs

Page 31: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

WebRTC – Как это работает ? Браузер – обычный терминал

31

Веб сервер

Браузер

Javascript

SRTP

HTTP

SIP Call Agent

SIP

WebRTC – SIP

Page 32: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

WebRTC – конференция Высокоуровневая архитектура многоточечной конференции

32

Веб сервер

Веб приложения через HTTP/HTTPS

(т.е. HTML, CSS, JavaScript)

Voice, Video через SRTP

SIP прокси SIP шлюз

SIP

Сервер многоточечной связи или транскодер

Терминалы ВКС

SIP

Браузеры

Page 33: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Стандарты в WebRTC

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 33

Page 34: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Стандарты WebRTC Серьезный прогресс достигнут в этом году по согласованию стандартов

34

Принято •  Аудио кодеки: G.711, Opus •  Сигнализация: SDP-подобные согласование средствами JavaScript (ROAP / JSEP)

•  Преодоление Firewall/NAT … ICE, STUN, TURN •  Шифрование медиа: SRTP с ключами DTLS •  Согласование портов/адресов для медиа: ICE/

STUN/TURN •  Идентификация: Модель провайдера идентификации

•  Поддержка маркирования QoS … DiffServ для приоритета на WiFiшлюзах, LTE соединениях

•  Для видео поддержка VP8 и H.264, утверждена IETF! ‒  http://www.ietf.org/mail-archive/web/rtcweb/current/

msg13432.html

Обсуждается •  Cisco анонсировало FreeOpenH264 проект ‒  Mozilla подтвердили поддержку в Firefox

OpenH264

•  Коррекция ошибок/ потерь / переполнение… ‒  Цель = минимизировать задержку, обеспечить быструю реакцию и постоянный, непрерывный поток данных

•  Передача данных / экрана •  И т.д.…

Page 35: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Формирование стандартов Cisco играет ключевую роль в становлении стандарта

35

•  RTCWeb рабочая группа ‒ Основа стандарта со стороны IETF ‒ Cullen Jennings (Cisco Fellow) со-председатель группы

•  Определяют как браузер будет коммуницировать (в том числе с использованием существующих механизмов и протоколов)

•  Документы… draft-ietf-rtcweb-audio draft-ietf-rtcweb-data-channel

draft-ietf-rtcweb-jsep draft-ietf-rtcweb-overview

draft-ietf-rtcweb-qos draft-ietf-rtcweb-rtp-usage

draft-ietf-rtcweb-security-arch

draft-ietf-rtcweb-use-cases-and-requirements

•  WebRTC рабочая группа ‒ Основа стандарта со стороны W3C ‒ Cullen Jennings – один из авторов документа

‒ Keith Griffin (Lead Architect Cisco) один из авторов документа в части механизмов передачи данных/экрана.

•  Определяют как веб приложения получат доступ к функционалу связи (API и т.д.)

•  Документы… ‒  WebRTC 1.0: Real-time Communication Between Browsers

‒  Media Capture and Streams

‒  Media Capture Scenarios

Page 36: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Open Source H.264 для упрощения разработки WebRTC приложений

Cisco и Firefox объявили о поддержке H.264 видео звонков с обычных ВКС терминалов в браузер Firefox с WebRTC совместимым клиентом от Ciscohttp://blogs.cisco.com/collaboration/industry-first-h-264-video-endpoint-calls-firefox-via-webrtc-enabled-project-squared Google Chrome в настоящий момент еще решает как включить поддержку H.264 в их браузере Дополнительная информация: http://www.openh264.org Project Squared (spark):http://blogs.cisco.com/tag/project-squared

36

Page 37: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Поддержка браузерами HTML5 и WebRTC

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 37

Page 38: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Развитие браузеров

38 http://www.evolutionoftheweb.com

Page 39: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Поддержка браузерами HTML5

39

Устойчивый тренд

Page 40: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

HTML 5 тесты

40

•  Браузер выполнивший все тесты получит максимальную оценку 555

•  Предыдущие версии браузеров тестировались на меньшем количестве тестов, HTML5, поэтому имеют заведомо более низкую оценку

Насколько хорошо браузеры поддерживают HTML 5

Page 41: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Поддержка браузерами WebRTC Различные браузеры объявили о поддержке стандарта

41

Google Chrome •  Первая версия с поддержкой WebRTC

- Chrome 23 Stable (более поздние автоматически поддерживают)

•  Первая мобильная версия - Chrome 26 для Android Beta

•  Поддержка H.264 с ChromeOS 39/40 для Chrome Book

•  Активно работают над поддержкой открытого кода и стандартов проекта (WebRTC.org)

Microsoft Internet Explorer •  MS анонсировало поддержку WebRTC через ORTC API

•  Дополняют и дорабатывают ORTC API для поддержки WebRTC стандартов

Mozilla Firefox •  OpenH.264 поддержан с Firefox

33 •  Активно работают над поддержкой открытого кода и стандартов

Apple Safari •  Пока деталей не известно

Page 42: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Стратегия Microsoft в области выпуска обновлений и исправлений безопасности

Начиная с 12 января 2016, исправления и дополнения будут выпускаться только для актуальных версий Internet Explorer на поддерживаемых версиях ОС. Старые версии браузеров не будут официально поддерживаться.

http://support2.microsoft.com/lifecycle/search/?sort=PN&alpha=internet+explorer

Microsoft публично анонсировала поддержку WebRTC технологий через ORTC API в Internet Explorer.

http://venturebeat.com/2014/10/27/microsoft-eyes-webrtc-for-plugin-free-skype-calls-in-internet-explorer/

42

Page 43: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Интеграция с существующими системами коммуникации предприятия

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 43

Page 44: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

44

Ключевые вопросы, требующие рашения для обеспечения совместимости с классическим ВКС

Как обеспечить преобразование стандартной сигнализации?

Поддерживается ли G.711 или Opus для аудио?

Поддерживается VP8 или H.264?

Поддерживается ли классическим терминалом DTLS SRTP?

Есть ли у видеосистемы поддержка ICE?

Page 45: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Возможные решения для взаимодействия?

45

Производители коммуникационного оборудования §  Могут встроить возможности шлюзования протоколов WebRTC в свое оборудование

§  Нативная поддержка WebRTC Производители интеграционных решений

§  Шлюзы для WebRTC Провайдеры услуг связи

§  Могут обеспечить нативную совместимость своих решений §  Сервис шлюза

Облачные решения §  Сервис шлюза

Page 46: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Решения B2C от Cisco

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 46

Page 47: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Jabber Guest – основы решения

Предшественник WebRTC

47

Требуемые компоненты

На стороне абонента •  Браузер на ПК •  Или мобильное приложение •  Или SDK (мобильное приложение, доступное через браузер)

DMZ Предприятия •  Cisco Expressway X8.1.1+

Сеть предприятия •  Jabber® Guest Virtual Machine •  Cisco Expressway X8.1.1+ •  Cisco Unified Communications Manager и зарегистрированные на нем терминалы

•  Дополнительно: MCU

Video Chat

Поддержка а режиме реального времени

Покупатель, Заказчик

Page 48: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Предшественник WebRTC - Jabber Guest –архитектура решения

48

Expressway/VCS Core X8.2+

Expressway/VCS Edge X8.2+

Home Internet DMZ Enterprise

Cisco® UCM Jabber® Guest

HTTPS-сигналинг для управления вызовом (ROAP) SIP

RTP/SRTP

STUN/TURN

•  Обеспечивает Javascript управление вызовом, основанное на URL •  Для мобильных платформ требует установки Cisco® приложения или интеграции SDK в приложение других производителей

•  For laptop browsers, initiates H.264 add-on install as needed (Cisco or 3rd-party Web app) •  Converts HTTPS call request to SIP INVITE

Jabber Guest …

Page 49: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Архитектура Jabber Guest

49

javascript call control

media plugin CPVE

Jabber Guest Server HTTP

Expressway-E

Expressway-C

CUCM

Dx80

SIP

SIP

RTP over TURN

RTP

Enterprise Home DMZ Internet

SIP

HTTP

Page 50: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Экспериментальный (лабораторный режим): Локальная сеть

50

Сетьпредприятия

CUCM

JabberGuest

HTTP-basedcallcontrol(ROAP)SIP

RTP/SRTP

HTTP-basedcallcontrol(ROAP) SIP SIP

RTP/SRTP

Page 51: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Первоначальная конфигурация JG для лабораторного режима – минимальна

51

Page 52: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

52

Первоначальная конфигурация CUCM для использования с лабораторным режимом JG

Page 53: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

53

Jabber Guest 10.6 c поддержкой BFCP

Page 54: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

54

Jabber Guest 10.6 c поддержкой BFCP

Page 55: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Cisco Jabber Guest – планы разработки

55

•  Пользовательские улучшения •  Улучшения безопасности •  Передача экрана (BFCP) от оператора к гостю

•  Убрать, переместить окно просмотра собственного видео (Web)

•  Поддержка G.722 •  Упрощение доступа (Web)

Q2 2015

10.6

2016 и дальше

•  Пользовательские улучшения

•  Улучшения безопасности

•  iOS 9 базовая поддержка *

•  Поддержка Internet Explorer 11 на Windows 10

Уже поставляется

Q3 2015

•  Пользовательские улучшения

•  Улучшения безопасности

•  Передача HD на Android •  TCP media •  Гостевой доступ через облако

•  WebRTC media •  Передача экрана от гостя к оператору

•  Упрощение доступа

10.6 MR1

Q4 2015

•  Пользовательские улучшения

•  Улучшения безопасности

•  iOS 9 полная поддержка*

•  поддержка Mac OS X 10.11

•  Поддержка Android M •  Поддержка Opus •  Возможность соединения без видео

•  Возможность соединения, пропустив окно предпросмотра

10.6 MR2 Возможны изменения Уже поставляется

* Получить разрешение Apple на публикацию в App Store для iOS 9 невозможно до официального его релиза. Apple требует локальную поддержку IPv6 приложением для IOS 9. Окончание разработки MR1 было запланировано до официального выхода iOS 9. Пользователи приложения и SDK должны были получить поддержку iOS 9, как только он официально выйдет. MR2 добавлял реализацию IPv6 в соответствии с App Store требованиями. При этом связь по протоколу IPv6 не гарантируется из-за не полной совместимости с IPv6 всей используемой инфраструктуры.

Page 56: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Cisco Jabber SDK – набор инструментов для создания веб приложений

56

http://www.cisco.com/c/en/us/products/unified-communications/jabber-software-development-kit/index.html https://developer.cisco.com/web/jabber-developer/jabber

Communications Manager

IM & Presence

Unity Messaging

UC инфраструктура Cisco

WebEx Collaboration

WebEx Messenger

Page 57: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Cisco Jabber SDK

57

Что такое Jabber SDK, и что в него входит? Различные примеры кода и библиотеки, которые Вы можете выборочно использовать в зависимости от своих задач: Голос и Видео (Веб телефон- AJAX): Cisco Jabber Voice and Video SDK (основанные на Jquery JavaScript библиотеки). Требуется установка плагина.

Page 58: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

58

IM & Presence (CAXL - AJAX): Cisco AJAX XMPP библиотеки (основанные на Jquery JavaScript библиотеки) Голосовая почта (CUMI - REST): Cisco Unity Connection Voicemail APIs (основанные на REST и SOAP веб сервисы) Веб конференции (WebEx -URL/XML): WebEx Conferencing APIs (веб сервисы основанные на url и xml)

Cisco Jabber SDK

Присутствие

IM / Чат

Click 2 Call

Click 2 WebEx

Click 2 Video

Page 59: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

59

Jabber Guest SDK для WEB

Включение виджета во фрейм веб страницы <div> <iframe id="jabberc" src="https://jabberc.mycompany.com/call/1000?widget=true"> </iframe> </div> События (соединение установлено – разорвано и т.д.)

Jabber Guest SDK for Web – виджет, включаемый в iframe вашей веб страницы. При необходимости компактный и простой JavaScript код включаемый в основную страницу, обеспечивает связь с виджетом.

Page 60: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

60

Jabber Guest SDK для Android, IOS

DEVNET-2011 - Jabber Guest - Android SDK Live Coding Tutorial https://www.ciscolive.com/online/connect/sessionDetail.ww?SESSION_ID=84271

Call

Поддержка «живого» видео

UI Вашего приложения

Поддержка «живого видео!

UI Вашего приложения

CJGuestCallViewController

Пред просмотр

Удаленное видео

http://www.slideshare.net/CiscoDevNet/devnet1121customizing-cisco-video-access-for-guests

DEVNET-1121 Customizing Cisco Video Access for Guests

Page 61: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Cisco Mobile Advisor Работает без загрузки плагина с минимальной загрузкой оборудования

61

ü поддерживаетсяVP8/H.264транскодированиедляWebRTCсовместимыхбраузеров

ü ГарантируетсясовместимостьWebRTCиммерсивными,настольнымииклассическимивидеосистемами

ü haps://marketplace.cisco.com/catalog/companies/2503

ü MobileподдерживаеткодированиекакH.264,такиVP8.ПоэтомунетнеобходимостиперекодироватьтрафикприсвязисH.264системами

ü ЕслидлясвязииспользуетсяПКсбраузеромVP8(Chrome),приложениеиспользуетVP8чтобыизбежатьнеобходимостьперекодирования

Page 62: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Remote Expert Mobile Все возможности голосовых и видео коммуникаций

Возможность обмениваться графической информацией

•  Основан на WebRTC •  Встроенное голосовое , видео общение

•  Мобильное приложение или веб. страница

•  Интеграция с SIP коммуникациями предприятия

•  Общение в режиме реального времени

•  Обмен экранами •  Совместный просмотр экрана, управление со стороны оператора

•  Анотации •  Передача файлов •  Передача контента в CC

Page 63: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Чем REM отличается от Jabber Guest

Jabber Guest RE Mobile

Голос / Видео + + iOS / Android SDK + + Chrome, Firefox, Safari и IE SDK + + Перекодирование видео протоколов - + 2-х поточное видео - + Finesse Gadget, Expert Desktop - + Совместная работа эксперта с приложением Заказчика - + Совместный просмотр WEB - + Передача изображения рабочего стола от агента гостю + - Анотации - + Контент (документы, графика) и Web ссылки - + Удаленное управление - + Сохранение и передача реквизитов учетной записи - + Доступность Уже Уже

Page 64: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Схема взаимодействия основных элементов REM

Клиент Интернет DMZ Предприятие

Remote Expert Media Broker

Remote&Expert&Mobile&Media&Broker&

Enterprise&DMZ&Internet&Home,&Wi;&Fi&or&&4G&

Mobiles&

Browsers&

HTTPS/WSS&

HTTPS&

CUBE;E&

Cisco&Unified&CM&Cluster&

Cisco&Unified&Contact&Center&&(UCCX&or&P/UCCE)&&

EPs&

Media (Voice/Video) SIP HTTP Cisco&Finesse&

SIP&/&SIP&TLS&

RTP&DTLS&/&sRTP&

Enterprise&ApplicaMon&Server&

&&&

Web&&&Mobile&Apps&

HTTP/S&

Data

HTTPS/WSS&

SIP&

SIP&

RTP&

Remote&Expert&Mobile&ApplicaMon&Server&

REAS&

REMB&

CSDK/ Enterprise&Reverse&Proxy&

RP&

Native

Plug-in

Remote&Expert&Mobile&Media&Broker&

Enterprise&DMZ&Internet&Home,&Wi;&Fi&or&&4G&

Mobiles&

Browsers&

HTTPS/WSS&

HTTPS&

CUBE;E&

Cisco&Unified&CM&Cluster&

Cisco&Unified&Contact&Center&&(UCCX&or&P/UCCE)&&

EPs&

Media (Voice/Video) SIP HTTP Cisco&Finesse&

SIP&/&SIP&TLS&

RTP&DTLS&/&sRTP&

Enterprise&ApplicaMon&Server&

&&&

Web&&&Mobile&Apps&

HTTP/S&

Data

HTTPS/WSS&

SIP&

SIP&

RTP&

Remote&Expert&Mobile&ApplicaMon&Server&

REAS&

REMB&

CSDK/ Enterprise&Reverse&Proxy&

RP&

Remote Expert Application Server

Remote&Expert&Mobile&Media&Broker&

Enterprise&DMZ&Internet&Home,&Wi;&Fi&or&&4G&

Mobiles&

Browsers&

HTTPS/WSS&

HTTPS&

CUBE;E&

Cisco&Unified&CM&Cluster&

Cisco&Unified&Contact&Center&&(UCCX&or&P/UCCE)&&

EPs&

Media (Voice/Video) SIP HTTP Cisco&Finesse&

SIP&/&SIP&TLS&

RTP&DTLS&/&sRTP&

Enterprise&ApplicaMon&Server&

&&&

Web&&&Mobile&Apps&

HTTP/S&

Data

HTTPS/WSS&

SIP&

SIP&

RTP&

Remote&Expert&Mobile&ApplicaMon&Server&

REAS&

REMB&

CSDK/ Enterprise&Reverse&Proxy&

RP&

Обозначение

Media (Voice, Video) SIP HTTP/WebSocket

Remote&Expert&Mobile&Media&Broker&

Enterprise&DMZ&Internet&Home,&Wi;&Fi&or&&4G&

Mobiles&

Browsers&

HTTPS/WSS&

HTTPS&

CUBE;E&

Cisco&Unified&CM&Cluster&

Cisco&Unified&Contact&Center&&(UCCX&or&P/UCCE)&&

EPs&

Media (Voice/Video) SIP HTTP Cisco&Finesse&

SIP&/&SIP&TLS&

RTP&DTLS&/&sRTP&

Enterprise&ApplicaMon&Server&

&&&

Web&&&Mobile&Apps&

HTTP/S&

Data

HTTPS/WSS&

SIP&

SIP&

RTP&

Remote&Expert&Mobile&ApplicaMon&Server&

REAS&

REMB&

CSDK/ Enterprise&Reverse&Proxy&

RP&

Expert Console Embedded Video

Экперт на предприятии

Reverse Proxy

Page 65: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Другие приложения с использованием WebRTC

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 65

Page 66: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

webrtc2SIP

66

Web Browser

Java Scripts

SIP стек

SDP стек

WebRTC

RTCWeb Breaker

Media Coder

Click-to-Call

webrtc2SIP

SIP Proxy SIP

Media

PSTN

IMS/LTE/SIP

•  Webrtc2sip гибкий и мощный RTCWeb / SIP шлюз превращающий ваш браузер в телефон с поддержкой голосовых, видео и SMS коммуникаций. Шлюз состоит и четырех модулей: SIP Proxy | RTCWeb Breaker | Media Coder | Click-to-Call. Шлюз позволяет используя браузер выполнять/принимать звонки из стандартных SIP сетей или PSTN.

•  http://webrtc2sip.org - На сайте представлено общедоступное демо

Webrtc2sip шлюз позволяет используя браузер выполнять/принимать звонки из

стандартных SIP сетей или PSTN.

Page 67: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Поддержка WebRTC операторами связи ATT запустила коммерческий проект по поддержке WebRTC с расширенным AT&T WebRTC API

§  AT&T Enhanced WebRTC API доступен для разработчиков в рамках открытой программы бета тестирования

§  Важный инструмент для разработчиком и пользователей убирающий барьеры адаптации

Caller ID для WebRTC коммуникаций: §  Может быть представлен как AT&T мобильный номер для звонков, выполняемых из WebRTC-совместимых браузеров.

§  Позволяет пользователю перевести активное соединение начатое с ПК, MAC или планшета на смартфон.

§  http://www.prnewswire.com/news-releases/att-to-become-first-us-carrier-to-launch-commercial-support-for-webrtc-300015750.html

67

AT&T стал первым провайдером связи в США запустившим коммерческую

поддержку WebRTC

Page 68: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

PeerCDN

Веб браузер может хранить и предоставлять контент для других браузеров вместо того, чтобы скачивать его с сервера. Преимущества – увеличение скорости загрузки, масштабируемость и серьезная экономия полосы пропускания. Код реализован на JavaScript –он компактный и не требует установки чего-либо. Разработан тремя студентами колледжа в рамках выполнения летнего задания PeerCDN сегодня принадлежит Yahoo!

Новый тип распределенной CDN с использованием WebRTC

68

Веб сервер Браузеры предоставляют доступ к статичным ресурсам (изображения, файлы, и т.д.) через peer-to-peer сеть

Page 69: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Key Use Cases

69

Voice & Video | Enterprise Contact Centers | Telco-OTT | Unified Communications

Conferencing| Kiosks | Social Communication | Entertainment | Education Apps |IMS Extension

Page 70: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Get a feel for WebRTC

https://apprtc.appspot.com http://www.sipml5.org/call.htm http://webcamtoy.com/ http://vod-rcd-002.cisco.com/webrtc/call.html http://ctxs.co/translate/ http://webcamtoy.com/ http://www.evolutionoftheweb.com/

70

Page 71: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

преимущества WebRTC Подводя итоги ..

•  Доступ через JavaScript API

•  Не требует плагинов, скачивания и установки приложений

•  Поддержан основными браузерами

•  Планируется поддержка на всех аппаратных платформах

•  Упрощает работу с видео

•  Позволяет упростить разработку приложений связи

71

Cisco планирует активно использовать WebRTC технологии Мы участвуем в разработке и адаптируем стандарт WebRTC для

наших продуктов и решений

Page 72: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest

Ждем ваших сообщений с хештегом #CiscoConnectRu

CiscoRu Cisco CiscoRussia CiscoRu

Сергей Юцайтис Почта/Видео: [email protected] Телефон: +7 (495) 776-8238 https://sjc-jabberc-ext.cisco.com/call/[email protected]?name=Sergey%20Yutsaytis

23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.

Page 73: HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber Guest