SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
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 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
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)
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(?)
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
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
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
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
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 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
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.)
12Connect | Communicate | Collaborate
JavaScript Session Establishment Protocol
(JSEP) IETF RTCWEB Workgroup
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
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
…..
15Connect | Communicate | Collaborate
Interactive Connectivity Establishment
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
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
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
…
19Connect | Communicate | Collaborate
Architecture Overview
Image source: http://www.webrtc.org/_/rsrc/1317202919504/reference/WebRTCpublicdiagramforwebsite%20%282%29.png
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
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)
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
23Connect | Communicate | Collaborate
Offer (Fingerprint + Assertion)
Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
24Connect | Communicate | Collaborate
Answer (Fingerprint+Assertion)
Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
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
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
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
28Connect | Communicate | Collaborate
Demonstrations: http://goo.gl/d3uftB
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
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
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
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
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/
34Connect | Communicate | Collaborate
Architecture Overview
Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/WebRTC_Architecture0.jpg
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/
36Connect | Communicate | Collaborate
Multipoint (MCU)
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/
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
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)
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/
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
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
43Connect | Communicate | Collaborate
BBB & WebRTC Architecture
44Connect | Communicate | Collaborate
WebRTC SWOT analysis
● SWOT analysis:
● Strengths
● Weaknesses
● Opportunities
● Threats
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
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
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.
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)
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
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.)
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
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
www.geant.net
www.twitter.com/GEANTnews | www.facebook.com/GEANTnetwork | www.youtube.com/GEANTtv
Connect | Communicate | Collaborate
Thank you!

Más contenido relacionado

La actualidad más candente

WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek
 
WebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and PlatformWebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and PlatformRyan Jespersen
 
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)Chad Hart
 
The future of WebRTC - Sept 2021
The future of WebRTC - Sept 2021The future of WebRTC - Sept 2021
The future of WebRTC - Sept 2021Arnaud BUDKIEWICZ
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래NAVER D2
 
WebRTC standards update (April 2015)
WebRTC standards update (April 2015)WebRTC standards update (April 2015)
WebRTC standards update (April 2015)Victor Pascual Ávila
 
How ORTC adds Power to WebRTC - London April 1, 2014
How ORTC adds Power to WebRTC - London April 1, 2014 How ORTC adds Power to WebRTC - London April 1, 2014
How ORTC adds Power to WebRTC - London April 1, 2014 Hookflash
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?SeanDuBois3
 

La actualidad más candente (20)

WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?
 
WebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and PlatformWebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and Platform
 
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on KamailioAstricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
 
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)
 
WebRTC in the Real World
WebRTC in the Real WorldWebRTC in the Real World
WebRTC in the Real World
 
WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
The future of WebRTC - Sept 2021
The future of WebRTC - Sept 2021The future of WebRTC - Sept 2021
The future of WebRTC - Sept 2021
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
5th tf webrtc-welcome
5th tf webrtc-welcome5th tf webrtc-welcome
5th tf webrtc-welcome
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래
 
WebRTC standards update (April 2015)
WebRTC standards update (April 2015)WebRTC standards update (April 2015)
WebRTC standards update (April 2015)
 
How ORTC adds Power to WebRTC - London April 1, 2014
How ORTC adds Power to WebRTC - London April 1, 2014 How ORTC adds Power to WebRTC - London April 1, 2014
How ORTC adds Power to WebRTC - London April 1, 2014
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
 

Similar a WebRTC eduCONF

Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcampALTANAI BISHT
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014Victor Pascual Ávila
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)Victor Pascual Ávila
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTCChad Hart
 
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)Oracle
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityAmir Zmora
 
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...IJECEIAES
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introVictor Pascual Ávila
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?SeanDuBois3
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijer
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijerTf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijer
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijerJan Meijer
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013Hank Huang
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascualAlan Quayle
 

Similar a WebRTC eduCONF (20)

Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcamp
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTC
 
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
 
ITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocketITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocket
 
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...
Design and Implement a Hybrid WebRTC Signalling Mechanism for Unidirectional ...
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijer
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijerTf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijer
Tf web rtc-berlin-mai2016-sa8t2 roadmap-janmeijer
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascual
 

Más de Mihály Mészáros

GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19Mihály Mészáros
 
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Mihály Mészáros
 
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)Mihály Mészáros
 
OAuth and STUN, TURN in WebRTC context RFC7635
OAuth and STUN, TURN  in WebRTC context RFC7635OAuth and STUN, TURN  in WebRTC context RFC7635
OAuth and STUN, TURN in WebRTC context RFC7635Mihály Mészáros
 

Más de Mihály Mészáros (12)

GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19
 
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)
A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)
 
GÉANT TURN pilot
GÉANT TURN pilotGÉANT TURN pilot
GÉANT TURN pilot
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
SIP Tutorial/Workshop 0
SIP Tutorial/Workshop 0SIP Tutorial/Workshop 0
SIP Tutorial/Workshop 0
 
SIP Tutorial/Workshop 3
SIP Tutorial/Workshop 3SIP Tutorial/Workshop 3
SIP Tutorial/Workshop 3
 
SIP Tutorial/Workshop 2
SIP Tutorial/Workshop 2SIP Tutorial/Workshop 2
SIP Tutorial/Workshop 2
 
SIP Tutorial/Workshop 4
SIP Tutorial/Workshop 4SIP Tutorial/Workshop 4
SIP Tutorial/Workshop 4
 
SIP Tutorial/Workshop 1
SIP Tutorial/Workshop 1SIP Tutorial/Workshop 1
SIP Tutorial/Workshop 1
 
OAuth and STUN, TURN in WebRTC context RFC7635
OAuth and STUN, TURN  in WebRTC context RFC7635OAuth and STUN, TURN  in WebRTC context RFC7635
OAuth and STUN, TURN in WebRTC context RFC7635
 

Último

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

WebRTC eduCONF

  • 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. 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. 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. 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. 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. 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. 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. 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. 9Connect | Communicate | Collaborate Look under the hood technology vs. High-level overview
  • 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. 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. 12Connect | Communicate | Collaborate JavaScript Session Establishment Protocol (JSEP) IETF RTCWEB Workgroup
  • 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. 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. 15Connect | Communicate | Collaborate Interactive Connectivity Establishment
  • 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. 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. 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. 19Connect | Communicate | Collaborate Architecture Overview Image source: http://www.webrtc.org/_/rsrc/1317202919504/reference/WebRTCpublicdiagramforwebsite%20%282%29.png
  • 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. 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. 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. 23Connect | Communicate | Collaborate Offer (Fingerprint + Assertion) Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
  • 24. 24Connect | Communicate | Collaborate Answer (Fingerprint+Assertion) Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf
  • 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. 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. 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. 28Connect | Communicate | Collaborate Demonstrations: http://goo.gl/d3uftB
  • 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. 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. 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. 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. 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. 34Connect | Communicate | Collaborate Architecture Overview Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/WebRTC_Architecture0.jpg
  • 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. 36Connect | Communicate | Collaborate Multipoint (MCU)
  • 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. 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. 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. 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. 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. 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. 43Connect | Communicate | Collaborate BBB & WebRTC Architecture
  • 44. 44Connect | Communicate | Collaborate WebRTC SWOT analysis ● SWOT analysis: ● Strengths ● Weaknesses ● Opportunities ● Threats
  • 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. 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. 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. 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. 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. 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. 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. 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. www.geant.net www.twitter.com/GEANTnews | www.facebook.com/GEANTnetwork | www.youtube.com/GEANTtv Connect | Communicate | Collaborate Thank you!