Your SlideShare is downloading. ×
Сергей Рыжиков, Александр Сербул (1С-Битрикс)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

1,273
views

Published on

Published in: Internet

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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