Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
Transcript of WebRTC
"Web" as in ... errr ... "The Web"
"Web" as in "App"
Software libraries for building WebRTC-compatible apps on major mobile platforms
"Web" as in "Embedded"
"Web" as in
"The sky's the limit"
"WebRTC" as in
"Peer-to-peer* realtime communications
between web browsers**"
** and mobile apps, embedded devices...
* peer-to-peer... "with a little help from my servers"
ICE servers for NAT and Firewall traversal
Interactive Connectivity Establishment
Enabled by default in Chrome and Firefox since June 2013
a ah b lah
... because the Internet is a mess!
Web server(s) implementing the application logic
Web Application Server
This is where browsers retrieve the application logic and user interface
HTML, css, images...
Few one-shot transactions in a client lifetime
1 box for ~10^5 clients
Web Signaling Server
Clients stay connected here to send and receive event notifications
A live connection for each active client
1 box for ~10^4 clients
"someone is calling"
"change UI layout"
"display a notification"
"place a call to..."
"user hit button X"
* Deployed in browsers, but not in proxies**
** Incl. transparent proxies, common in mobile networks
Signaling needs to be bi-directional and MUST happen over HTTP(S)
but HTTP is inherently mono-directional!
Well-established BOSH/COMET "hacks"
Immature* WebSocket standard
Signaling is fully delegated to the application
According to its very specific needs
It's a feature!
Two emerging approaches
WebSocket (+ BOSH + COMET)
Natively interpreted by browsers
Fall-back, if something goes wrong
The language of the web
+ WebRTC- and application-specific signaling on the same channel
Network info for establishing peer-to-peer media connections
+ enables fast connection setup
+ does not impose any identity scheme on the application
+ easy reliability in "broken-network" scenarios
Using popular hack-wrapping libraries (e.g. socket.io)
The protocol of IP communication services
+ easy to make existing communication services accessible from browsers
- slow, often
Video Conferencing / Telepresence
Adding support for WebSocket transport to SIP
(already available for UDP, TCP, SCTP)
Vendors love this!
- no WebSocket, no party
- poor flexibility
no custom signalling
imposes SIP identity scheme
No Trickle ICE!
Telco equipment vendors
Web Signaling Gateway
Translates the web app signaling into other communication services lingo
SIP, possibly XMPP
A live connection for each active session
1 box for ~10^4 sessions
Web Media Gateway
Translate WebRTC media toward other communication services
(En+de)cryption and (poss.) transcoding for each active session
1 box for ~10-10^3 sessions
Simple, plain RTP
ICE + SRTP
Easy job if web apps speak SIP over WebSocket
Video Conferencing / Telepresence
This is complicated!
And possibly transcoding
This is VERY complicated!