53
WebRTC What’s going on and is it of use to NRENs Mihály Mészáros, NIIF Institute eduCONF Workshop 13/03/14

WebRTC eduCONF

Embed Size (px)

Citation preview

Page 1: WebRTC eduCONF

WebRTC What’s going on and is it of use to NRENs

Mihály Mészáros, NIIF InstituteeduCONF Workshop13/03/14

Page 2: WebRTC eduCONF

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

Page 3: WebRTC eduCONF

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)

Page 4: WebRTC eduCONF

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(?)

Page 5: WebRTC eduCONF

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

Page 6: WebRTC eduCONF

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

Page 7: WebRTC eduCONF

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.htmlhttp://www.w3.org/community/orca/

● Microsoft (CU-RTC-Web)http://lists.w3.org/Archives/Public/public-webrtc/2012Aug/0014.html

Page 8: WebRTC eduCONF

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

[email protected]

[email protected]

Page 9: WebRTC eduCONF

9Connect | Communicate | Collaborate

Look under the hood technology vs.High-level overview

Page 10: WebRTC eduCONF

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

Page 11: WebRTC eduCONF

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.)

Page 12: WebRTC eduCONF

12Connect | Communicate | Collaborate

JavaScript Session Establishment Protocol (JSEP) IETF RTCWEB Workgroup

Page 13: WebRTC eduCONF

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

Page 14: WebRTC eduCONF

14Connect | Communicate | Collaborate

SDP Anatomy - Nuts & Bolts

● SDP is complex, WebRTC SDP Anatomy

● http://webrtchacks.com/anatomy-webrtc-sdp/

● Example:

v=0o=- 13051590608781842 2 IN IP4 127.0.0.1s=-t=0 0a=group:BUNDLE audio video dataa=msid-semantic: WMS 0uUCRBhlvHjTrdnKqTaVj6VJCRuSutXJsCETm=audio 52429 RTP/SAVPF 111 103 104 0 8 106 105 13 126c=IN IP4 195.111.192.2a=rtcp:52429 IN IP4 195.111.192.2a=candidate:2576070158 1 udp 2122260223 10.10.10.6 33748 typ host generation 0a=candidate:2576070158 2 udp 2122260223 10.10.10.6 33748 typ host generation 0a=candidate:2057973986 1 udp 1686052607 178.48.31.2 33748 typ srflx raddr 10.10.10.6 rport 33748 generation 0a=candidate:2057973986 2 udp 1686052607 178.48.31.2 33748 typ srflx raddr 10.10.10.6 rport 33748 generation 0a=candidate:3607644926 1 tcp 1518280447 10.10.10.6 0 typ host generation 0a=candidate:3607644926 2 tcp 1518280447 10.10.10.6 0 typ host generation 0a=candidate:4040299261 1 udp 41885439 195.11.92.2 52429 typ relay raddr 178.48.31.2 rport 35976 generation 0a=candidate:4040299261 2 udp 41885439 195.11.92.2 52429 typ relay raddr 178.48.31.2 rport 35976 generation 0a=ice-ufrag:NmMQwBJpi4qLGvnda=ice-pwd:HJUMzaN0+ExHkNtLmZjYvpEMa=ice-options:google-icea=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…..

Page 15: WebRTC eduCONF

15Connect | Communicate | Collaborate

Interactive Connectivity Establishment

Page 16: WebRTC eduCONF

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

Page 17: WebRTC eduCONF

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

Page 18: WebRTC eduCONF

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

Page 19: WebRTC eduCONF

19Connect | Communicate | Collaborate

Architecture Overview

Image source: http://www.webrtc.org/_/rsrc/1317202919504/reference/WebRTCpublicdiagramforwebsite%20%282%29.png

Page 20: WebRTC eduCONF

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

Page 21: WebRTC eduCONF

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 87http://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)

Page 22: WebRTC eduCONF

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

Page 23: WebRTC eduCONF

23Connect | Communicate | Collaborate

Offer (Fingerprint + Assertion)

Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf

Page 24: WebRTC eduCONF

24Connect | Communicate | Collaborate

Answer (Fingerprint+Assertion)

Origin: http://www.ietf.org/proceedings/82/slides/rtcweb-13.pdf

Page 25: WebRTC eduCONF

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

Page 26: WebRTC eduCONF

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

Page 27: WebRTC eduCONF

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

Page 28: WebRTC eduCONF

28Connect | Communicate | Collaborate

Demonstrations: http://goo.gl/d3uftB

Page 29: WebRTC eduCONF

29Connect | Communicate | Collaborate

Experience it. Demonstrations

● Cube Slam Chrome experiment Game

https://www.cubeslam.com

● LifeSize demo

http://www.lifesize.com/en/webrtcSIP 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

Page 30: WebRTC eduCONF

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

Page 31: WebRTC eduCONF

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

Page 32: WebRTC eduCONF

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.htmlhttps://simpl.info/screencapture/

● Tab capture: chrome.tabCapturehttp://updates.html5rocks.com/2012/12/Screensharing-with-WebRTC

Page 33: WebRTC eduCONF

33Connect | Communicate | Collaborate

More Demonstrations..

● Face substitutionhttp://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/

Page 34: WebRTC eduCONF

34Connect | Communicate | Collaborate

Architecture Overview

Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/WebRTC_Architecture0.jpg

Page 35: WebRTC eduCONF

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 Directoryhttp://webrtchacks.com/vendor-directory/

Page 36: WebRTC eduCONF

36Connect | Communicate | Collaborate

Multipoint (MCU)

Page 37: WebRTC eduCONF

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/

Page 38: WebRTC eduCONF

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

Page 39: WebRTC eduCONF

39Connect | Communicate | Collaborate

WebRTC MCU vendors

● Open Source

● http://www.medooze.com/products/mcu/functionality.aspxArgentinian 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/requirementsNIIFI tested Version 2SRTP-DTLS (Version 3)

Page 40: WebRTC eduCONF

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/

Page 41: WebRTC eduCONF

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

Page 42: WebRTC eduCONF

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 documentationhttps://code.google.com/p/bigbluebutton/wiki/HTML5

● Demo severhttp://webrtc.bigbluebutton.org

Page 43: WebRTC eduCONF

43Connect | Communicate | Collaborate

BBB & WebRTC Architecture

Page 44: WebRTC eduCONF

44Connect | Communicate | Collaborate

WebRTC SWOT analysis

● SWOT analysis:

● Strengths

● Weaknesses

● Opportunities

● Threats

Page 45: WebRTC eduCONF

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

Page 46: WebRTC eduCONF

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

Page 47: WebRTC eduCONF

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.

Page 48: WebRTC eduCONF

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)

Page 49: WebRTC eduCONF

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

Page 50: WebRTC eduCONF

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.)

Page 51: WebRTC eduCONF

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

Page 52: WebRTC eduCONF

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

Page 53: WebRTC eduCONF

www.geant.net

www.twitter.com/GEANTnews | www.facebook.com/GEANTnetwork | www.youtube.com/GEANTtv

Connect | Communicate | Collaborate

Thank you!