SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
WebRTC

November 7, 2013
Balatongyörök / Hungary

Mészáros Mihály
WebRTC
⬤

WebRTC: “A framework, protocols and
application programming interface that
provide real time interactive voice, video
and data in web browsers and other
applications”

⬤

Standardization
⬛
⬛

RTCWEB (IETF)

⬛

⬤

WEBRTC (W3C) part of HTML5
/ IMS_WebRTC(3GPP) /

Implementation
⬛
⬛

FireFox

⬛

Opera(GetUserMedia only)

⬛

⬤

Chrome

Browser (Ericsson Research)

WebRTC native C++ API support
(for Browsers and Apps)
⬛

Android, iOS(coming..)

Slide 2

WebRTC
Javascript Session Establishment Protocol (JSEP)
IETF RTCWEB WorkGroup

Image source: http://html5rocks.appspot.com/en/tutorials/webrtc/basics/jsep.png

Slide 3

WebRTC
Interactive Connectivity Establishment (ICE)

Source: webrtcstats.com

Slide 4

WebRTC
Standard Based Firewall/NAT Traversal
⬤

ICE RFC5245 (STUN/TURN)
⬛
⬛

Firewall traversal

⬛

IPv4, IPv6 Inter-working

⬛

⬤

Tries to find the best path

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
⬜

Slide 5

Implemented

WebRTC
ICE vs. Trickle ICE
Slide from: trickle-ice-iet86-orlando.pptx

STUN
Server

Bob

Alice

STUN
Server

STUN
Server

disco

disco
offer and
candidates

answer and
candidates
…
connectivity
checks
…
Vanilla ICE as per RFC 5245

WebRTC

STUN
Server

Bob
O/A with host
or no cands
…
more cands &
conn checks
…

disco

Slide 6

Alice

disco
Technically
⬤

WEBRTC JavaScript API

⬤

IETF RTCWEB WG

⬤

WebRTC does not specify a signaling
protocol

⬤

Fresh / Current / Bleeding edge
IETF standards

⬛

⬛

⬤

WebRTC signaling is fully application
specific

⬛

SDP media bundling

⬛

ICE (STUN/TURN)
⬜

Trickle ICE

⬛

DTLS-SRTP (SDES-SRTP)

⬛

WebRTC is about Media handling
⬛

⬤

⬛

Designed in mind SIP, XMPP/JINGLE
compatibility,

RTP SAVPF
⬜

DTLS-SRTP (Audio, Video)

⬜

SCTP over DTLS (Data)

Secure RTP
RTCP feedback

⬛
⬛

NAT / Firewall traversal

RTP RTCP multiplexing
RTP multiplexing (audio video)

⬛

⬛

codecs (e.g. VP8, Opus, etc.)

⬛

⬤

IPv4/IPv6
Multiplexing data/media

⬛

SCTP (data channel)

⬛

DTLS-SRTP (video, audio)

Security
⬛

⬤

Identity,Encryption, Privacy

Congestion Control

Slide 7

⬤

Implementing fresh new standards cause
compatibility issues

WebRTC
Architecture Overview

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

Slide 8

WebRTC
Protocol Stack
⬤

Peer-to-Peer media communication

⬤

RTCP Multiplex

⬤

Media Multiplex (audio, video)

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

Slide 9

WebRTC
Security
⬤

Trust in your browser only

⬤

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

AAI identity provision
⬛
⬛

⬤

WebRTC Security framework
SDP attached Identity Assertion (a=identity: base64)

Signaling is not defined by WebRTC
⬛

e.g. SIP over WSS(TLS+Websocket)

Slide 10

WebRTC
Codecs
⬤

Audio
⬛

Opus (royalty free, RFC 6176)
⬜

⬛

iSAC (internet Speech Audio Codec)
⬜

⬛

a robust, bandwidth adaptive, wideband and super-wideband voice codec developed by Global IP Solutions

iLIBC (internet Low Bitrate Codec RFC 3951) narrowband voice codec
⬜

⬛

supports constant and variable bitrate encoding from 6 kbit/s to 510 kbit/s, frame sizes from 2.5 ms to 60
ms, and various sampling rates from 8 kHz (with 4 kHz bandwidth) to 48 kHz (with 20 kHz bandwidth,
where the entire hearing range of the human auditory system can be reproduced)

free narrowband voice codec that was developed by Global IP Solutions

G.711 (alaw/ulaw)

⬤

Automatic Gain Control (AGC)

⬤

Acoustic Echo Cancellation (AEC)

⬤

Video
⬛
⬛

⬤

VP8 Chrome, Firefox
H.264 Browser(Ericsson Lab), (Firefox planed)

VoiceEngine, VideoEngine, NetEQ, AEC, etc all stem from the GIPS acquisition

Slide 11

WebRTC
Battle for Mandatory To Implement(MTI)
Video Codec
⬤

Battle for WebRTC mandatory to
implement (MTI) codec

⬤

Audio MTI codecs
⬛
⬛

⬤

video codec proposals,
and backers
⬛

G.711 (alaw/ulaw)

⬜

Opus

⬤

⬛

Video (?!)

⬤

Google
⬛
⬛

⬤

⬜

Hangout H.264=>VP8

⬜

Chrome only VP8/VP9 support

⬜

⬛
⬛

⬛

⬜

Cisco will open H.264 codec

⬜

Cisco will pay MPEG LA

⬜

Mozilla will support Cisco binary H.264
codec
http://www.openh264.org/

Slide 12

⬜

⬤

Google

H.264 (H.265)
⬜

Cisco (just announced)
⬛

VP8 (VP9)

Ericsson
Nokia
BlackBerry
Qualcomm
Orange
Cisco
Microsoft
Apple

Both has Pros & Cons

WebRTC
WEBRTC API
⬤

Major API Components
⬛

GetUserMedia
⬜
⬜

⬛

Acquiring audio and video
which allows a web browser to access the camera and microphone

PeerConnection
⬜

P2P Communication
- Codec negotiation, Security
- Media handling, Bandwidth Management
- etc.

⬛

DataChannels
⬜

which allow browsers to share data via peer-to-peer

⬛

Peer-to-peer DTMF

⬛

RTCStatsReport

⬛

Identity

Slide 13

WebRTC
Architecture Overview

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

Slide 14

WebRTC
WebRTC SWOT analysis
⬤

SWOT analysis:
⬛

Strengths

⬛

Weaknesses

⬛

Opportunities

⬛

Threats

Slide 15

WebRTC
SWOT: Strengths
⬤

No plugins
⬛

⬤

No Flash, Java, Silverlight etc. needed

⬛

⬤

Client is always up2date. (Browser auto
updates)

⬛

Phone, Tablet

⬛

And more e.g. any HW Android could run

⬤

Wideband audio

⬤

Opt-in Privacy

Slide 16

Data

Standard based Firewall/NAT traversal

⬤

ICE (STUN/TURN)

⬛

HD video,

⬤

Video (webcam, screencapture)

⬛

Security is mandatory

⬤

Voice

⬛

PC

peer-to-peer

Web Multimedia
⬛

Multi Platform

⬛

Nothing proprietary(?)

⬛

⬛

⬤

Standards based

⬛

1000000000+ WebRTC endpoints

Source

⬛

No sw client install needed:
⬜

Open
⬛

Client deployed everywhere
⬛

⬤

⬤

IPv6 and IPv4 negotiation, interoperability

WebRTC is part of HTML5
⬛

⬤

Web JS API is simple and hides complexity

Implementations
⬛

WebRTC

Chrome,Firefox
SWOT: Weaknesses
⬤

Early adopters phase
⬛

not mature final standard (draft), rapidly changing implementations

⬤

Browser implementation compatibility

⬤

Depends other sw infrastructure operations
⬛

⬤

STUN/TURN server, MCU, Gateway

Web Application is not native (limitations)
⬛

e.g. Facebook and HTML5

⬤

Codec War (H.264 vs. VP8) future (H.265 vs. VP9)

⬤

Many different emerging approaches for Signaling
⬛

JSON over WebSocket (Fall-back to BOSH, COMET)

⬛

SIP over WebSocket

⬛

etc…

⬤

WebSocket is not yet implemented in every HTTP proxy.

⬤

Desktop sharing, statistics is not yet implemented in every browser

Slide 17

WebRTC
SWOT: Opportunities
⬤

WebRTC Hype

⬤

HTML5 (WebRTC) as an universal application platform.
⬛

Disturbing communication market

⬤

Transparent Standard based secure platform for RTC

⬤

New possibilities / New applications
⬛
⬛

Apps Mobile, Tablet /Android/

⬛

⬤

Games, Video support call center, Lecture Recording
Etc.

Videoconference to anyone who has a browser
⬛

Billion installed/updated clients.

⬤

Bridge between Telco and Web world

⬤

Trusted, Open Source peer to peer communication
⬛

⬤

AAI integration

Next gen video codecs: e.g. VP9 (SVC)

Slide 18

WebRTC
SWOT: Threats
⬤

Compatibility with exiting RTC vendors implementations
⬛

WEBRTC implements leading edge IETF standards
⬜

⬛

⬤

current installed videoconference / telepresence room don't.

Codec MTI war!

Browser implementation, compatibility
⬛
⬛

⬤

Internet Explorer, Opera etc..
Adapter.js

Not defined Endpoint/User Identification
⬛

URI, E.164, etc.

⬛

Lack Unified Directory / Phone-book

⬤

Mobile adaptation (iOS)

⬤

Legal Issue: Communication Regulation
⬛

Lawful interception

⬤

Too many signaling protocols can lead to Walled Gardens compatibility issues.

⬤

Alternative APIs (ORTC, CU-RTC-WEB)

Slide 19

WebRTC
WebRTC and NREN's
⬤

TNC2013 TERENA Technical Advisory Council
⬛

⬤

Big Blue Button WebRTC Support
⬛

⬤

Jan Meier: WebRTC Why you should care?
Funded by UNINET, NorduNet

2013 Aug 26 WebRTC meeting
⬛
⬛

Videoconference Gateway/MCU (NIIFI, JANET)

⬛

⬤

Big Blue Button WebRTC support (NORDUNET)
Lecture Recording (REDIRIS)

Tests
⬛
⬛

⬤

WebRTC Gateway (SIP,XMPP,H323 etc.)
WebRTC MCU

Open Mailinglist
⬛

discussion@nrenum.net

⬛

webconf@terena.org

Slide 20

WebRTC
Diagnostic / Interop
⬤

Browser Interop http://www.webrtc.org/interop
⬛

⬤

https://code.google.com/p/webrtc/source/browse/trunk/samples/js/base/adapter.js

Developer / Diagnostic tool
⬛

chrome://webrtc-internals

⬛

Firefox planed

Slide 21

WebRTC
MCU

Slide 22

WebRTC
MCU, Gateway
⬤

MCU

⬤

⬛

WebRTC is about Peer2Peer

⬛

So limited Multipoint capabilities

⬛

Gateway/SBC

WebRTC endpoint need an MCU
for large N-way calls

⬛

Interoperability
⬜

RTP
- SDES-SRTP
- DTLS-SRTP
- RTP

⬜

Demultiplex
- RTCP
- Media channel

⬜

SAVPF<=>AVP
- RTCP feedback

⬜

ICE(STUN/TURN)

⬛

Security

⬛

Transcoding Video, Audio
⬜

Slide 23

WebRTC

e.g. VP8 <=> H.264
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/

⬛

http://www.pexip.com/requirements
⬜
⬜
⬜

Slide 24

NIIFI tested
Version 2
SRTP-DTLS (coming V3)

WebRTC
Open Source implementations
⬤

IP PBX
⬛

⬜
⬜

⬛

⬤

⬛

⬛

⬤

SIP over Websocket

⬛

SIP over WebSocket
SIP over WebSocket

RTP PROXY
⬛

mediaproxy-ng

Slide 25

Doubango webrtc2sip (GW)

Web Conferencing

OverSIP
⬜

JsSIP

Gateway

Kamailio
⬜

Doubango SIPML5

⬛

SIP Proxy
⬛

⬤

SIP over Websocket
SRTP-DTLS (git version)
video transcoding fs-video branch

Asterisk
⬜

⬤

JS client library

FreeSwitch
⬜

⬛

⬤

WebRTC

Big Blue Button
WebRTC API vs Alternative APIs
⬤

Current nearly 1.0 WebRTC API couldn't be perfect.
⬛
⬛

First make API stable.

⬛

Redesign takes time. So redesign only after stable API 1.0

⬛

http://dev.w3.org/2011/webrtc/editor/webrtc.html

⬛

⬤

World Wide consensus is big challenge.

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

Slide 26

http://lists.w3.org/Archives/Public/public-webrtc/2012Aug/0014.html
WebRTC
Demo
⬤

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

⬤

http://tryit.jssip.net/
⬛

Sip account needed (e.g. http://vvc.niif.hu)

Slide 27

WebRTC
chrome media constraints
⬤

Audio
⬛

Google Specific
⬜
⬜
⬜
⬜
⬜
⬜
⬜
⬜

googEchoCancellation,
googEchoCancellation2,
googAutoGainControl,
googAutoGainControl2,
googNoiseSuppression,
googHighpassFilter,
googTypingNoiseDetection,
googAudioMirroring

⬤

https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/localaudiosource.cc

⬤

Video Constraints
⬛

Common Options
⬜
⬜
⬜
⬜

⬛

Google Specific
⬜
⬜
⬜

⬛

MinAspectRatio, maxAspectRatio
MaxWidth, minWidth
MaxHeight, minHeight
MaxFrameRate, minFrameRate
googNoiseReduction,
googNoiseReduction,
googCpuOveruseDetection

https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/videosource.cc

Slide 28

WebRTC
Links
⬤

WebRTC
⬛
⬛

http://www.youtube.com/watch?v=E8C8ouiXHHk

⬛

http://vimeo.com/47682405

⬛

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

⬛

http://www.html5rocks.com/en/tutorials/webrtc/basics/

⬛

http://io13webrtc.appspot.com

⬛

http://webrtchacks.com/signalling-options-for-webrtc-applications/

⬛

http://webrtchacks.com/webrtc-video-codec-discussion/

⬛

http://webrtchacks.com/webrtc-must-implement-dtls-srtp-but-must-not-implement-sdes/

⬛

http://prezi.com/qwejmltpng8x/webrtc/

⬛

http://www.slideshare.net/janmeijerno/tnc2013-tacmeijerwebrtcclean

⬛

http://www.youtube.com/watch?v=0gG2Y655Kk8

⬛

http://www.youtube.com/watch?v=jKz-Fjbw2mA

⬛

http://www.youtube.com/watch?v=Hzf6wsfnMKs

⬛

⬤

http://www.youtube.com/watch?v=p2HzZkd2A40

http://www.sloreto.com/slides/Aalto022013WebRTC/slides.html

ICE / Trickle ICE
⬛

http://tools.ietf.org/html/draft-rescorla-mmusic-ice-trickle-00

⬛

http://www.ietf.org/proceedings/87/slides/slides-87-mmusic-11.pdf

⬛

https://github.com/emcho/trickle-ice/tree/master/slides

⬛

http://videotorium.hu/hu/recordings/details/4110,ICE_TURN_STUN_a_szabvanyos_media_tuzfalatjarasi_technologia

Slide 29

WebRTC
Links++
⬤

Tutorial / Demo
⬛
⬛

http://idevelop.ro/ascii-camera/

⬛

http://webcamtoy.com/app

⬛

https://code.google.com/p/webrtc/source/browse/#svn%2Ftrunk%2Fsamples%2Fjs%2Fdemos%

⬛

https://vline.com/

⬛

http://webrtc.bigbluebutton.org/

⬛

https://opentokrtc.com/

⬛

http://mozilla.github.io/webrtc-landing/

⬛

⬤

https://www.webrtc-experiment.com/

https://webrtc.freeswitch.org/sipml5/

Javascript SIP
⬛

http://www.jssip.net/

⬛

https://code.google.com/p/sip-js/

⬛

http://qoffeesip.quobis.com/

⬛

http://sipml5.org/

Slide 30

WebRTC
Interesting WebRTC related drafts
⬤

RTC web Workgroup Page
⬛
⬛

http://tools.ietf.org/wg/rtcweb/

⬛

http://dev.w3.org/2011/webrtc/editor/webrtc.html

⬛

⬤

http://www.webrtc.org/

http://dev.w3.org/2011/webrtc/editor/getusermedia.html

Drafts
⬛

http://tools.ietf.org/html/draft-ietf-rtcweb-overview-08

⬛

http://tools.ietf.org/html/draft-ietf-rtcweb-rtp-usage-10

⬛

http://tools.ietf.org/html/draft-ietf-avtcore-multi-media-rtp-session-03

⬛

http://tools.ietf.org/html/draft-ietf-rtcweb-security-05

⬛

http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-09

⬛

http://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-07

⬛

http://tools.ietf.org/html/draft-jennings-rtcweb-signaling-01

Slide 31

WebRTC
Thank You!

Contenu connexe

Tendances

WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTCDan Jenkins
 
WebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsWebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsAmir Zmora
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile IntegrationGiorgio Natili
 
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 quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introductionOlle E Johansson
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Javaamithap07
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC OverviewArin Sime
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCPatrick Cason
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and TelehealthArin Sime
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 

Tendances (20)

WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTC
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsWebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and Solutions
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile Integration
 
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 quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Java
 
WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC Overview
 
WebRTC in the Real World
WebRTC in the Real WorldWebRTC in the Real World
WebRTC in the Real World
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and Telehealth
 
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTCKamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
WebRTC - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History Lesson
 

Similaire à Webrtc

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 and Telecommunications
WebRTC and TelecommunicationsWebRTC and Telecommunications
WebRTC and TelecommunicationsAVOXI
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC UpdateChad Hart
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonAlan Quayle
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)Victor Pascual Ávila
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUppersideConferences
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC2600Hz
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCChad Hart
 
6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutesChad Hart
 
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 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
 
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
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Inc
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016Dan Jenkins
 

Similaire à Webrtc (20)

Webrtc and tokbox
Webrtc and tokboxWebrtc and tokbox
Webrtc and tokbox
 
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
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
WebRTC and Telecommunications
WebRTC and TelecommunicationsWebRTC and Telecommunications
WebRTC and Telecommunications
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC Update
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
WebRCT
WebRCTWebRCT
WebRCT
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
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...
 
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)
 
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
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 

Plus 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
 
WebRTC Identity in SAML Federations
WebRTC Identity in SAML FederationsWebRTC Identity in SAML Federations
WebRTC Identity in SAML FederationsMihály Mészáros
 

Plus de Mihály Mészáros (17)

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
 
Webrtc puzzle
Webrtc puzzleWebrtc puzzle
Webrtc puzzle
 
5th tf webrtc-welcome
5th tf webrtc-welcome5th tf webrtc-welcome
5th tf webrtc-welcome
 
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
 
Stun turn poc_pilot
Stun turn poc_pilotStun turn poc_pilot
Stun turn poc_pilot
 
WebRTC Identity in SAML Federations
WebRTC Identity in SAML FederationsWebRTC Identity in SAML Federations
WebRTC Identity in SAML Federations
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 

Dernier

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Dernier (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Webrtc

  • 1. WebRTC November 7, 2013 Balatongyörök / Hungary Mészáros Mihály
  • 2. WebRTC ⬤ WebRTC: “A framework, protocols and application programming interface that provide real time interactive voice, video and data in web browsers and other applications” ⬤ Standardization ⬛ ⬛ RTCWEB (IETF) ⬛ ⬤ WEBRTC (W3C) part of HTML5 / IMS_WebRTC(3GPP) / Implementation ⬛ ⬛ FireFox ⬛ Opera(GetUserMedia only) ⬛ ⬤ Chrome Browser (Ericsson Research) WebRTC native C++ API support (for Browsers and Apps) ⬛ Android, iOS(coming..) Slide 2 WebRTC
  • 3. Javascript Session Establishment Protocol (JSEP) IETF RTCWEB WorkGroup Image source: http://html5rocks.appspot.com/en/tutorials/webrtc/basics/jsep.png Slide 3 WebRTC
  • 4. Interactive Connectivity Establishment (ICE) Source: webrtcstats.com Slide 4 WebRTC
  • 5. Standard Based Firewall/NAT Traversal ⬤ ICE RFC5245 (STUN/TURN) ⬛ ⬛ Firewall traversal ⬛ IPv4, IPv6 Inter-working ⬛ ⬤ Tries to find the best path 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 ⬜ Slide 5 Implemented WebRTC
  • 6. ICE vs. Trickle ICE Slide from: trickle-ice-iet86-orlando.pptx STUN Server Bob Alice STUN Server STUN Server disco disco offer and candidates answer and candidates … connectivity checks … Vanilla ICE as per RFC 5245 WebRTC STUN Server Bob O/A with host or no cands … more cands & conn checks … disco Slide 6 Alice disco
  • 7. Technically ⬤ WEBRTC JavaScript API ⬤ IETF RTCWEB WG ⬤ WebRTC does not specify a signaling protocol ⬤ Fresh / Current / Bleeding edge IETF standards ⬛ ⬛ ⬤ WebRTC signaling is fully application specific ⬛ SDP media bundling ⬛ ICE (STUN/TURN) ⬜ Trickle ICE ⬛ DTLS-SRTP (SDES-SRTP) ⬛ WebRTC is about Media handling ⬛ ⬤ ⬛ Designed in mind SIP, XMPP/JINGLE compatibility, RTP SAVPF ⬜ DTLS-SRTP (Audio, Video) ⬜ SCTP over DTLS (Data) Secure RTP RTCP feedback ⬛ ⬛ NAT / Firewall traversal RTP RTCP multiplexing RTP multiplexing (audio video) ⬛ ⬛ codecs (e.g. VP8, Opus, etc.) ⬛ ⬤ IPv4/IPv6 Multiplexing data/media ⬛ SCTP (data channel) ⬛ DTLS-SRTP (video, audio) Security ⬛ ⬤ Identity,Encryption, Privacy Congestion Control Slide 7 ⬤ Implementing fresh new standards cause compatibility issues WebRTC
  • 8. Architecture Overview Image source: http://www.webrtc.org/_/rsrc/1317202919504/reference/WebRTCpublicdiagramforwebsite%20%282%29.png Slide 8 WebRTC
  • 9. Protocol Stack ⬤ Peer-to-Peer media communication ⬤ RTCP Multiplex ⬤ Media Multiplex (audio, video) Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/protocolStack.jpg Slide 9 WebRTC
  • 10. Security ⬤ Trust in your browser only ⬤ 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 AAI identity provision ⬛ ⬛ ⬤ WebRTC Security framework SDP attached Identity Assertion (a=identity: base64) Signaling is not defined by WebRTC ⬛ e.g. SIP over WSS(TLS+Websocket) Slide 10 WebRTC
  • 11. Codecs ⬤ Audio ⬛ Opus (royalty free, RFC 6176) ⬜ ⬛ iSAC (internet Speech Audio Codec) ⬜ ⬛ a robust, bandwidth adaptive, wideband and super-wideband voice codec developed by Global IP Solutions iLIBC (internet Low Bitrate Codec RFC 3951) narrowband voice codec ⬜ ⬛ supports constant and variable bitrate encoding from 6 kbit/s to 510 kbit/s, frame sizes from 2.5 ms to 60 ms, and various sampling rates from 8 kHz (with 4 kHz bandwidth) to 48 kHz (with 20 kHz bandwidth, where the entire hearing range of the human auditory system can be reproduced) free narrowband voice codec that was developed by Global IP Solutions G.711 (alaw/ulaw) ⬤ Automatic Gain Control (AGC) ⬤ Acoustic Echo Cancellation (AEC) ⬤ Video ⬛ ⬛ ⬤ VP8 Chrome, Firefox H.264 Browser(Ericsson Lab), (Firefox planed) VoiceEngine, VideoEngine, NetEQ, AEC, etc all stem from the GIPS acquisition Slide 11 WebRTC
  • 12. Battle for Mandatory To Implement(MTI) Video Codec ⬤ Battle for WebRTC mandatory to implement (MTI) codec ⬤ Audio MTI codecs ⬛ ⬛ ⬤ video codec proposals, and backers ⬛ G.711 (alaw/ulaw) ⬜ Opus ⬤ ⬛ Video (?!) ⬤ Google ⬛ ⬛ ⬤ ⬜ Hangout H.264=>VP8 ⬜ Chrome only VP8/VP9 support ⬜ ⬛ ⬛ ⬛ ⬜ Cisco will open H.264 codec ⬜ Cisco will pay MPEG LA ⬜ Mozilla will support Cisco binary H.264 codec http://www.openh264.org/ Slide 12 ⬜ ⬤ Google H.264 (H.265) ⬜ Cisco (just announced) ⬛ VP8 (VP9) Ericsson Nokia BlackBerry Qualcomm Orange Cisco Microsoft Apple Both has Pros & Cons WebRTC
  • 13. WEBRTC API ⬤ Major API Components ⬛ GetUserMedia ⬜ ⬜ ⬛ Acquiring audio and video which allows a web browser to access the camera and microphone PeerConnection ⬜ P2P Communication - Codec negotiation, Security - Media handling, Bandwidth Management - etc. ⬛ DataChannels ⬜ which allow browsers to share data via peer-to-peer ⬛ Peer-to-peer DTMF ⬛ RTCStatsReport ⬛ Identity Slide 13 WebRTC
  • 14. Architecture Overview Image source: http://www.sloreto.com/slides/Aalto022013WebRTC/images/WebRTC_Architecture0.jpg Slide 14 WebRTC
  • 15. WebRTC SWOT analysis ⬤ SWOT analysis: ⬛ Strengths ⬛ Weaknesses ⬛ Opportunities ⬛ Threats Slide 15 WebRTC
  • 16. SWOT: Strengths ⬤ No plugins ⬛ ⬤ No Flash, Java, Silverlight etc. needed ⬛ ⬤ Client is always up2date. (Browser auto updates) ⬛ Phone, Tablet ⬛ And more e.g. any HW Android could run ⬤ Wideband audio ⬤ Opt-in Privacy Slide 16 Data Standard based Firewall/NAT traversal ⬤ ICE (STUN/TURN) ⬛ HD video, ⬤ Video (webcam, screencapture) ⬛ Security is mandatory ⬤ Voice ⬛ PC peer-to-peer Web Multimedia ⬛ Multi Platform ⬛ Nothing proprietary(?) ⬛ ⬛ ⬤ Standards based ⬛ 1000000000+ WebRTC endpoints Source ⬛ No sw client install needed: ⬜ Open ⬛ Client deployed everywhere ⬛ ⬤ ⬤ IPv6 and IPv4 negotiation, interoperability WebRTC is part of HTML5 ⬛ ⬤ Web JS API is simple and hides complexity Implementations ⬛ WebRTC Chrome,Firefox
  • 17. SWOT: Weaknesses ⬤ Early adopters phase ⬛ not mature final standard (draft), rapidly changing implementations ⬤ Browser implementation compatibility ⬤ Depends other sw infrastructure operations ⬛ ⬤ STUN/TURN server, MCU, Gateway Web Application is not native (limitations) ⬛ e.g. Facebook and HTML5 ⬤ Codec War (H.264 vs. VP8) future (H.265 vs. VP9) ⬤ Many different emerging approaches for Signaling ⬛ JSON over WebSocket (Fall-back to BOSH, COMET) ⬛ SIP over WebSocket ⬛ etc… ⬤ WebSocket is not yet implemented in every HTTP proxy. ⬤ Desktop sharing, statistics is not yet implemented in every browser Slide 17 WebRTC
  • 18. SWOT: Opportunities ⬤ WebRTC Hype ⬤ HTML5 (WebRTC) as an universal application platform. ⬛ Disturbing communication market ⬤ Transparent Standard based secure platform for RTC ⬤ New possibilities / New applications ⬛ ⬛ Apps Mobile, Tablet /Android/ ⬛ ⬤ Games, Video support call center, Lecture Recording Etc. Videoconference to anyone who has a browser ⬛ Billion installed/updated clients. ⬤ Bridge between Telco and Web world ⬤ Trusted, Open Source peer to peer communication ⬛ ⬤ AAI integration Next gen video codecs: e.g. VP9 (SVC) Slide 18 WebRTC
  • 19. SWOT: Threats ⬤ Compatibility with exiting RTC vendors implementations ⬛ WEBRTC implements leading edge IETF standards ⬜ ⬛ ⬤ current installed videoconference / telepresence room don't. Codec MTI war! Browser implementation, compatibility ⬛ ⬛ ⬤ Internet Explorer, Opera etc.. Adapter.js Not defined Endpoint/User Identification ⬛ URI, E.164, etc. ⬛ Lack Unified Directory / Phone-book ⬤ Mobile adaptation (iOS) ⬤ Legal Issue: Communication Regulation ⬛ Lawful interception ⬤ Too many signaling protocols can lead to Walled Gardens compatibility issues. ⬤ Alternative APIs (ORTC, CU-RTC-WEB) Slide 19 WebRTC
  • 20. WebRTC and NREN's ⬤ TNC2013 TERENA Technical Advisory Council ⬛ ⬤ Big Blue Button WebRTC Support ⬛ ⬤ Jan Meier: WebRTC Why you should care? Funded by UNINET, NorduNet 2013 Aug 26 WebRTC meeting ⬛ ⬛ Videoconference Gateway/MCU (NIIFI, JANET) ⬛ ⬤ Big Blue Button WebRTC support (NORDUNET) Lecture Recording (REDIRIS) Tests ⬛ ⬛ ⬤ WebRTC Gateway (SIP,XMPP,H323 etc.) WebRTC MCU Open Mailinglist ⬛ discussion@nrenum.net ⬛ webconf@terena.org Slide 20 WebRTC
  • 21. Diagnostic / Interop ⬤ Browser Interop http://www.webrtc.org/interop ⬛ ⬤ https://code.google.com/p/webrtc/source/browse/trunk/samples/js/base/adapter.js Developer / Diagnostic tool ⬛ chrome://webrtc-internals ⬛ Firefox planed Slide 21 WebRTC
  • 23. MCU, Gateway ⬤ MCU ⬤ ⬛ WebRTC is about Peer2Peer ⬛ So limited Multipoint capabilities ⬛ Gateway/SBC WebRTC endpoint need an MCU for large N-way calls ⬛ Interoperability ⬜ RTP - SDES-SRTP - DTLS-SRTP - RTP ⬜ Demultiplex - RTCP - Media channel ⬜ SAVPF<=>AVP - RTCP feedback ⬜ ICE(STUN/TURN) ⬛ Security ⬛ Transcoding Video, Audio ⬜ Slide 23 WebRTC e.g. VP8 <=> H.264
  • 24. 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/ ⬛ http://www.pexip.com/requirements ⬜ ⬜ ⬜ Slide 24 NIIFI tested Version 2 SRTP-DTLS (coming V3) WebRTC
  • 25. Open Source implementations ⬤ IP PBX ⬛ ⬜ ⬜ ⬛ ⬤ ⬛ ⬛ ⬤ SIP over Websocket ⬛ SIP over WebSocket SIP over WebSocket RTP PROXY ⬛ mediaproxy-ng Slide 25 Doubango webrtc2sip (GW) Web Conferencing OverSIP ⬜ JsSIP Gateway Kamailio ⬜ Doubango SIPML5 ⬛ SIP Proxy ⬛ ⬤ SIP over Websocket SRTP-DTLS (git version) video transcoding fs-video branch Asterisk ⬜ ⬤ JS client library FreeSwitch ⬜ ⬛ ⬤ WebRTC Big Blue Button
  • 26. WebRTC API vs Alternative APIs ⬤ Current nearly 1.0 WebRTC API couldn't be perfect. ⬛ ⬛ First make API stable. ⬛ Redesign takes time. So redesign only after stable API 1.0 ⬛ http://dev.w3.org/2011/webrtc/editor/webrtc.html ⬛ ⬤ World Wide consensus is big challenge. 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) ⬜ Slide 26 http://lists.w3.org/Archives/Public/public-webrtc/2012Aug/0014.html WebRTC
  • 27. Demo ⬤ 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 ⬤ http://tryit.jssip.net/ ⬛ Sip account needed (e.g. http://vvc.niif.hu) Slide 27 WebRTC
  • 28. chrome media constraints ⬤ Audio ⬛ Google Specific ⬜ ⬜ ⬜ ⬜ ⬜ ⬜ ⬜ ⬜ googEchoCancellation, googEchoCancellation2, googAutoGainControl, googAutoGainControl2, googNoiseSuppression, googHighpassFilter, googTypingNoiseDetection, googAudioMirroring ⬤ https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/localaudiosource.cc ⬤ Video Constraints ⬛ Common Options ⬜ ⬜ ⬜ ⬜ ⬛ Google Specific ⬜ ⬜ ⬜ ⬛ MinAspectRatio, maxAspectRatio MaxWidth, minWidth MaxHeight, minHeight MaxFrameRate, minFrameRate googNoiseReduction, googNoiseReduction, googCpuOveruseDetection https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/videosource.cc Slide 28 WebRTC
  • 29. Links ⬤ WebRTC ⬛ ⬛ http://www.youtube.com/watch?v=E8C8ouiXHHk ⬛ http://vimeo.com/47682405 ⬛ http://www.html5rocks.com/en/tutorials/getusermedia/intro/ ⬛ http://www.html5rocks.com/en/tutorials/webrtc/basics/ ⬛ http://io13webrtc.appspot.com ⬛ http://webrtchacks.com/signalling-options-for-webrtc-applications/ ⬛ http://webrtchacks.com/webrtc-video-codec-discussion/ ⬛ http://webrtchacks.com/webrtc-must-implement-dtls-srtp-but-must-not-implement-sdes/ ⬛ http://prezi.com/qwejmltpng8x/webrtc/ ⬛ http://www.slideshare.net/janmeijerno/tnc2013-tacmeijerwebrtcclean ⬛ http://www.youtube.com/watch?v=0gG2Y655Kk8 ⬛ http://www.youtube.com/watch?v=jKz-Fjbw2mA ⬛ http://www.youtube.com/watch?v=Hzf6wsfnMKs ⬛ ⬤ http://www.youtube.com/watch?v=p2HzZkd2A40 http://www.sloreto.com/slides/Aalto022013WebRTC/slides.html ICE / Trickle ICE ⬛ http://tools.ietf.org/html/draft-rescorla-mmusic-ice-trickle-00 ⬛ http://www.ietf.org/proceedings/87/slides/slides-87-mmusic-11.pdf ⬛ https://github.com/emcho/trickle-ice/tree/master/slides ⬛ http://videotorium.hu/hu/recordings/details/4110,ICE_TURN_STUN_a_szabvanyos_media_tuzfalatjarasi_technologia Slide 29 WebRTC
  • 31. Interesting WebRTC related drafts ⬤ RTC web Workgroup Page ⬛ ⬛ http://tools.ietf.org/wg/rtcweb/ ⬛ http://dev.w3.org/2011/webrtc/editor/webrtc.html ⬛ ⬤ http://www.webrtc.org/ http://dev.w3.org/2011/webrtc/editor/getusermedia.html Drafts ⬛ http://tools.ietf.org/html/draft-ietf-rtcweb-overview-08 ⬛ http://tools.ietf.org/html/draft-ietf-rtcweb-rtp-usage-10 ⬛ http://tools.ietf.org/html/draft-ietf-avtcore-multi-media-rtp-session-03 ⬛ http://tools.ietf.org/html/draft-ietf-rtcweb-security-05 ⬛ http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-09 ⬛ http://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-07 ⬛ http://tools.ietf.org/html/draft-jennings-rtcweb-signaling-01 Slide 31 WebRTC