Transcript
Page 1: WebRTC - Is it ready? 2013

WebRTCIs it ready?

Henry 2013

Page 2: WebRTC - Is it ready? 2013

Web RTC is:

● A free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs to conduct SECURE communications.

● Features:○ Secure Audio Channel (CD Quality)○ Secure Video (Full HD)○ Secure Screen Sharing○ Secure Data Channel

Page 3: WebRTC - Is it ready? 2013

Web RTC Block Diagram

Page 4: WebRTC - Is it ready? 2013

Very Active Community

Page 5: WebRTC - Is it ready? 2013

Some Complexities

Designed for P2P communications so includes intricate mechanisms to traverse NAT using STUN, ICE and a TURN server which is a media relay.

Page 6: WebRTC - Is it ready? 2013

WebRTC JavaScript API

● MediaStream (getUserMedia)○ Microphone (Audio)○ Webcam (Video)○ Desktop ???

● RTCPeerConnection○ Media Multiplexing○ Authenticate against identity providers

● RTCDataChannel○ SCTP over UDP

https://www.simpl.info/index.html

Page 7: WebRTC - Is it ready? 2013

Built-in Voice Engine Capabilities

● NetEQ○ Dynamic jitter buffer management○ Packet Loss Concealment (PLC)

● Acoustic Echo Canceler (AEC)○ Removes, in real time, the acoustic echo resulting

from the voice being played out coming into the active microphone.

● Noise Reduction (NR)○ Removes certain types of background noise usually

associated with VoIP. (Hiss, fan noise, etc...)

Page 8: WebRTC - Is it ready? 2013

Supported Audio Codecs● G.711● Opus - Free CD Quality codec (Even Stereo)

○ 20ms frames○ Variable Bit Rate 8K to 64K bps

Page 9: WebRTC - Is it ready? 2013

Built-In Video Engine

Video Jitter Buffer○ Dynamic Jitter Buffer

Image Enhancement○ Remove video noise

VP8 Codec○ Royalty free○ Full HD 1080p encoding

Page 10: WebRTC - Is it ready? 2013

WebRTC Connection Flow

1. Obtain Local Media (GetUserMedia)

2. Setup Peer Connection (RTCPeerConnection)

3. Attach Media or Data

4. Exchange Offer/Answer (RTCPeerConnection)

Page 11: WebRTC - Is it ready? 2013

Supporting Protocols

● Application Layer:○ HTTP, WebSocket, SRTP, SDP, ICE/STUN/TURN

● Transport Layer:○ TLS (TCP), DTLS (UDP), SCTP (for data channel)

● Network Layer:○ IPv4 & IPv6

Page 12: WebRTC - Is it ready? 2013

Peer Connection DiagramPure Web

Page 13: WebRTC - Is it ready? 2013

Peer Connection DiagramOver Legacy Network

Page 14: WebRTC - Is it ready? 2013

3rd Party Authentication

Page 15: WebRTC - Is it ready? 2013

Signaling

Proprietary○ RESTful○ BOSH (long polling)○ WebSockets

Open Standards○ XMPP over BOSH/WebSockets (14 years)○ SIP over WebSockets (17 years)

Page 16: WebRTC - Is it ready? 2013

Standards

It's a joined effort

● IETF○ Focus on protocol and interoperability

● W3C○ Hight level APIs and device control (mic, camera,

network)○ PeerConnection API proposal

Page 17: WebRTC - Is it ready? 2013

Concerns

● Video Codec Patent:○ Since March 2013 Nokia has asserted a patent claim

against HTC and Google for the use of VP8 in Android in a German court

● Browser Support:○ Chrome, Firefox, and Opera○ Apple and Microsoft have not publicly shown

interest in the support of WebRTC in IE and Safari○ (Note: Temporary IE supported via Chrome Frame)

Page 18: WebRTC - Is it ready? 2013

Demos

Canvas Integration:● Webcam Toy (GetUserMedia + Canvas)● Audio Recorder (GetUserMedia + Canvas)

Video Chat:● talky (GetUserMedia + RTCPeerConnection)

File Sharing● Sharefest (GetUserMedia +

RTCDataChannel)

Page 20: WebRTC - Is it ready? 2013

Tools

Browser Tool● chrome://webrtc-internals/● adapter.js (http://www.webrtc.

org/interop)

Page 22: WebRTC - Is it ready? 2013

FreeSWITCH and WebRTC

● SIP Over WebSockets● Media over SRTP● Opus supported

Issues:○ Inconsistent client support○ DTMF issues (INFO)○ No video transcoding is supported

Note: Asterisks Already supported WebRTC (but only with G.711 codec)

Page 23: WebRTC - Is it ready? 2013

Business Applications

● Call Center● PAAS (Open Source API)● WebRTC enabled SBC● Video Conference● Outsourcing Development Vendor

Page 24: WebRTC - Is it ready? 2013

Call Center Applications

Teledini - Display web visitor key information when call arrives. Receive call from browser.

Page 27: WebRTC - Is it ready? 2013

Platform as a Service

Apidaze - API service for Voice, SMS, WebRTC and worldwide DID numbers. XML style structure.Crocodile RTC - Javascript SDK for Call, Video, IM, File Sharing, and Payment system over their platform. Requestec - Mobile SDK, virtual meeting with billing, recording, appointments, and collaboration.

Page 28: WebRTC - Is it ready? 2013

Requestec

Page 29: WebRTC - Is it ready? 2013

Hardware Solution

Genband - WebRTC to VoIP gateway with RESTful API

Ingate - VoIP enabled smart enterprise firewall now optimized also for WebRTC. Realtime traffic shaping

Sansay - WebSBC, REST API, Proprietary signaling (not SIP)

Page 30: WebRTC - Is it ready? 2013

Video Conference (PAAS)

Bistri - Free video chat service that binds all your social network contacts.

Page 34: WebRTC - Is it ready? 2013

Other

PubNub - High performance and low latency communication of arbitrary data

Page 35: WebRTC - Is it ready? 2013

Using WebRTC on Mobile Device

● Open Source VoIP engine (and Video)○ Active community support○ PLC - Packet Loss Concealment○ Jitter Buffer handling○ CD Quality Codec○ RTP at the core○ RTCP implemented for QoS monitoring○ SRTP for secure media transport○ NAT traversal by ICE○ ECHO Cancellation & Noise Reduction○ Mobile Integration contributed by Vonage

Everything one might need to build their own Mobile Native Client

Page 37: WebRTC - Is it ready? 2013

What's Cookin Doc?

Page 38: WebRTC - Is it ready? 2013

Thanks


Top Related