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

Like this? Share it with your network

Share

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

  • 1,383 views
Uploaded on

 

More in: Internet
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,383
On Slideshare
581
From Embeds
802
Number of Embeds
5

Actions

Shares
Downloads
5
Comments
0
Likes
2

Embeds 802

http://www.xakep.ru 720
http://ritconf.ru 39
http://xakep.ru 37
http://www.highload.ru 4
http://www.web24.by 2

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