0
WebRTC
What’s going on and is it of use to NRENs
Mihály Mészáros, NIIF Institute
eduCONF Workshop
13/03/14
2Connect | Communicate | Collaborate
Agenda
● Overview, WebRTC and RTCWEB History, API
● WebRTC and NRENs: Is it a good id...
3Connect | Communicate | Collaborate
History
● Global IP Solutions
● In May 2010, Google bought GIPS for $68.2 million.
● ...
4Connect | Communicate | Collaborate
What is WebRTC ? (RTCWEB)
● WebRTC: “A framework, protocols
and application programmi...
5Connect | Communicate | Collaborate
WebRTC
● WebRTC Peer to Peer Direct media
● Abstract signaling
● Hides complexity fro...
6Connect | Communicate | Collaborate
WebRTC API
● Major API Components
● GetUserMedia
● Acquiring audio and video
● which ...
7Connect | Communicate | Collaborate
WebRTC API vs Alternative APIs
● Current nearly 1.0 WebRTC API couldn't be perfect.
●...
8Connect | Communicate | Collaborate
WebRTC and NREN's
● TNC2013 TERENA Technical Advisory Council
● Jan Meier: WebRTC Why...
9Connect | Communicate | Collaborate
Look under the hood technology vs.
High-level overview
10Connect | Communicate | Collaborate
Introduction / WAYF / Roll Call
● What do your prefer / expect from this WebRTC trai...
11Connect | Communicate | Collaborate
Technically
● W3C WebRTC JavaScript API
● WebRTC use abstract signaling protocol
● D...
12Connect | Communicate | Collaborate
JavaScript Session Establishment Protocol
(JSEP) IETF RTCWEB Workgroup
13Connect | Communicate | Collaborate
Offer – Answer model
● Session Description Protocol capability exchange
● Peer State...
14Connect | Communicate | Collaborate
SDP Anatomy - Nuts & Bolts
● SDP is complex, WebRTC SDP Anatomy
● http://webrtchacks...
15Connect | Communicate | Collaborate
Interactive Connectivity Establishment
16Connect | Communicate | Collaborate
ICE - Nuts & Bolts
● ICE
1. Candidate gathering
● STUN
● TURN (allocation)
2. Priori...
17Connect | Communicate | Collaborate
Standard Based Firewall/NAT Traversal
● ICE RFC5245 (STUN/TURN)
● Tries to find the ...
18Connect | Communicate | Collaborate
ICE vs. Trickle ICE
Slide from: trickle-ice-iet86-orlando.pptx
STUN
Server
STUN
Serv...
19Connect | Communicate | Collaborate
Architecture Overview
Image source: http://www.webrtc.org/_/rsrc/1317202919504/refer...
20Connect | Communicate | Collaborate
Protocol Stack
● Peer-to-Peer media communication
● RTCP Multiplex
● Media Multiplex...
21Connect | Communicate | Collaborate
Security
● Trust in your browser only (TCB)
● Secure End to End Communication
● getU...
22Connect | Communicate | Collaborate
RTCWEB Security architecture Overview
+----------------+ Unspecified +--------------...
23Connect | Communicate | Collaborate
Offer (Fingerprint + Assertion)
Origin: http://www.ietf.org/proceedings/82/slides/rt...
24Connect | Communicate | Collaborate
Answer (Fingerprint+Assertion)
Origin: http://www.ietf.org/proceedings/82/slides/rtc...
25Connect | Communicate | Collaborate
Codecs
● Audio
● Opus (royalty free, RFC 6176) , Opus 1.1 mobile
● iSAC (internet Sp...
26Connect | Communicate | Collaborate
Battle for Mandatory To Implement(MTI)
Video Codec
● Battle for WebRTC mandatory to
...
27Connect | Communicate | Collaborate
Diagnostic / Interoperability
● Browser interoperability: http://www.webrtc.org/inte...
28Connect | Communicate | Collaborate
Demonstrations: http://goo.gl/d3uftB
29Connect | Communicate | Collaborate
Experience it. Demonstrations
● Cube Slam Chrome experiment Game
https://www.cubesla...
30Connect | Communicate | Collaborate
AppRTC (WebRTC reference application)
● https://apprtc.appspot.com/
● Options:
● ste...
31Connect | Communicate | Collaborate
JsSIP
● http://tryit.jssip.net/
● Use generated account, or use your own sip account...
32Connect | Communicate | Collaborate
Interesting Demonstrations
● Soundtrap
https://www.soundtrap.com
● getUserMedia
● Ge...
33Connect | Communicate | Collaborate
More Demonstrations..
● Face substitution
http://auduno.github.io/clmtrackr/examples...
34Connect | Communicate | Collaborate
Architecture Overview
Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/...
35Connect | Communicate | Collaborate
Building Real World Service
● Component required to build a Service
● Web server
● S...
36Connect | Communicate | Collaborate
Multipoint (MCU)
37Connect | Communicate | Collaborate
Multipoint
● Peer 2 Peer
● One to One
● Mesh
● Small N-way
● Focus Point / Star
● Me...
38Connect | Communicate | Collaborate
MCU, Gateway, SBC
● MCU
● WebRTC is about Peer2Peer
● So limited Multipoint
capabili...
39Connect | Communicate | Collaborate
WebRTC MCU vendors
● Open Source
● http://www.medooze.com/products/mcu/functionality...
40Connect | Communicate | Collaborate
WebRTC Frameworks
● SimpleRTC
● https://github.com/henrikjoreteg/SimpleWebRTC
● Easy...
41Connect | Communicate | Collaborate
Open Source components implementations
● IP PBX
● FreeSwitch
● SIP over WebSocket
● ...
42Connect | Communicate | Collaborate
Big Blue Button (BBB)
● Current UI Flash Based
streaming using
● Red5, FreeSwitch
● ...
43Connect | Communicate | Collaborate
BBB & WebRTC Architecture
44Connect | Communicate | Collaborate
WebRTC SWOT analysis
● SWOT analysis:
● Strengths
● Weaknesses
● Opportunities
● Thr...
45Connect | Communicate | Collaborate
SWOT: Strengths
● No plugins
● No Flash, Java, Silverlight etc.
● Client deployed ev...
46Connect | Communicate | Collaborate
SWOT: Weaknesses
● Early adopters phase not mature final standard (draft),
● Browser...
47Connect | Communicate | Collaborate
SWOT: Opportunities
● WebRTC Buzzword / Hype
● HTML5 (WebRTC) as an universal applic...
48Connect | Communicate | Collaborate
SWOT: Threats
● Backward Compatibility, WEBRTC implements leading edge
IETF standard...
49Connect | Communicate | Collaborate
Is WebRTC Ready?
● Yes!
Ready to start experience it, and build a leading/bleeding e...
50Connect | Communicate | Collaborate
Summary & Prediction
● Multi platform, Standard based, Royalty free technology. desi...
51Connect | Communicate | Collaborate
Let's start to experience WebRTC
Let's start making mistakes on WebRTC field
“An exp...
52Connect | Communicate | Collaborate
Open Discussion
● Has Your NREN implemented WebRTC (or planning to
implement a servi...
www.geant.net
www.twitter.com/GEANTnews | www.facebook.com/GEANTnetwork | www.youtube.com/GEANTtv
Connect | Communicate | ...
Upcoming SlideShare
Loading in...5
×

WebRTC eduCONF

2,065

Published on

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,065
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
63
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Transcript of "WebRTC eduCONF"

  1. 1. WebRTC What’s going on and is it of use to NRENs Mihály Mészáros, NIIF Institute eduCONF Workshop 13/03/14
  2. 2. 2Connect | Communicate | Collaborate Agenda ● Overview, WebRTC and RTCWEB History, API ● WebRTC and NRENs: Is it a good idea to jointly develop WebRTC based RTC service pilot for the GÉANT community? ● Roll Call, status of NREN Web / Desktop Conference services ● adapt the technology level of the training to audience preference ● RTCWEB architecture, a technology deep dive, (nuts & bolts) ● NAT Firewall traversal, codecs, security, identity, troubleshooting ● Experience WebRTC (demonstrations, games) ● Building real world service Frameworks, tools ● Components to build a real world WebRTC service ● SWOT Analysis. Is WebRTC Ready? What would it take? ● Predictions & Summary, WebRTC related Open Discussion
  3. 3. 3Connect | Communicate | Collaborate History ● Global IP Solutions ● In May 2010, Google bought GIPS for $68.2 million. ● May 31, 2011 Google released Open Source WebRTC. ● mainly based on GIPS technology ● Dual Standardization Bodies ● RTCWEB IETF 2011-05-01 ● WebRTC W3C 2012-09-12 ● Aug 1, 2012 getUserMedia in Chrome 21 ● Oct 2, 2012 PeerConnection in Chrome 23 ● Nov, 2012 PeerConection in stable Chrome ● Feb 4, 2013 Firefox and Chrome interoperability achieved ● 2013 Hangouts VP8, 2014 Hangouts + WebRTC (H2O Vidyo)
  4. 4. 4Connect | Communicate | Collaborate What is WebRTC ? (RTCWEB) ● WebRTC: “A framework, protocols and application programming interface that provide real time interactive voice, video and data in web browsers and other applications” ● Standardization ● WEBRTC (W3C) part of HTML5 ● RTCWEB (IETF) ● / IMS_WebRTC(3GPP) / ● Implementation ● Chrome, FireFox, Opera, Browser (Ericsson Research), etc. ● WebRTC native JAVA / C++ API support ● for Browsers and Apps ● Android, iOS(?)
  5. 5. 5Connect | Communicate | Collaborate WebRTC ● WebRTC Peer to Peer Direct media ● Abstract signaling ● Hides complexity from the web developer ● Browser do the heavy lifting ● Signal processing ● Codec handling ● Audio Video synchronization ● Echo cancellation ● Peer to peer communication ● Firewall/NAT traversal ● Security ● Bandwidth management
  6. 6. 6Connect | Communicate | Collaborate WebRTC API ● Major API Components ● GetUserMedia ● Acquiring audio and video ● which allows a web browser to access the camera and microphone ● DataChannels ● which allow browsers to share data via peer-to-peer ● PeerConnection ● P2P Communication ● Codec negotiation, Security ● Media handling, Bandwidth Management ● etc. ● Peer-to-peer DTMF ● RTCStatsReport ● Identity
  7. 7. 7Connect | Communicate | Collaborate WebRTC API vs Alternative APIs ● Current nearly 1.0 WebRTC API couldn't be perfect. ● World Wide consensus is big challenge. ● First make API stable. ● Redesign takes time. So redesign only after stable API 1.0 ● http://dev.w3.org/2011/webrtc/editor/webrtc.html ● http://dev.w3.org/2011/webrtc/editor/getusermedia.html ● API Alternatives ● WebRTC Object API (ORTC) https://rawgithub.com/openpeer/ortc/master/ortc.html http://www.w3.org/community/orca/ ● Microsoft (CU-RTC-Web) http://lists.w3.org/Archives/Public/public-webrtc/2012Aug/0014.html
  8. 8. 8Connect | Communicate | Collaborate WebRTC and NREN's ● TNC2013 TERENA Technical Advisory Council ● Jan Meier: WebRTC Why you should care? ● Big Blue Button WebRTC Support ● Donated by UNINET, NorduNet ● 2013 Aug 26 WebRTC meeting ● Big Blue Button WebRTC support (NORDUNET) ● Videoconference Gateway/MCU (NIIFI, JANET) ● Lecture Recording (REDIRIS) ● GN4 New Idea From ● Open Mailing lists ● discussion@nrenum.net ● webconf@terena.org
  9. 9. 9Connect | Communicate | Collaborate Look under the hood technology vs. High-level overview
  10. 10. 10Connect | Communicate | Collaborate Introduction / WAYF / Roll Call ● What do your prefer / expect from this WebRTC training? ● High level overview, status, possible directions, implementations ● Deep dive in technical details (nuts and bolts) ● What do you know already about WebRTC technology? ● What functions are mandatory to implement in RTC collaboration solution beyond video conference today? ● Secondary video/Presentation sharing, Buddy list,Presence, Calendar integration, Directory / Phonebook, File sharing, IM/Chat, Whiteboard, integration API MOOC/eLearning etc. ● What solutions does your NREN use today for Desktop/Web Videoconference? (What are the limitations of such product?) ● Does your NREN provides STUN/TURN service? ● Is the exotic platform support is important for your NREN? e.g. Linux distributions, mobile platforms
  11. 11. 11Connect | Communicate | Collaborate Technically ● W3C WebRTC JavaScript API ● WebRTC use abstract signaling protocol ● Designed in mind SIP, XMPP/JINGLE compatibility ● WebRTC signaling is fully application specific ● Security Architecture ● IETF RTCWEB WG (wire protocols) ● NAT / Firewall traversal ● IPv4/IPv6 ● Multiplexing data/media ● Security ● Identity,Encryption, Privacy ● DTLS-SRTP, SDES-SRTP (Audio, Video) ● SCTP over DTLS (Data) ● Fresh / Current / leading edge IETF standards ● backward compatibility issues ● SDP capability description ● media bundling ● ICE (STUN/TURN) ● Trickle ICE ● Congestion Control ● RTP SAVPF ● RTCP feedback ● multiplexing ● RTP RTCP ● RTP multiplexing (audio video) ● codecs (e.g. VP8, Opus, etc.)
  12. 12. 12Connect | Communicate | Collaborate JavaScript Session Establishment Protocol (JSEP) IETF RTCWEB Workgroup
  13. 13. 13Connect | Communicate | Collaborate Offer – Answer model ● Session Description Protocol capability exchange ● Peer State transitions: http://dev.w3.org/2011/webrtc/editor/images/peerstates.svg ● createOffer, createAnswer Image source: http://chimera.labs.oreilly.com/books/1230000000545/ch18.html
  14. 14. 14Connect | Communicate | Collaborate SDP Anatomy - Nuts & Bolts ● SDP is complex, WebRTC SDP Anatomy ● http://webrtchacks.com/anatomy-webrtc-sdp/ ● Example: v=0 o=- 13051590608781842 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video data a=msid-semantic: WMS 0uUCRBhlvHjTrdnKqTaVj6VJCRuSutXJsCET m=audio 52429 RTP/SAVPF 111 103 104 0 8 106 105 13 126 c=IN IP4 195.111.192.2 a=rtcp:52429 IN IP4 195.111.192.2 a=candidate:2576070158 1 udp 2122260223 10.10.10.6 33748 typ host generation 0 a=candidate:2576070158 2 udp 2122260223 10.10.10.6 33748 typ host generation 0 a=candidate:2057973986 1 udp 1686052607 178.48.31.2 33748 typ srflx raddr 10.10.10.6 rport 33748 generation 0 a=candidate:2057973986 2 udp 1686052607 178.48.31.2 33748 typ srflx raddr 10.10.10.6 rport 33748 generation 0 a=candidate:3607644926 1 tcp 1518280447 10.10.10.6 0 typ host generation 0 a=candidate:3607644926 2 tcp 1518280447 10.10.10.6 0 typ host generation 0 a=candidate:4040299261 1 udp 41885439 195.11.92.2 52429 typ relay raddr 178.48.31.2 rport 35976 generation 0 a=candidate:4040299261 2 udp 41885439 195.11.92.2 52429 typ relay raddr 178.48.31.2 rport 35976 generation 0 a=ice-ufrag:NmMQwBJpi4qLGvnd a=ice-pwd:HJUMzaN0+ExHkNtLmZjYvpEM a=ice-options:google-ice a=fingerprint:sha-256 41:68:6B:2C:A5:80:AF:9D:5B:FA:3A:3F:D4:51:19:2C:E6:FC:08:2C:DD:D3:E5:ED:C9:84:D2:85:B8:A5:AC:48 …..
  15. 15. 15Connect | Communicate | Collaborate Interactive Connectivity Establishment
  16. 16. 16Connect | Communicate | Collaborate ICE - Nuts & Bolts ● ICE 1. Candidate gathering ● STUN ● TURN (allocation) 2. Prioritisation 3. Exchange 4. Connectivity checks 5. Coordination 6. Communication ● http://sdstrowes.co.uk/talks/20081031-ice-turn-stun-tutorial.pdf ● http://www.ietf.org/proceedings/67/slides/mmusic-11.pdf ● Trickle ICE ● https://github.com/emcho/trickle-ice/tree/master/slides
  17. 17. 17Connect | Communicate | Collaborate Standard Based Firewall/NAT Traversal ● ICE RFC5245 (STUN/TURN) ● Tries to find the best path ● Firewall traversal ● IPv4, IPv6 Inter-working ● Multiple IP addresses ● Beyond ICE ● RFC5245 drawback ● lengthy ● Trickle ICE draft ● Reducing session establishment time ● Reducing ICE processing times ● Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol ● XMPP XEP-0176 ● Implemented
  18. 18. 18Connect | Communicate | Collaborate ICE vs. Trickle ICE Slide from: trickle-ice-iet86-orlando.pptx STUN Server STUN Server BobAlice disco disco offer and candidates … connectivity checks … answer and candidates Vanilla ICE as per RFC 5245 STUN Server STUN Server BobAlice disco disco O/A with host or no cands … more cands & conn checks …
  19. 19. 19Connect | Communicate | Collaborate Architecture Overview Image source: http://www.webrtc.org/_/rsrc/1317202919504/reference/WebRTCpublicdiagramforwebsite%20%282%29.png
  20. 20. 20Connect | Communicate | Collaborate Protocol Stack ● Peer-to-Peer media communication ● RTCP Multiplex ● Media Multiplex (audio, video) Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/protocolStack.jpg
  21. 21. 21Connect | Communicate | Collaborate Security ● Trust in your browser only (TCB) ● Secure End to End Communication ● getUserMedia ● Secure User Interface opt-in (e.g. Camera, audio access) ● User can allow/deny audio video source usage ● Media/Data Encryption is mandatory! ● DTLS-SRTP / DTLS ● SDES-SRTP - “MUST NOT implement” according IETF 87 http://tools.ietf.org/agenda/87/slides/slides-87-rtcweb-5.pdf ● AAI identity provision ● WebRTC Security framework ● SDP attached Identity Assertion (a=identity: base64) ● Signaling protocol is not defined by WebRTC ● Use secure signalling e.g. SIP over WSS(TLS+WebSocket)
  22. 22. 22Connect | Communicate | Collaborate RTCWEB Security architecture Overview +----------------+ Unspecified +----------------+ | | protocol | | | Signaling |<----------------->| Signaling | | Server | (SIP, XMPP, ...) | Server | | | | | +----------------+ +----------------+ ^ ^ | | HTTPS | | HTTPS | | | | v v JS API JS API +-----------+ +-----------+ | | Media | | Alice | Browser |<--------------------------->| Browser | Bob | | DTLS+SRTP | | +-----------+ +-----------+ ^ ^--+ +--^ ^ | | | | v | | v +-----------+ | | +-----------+ | |<-------------------------+ | | | IdP1 | | | IdP2 | | | +------------------------>| | +-----------+ +-----------+ A federated call with IdP-based identity
  23. 23. 23Connect | Communicate | Collaborate Offer (Fingerprint + Assertion) Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
  24. 24. 24Connect | Communicate | Collaborate Answer (Fingerprint+Assertion) Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
  25. 25. 25Connect | Communicate | Collaborate Codecs ● Audio ● Opus (royalty free, RFC 6176) , Opus 1.1 mobile ● iSAC (internet Speech Audio Codec) ● iLIBC (internet Low Bitrate Codec RFC 3951) ● G.711 (alaw/ulaw) ● Automatic Gain Control (AGC) ● Acoustic Echo Cancellation (AEC) ● Video ● VP8 Chrome, Firefox ● H.264 Browser(Ericsson Lab), (Firefox planed) ● Future HEVC/H.265 (SVC), VP9 (Vidyo&Google VP9 SVC) ● VoiceEngine, VideoEngine, NetEQ, AEC, etc. all stem from the GIPS acquisition
  26. 26. 26Connect | Communicate | Collaborate Battle for Mandatory To Implement(MTI) Video Codec ● Battle for WebRTC mandatory to implement (MTI) codec ● Audio MTI codecs ● G.711 (alaw/ulaw) ● Opus ● Video (?!) ● Google ● Hangout H.264=>VP8 ● Chrome only VP8/VP9 support ● Cisco ● Cisco will open H.264 codec ● Cisco will pay MPEG LA ● Mozilla will support Cisco binary H.264 codec ● http://www.openh264.org/ ● video codec proposals, and backers ● VP8 (VP9) ● Google ● H.264 (H.265) ● Ericsson ● Nokia ● BlackBerry ● Qualcomm ● Orange ● Cisco ● Microsoft ● Apple ● Both has Pros & Cons
  27. 27. 27Connect | Communicate | Collaborate Diagnostic / Interoperability ● Browser interoperability: http://www.webrtc.org/interop ● https://code.google.com/p/webrtc/source/browse/trunk/samples/js/base/adapter.js ● Check Network Connectivity: http://www.check-connectivity.com/ ● Developer / Diagnostic tool ● chrome://webrtc-internals ● Firefox planed
  28. 28. 28Connect | Communicate | Collaborate Demonstrations: http://goo.gl/d3uftB
  29. 29. 29Connect | Communicate | Collaborate Experience it. Demonstrations ● Cube Slam Chrome experiment Game https://www.cubeslam.com ● LifeSize demo http://www.lifesize.com/en/webrtc SIP URI call ● Magic Xylophone (motion detection) http://www.soundstep.com/blog/experiments/jsdetection/ ● getUserMedia Face Gestures http://shinydemos.com/facekat/ ● getUserMedia Filters http://webcamtoy.com/hu/app/ ● getUserMedia ASCII http://idevelop.ro/ascii-camera/ ● Pitch detect http://webaudiodemos.appspot.com/pitchdetect/index.html
  30. 30. 30Connect | Communicate | Collaborate AppRTC (WebRTC reference application) ● https://apprtc.appspot.com/ ● Options: ● stereo=true ● hd=true ● debug=loopback ● video= ● audio= ● ss= (stun) ● st=(turn) ● For more parameters see: https://code.google.com/p/webrtc/source/browse/trunk/samples/js/apprtc/apprtc.py ● Loopback test https://apprtc.appspot.com/?r=52215035&hd=true&debug=loopback
  31. 31. 31Connect | Communicate | Collaborate JsSIP ● http://tryit.jssip.net/ ● Use generated account, or use your own sip account ● You can follow SIP messages in JavaScript console
  32. 32. 32Connect | Communicate | Collaborate Interesting Demonstrations ● Soundtrap https://www.soundtrap.com ● getUserMedia ● GetUserMedia Webcam controlled slides http://lli.web.fh-koeln.de/mocowe/ ● getUserMedia face tracking http://www.simpl.info/headtrackr/ ● getUserMedia constraints https://simpl.info/getusermedia/constraints/ ● getUserMedia + Web Audio http://www.webaudiodemos.appspot.com/AudioRecorder/index.html ● Screen Sharing/Capture https://html5-demos.appspot.com/static/getusermedia/screenshare.html https://simpl.info/screencapture/ ● Tab capture: chrome.tabCapture http://updates.html5rocks.com/2012/12/Screensharing-with-WebRTC
  33. 33. 33Connect | Communicate | Collaborate More Demonstrations.. ● Face substitution http://auduno.github.io/clmtrackr/examples/facesubstitution.html (WebGL) ● PeerConnection ● PeerConnection simple vidconf demo http://www.simpl.info/rtcpeerconnection/ ● DataChannel ● P2P file share http://www.sharefest.me/ ● Simple data channel demo http://www.simpl.info/rtcdatachannel/ ● Muaz Khan Demos https://www.webrtc-experiment.com/ ● webrtc.org demos http://www.webrtc.org/demo ● Mozilla http://mozilla.github.io/webrtc-landing/
  34. 34. 34Connect | Communicate | Collaborate Architecture Overview Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/WebRTC_Architecture0.jpg
  35. 35. 35Connect | Communicate | Collaborate Building Real World Service ● Component required to build a Service ● Web server ● Signaling server (WebSocket) ● ICE (NAT, Firewall Traversal) ● STUN server, TURN server ● Session Border Controller / Gateway (signaling/media) ● SIP proxy, XMPP server, H.323 gatekeeper ● Multipoint conference handling ● MCU media mixing CP(Continuous Presence) ● Conference Archiving ● AAI (IdP) ● Vendor Directory http://webrtchacks.com/vendor-directory/
  36. 36. 36Connect | Communicate | Collaborate Multipoint (MCU)
  37. 37. 37Connect | Communicate | Collaborate Multipoint ● Peer 2 Peer ● One to One ● Mesh ● Small N-way ● Focus Point / Star ● Medium N-way ● MCU / Mixer ● Large N-way ● Video Router ● Large N-way ● Simulcast, layered, scalable video coding support Image source: http://webrtchacks.com/webrtc-beyond-one-one/
  38. 38. 38Connect | Communicate | Collaborate MCU, Gateway, SBC ● MCU ● WebRTC is about Peer2Peer ● So limited Multipoint capabilities ● WebRTC endpoint need an MCU for large N-way calls ● Gateway/SBC ● Interoperability ● RTP – SDES-SRTP – DTLS-SRTP – RTP ● Demultiplex – RTCP – Media channel ● SAVPF<=>AVP – RTCP feedback ● ICE(STUN/TURN) ● Security, SPIT ● Transcoding Video, Audio ● e.g. VP8 <=> H.264
  39. 39. 39Connect | Communicate | Collaborate WebRTC MCU vendors ● Open Source ● http://www.medooze.com/products/mcu/functionality.aspx Argentinian universities VoIP workgroup has been using for about a year. http://www.youtube.com/watch?v=pocgfJXmwV4 (in Spanish) ● http://lynckia.com/ ● http://code.google.com/p/telepresence/ NIIFI tested ● Commercial ● http://www.requestec.com/site/platform/architecture.jsp ● http://acano.com/tour/ ● PEXIP http://www.pexip.com/requirements NIIFI tested Version 2 SRTP-DTLS (Version 3)
  40. 40. 40Connect | Communicate | Collaborate WebRTC Frameworks ● SimpleRTC ● https://github.com/henrikjoreteg/SimpleWebRTC ● EasyRTC ● https://github.com/priologic/easyrtc ● webRTC.io ● https://github.com/webRTC/webRTC.io ● ShareFest ● https://github.com/peer5/sharefest ● PEERJS ● http://peerjs.com/
  41. 41. 41Connect | Communicate | Collaborate Open Source components implementations ● IP PBX ● FreeSwitch ● SIP over WebSocket ● SRTP-DTLS (git version) ● video transcoding fs-video branch ● Asterisk ● SIP over WebSocket ● SIP Proxy ● Kamailio ● SIP over WebSocket ● OverSIP ● SIP over WebSocket ● RTP PROXY ● mediaproxy-ng ● STUN, TURN ● stunserver ● http://www.stunprotocol.org/ ● rfc5766-turn-server ● Gateway ● Doubango webrtc2sip (GW) ● JS client library ● SIPML5 ● JsSIP ● QoffeeSIP
  42. 42. 42Connect | Communicate | Collaborate Big Blue Button (BBB) ● Current UI Flash Based streaming using ● Red5, FreeSwitch ● Lecture / videoconference ● Desktop Sharing ● Audio, Video ● Slides, blackboard, draw/highlight ● Chat, ● Participant list ● Recording ● HTML5 integration started ● Big Project, Community support ● 1.5K members of development mailing list ● Localized 35 languages ● HTML5 client ● implemented using coffeescript, require.js, backbone.js ● HTML5/WebRTC documentation https://code.google.com/p/bigblu ebutton/wiki/HTML5 ● Demo sever http://webrtc.bigbluebutton.org
  43. 43. 43Connect | Communicate | Collaborate BBB & WebRTC Architecture
  44. 44. 44Connect | Communicate | Collaborate WebRTC SWOT analysis ● SWOT analysis: ● Strengths ● Weaknesses ● Opportunities ● Threats
  45. 45. 45Connect | Communicate | Collaborate SWOT: Strengths ● No plugins ● No Flash, Java, Silverlight etc. ● Client deployed everywhere ● No sw client install needed: ● 1000000000+ WebRTC endpoints ● Client is always up2date. (Browser auto updates) ● Multi Platform ● PC ● Phone, Tablet ● Security is mandatory ● peer-to-peer ● HD video ● Wideband audio ● E2E Security, Opt-in Privacy ● Open ● Open Source, Standards based ● Royalty Free (?) Nothing proprietary(?) ● Multimedia for Web ● Voice,Video (webcam, screencapture), Data ● Standard based Firewall/NAT traversal ● ICE (STUN/TURN) ● IPv6 and IPv4 negotiation, interoperability ● Media multiplexing ● WebRTC is part of HTML5 ● Web JS API is simple and hides complexity ● Implementations ● Browser, and native Java/C API
  46. 46. 46Connect | Communicate | Collaborate SWOT: Weaknesses ● Early adopters phase not mature final standard (draft), ● Browser implementation compatibility issues ● Depends other sw infrastructure operations ● STUN/TURN server, MCU, Gateway ● AV Codec HW support (HW VP8 Android KitKat 720p) ● No MTI video Codec (H.264 vs. VP8) future (H.265 vs. VP9), Daala(?), Scalable video coding (SVC) ● RTCWEB Security Architecture not yet implemented. ● For a SAML based WebRTC security architecture implementation more research and development needed. ● Desktop sharing, statistics, DTMF, security architecture is not yet implemented in every browser ● Acoustic echo cancellation and noise suppression ● Backward compatibility issues, handling of low-bandwidth situations
  47. 47. 47Connect | Communicate | Collaborate SWOT: Opportunities ● WebRTC Buzzword / Hype ● HTML5 (WebRTC) as an universal application platform. ● Disrupting communication market / Transforming Communication ● Transparent Standard based secure platform for RTC ● Alpha channels, blue box/ green screen ● New possibilities / New applications ● Games, Video support, Call centre, Lecture Recording, streaming ● Apps Mobile, Tablet /Android/ ● Collaborative music composing, etc. ● RTC (Videoconference and beyond) to anyone who has a browser ● Bridge between Telco and Web world ● Trusted, Open Source peer to peer communication ● AAI integration ● Next gen video codecs: e.g. VP9 (SVC) same quality cut bitrate in half.
  48. 48. 48Connect | Communicate | Collaborate SWOT: Threats ● Backward Compatibility, WEBRTC implements leading edge IETF standards (current installed videoconference / telepresence room don't.) ● Browser implementation in every browser ● Internet Explorer, Safari ● Mobile adaptation (iOS, Android native Apps) ● Abstract signaling ● Endpoint / User Identification (URI, E.164, etc.) ● Communication Regulation, Legal Issues ● Lawful interception, Emergency calling, E.164 numbering etc. ● No mandatory signaling protocol. It could lead to Walled Gardens compatibility issues. ● Alternative APIs (ORTC, CU-RTC-WEB)
  49. 49. 49Connect | Communicate | Collaborate Is WebRTC Ready? ● Yes! Ready to start experience it, and build a leading/bleeding edge pilot service. ● Simple video call in optimal case works between different implementations ● We have many demonstrations, and market players also adopting to it ● Early adopters build frameworks, new services. ● No.. It is not yet ready to build superior, reliable, real world service. ● Backward compatibility. Almost compatible, but only almost. ● IPv6 support implementation, Call setup delay (ICE / Trickle ICE) ● No MTI video, HW support, (SWOT Weakness..) ● What is missing for building real services (Justin Uberti) https://docs.google.com/document/d/1EBOnUXjIlEmYO0fRAtbW-woEcPKRuwmIIxVDhyPvaic/edit
  50. 50. 50Connect | Communicate | Collaborate Summary & Prediction ● Multi platform, Standard based, Royalty free technology. designed security and identity management in mind, IPv6 support, and standard based Firewall/NAT traversal, etc. ● An emerging, young technology, a leading edge technology ● Still a lot of growing up to do ● Considerable impact to all RTC market players and Service Providers (Google, Cisco, Vidyo, LifeSize, Oracle, AT&T etc..) ● WebRTC is here! Act Now! Experience it, use it, improve it! ● It is stable enough to start build pilot services. ● If you like the idea to pilot an open source standard based WebRTC based RTC collaboration solution what use federated authentication and serve GÉANT community, then please support my GN4 NIF. ● WebRTC has arrived, choose the right open leading/bleeding edge way, and don't buy or support proprietary walled gardens any more! (Incompatible RTC vendor solutions, with vendor lock-in, etc.)
  51. 51. 51Connect | Communicate | Collaborate Let's start to experience WebRTC Let's start making mistakes on WebRTC field “An expert is a person who has found out by his own painful experience all the mistakes that one can make in a very narrow field.” Niels Bohr
  52. 52. 52Connect | Communicate | Collaborate Open Discussion ● Has Your NREN implemented WebRTC (or planning to implement a service based on it? How do you plan to use it? Videoconference / Streaming / other ? ● What is your opinion about Video Codec War? ● What do you prefer and why? (VP8 vs. H.264) ● Is it important to choose Mandatory To Implement (MTI) codec? ● WebRTC GN4 New Idea Form ● Please express your support if you like the idea, or comment it ● MTI functionality = ? ● AAI integration ● Questions, AoB ● Open Discussion
  53. 53. www.geant.net www.twitter.com/GEANTnews | www.facebook.com/GEANTnetwork | www.youtube.com/GEANTtv Connect | Communicate | Collaborate Thank you!
  1. A particular slide catching your eye?

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

×