27
WebRTC/Cloud Desktop/integration Suggestin for Light C3 Veselin Pizurica

WebRTC presentation

Embed Size (px)

DESCRIPTION

My talk on webRTC from June 2013 Demo application using XMPP for signalling open source webRTC using websockets is here: implenentationhttps://github.com/pizuricv/webRTC-over-websockets

Citation preview

Page 1: WebRTC presentation

WebRTC/Cloud Desktop/integration

Suggestin for Light C3Veselin Pizurica

Page 2: WebRTC presentation

WebRTC technology

• WebRTC is an industry and standards effort to put real-time communications capabilities into all browsers and make these capabilities accessible to web developers via standard [HTML5] tags and JavaScript APIs (Application Programming Interfaces).

• The underlying standards of WebRTC are being developed by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF)

• Current WebRTC initiative is supported by Google, Mozilla and Opera.

Page 3: WebRTC presentation

WebRTC model

Necessary steps for browser to browser communication:

• Access to real time streaming data (audio, video) part of HTML5 API : getUserMedia()

• Signaling protocol: exchange information about media and client capabilities on both endpoints, such as resolution and codecs (aka ‘SDP’) . Not part of the WebRTC spec!

• Peer to peer streaming part of HTML5 API: RTCPeerConnection

• Video/audio encoding/decoding in browser, echo cancelation etc… implemented in browsers

Page 4: WebRTC presentation

WebRTC architecture

Page 5: WebRTC presentation

Comparison to VoIP

Classic VoIP WebRTC

Signaling SIP or H.323 in most cases Undefined

Media transport RTP/RTCP RTP/RTCP

Security SRTP in SIP,H.235 in H.323 SRTP

NAT traversalSTUN/TURN/ICE in SIP,H.450.x in H.323

STUN/TURN/ICE

Video codecs H.263, H.264 VP8

Voice codecs G.7xx series of codecs, .. G.711, iLBC, iSAC

Page 6: WebRTC presentation

E2E architecture – basic model

• The offer/answer architecture described above is called Javascript Session Establishment Protocol (JSEP)

Page 7: WebRTC presentation

Integration in Cloud Desktop

Signaling is the mechanism by which peers send control messages to each other for the purpose of establishing the communication protocol, channel, and method.

Signaling implementation requirements:– Discovery (who I have in my address book)– Presence (who from my circles is currently on line)– Placing a call

In our real communication solution, signaling is based on XMPP(jabber) protocol. XMPP provides all these capabilities out of the box. XMPP database (list of users) is integrated with AD server – which is also used for authentication and authorization for Cloud Desktop – no duplicate data, stateless server.

Page 8: WebRTC presentation

Cloud Desktop WebRTC architecture

AD server

Browser Browser

XMPP

BOSH wrapper

Signaling path:• ICE candidates• SDP information• Address book• Presence information

Signaling path

Peer2peer channel

Signaling path

Page 9: WebRTC presentation

NAT/firewall traversal

• STUN protocol and its extension TURN are used by the ICE framework to enable RTCPeerConnection to cope with NAT traversal and other network vagaries.

• ICE is a framework for connecting peers, such as two video chat clients. Initially, ICE tries to connect peers directly, with the lowest possible latency, via UDP. In this process, STUN servers have a single task: to enable a peer behind a NAT to find out its public address and port.

• If UDP fails, ICE tries TCP: first HTTP, then HTTPS. If direct connection fails—in particular, because of enterprise NAT traversal and firewalls—ICE uses an intermediary (relay) TURN server.

In other words, ICE will first use STUN with UDP to directly connect peers and, if that fails, will fall back to a TURN relay server. The expression 'finding candidates' refers to the process of finding network interfaces and ports.

Page 10: WebRTC presentation

WebRTC: ICE with STUN setup

Page 11: WebRTC presentation

Future of communication

Page 12: WebRTC presentation

From service to function

• Voice/video moving from service to function

Shift from “standalone” to “contextualized” communications

Page 13: WebRTC presentation

VoIP vs. WebRTC

• Most VoIP apps are standalone “calling” tools • Contextual / in-app opportunity slow & fragmented • Complexity for developers

– X number of platform– Rocket-science for SIP, acoustics etc. – Immaturity of voice/telephony APIs – “Telephony” model inflexible

WebRTC fit with HTML5/apps should enable “beyond the call” voice & video with less heavy lifting • HTML5 also comes with new features like realtime data

channel• Mashups + communication – new opportunity and threat for

many

Page 14: WebRTC presentation

WebRTC use cases

Plus: M2M, gaming, TV-based, data-centric & various others

Don’t just think about WebRTC in terms of today’s telephony. Think more adding communications to any company website or app

Page 15: WebRTC presentation

Enterprise benefits of WebRTC as platform

• Website becomes the call center

• New models for customer interaction (eg contextual support via video)

• Browser becomes flexible/updateable softphone

• Easier federation / interconnect between companies

• Slick web-based conferencing, inc. easier integration with web tools like LinkedIn & DropBox

• Easier 2-way comms within mobile apps

• Various new possibilities with realtime data sharing

Page 16: WebRTC presentation

Telcos?

Downsides• Voice & SMS saturation & cannibalisation• Regulation & competitive impacts• Weak content & VAS propositions• Economic pressures• Ecosystem competition

Upsides • Connecting the last unconnected • Smartphones & data growth • Better segmentation, pricing & promotion • Innovative services & enablers • Embracing & exploiting fragmentation

Page 17: WebRTC presentation

For telcos WebRTC is a catalyst

NOW

With WebRTC• Bigger opportunities • Worse threats • Faster speed of change

Page 18: WebRTC presentation

Examples

Page 19: WebRTC presentation

Deployment models

Page 20: WebRTC presentation

The WebRTC Triangle

Page 21: WebRTC presentation

The WebRTC Trapezoid [draft-ietf-rtcweb-overview]

Page 22: WebRTC presentation

WebRTC with SIP

Page 23: WebRTC presentation

WebRTC and Jingle

Page 24: WebRTC presentation

WebRTC and PSTN

Page 25: WebRTC presentation

Multi-Party Sessions in WebRTC

Page 26: WebRTC presentation

Single Peer Connection with Media Server

Page 27: WebRTC presentation

References

• [HTML5] http://www.w3.org/TR/html5

• [draft-ietf-rtcweb-overview] http://tools.ietf.org/html/draft-ietf-rtcweboverview

• [RFC3261] http://tools.ietf.org/html/rfc3261

• [XEP-0166] http://xmpp.org/extensions/xep-0166.html

• [RFC6120] http://tools.ietf.org/html/rfc6120

• [W3C] http://www.w3c.org

• [IETF] http://www.ietf.org

• [WEBRTC.ORG] http://www.webrtc.org

• [WEBRTC 1.0] http://www.w3.org/TR/webrtc