SlideShare a Scribd company logo
1 of 38
Company Confidential: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.
Server-side WebRTC
Infrastructure
Chad Hart
Director, Product Marketing
WebRTC Japan Conference
5 Feb 2015
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 2
About Me
Sr. Director, Product Marketing Blogger & Chief Editor
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 3
Dialogic Overview
Experienced
Over 25 years connecting and adding value to Enterprise and
Service Provider Networks
Global presence
US HQ (New Jersey) / 20+ Regional offices
Strengths
Products are widely deployed
Impacting 4+ billion mobile subscribers
15+ Billion VoIP minutes / month
Excellent Support
Customers include 48 of top 50 mobile carriers and 80% of the Fortune 1000
Approximately 200 patents issued or pending
Key Product & Services
Rich Media Processing
PowerMedia: Media Server / IMS MRF / SR140
Class 4 Softswitch / IMS MGCF and VoIP Gateways
Mobile Signaling / Diameter Signaling Controllers
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 4
WebRTC Server Considerations
Signaling
NAT
Traversal
Media Gateway
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 5
WebRTC is not 100% Peer-to-Peer
Server
client client
media
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 6
WebRTC Signaling Servers Relay SDP between Clients
Real WebRTC
Session Description
Protocol (SDP)
example (partial)
Source: webrtchacks.com/sdp-anatomy
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 7
Signaling Considerations Outside of WebRTC
User authentication
Security & access
controls
Mobile push services
Federation
The rest of your
application
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 8
The NAT Traversal Problem
Image source: webrtcHacks - https://webrtchacks.com/stun-helps-webrtc-traverse-nats/
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 9
How does WebRTC Traverse Firewalls & NATs?
media
FW &
NAT
FW &
NAT
client client
10.10.1.1 192.168.10.1200.2.20.2
2
100.1.10.1
1
Signaling
Server
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 10
Interactive Connectivity Establishment (ICE)
A protocol for establishing a peer-to-peer media connection
between peers behind NAT and firewall devices.
ICE requires 2 kinds of servers: 1. STUN
2. TURN
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 11
STUN – What is my external IP address?
Signaling
Server
media
client
10.10.1.1 200.2.20.2
2
What is my
external IP
address?
FW &
NAT
STUN
Server
Your IP address is
200.2.20.22
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 12
TURN will relay your media
media
client
Signaling
Server
TURN
Server
STUN
Server
client
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 13
Comparing STUN vs. TURN
STUN Server TURN Server
What it does?
Returns an external IP
address
Relays media
When is it needed? Almost always Rarely
How much does it
cost to operate?
Inexpensive Expensive
Does it affect voice
quality?
No Possible
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 14
Peer-to-Peer vs. Peer-to-Server
Server
client client
media
Peer-to-Peer
client client
Media Server
Signaling
Server
Peer-to-Server
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 15
Many Reasons for a Media Server
Conferencing InterworkingTranscoding
Stream processingRecording Person-to-machine
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 16
Who do You Care About More?
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 17
Bandwidth is not Always Ubiquitous or Free
Client-side Server-side
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 18
CPU & Processing Power is Expensive
Client view Provider View
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 19
Multi-PARTY! Video Conferencing
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 20
Easy & Cheap Approach to Multi-party: Mesh
20
Full Mesh
Works for a few
parties
No server cost
Lowest latency
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 21
Mesh does not Scale for Many Video Conferees
21
Full Mesh
Clients get overloaded
Encode costs more than decode
Limited uplink bandwidth
Inconsistent performance
across participants
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 22
Traditional Telephony Approach: MCU
22
Multipoint Control Unit (MCU)
Good at manipulating all media
Transcoding
Transizing
Transrating
Interworking
Server-side CPU intensive
Client can request different
conference mixes
Usually client friendly
Downsizing & mixing can
reduce bandwidth
Fewer client streams to process
MCU
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 23
Traditional MCU Resource Usage
23
Worst-case process:
1. Each stream decoded
at the MCU
2. MCU mixes each
conferee
3. MCU encodes
individual mix for
each conferee
MCU
1
1 2
2
3
3
4
45
5
6
6
Ingress streams 6
Egress streams 6
MCU decodes 6
MCU encodes 6
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 24
Efficient MCU Resource Usage
24
Efficient process:
1. Each stream decoded
at the MCU
2. MCU mixes each
conferee
3. MCU shares same
encoder for all
conferees
MCU
1
2
3
4
5
6
Ingress streams 6
Egress streams 6
MCU decodes 6
MCU encodes 1
1
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 25
Resource Efficient MCU with Encoder Sharing
30%-50% reduction in compute resources
0%
20%
40%
60%
80%
100%
1 2 3 4 5 6 7 8 9 10 11 15 17 20
SystemCPUUtilization
Conferees
Encoder sharing vs. multi-encode
Traditional MCU Dialogic Evolved MCU
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 26
Newer Approach: SFU
26
SFU
Selective Forwarding Unit
(SFU) routing
Clients send one & receive
many
Client can instruct SFU which
streams to send
High throughput
Can be lots of downlink
bandwidth
Low latency
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 27
Newer Approach: SFU
27
SFU
Selective Forwarding Unit
(SFU) routing
Clients send one & receive
many
Client can instruct SFU which
streams to send
High throughput
Can be lots of downlink
bandwidth
Low latency
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 28
New WebRTC Approach: Simulcast
28
SFU
High bitrate
Low bitrate
Selective Forwarding Unit
(SFU) with Simulcast
Clients send multiple streams
to SFU
one high-bit rate
one or more lower-bit
Client directs SFU which
streams to receive
Reduces bandwidth vs. SFU
Simulcast in WebRTC coming
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 29
A look at Google Hangouts with Simulcast
http://webrtchacks.com/hangout-analysis-philipp-hancke/
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 30
Future Approach with VP9 – SVC?
30
SFU
MediumHigh LowLayered bitrates:
Selective Forwarding Unit
(SFU) with Scalable Video
Coding (SVC)
Clients send layered stream to
SFU
Layers have varying bitrates –
time, size, quality
SFU directs who gets what
Coming to WebRTC eventually
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 31
Multi-party video summary comparison
http://networkfuel.dialogic.com/webrtc-whitepaper
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 32
Many Reasons for a Media Server
Conferencing InterworkingTranscoding
Stream processing Person-to-machineRecording
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 33
Case Study: Video Recording Service
Application highlights
Record live events – E.g. Kids
soccer game
Share event recording with
family/friends – Multi-party
stream
Many Recording Formats
.3GP
.mp4
.wav
Many Codecs
G.711, Opus, AMR-NB and AMR-
WB (voice)
VP8, H.264 (video)
Message Storage
Local storage
Remote message deposit via
MSRP
HTTP/
MSRP
REST (HTTP)
Application Server
Media Server
Message Storage
RTP (media)
Solution Highlights
Software-based Media Server
Virtualized (VM) and COTS deployment
High Availability and Geographical Redundancy
Scalability via Media Resource Broker
Architected to support 3.5M Subscriber Network
Recording
Remote Message
Deposit
Key Functions
Transcoding
WebRTC Signaling
WAN
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 34
Core WebRTC Gateway & Peripheral Functions
HTTP-to-SIP
(H2S)
Media GW
Transcoder
Web SIP
SBC
STUN Server
TURN Server
API Gateway
Regulates
API calls
Provides media
anchoring for
NAT Traversal
Tells a client
what its IP
address is
Converts non-
standard web
signaling to SIP
Web SDK/
Widget
Mobile SDK/
Widget
Kit for adding
Calls to
webpage
Kit for adding
Calls to native
applications
Converts one codec to
another, trans-rates/sizing
Encryption & transport
interworking
SIP interworking,
media binding, and
security
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 35
WebRTC Gateways Come in Many Packages
API Gateway H2S
Media GW SBC
Transcoder
STUN Server
TURN Server
API Gateway H2S
Media GW SBC
Transcoder
STUN Server
TURN Server
H2S
Media GW
Transcoder
SBC
API Gateway
STUN Server
TURN Server
API Gateway H2S
SBCMedia GW
Transcoder
STUN Server
TURN Server
API Gateway H2S
SBC
Media GW
Transcoder
STUN Server
TURN Server
API Gateway H2S
Media GW SBC
Transcoder
STUN Server
TURN Server
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 36
Example: Large, Web-Centric Network Architecture
Web
server
SIP/IMS
Network
SIP
Web
Media
Gateway
Firewall
APIManager
API Calls
H2S
Server
Identity
Server
App
Server
App
Server
WSS
server
STUN/
TURN
Internal
REST APIs
WebRTC
Browser
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 37
WebRTC Servers Summary
Server Type Why/when you need it
Signaling Server Required to setup a WebRTC session
STUN Server Provides NAT traversal as part of ICE protocol
TURN Server
Relays media when direct connection cannot be
established
Media Server
Provides conferencing, recording, media
interworking, transcoding, stream processing
WebRTC Gateway
Interworks signaling and media with existing VoIP
networks
COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 38
Questions?

More Related Content

What's hot

Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Dialogic Inc.
 
How to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessHow to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessDialogic Inc.
 
ARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewPhil Hughes
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Javaamithap07
 
Moving Multimedia Applications to the Cloud
Moving Multimedia Applications to the CloudMoving Multimedia Applications to the Cloud
Moving Multimedia Applications to the CloudDialogic Inc.
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceTsahi Levent-levi
 
Workshop web rtc implementation details
Workshop web rtc implementation detailsWorkshop web rtc implementation details
Workshop web rtc implementation detailsDouglas Tait
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...Luis Lopez
 
What's Next for WebRTC
What's Next for WebRTCWhat's Next for WebRTC
What's Next for WebRTCChad Hart
 
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Dialogic Inc.
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 
WebRTC Media Challenges
WebRTC Media Challenges WebRTC Media Challenges
WebRTC Media Challenges Dialogic Inc.
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo IIILawrence Byrd
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 

What's hot (20)

Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
 
How to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessHow to Make WebRTC Useful for Business
How to Make WebRTC Useful for Business
 
ARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewARM Mali "Egil" technical preview
ARM Mali "Egil" technical preview
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Java
 
Moving Multimedia Applications to the Cloud
Moving Multimedia Applications to the CloudMoving Multimedia Applications to the Cloud
Moving Multimedia Applications to the Cloud
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 
WebRTC
WebRTCWebRTC
WebRTC
 
Workshop web rtc implementation details
Workshop web rtc implementation detailsWorkshop web rtc implementation details
Workshop web rtc implementation details
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
 
What's Next for WebRTC
What's Next for WebRTCWhat's Next for WebRTC
What's Next for WebRTC
 
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
WebRTC Media Challenges
WebRTC Media Challenges WebRTC Media Challenges
WebRTC Media Challenges
 
WebRTC for Beginners Webinar Slides
WebRTC for Beginners Webinar SlidesWebRTC for Beginners Webinar Slides
WebRTC for Beginners Webinar Slides
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo III
 
WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 

Similar to Server-Side WebRTC Infrastructure

Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Dialogic Inc.
 
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersMWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersDialogic Inc.
 
WebRTC Challenges in Contact Centers
WebRTC Challenges in Contact CentersWebRTC Challenges in Contact Centers
WebRTC Challenges in Contact CentersDialogic Inc.
 
Eyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Networks
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin Inc
 
Value Added Services and WebRTC
Value Added Services and WebRTCValue Added Services and WebRTC
Value Added Services and WebRTCDialogic Inc.
 
Web rtc expo v keynote final3
Web rtc expo v keynote final3Web rtc expo v keynote final3
Web rtc expo v keynote final3Robin Carley
 
WebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiWebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiDialogic Inc.
 
WebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiWebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiRobin Carley
 
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin Inc
 
Cloud Based Video Production and Editing
Cloud Based Video Production and EditingCloud Based Video Production and Editing
Cloud Based Video Production and EditingPaul Richards
 
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin Inc
 
Data Science Case Studies: The Internet of Things: Implications for the Enter...
Data Science Case Studies: The Internet of Things: Implications for the Enter...Data Science Case Studies: The Internet of Things: Implications for the Enter...
Data Science Case Studies: The Internet of Things: Implications for the Enter...VMware Tanzu
 
Zip Mass-An Revolutionary Video Compression Technology
Zip Mass-An Revolutionary Video Compression TechnologyZip Mass-An Revolutionary Video Compression Technology
Zip Mass-An Revolutionary Video Compression TechnologySunnySheng
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - PivotalOpenStack Korea Community
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTCChad Hart
 
Steps to Scale Internet of Things (IoT)
Steps to Scale Internet of Things (IoT)Steps to Scale Internet of Things (IoT)
Steps to Scale Internet of Things (IoT)Rafael Maranon
 
Video production in the cloud for live streaming
Video production in the cloud for live streamingVideo production in the cloud for live streaming
Video production in the cloud for live streamingPaul Richards
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 

Similar to Server-Side WebRTC Infrastructure (20)

Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4
 
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersMWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
 
WebRTC Challenges in Contact Centers
WebRTC Challenges in Contact CentersWebRTC Challenges in Contact Centers
WebRTC Challenges in Contact Centers
 
Eyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference Guide
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
 
Value Added Services and WebRTC
Value Added Services and WebRTCValue Added Services and WebRTC
Value Added Services and WebRTC
 
Web rtc expo v keynote final3
Web rtc expo v keynote final3Web rtc expo v keynote final3
Web rtc expo v keynote final3
 
WebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiWebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim Machi
 
WebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim MachiWebRTC Expo V keynote by Jim Machi
WebRTC Expo V keynote by Jim Machi
 
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
 
Cloud Based Video Production and Editing
Cloud Based Video Production and EditingCloud Based Video Production and Editing
Cloud Based Video Production and Editing
 
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
 
Data Science Case Studies: The Internet of Things: Implications for the Enter...
Data Science Case Studies: The Internet of Things: Implications for the Enter...Data Science Case Studies: The Internet of Things: Implications for the Enter...
Data Science Case Studies: The Internet of Things: Implications for the Enter...
 
Zip Mass-An Revolutionary Video Compression Technology
Zip Mass-An Revolutionary Video Compression TechnologyZip Mass-An Revolutionary Video Compression Technology
Zip Mass-An Revolutionary Video Compression Technology
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
 
Technoserve
Technoserve Technoserve
Technoserve
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTC
 
Steps to Scale Internet of Things (IoT)
Steps to Scale Internet of Things (IoT)Steps to Scale Internet of Things (IoT)
Steps to Scale Internet of Things (IoT)
 
Video production in the cloud for live streaming
Video production in the cloud for live streamingVideo production in the cloud for live streaming
Video production in the cloud for live streaming
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 

More from Dialogic Inc.

Integrated Media Gateway and the Transition to IP
Integrated Media Gateway and the Transition to IPIntegrated Media Gateway and the Transition to IP
Integrated Media Gateway and the Transition to IPDialogic Inc.
 
How IBM and Dialogic Are Making Conferencing Smarter with AI
How IBM and Dialogic Are Making Conferencing Smarter with AIHow IBM and Dialogic Are Making Conferencing Smarter with AI
How IBM and Dialogic Are Making Conferencing Smarter with AIDialogic Inc.
 
Helping Service Providers to Empower, Engage, Excite
Helping Service Providers to Empower, Engage, ExciteHelping Service Providers to Empower, Engage, Excite
Helping Service Providers to Empower, Engage, ExciteDialogic Inc.
 
Real-time Communications Catching the Next Wave
Real-time Communications Catching the Next WaveReal-time Communications Catching the Next Wave
Real-time Communications Catching the Next WaveDialogic Inc.
 
Video Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaVideo Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaDialogic Inc.
 
Achieving real time voice and video virtualized network functionality in nfv
Achieving real time voice and video virtualized network functionality in nfvAchieving real time voice and video virtualized network functionality in nfv
Achieving real time voice and video virtualized network functionality in nfvDialogic Inc.
 
Get Ready for the Next Generation Diameter Signaling Controller (DSC)
Get Ready for the Next Generation Diameter Signaling Controller (DSC)Get Ready for the Next Generation Diameter Signaling Controller (DSC)
Get Ready for the Next Generation Diameter Signaling Controller (DSC)Dialogic Inc.
 
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...Dialogic Inc.
 
LTE World Summit - The Next Generation of Diameter Signaling Controllers
LTE World Summit - The Next Generation of Diameter Signaling ControllersLTE World Summit - The Next Generation of Diameter Signaling Controllers
LTE World Summit - The Next Generation of Diameter Signaling ControllersDialogic Inc.
 
PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014Dialogic Inc.
 

More from Dialogic Inc. (10)

Integrated Media Gateway and the Transition to IP
Integrated Media Gateway and the Transition to IPIntegrated Media Gateway and the Transition to IP
Integrated Media Gateway and the Transition to IP
 
How IBM and Dialogic Are Making Conferencing Smarter with AI
How IBM and Dialogic Are Making Conferencing Smarter with AIHow IBM and Dialogic Are Making Conferencing Smarter with AI
How IBM and Dialogic Are Making Conferencing Smarter with AI
 
Helping Service Providers to Empower, Engage, Excite
Helping Service Providers to Empower, Engage, ExciteHelping Service Providers to Empower, Engage, Excite
Helping Service Providers to Empower, Engage, Excite
 
Real-time Communications Catching the Next Wave
Real-time Communications Catching the Next WaveReal-time Communications Catching the Next Wave
Real-time Communications Catching the Next Wave
 
Video Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaVideo Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince Puglia
 
Achieving real time voice and video virtualized network functionality in nfv
Achieving real time voice and video virtualized network functionality in nfvAchieving real time voice and video virtualized network functionality in nfv
Achieving real time voice and video virtualized network functionality in nfv
 
Get Ready for the Next Generation Diameter Signaling Controller (DSC)
Get Ready for the Next Generation Diameter Signaling Controller (DSC)Get Ready for the Next Generation Diameter Signaling Controller (DSC)
Get Ready for the Next Generation Diameter Signaling Controller (DSC)
 
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...
LTE Asia 2014 - Remain Relevant - The Next Generation Diameter Signaling Cont...
 
LTE World Summit - The Next Generation of Diameter Signaling Controllers
LTE World Summit - The Next Generation of Diameter Signaling ControllersLTE World Summit - The Next Generation of Diameter Signaling Controllers
LTE World Summit - The Next Generation of Diameter Signaling Controllers
 
PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Server-Side WebRTC Infrastructure

  • 1. Company Confidential: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. Server-side WebRTC Infrastructure Chad Hart Director, Product Marketing WebRTC Japan Conference 5 Feb 2015
  • 2. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 2 About Me Sr. Director, Product Marketing Blogger & Chief Editor
  • 3. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 3 Dialogic Overview Experienced Over 25 years connecting and adding value to Enterprise and Service Provider Networks Global presence US HQ (New Jersey) / 20+ Regional offices Strengths Products are widely deployed Impacting 4+ billion mobile subscribers 15+ Billion VoIP minutes / month Excellent Support Customers include 48 of top 50 mobile carriers and 80% of the Fortune 1000 Approximately 200 patents issued or pending Key Product & Services Rich Media Processing PowerMedia: Media Server / IMS MRF / SR140 Class 4 Softswitch / IMS MGCF and VoIP Gateways Mobile Signaling / Diameter Signaling Controllers
  • 4. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 4 WebRTC Server Considerations Signaling NAT Traversal Media Gateway
  • 5. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 5 WebRTC is not 100% Peer-to-Peer Server client client media
  • 6. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 6 WebRTC Signaling Servers Relay SDP between Clients Real WebRTC Session Description Protocol (SDP) example (partial) Source: webrtchacks.com/sdp-anatomy
  • 7. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 7 Signaling Considerations Outside of WebRTC User authentication Security & access controls Mobile push services Federation The rest of your application
  • 8. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 8 The NAT Traversal Problem Image source: webrtcHacks - https://webrtchacks.com/stun-helps-webrtc-traverse-nats/
  • 9. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 9 How does WebRTC Traverse Firewalls & NATs? media FW & NAT FW & NAT client client 10.10.1.1 192.168.10.1200.2.20.2 2 100.1.10.1 1 Signaling Server
  • 10. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 10 Interactive Connectivity Establishment (ICE) A protocol for establishing a peer-to-peer media connection between peers behind NAT and firewall devices. ICE requires 2 kinds of servers: 1. STUN 2. TURN
  • 11. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 11 STUN – What is my external IP address? Signaling Server media client 10.10.1.1 200.2.20.2 2 What is my external IP address? FW & NAT STUN Server Your IP address is 200.2.20.22
  • 12. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 12 TURN will relay your media media client Signaling Server TURN Server STUN Server client
  • 13. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 13 Comparing STUN vs. TURN STUN Server TURN Server What it does? Returns an external IP address Relays media When is it needed? Almost always Rarely How much does it cost to operate? Inexpensive Expensive Does it affect voice quality? No Possible
  • 14. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 14 Peer-to-Peer vs. Peer-to-Server Server client client media Peer-to-Peer client client Media Server Signaling Server Peer-to-Server
  • 15. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 15 Many Reasons for a Media Server Conferencing InterworkingTranscoding Stream processingRecording Person-to-machine
  • 16. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 16 Who do You Care About More?
  • 17. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 17 Bandwidth is not Always Ubiquitous or Free Client-side Server-side
  • 18. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 18 CPU & Processing Power is Expensive Client view Provider View
  • 19. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 19 Multi-PARTY! Video Conferencing
  • 20. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 20 Easy & Cheap Approach to Multi-party: Mesh 20 Full Mesh Works for a few parties No server cost Lowest latency
  • 21. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 21 Mesh does not Scale for Many Video Conferees 21 Full Mesh Clients get overloaded Encode costs more than decode Limited uplink bandwidth Inconsistent performance across participants
  • 22. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 22 Traditional Telephony Approach: MCU 22 Multipoint Control Unit (MCU) Good at manipulating all media Transcoding Transizing Transrating Interworking Server-side CPU intensive Client can request different conference mixes Usually client friendly Downsizing & mixing can reduce bandwidth Fewer client streams to process MCU
  • 23. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 23 Traditional MCU Resource Usage 23 Worst-case process: 1. Each stream decoded at the MCU 2. MCU mixes each conferee 3. MCU encodes individual mix for each conferee MCU 1 1 2 2 3 3 4 45 5 6 6 Ingress streams 6 Egress streams 6 MCU decodes 6 MCU encodes 6
  • 24. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 24 Efficient MCU Resource Usage 24 Efficient process: 1. Each stream decoded at the MCU 2. MCU mixes each conferee 3. MCU shares same encoder for all conferees MCU 1 2 3 4 5 6 Ingress streams 6 Egress streams 6 MCU decodes 6 MCU encodes 1 1
  • 25. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 25 Resource Efficient MCU with Encoder Sharing 30%-50% reduction in compute resources 0% 20% 40% 60% 80% 100% 1 2 3 4 5 6 7 8 9 10 11 15 17 20 SystemCPUUtilization Conferees Encoder sharing vs. multi-encode Traditional MCU Dialogic Evolved MCU
  • 26. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 26 Newer Approach: SFU 26 SFU Selective Forwarding Unit (SFU) routing Clients send one & receive many Client can instruct SFU which streams to send High throughput Can be lots of downlink bandwidth Low latency
  • 27. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 27 Newer Approach: SFU 27 SFU Selective Forwarding Unit (SFU) routing Clients send one & receive many Client can instruct SFU which streams to send High throughput Can be lots of downlink bandwidth Low latency
  • 28. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 28 New WebRTC Approach: Simulcast 28 SFU High bitrate Low bitrate Selective Forwarding Unit (SFU) with Simulcast Clients send multiple streams to SFU one high-bit rate one or more lower-bit Client directs SFU which streams to receive Reduces bandwidth vs. SFU Simulcast in WebRTC coming
  • 29. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 29 A look at Google Hangouts with Simulcast http://webrtchacks.com/hangout-analysis-philipp-hancke/
  • 30. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 30 Future Approach with VP9 – SVC? 30 SFU MediumHigh LowLayered bitrates: Selective Forwarding Unit (SFU) with Scalable Video Coding (SVC) Clients send layered stream to SFU Layers have varying bitrates – time, size, quality SFU directs who gets what Coming to WebRTC eventually
  • 31. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 31 Multi-party video summary comparison http://networkfuel.dialogic.com/webrtc-whitepaper
  • 32. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 32 Many Reasons for a Media Server Conferencing InterworkingTranscoding Stream processing Person-to-machineRecording
  • 33. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 33 Case Study: Video Recording Service Application highlights Record live events – E.g. Kids soccer game Share event recording with family/friends – Multi-party stream Many Recording Formats .3GP .mp4 .wav Many Codecs G.711, Opus, AMR-NB and AMR- WB (voice) VP8, H.264 (video) Message Storage Local storage Remote message deposit via MSRP HTTP/ MSRP REST (HTTP) Application Server Media Server Message Storage RTP (media) Solution Highlights Software-based Media Server Virtualized (VM) and COTS deployment High Availability and Geographical Redundancy Scalability via Media Resource Broker Architected to support 3.5M Subscriber Network Recording Remote Message Deposit Key Functions Transcoding WebRTC Signaling WAN
  • 34. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 34 Core WebRTC Gateway & Peripheral Functions HTTP-to-SIP (H2S) Media GW Transcoder Web SIP SBC STUN Server TURN Server API Gateway Regulates API calls Provides media anchoring for NAT Traversal Tells a client what its IP address is Converts non- standard web signaling to SIP Web SDK/ Widget Mobile SDK/ Widget Kit for adding Calls to webpage Kit for adding Calls to native applications Converts one codec to another, trans-rates/sizing Encryption & transport interworking SIP interworking, media binding, and security
  • 35. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 35 WebRTC Gateways Come in Many Packages API Gateway H2S Media GW SBC Transcoder STUN Server TURN Server API Gateway H2S Media GW SBC Transcoder STUN Server TURN Server H2S Media GW Transcoder SBC API Gateway STUN Server TURN Server API Gateway H2S SBCMedia GW Transcoder STUN Server TURN Server API Gateway H2S SBC Media GW Transcoder STUN Server TURN Server API Gateway H2S Media GW SBC Transcoder STUN Server TURN Server
  • 36. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 36 Example: Large, Web-Centric Network Architecture Web server SIP/IMS Network SIP Web Media Gateway Firewall APIManager API Calls H2S Server Identity Server App Server App Server WSS server STUN/ TURN Internal REST APIs WebRTC Browser
  • 37. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 37 WebRTC Servers Summary Server Type Why/when you need it Signaling Server Required to setup a WebRTC session STUN Server Provides NAT traversal as part of ICE protocol TURN Server Relays media when direct connection cannot be established Media Server Provides conferencing, recording, media interworking, transcoding, stream processing WebRTC Gateway Interworks signaling and media with existing VoIP networks
  • 38. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED. 38 Questions?

Editor's Notes

  1. I have been involved with WebRTC for more than 3 years. I was formerly at Acme Packet where I worked on Acme Packet’s WebRTC launch. After the Oracle acquisition I later worked with Doug and the Oracle Communications team on their WebRTC Session Controller I have been at Dialogic for 16 months focused on WebRTC and their media server business In addition, I am a blogger and editor at webrtcHacks – a blog for WebRTC developers that features technical content, demos, code, and commentary for the developer community. It has grown much more popular than I ever imagined with more than 20,000 visitors a month.
  2. Dialogic has more than 25 years of history providing telephony infrastructure and enabling technology. Dialogic’s portfolio includes: Rich media processing boards, enabling technology and platforms like our software media server Class 4 softswitches and gateways And mobile signaling products
  3. Today I am going to talk about server-side infrastructure for WebRTC. This includes Signaling servers Servers to help with NAT traversal Media servers for processing media And Gateways for interconnecting to existing networks
  4. Let’s start with signaling servers. WebRTC is often called a peer-to-peer technology. This is not entirely true. While WebRTC media often is delivered in a peer-to-peer architecture, a server is required to help setup the initial connection.
  5. WebRTC standards today have very basic requirements for signaling. The only thing the signaling system needs to do is relay Session Description Protocol – or SDP. SDP is an existing format left over from SIP used to negotiate the parameters of the media session.
  6. Of course most real-world systems require more complex signaling to handle other functions such as: User identification and authentication Access control and security Push notifications to help conserve battery on mobile devices Federation to interwork other other identify and authentication systems And many, many other features your particular application might already have or need to be a real service These items are beyond the scope of WebRTC, but certainly not beyond the scope of what is needed in many applications.
  7. Next I will transition to the NAT traversal problem. It is obviously not ok to ask your users to change their network connection or adjust their browser to make a call go through.
  8. Let’s do a quick recap of how NATs work, and why this is a problem for VoIP. NATs take one address space and convert it to another 10.10.1.1 to 200.2.20.2 in the left-side example above In order for 2 points to communicate with each other they need to know the address. The challenge in this case is which address do you use? The one on the local NAT or the external one? The client only knows its local address, but it needs to know its external address so the other client knows how to reach it.
  9. This is not a new problem to Voice Over IP systems. Existing VoIP systems largely use SBC’s to deal with this by relaying the media through the SBC and using the SBCs’ intelligence to figure out the addresses. WebRTC deals with it an a new, and very different way using a protocol known as Interactive Connectivity Establishment (ICE) ICE requires two kinds of servers – STUN and TURN.
  10. STUN stands for Session Traversal Using NATs This technique is simple. The client sends a STUN message to a STUN server. The STUN server responds with the external IP address it sees. That way the client knows both what its internal and external IP addresses are. STUN is simple, lightweight, and very inexpensive to operate.
  11. However, some firewalls are very restrictive and STUN does not always work, In these scenarios you need a TURN server TURN stands for Traversal Using Relay NAT TURN acts a lot like a SBC, relaying media
  12. The rule of thumb for TURN is that it is needed 10 to 15% of the time. This really varies depending on the network and environment you are in. Unlike STUN, TURN consumes a lot of bandwidth relaying media, so it more expensive to operate. If not engineered properly, TURN can also increase latency, hurting voice quality.
  13. Now let’s transition to some of the most difficult challenges of WebRTC – dealing with media. As we discussed in the previous segments, media in WebRTC is normally sent directly between peers. However, media can also be relayed by a server as we just showed in the TURN example.
  14. There are many other reasons than TURN for requiring a media server. These include: Traditional video conferencing multi-point control unit (MCU) for bridging multiple parties Transcoding from one audio or video codec to another Interworking WebRTC media with standard VoIP medis Recording a stream or conversation Analyzing or processing a stream in real time, such as inserting an image or video, performing call analytics, or simply adding DTMF Any kind of person to machine or machine to machine that might not involve another person at all like today’s IVRs and speech recognition systems or the emerging computer vision systems for future applications
  15. One advantage of today’s fast processors and the web model is that processing can be done in the client or server in many cases. However, there are important trade-offs.
  16. For example, bandwidth is not always ubiquitous or free – especially in mobile environments. Server-side media processing can help reduce bandwidth requirements for clients.
  17. In addition, CPU is often expensive. This is especially true on mobile devices where CPU processing usually means high battery consumption. Again, aggregating some or all this processing in the cloud is often a more efficient and user friendly method.
  18. To give an example, let’s talk about parties: Multi-party video conferences.
  19. In most WebRTC design is additional bi-directional stream is added for each party. Each end-point must fully encode and decode the stream for each party. This actually works very well if there is only a couple parties – usually not more than 3 or 4.
  20. However, this methodology quickly fails when you add multiple parties. The clients quickly become overloaded and you run out of bandwidth/
  21. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device. This is very client friendly since each client only gets one adapted stream for its specific capabilities.
  22. The downside the the MCU approach is that is very processor intensive on the server, especially when dealing with HD video. The reason is each stream needs to be individually encoded and decoded.
  23. A more efficient, higher-capacity approach is a technique we call encoder sharing. If several devices are receiving the same stream, rather than fully encode each one, you can dramatically increase capacity by encoding only once and sharing that stream.
  24. Since encoding requires significantly more processing than decoding, we have found this can increase capacity by 30 to 50%
  25. A newer approach is known as a Selective Forwarding Unit (SFU) In this architecture, each client sends only one stream to the SFU.
  26. The SFU then redirects the stream to only the end points that want to see it. The main task for the SFU is managing the encryption and decryption of the streams No server-side encoding or decoding is required, so the SFU can handle a lot of clients.
  27. An enhancement to this approach is known as simulcast. Rather than just sending one stream, each client sends 2 or more streams – usually one high bitrate and one low bitrate. Often times only a single high-bit rate – i.e. HD video – stream is sent for the active talker and the low bit-rate stream is sent for the others. If a low power or bandwidth limited device is connected then the SFU can forward just the low-bitrate stream.
  28. In fact, this is how Google Hangouts works today when you use it with Chrome. We had a recent blog post on webrtcHacks that reverse engineers hangouts to see how it works. It is interesting to see Google needed to implement a lot of proprietary mechanisms to make simulcast work. And this is the main draw-back of this approach today – there is no standard way to do it - yet, and that is why it only works with Google Chrome today and other cannot really replicate what Google has done.
  29. There is one additional approach called Scalable Video Coding or SVC. Like simulcast, SVC sends multiple streams of varying quality from each client and a centralized SFU does the routing. Unlike simulcast where independent streams are sent, SVC uses a layering approach in a single stream. Like simulcast, the mechanisms for signaling the SFU are not standardized and wide-scale, WebRTC-based systems have yet to emerge.
  30. Popular WebRTC blogger Tsahi Levant-Levi of bloggeek.me actually made a nice summary of this topic in a whitepaper he wrote that you can download for reference.
  31. That covers conferencing, but I also wanted to touch on Recording too.
  32. I think this is best illustrated with a case study. We have actually seen a lot of demand for various video recording solutions. In this example, a cable service provider wanted to leverage their set top boxes to allow anyone to easily stream, record, and videos from either a mobile app or the set top box. Many of their older customers are not big smart phone users and prefer the set top box interface. The WebRTC recording solution fit in with their movement to a web-oriented architecture and provided a lot of flexiblity. They have a diverse network infrastructure with mahy set top boxes only supporting older codecs, so there was also a transcoding need.
  33. The last topic I would like to discuss is Gateways. There are a lot of components that are involved with WebRTC gateways: The STUN and TURN server pieces we discussed earlier Another piece is what we call the HTTP-to-SIP or (H2S) component this converts what ever proprietary web signaling mechanism is used to SIP and back. Some groups have started to look at standards around this piece, but there is no strict standard definitions for how this should be done today. The next piece is the Media Gateway this handles WebRTC’s mandatory DTLS encryption and converts it to SDES or no encryption. It also helps with some port multiplexing techniques WebRTC uses to aid with NAT traversal Next is the transcoder - this converts codecs commonly used in WebRTC (OPUS and VP8) to codecs more commonly used in existing VoIP systems Most existing VoIP systems also have some sort of SBC to help with SIP security protections and SIP header interworking. API Gateway Also, much like the SBC for SIP, the web interfaces need some kind of control interface. This is usually accomplished via a API gateway that controls access to the API calls that a client can make Lastly, unlike a SIP system, since there is no standard signaling there is no such thing as a standardized client. Therefore, the WebRTC Gateway needs to provide a client interface – usually via a SDK or Widget for web development environments Similarly, an additional SDK is usually needed for mobile environments
  34. It is important to note that there is no standard way of configuring these elements. Deployment models will vary considerably based on the size the deployment, the vendors involved, and the equipment that is already there.
  35. I showed many different server examples. To conclude, I would like to show you a view of a real-world WebRTC architecture from a major US service provider. Some key features: As traffic increases, it makes more sense to specialize some elements – like the Secure Websocket (WSS) server to help handle web-socket based signaling Multiple app servers exist – they communicate with each other as needed using REST API’s Identify servers handle OAuth, OpenID, and local ID authentication STUN/TURN is used to traverse strict firewalls and NATs An API manager controls all ‘signaling’ communication into the network and protects the web service core from attacks Firewalls handle service specific non-specific attacks and port scanning
  36. In conclusion, there are at least 5 kinds of servers that are directly WebRTC related. As I just mentioned, multiple kinds of servers does not necessarily mean they are packaged and sold that way. In addition, there are many other servers - like web servers and identify servers – that are often already present that can be leveraged. While this seems complex, often these elements are evolutions of existing VoIP gear.