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@bloggeek.me 
@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 3rdpartiesLevel of required experience in VoIP & WebRTCSelfDevelopmentIntegrationof Open Source FrameworksIntegrationof CommercialSDKs & FrameworksEmployingSaaSWorkingwith anAPI 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 
tsahil@bloggeek.me 
10/13/2014 
32

Workshop web rtc implementation details

  • 1.
    WebRTC Workshop Opendiscussion on the ecosystem September 2014 Tsahi Levent-Levi
  • 2.
    About Me •Toomany 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@bloggeek.me @tsahil
  • 3.
    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
  • 4.
    Alternatives 10/13/2014 4 Level of dependency on 3rdpartiesLevel of required experience in VoIP & WebRTCSelfDevelopmentIntegrationof Open Source FrameworksIntegrationof CommercialSDKs & FrameworksEmployingSaaSWorkingwith anAPI Platform
  • 5.
    Implementation/Architecture Details 1.Goit alone (and what it means) 2.Popular frameworks 3.Popular “SDKs” 4.Services 5.WebRTC API Platforms 10/13/2014 5
  • 6.
    Go it alone(and what it means) Implementation/Architecture Details 10/13/2014 6
  • 7.
    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
  • 8.
    Signaling •Left forthe developers to decide (BYOS) •Transport •XHR, SSE, … •WebSocket •Data Channel •Protocol •SIP •XMPP •Proprietary 10/13/2014 8
  • 9.
    STUN & TURN •Someone needs to deploy them… •And make sure they work 10/13/2014 9
  • 10.
    Server-side Media Processing •Non-mesh multipoint •Broadcasting •Recording •Analytics •Interconnecting •… 10/13/2014 10
  • 11.
    Geolocation headaches •Localcall in Paris routed through a TURN server in the US 10/13/2014 11
  • 12.
    Is AWS Enough? 10/13/2014 12
  • 13.
  • 14.
    Why Use aFramework? •WebRTC is a moving target –API changes –Interoperability across browsers •Simple, but not enough •Solving the missing signaling issue 14
  • 15.
    PeerJS •Lightweight •Node.jsbackend •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
  • 16.
    EasyRTC •Backed byPriologic •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
  • 17.
    SimpleWebRTC •Built by&yet •Node.js backend •MIT license •Who uses SimpleWebRTC? –Talky.io – video conferencing (dogfooding) 17
  • 18.
  • 19.
    rfc5766-turn-server •https://code.google.com/p/rfc5766-turn-server/ •Licensedunder BSD •Used by everyone to add STUN/TURN for WebRTC 19
  • 20.
    SIP… •PBXs –Asterisk –Freeswitch –Kamailio •Client-side JS implementations –JSsip –sipML –QoffeeSIP –sip.js 20
  • 21.
    Media Servers •DialogicPowerMedia 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
  • 22.
  • 23.
    Why Use aService? •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
  • 24.
    Signaling: PubNub •Globallow latency network that added recently support for WebRTC •Other options: Pusher, Firebase 24
  • 25.
    NAT Traversal •Offloadthe headache of deploying TURN servers •Offer geographical spread of STUN/TURN 25
  • 26.
    Media: MCU1 •VirtualizedMCU, offered in SaaS •Interworks with SIP & H.323 •Used by Pexip 26
  • 27.
    WebRTC API Platforms Implementation/Architecture Details 10/13/2014 27
  • 28.
    Many Platforms OutThere… 28
  • 29.
    They Are Different •Feature set •Size •Focus •Stability •Flexibility •… 29
  • 30.
    List What YouNeed •Voice? •Video? •Multipoint? –How many users? –How many passive/active? –What quality levels are acceptable? •Recording? •Connectivity to other networks? •Collaboration? •… 30
  • 31.
    Parameters to SelectBy •Focus •Feature set •Deployment options •APIs & Documentation •Support •Self Service •Business model •Financial & Legal 31
  • 32.
    Thank You! TsahiLevent-Levi http://bloggeek.me tsahil@bloggeek.me 10/13/2014 32