Upload
douglas-tait
View
147
Download
5
Embed Size (px)
DESCRIPTION
WebRTC Implementation details
Citation preview
WebRTC Workshop Open discussion on the ecosystem
September 2014
Tsahi
Levent-Levi
About Me
• Too many years in the telecom industry. Mainly VoIP
• Developer, Product Manager, CTO
• Had my share of standardization and patents
• Write about WebRTC and other topics
• Published the WebRTC for Business People report
• Consulting
10/13/2014 2
Tsahi Levent-Levi
@tsahil
WebRTC Workshop - Open discussion on the ecosystem
10/13/2014 3
13:00 Introductions Doug
13:10 What is (and isn't WebRTC) Tsahi
14:00 Standaradization, IETF and WebRTC Victor
14:45 Break
15:00 5 WebRTC Archetypes Tsahi
15:45 The WebRTC Use Cases/Deployments Doug
16:30 Implementation/Architecture Details Tsahi
17:15 Wrap-up Victor
Alternatives
10/13/2014 4
Level of dependency on 3rd parties
Level of
required
experience
in VoIP &
WebRTC
Self
DevelopmentIntegration
of Open
Source
Frameworks Integration
of Commercial
SDKs &
FrameworksEmploying
SaaS
Working
with an
API Platform
Implementation/Architecture Details
1. Go it alone (and what it means)
2. Popular frameworks
3. Popular “SDKs”
4. Services
5. WebRTC API Platforms
10/13/2014 5
Go it alone (and what it means) Implementation/Architecture Details
10/13/2014 6
Client-side
10/13/2014 7
Browser
• Chrome & Firefox
• IE & Safari
Mobile
• Android browsers
• SDKs for apps
• iOS browsers
PC app
• SDKs for PC
Embedded
• Ported SDK
Signaling
• Left for the developers to decide (BYOS)
• Transport • XHR, SSE, …
• WebSocket
• Data Channel
• Protocol • SIP
• XMPP
• Proprietary
10/13/2014 8
STUN & TURN
• Someone needs to deploy them…
• And make sure they work
10/13/2014 9
Server-side Media Processing
• Non-mesh multipoint
• Broadcasting
• Recording
• Analytics
• Interconnecting
• …
10/13/2014 10
Geolocation headaches
• Local call in Paris routed through a TURN server in the US
10/13/2014 11
Is AWS Enough?
10/13/2014 12
Popular frameworks Implementation/Architecture Details
10/13/2014 13
Why Use a Framework?
• WebRTC is a moving target – API changes
– Interoperability across browsers
• Simple, but not enough
• Solving the missing signaling issue
14
PeerJS
• Lightweight
• Node.js backend
• MIT license
• In “beta”
• Who uses PeerJS? – Blippex – search engine – Secretly Meet – collaboration – Nutty – remote terminal – Live.Pics.io – online photo sharing – Pipe – private large file sending on Facebook
15
EasyRTC
• Backed by Priologic
• Node.js backend
• BSD license
• Large install base
• Who uses EasyRTC? – Tawk.com – video conferencing (dogfooding) – Veeting.com – video conferencing – Kobra.io – collaboration between developers
16
SimpleWebRTC
• Built by &yet
• Node.js backend
• MIT license
• Who uses SimpleWebRTC? – Talky.io – video conferencing (dogfooding)
17
Popular “SDKs” Implementation/Architecture Details
10/13/2014 18
rfc5766-turn-server
• https://code.google.com/p/rfc5766-turn-server/
• Licensed under BSD
• Used by everyone to add STUN/TURN for WebRTC
19
SIP…
• PBXs – Asterisk – Freeswitch – Kamailio
• Client-side JS implementations – JSsip – sipML – QoffeeSIP – sip.js
20
Media Servers
• Dialogic PowerMedia XMS – Generic media server
• Medooze – MCU
• Licode – MCU/Streamer
• Flashphoner – Streamer
• Jitsi Video Bridge – Google Hangouts-like experience
• Janus – Generic WebRTC Gateway
• GENBAND SPIDR – SIP-WebRTC Gateway
21
Services Implementation/Architecture Details
10/13/2014 22
Why Use a Service?
• No maintenance involved
• Predictable pricing
• Focus on the use case (=time to market)
• Feature rich on operability
• Various offerings: 1. Signaling
2. NAT traversal
3. Media processing
23
Signaling: PubNub
• Global low latency network that added recently support for WebRTC
• Other options: Pusher, Firebase
24
NAT Traversal
• Offload the headache of deploying TURN servers
• Offer geographical spread of STUN/TURN
25
Media: MCU1
• Virtualized MCU, offered in SaaS
• Interworks with SIP & H.323
• Used by Pexip
26
WebRTC API Platforms Implementation/Architecture Details
10/13/2014 27
Many Platforms Out There…
28
They Are Different
• Feature set
• Size
• Focus
• Stability
• Flexibility
• …
29
List What You Need
• Voice?
• Video?
• Multipoint? – How many users?
– How many passive/active?
– What quality levels are acceptable?
• Recording?
• Connectivity to other networks?
• Collaboration?
• …
30
Parameters to Select By
• Focus
• Feature set
• Deployment options
• APIs & Documentation
• Support
• Self Service
• Business model
• Financial & Legal
31
Thank You!
Tsahi Levent-Levi
http://bloggeek.me
10/13/2014 32