Эффективное использование
WebRTC в компании
Сергей Рыжиков
Александр Сербул
Коммуникации в компании
Как мы общаемся? Распределенная
команда…
Skype
Google Hangouts
Обмен документами, изображениями,
п...
Риски
Нас могут слушать и … слушают ;-)
Зависимость от инфраструктуры
вендора
Проприетарные протоколы
Развитие продукта в ...
WebRTC или не WebRTC?
• Skype, Google Hangouts – не
WebRTC!
• Плагины, закрытые протоколы,
кластера вендора
• WebRTC – pee...
Стандарты
http://www.w3.org/TR/webrtc/ - “стандарт”
WebRTC 1.0: Real-time Communication Between Browsers (working draft 10...
Кодеки
• HTML5 конкуренты формату H.264
• WebM: VP8/Vorbis/Matroska
• WebRTC: VP8/(Opus, iSAC, iLBC)
• VP9 – c 01/2014 офи...
Media Capture and Streams –
структура браузерного API
http://www.w3.org/TR/mediacapture-streams/
W3C Working Draft 03 Sept...
Media Capture and Streams –
структура браузерного API
Работа с тегами Video,
объектами Canvas,
MediaStream,
MediaStreamTra...
WebRTC – структура API
• «Real-time Communication Between
Browsers»
• RTCPeerConnection – видео-аудио
связь между браузера...
Полезная книжечка по теме
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
«Session Traversal Utilities for NAT (STUN)»
(RFC 5245, 2008)
«Traversal Using Relays around NAT (TURN)»
(RFC 5...
Signaling
Браузеры передают описание сессии друг
другу – SDP
«An Offer/Answer Model with the Session
Description Protocol ...
Signaling
Signaling
(C) Ilya Grigorik
Cтатусы peer
Браузеры обмениваются
описанием локальных
потоков (streams) и портов
через SDP
v=0
o=jdoe 2890844526 28908428...
Cтатусы ICE
Соединение установлено, когда
«состыкованы» все медиа-потоки.
Преодоление NAT
Преодоление NAT
Настройка файерволов
Вариант 1. Открыть все
исходящие/входящие UDP.
Вариант 2.
Открыть вх./исх. на TURN/STUN-
сервер:
порт...
Софт для TURN/STUN
restund (BSD license)
TurnServer (GNU GPL)
rfc5766-turn-server (New BSD)
Licode – пример открытого MCU ...
Собственный видео-кластер
turn.calls.bitrix24.com – поддержка любых видов NAT
(STUN, TURN)
Кластер из нескольких серверов....
Групповые звонки по WebRTC
Групповые звонки по WebRTC
4 человека – (mesh network) часто
оптимально
Не нужен доп. софт.
Трафик!
MCU (микширование N ме...
Звонки из WebRTC наружу…
Мы не используем SIP ;-)
PHP, javascript, WebSockets
Партнер «Zingaya».
Обл. сервисБраузер SRTP/U...
WebRTC и ваша компания
• «Решение» задачи телефонии
• Отличная «картинка» и звук
• Обмен документами
• Безопасность бизнес...
Битрикс24 – облачный сервис для совместной работы
Полный комплект инструментов для компании
Социальная
сеть
Задачи
и проек...
Битрикс24.Network
Социальная
сеть
Задачи
и проекты
Бизнес-чат
и видеозвонки
CRM
Мобильное
приложение
Маркетплейс24
Телефон...
Мобильное приложение
• Бесплатные видеозвонки между
браузером, десктопом и
мобильным приложением
• Из мобильного приложени...
Сергей Рыжиков
@rsv_bitrix
Спасибо за внимание!
Вопросы?
Александр Сербул
@AlexSerbul
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Upcoming SlideShare
Loading in...5
×

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

1,395

Published on

Published in: Internet
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,395
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Эффективное использование WebRTC в компании Сергей Рыжиков Александр Сербул
  2. 2. Коммуникации в компании Как мы общаемся? Распределенная команда… Skype Google Hangouts Обмен документами, изображениями, паролями…
  3. 3. Риски Нас могут слушать и … слушают ;-) Зависимость от инфраструктуры вендора Проприетарные протоколы Развитие продукта в своих целях
  4. 4. WebRTC или не WebRTC? • Skype, Google Hangouts – не WebRTC! • Плагины, закрытые протоколы, кластера вендора • WebRTC – peer-to-peer • Открытая технология, HTML5 • HD • Эффективные кодеки • Не нужен SIP
  5. 5. Стандарты 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 - stable Firefox – stable Opera - stable Android (шероховатости)
  6. 6. Кодеки • HTML5 конкуренты формату H.264 • WebM: VP8/Vorbis/Matroska • WebRTC: VP8/(Opus, iSAC, iLBC) • VP9 – c 01/2014 официальная поддержка на YouTube
  7. 7. Media Capture and Streams – структура браузерного API http://www.w3.org/TR/mediacapture-streams/ W3C Working Draft 03 September 2013
  8. 8. Media Capture and Streams – структура браузерного API Работа с тегами Video, объектами Canvas, MediaStream, MediaStreamTrack
  9. 9. WebRTC – структура API • «Real-time Communication Between Browsers» • RTCPeerConnection – видео-аудио связь между браузерами • RTCDataChannel – передача данных в обе стороны • RTCStatsReport - статистика
  10. 10. Полезная книжечка по теме
  11. 11. WebRTC – структура API (C) Ilya Grigorik
  12. 12. WebRTC – структура API (C) Ilya Grigorik
  13. 13. Стек WebRTC
  14. 14. WebRTC – пример Самый маленький пример WebRTC без кода сигналинга  Сигналинг – на стороне сервера.
  15. 15. Сделали глубокий вдох… (C) Ilya Grigorik
  16. 16. ICE – «как найти друг друга» (C) Ilya Grigorik «Interactive Connectivity Establishment (ICE)» (RFC 5245, 2010) Браузеры «находят» друг друга, используя технологии STUN/TURN. Видео-аудио передается по протоколу SRTP (/UDP). «Secure Real-time Transport Protocol» (RFC 3711, 2004)
  17. 17. STUN, TURN «Session Traversal Utilities for NAT (STUN)» (RFC 5245, 2008) «Traversal Using Relays around NAT (TURN)» (RFC 5766, 2010) Сначала NAT изобрели, потом начали его «преодолевать» 
  18. 18. Signaling Браузеры передают описание сессии друг другу – SDP «An Offer/Answer Model with the Session Description Protocol (SDP)» (RFC 3264, 2002 год) Сигналинг реализуете Вы - в своем приложении
  19. 19. Signaling
  20. 20. Signaling (C) Ilya Grigorik
  21. 21. 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
  22. 22. Cтатусы ICE Соединение установлено, когда «состыкованы» все медиа-потоки.
  23. 23. Преодоление NAT
  24. 24. Преодоление NAT
  25. 25. Настройка файерволов Вариант 1. Открыть все исходящие/входящие UDP. Вариант 2. Открыть вх./исх. на TURN/STUN- сервер: порт 3478 (UDP/TCP) порт 5349 (TLS) Открыть исходящие UDP на TURN/STUN сервер, порты каналов (или все).
  26. 26. Софт для TURN/STUN restund (BSD license) TurnServer (GNU GPL) rfc5766-turn-server (New BSD) Licode – пример открытого MCU для видео- конференций по WebRTC
  27. 27. Собственный видео-кластер turn.calls.bitrix24.com – поддержка любых видов NAT (STUN, TURN) Кластер из нескольких серверов. DNS-failover. ~10% соединений потребуют TURN/relay 1 relay stream => ~ 1Mbps
  28. 28. Групповые звонки по WebRTC
  29. 29. Групповые звонки по WebRTC 4 человека – (mesh network) часто оптимально Не нужен доп. софт. Трафик! MCU (микширование N медиа-потоков в 1): Medoose+Asterisk, Licode, Kinnex Element и др.
  30. 30. Звонки из WebRTC наружу… Мы не используем SIP ;-) PHP, javascript, WebSockets Партнер «Zingaya». Обл. сервисБраузер SRTP/UDP WebRTC peer (аудио поток) Signaling WebRTC peer (аудио поток) WebSockets Asterisk, SIP … Signaling
  31. 31. WebRTC и ваша компания • «Решение» задачи телефонии • Отличная «картинка» и звук • Обмен документами • Безопасность бизнес-коммуникаций • Возможна запись звонков (веб-сервис) • Прозрачное и открытое решение, можно развивать куда угодно
  32. 32. Битрикс24 – облачный сервис для совместной работы Полный комплект инструментов для компании Социальная сеть Задачи и проекты Бизнес-чат и видеозвонки CRM Мобильное приложение Маркетплейс24 Телефония Почтовый сервер Битрикс24.Диск Онлайн-редактирование документов Календари
  33. 33. Битрикс24.Network Социальная сеть Задачи и проекты Бизнес-чат и видеозвонки CRM Мобильное приложение Маркетплейс24 Телефония Почтовый сервер Битрикс24.Диск Онлайн- редактирование документов Календари
  34. 34. Мобильное приложение • Бесплатные видеозвонки между браузером, десктопом и мобильным приложением • Из мобильного приложения можно будет звонить по корпоративной телефонии • Синхронизация календаря по CalDav в Android-версии • WebRTC: Голосовая связь
  35. 35. Сергей Рыжиков @rsv_bitrix Спасибо за внимание! Вопросы? Александр Сербул @AlexSerbul
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×