Сергей Рыжиков, Александр Сербул (1С-Битрикс)

  • View
    1.375

  • Download
    12

  • Category

    Internet

Preview:

Citation preview

Эффективное использованиеWebRTC в компании

Сергей РыжиковАлександр Сербул

Коммуникации в компании

Как мы общаемся? Распределенная команда…

Skype

Google Hangouts

Обмен документами, изображениями, паролями…

Риски

Нас могут слушать и … слушают ;-)

Зависимость от инфраструктурывендора

Проприетарные протоколы

Развитие продукта в своих целях

WebRTC или не WebRTC?

• Skype, Google Hangouts – не WebRTC!

• Плагины, закрытые протоколы, кластера вендора

• WebRTC – peer-to-peer• Открытая технология, HTML5• HD• Эффективные кодеки• Не нужен SIP

Стандарты

http://www.w3.org/TR/webrtc/ - “стандарт”WebRTC 1.0: Real-time Communication Between Browsers (working draft 10 September 2013)

http://www.webrtc.org/ - реализация(компании Google, Mozilla, Opera)

Chrome - stableFirefox – stableOpera - stable

Android (шероховатости)

Кодеки

• HTML5 конкуренты формату H.264

• WebM: VP8/Vorbis/Matroska• WebRTC: VP8/(Opus, iSAC, iLBC)

• VP9 – c 01/2014 официальная поддержка на YouTube

Media Capture and Streams –структура браузерного API

http://www.w3.org/TR/mediacapture-streams/W3C Working Draft 03 September 2013

Media Capture and Streams –структура браузерного API

Работа с тегами Video, объектами Canvas, MediaStream, MediaStreamTrack

WebRTC – структура API

• «Real-time Communication Between Browsers»

• RTCPeerConnection – видео-аудио связь между браузерами

• RTCDataChannel – передача данных в обе стороны

• RTCStatsReport - статистика

Полезная книжечка по теме

WebRTC – структура API

(C) Ilya Grigorik

WebRTC – структура API

(C) Ilya Grigorik

Стек WebRTC

WebRTC – пример

Самый маленький примерWebRTC без кода сигналинга

Сигналинг – на стороне сервера.

Сделали глубокий вдох…

(C) Ilya Grigorik

ICE – «как найти друг друга»

(C) Ilya Grigorik

«Interactive Connectivity Establishment (ICE)» (RFC 5245, 2010)

Браузеры «находят» друг друга, используя технологии STUN/TURN.

Видео-аудио передается по протоколу SRTP (/UDP).«Secure Real-time Transport Protocol» (RFC 3711, 2004)

STUN, TURN

«Session Traversal Utilities for NAT (STUN)»(RFC 5245, 2008)

«Traversal Using Relays around NAT (TURN)»(RFC 5766, 2010)

Сначала NAT изобрели, потом начали его «преодолевать»

SignalingБраузеры передают описание сессии друг другу – SDP

«An Offer/Answer Model with the Session Description Protocol (SDP)» (RFC 3264, 2002 год)

Сигналинг реализуете Вы - в своем приложении

Signaling

Signaling

(C) Ilya Grigorik

Cтатусы peer

Браузеры обмениваются описанием локальных потоков (streams) и портов через SDP

v=0 o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.example.com/seminars/sdp.pdf e=j.doe@example.com (Jane Doe) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 99 a=rtpmap:99 h263-1998/90000

Cтатусы ICE

Соединение установлено, когда «состыкованы» все медиа-потоки.

Преодоление NAT

Преодоление NAT

Настройка файерволовВариант 1. Открыть все исходящие/входящие UDP.

Вариант 2. Открыть вх./исх. на TURN/STUN-сервер:порт 3478 (UDP/TCP)порт 5349 (TLS)

Открыть исходящие UDP на TURN/STUN сервер, порты каналов

(или все).

Софт для TURN/STUN

restund (BSD license)TurnServer (GNU GPL)rfc5766-turn-server (New BSD)

Licode – пример открытого MCU для видео-конференций по WebRTC

Собственный видео-кластер

turn.calls.bitrix24.com – поддержка любых видов NAT (STUN, TURN)

Кластер из нескольких серверов. DNS-failover.

~10% соединений потребуют TURN/relay

1 relay stream => ~ 1Mbps

Групповые звонки по WebRTC

Групповые звонки по WebRTC

4 человека – (mesh network) часто оптимально

Не нужен доп. софт.Трафик!

MCU (микширование N медиа-потоков в 1):Medoose+Asterisk, Licode, Kinnex Elementи др.

Звонки из WebRTC наружу…Мы не используем SIP ;-)PHP, javascript, WebSocketsПартнер «Zingaya».

Обл. сервисБраузер SRTP/UDP

WebRTC peer(аудио поток)

Signaling

WebRTC peer(аудио поток)

WebSockets

Asterisk, SIP …

Signaling

WebRTC и ваша компания

• «Решение» задачи телефонии• Отличная «картинка» и звук • Обмен документами• Безопасность бизнес-коммуникаций• Возможна запись звонков (веб-сервис)

• Прозрачное и открытое решение, можно развивать куда угодно

Битрикс24 – облачный сервис для совместной работы Полный комплект инструментов для компании

Социальнаясеть

Задачии проекты

Бизнес-чат и видеозвонки

CRM

Мобильноеприложение

Маркетплейс24

Телефония Почтовый сервер

Битрикс24.ДискОнлайн-редактирование

документов

Календари

Битрикс24.NetworkСоциальнаясеть

Задачии проекты

Бизнес-чат и видеозвонки

CRM

Мобильноеприложение

Маркетплейс24

Телефония Почтовый сервер

Битрикс24.ДискОнлайн-

редактирование документов

Календари

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

браузером, десктопом и мобильным приложением

• Из мобильного приложения можно будет звонить по корпоративной телефонии

• Синхронизация календаря по CalDav в Android-версии

• WebRTC: Голосовая связь

Сергей Рыжиков@rsv_bitrix

Спасибо за внимание! Вопросы?

Александр Сербул@AlexSerbul

Recommended