Janus, WebRTC and
stuff
oej Foss Stockholm Jan 2019

v1.0
WebRTC
The idea
Browers can play

audio and video. Why not let them use
the webcam and the
microphone?
If so, users can talk to
each other using the
browser.
Using NO PLUGINS
Much more than ”calls”
GAMES
DATING SITES
ART
Much more than ”media”
DATACHANNELS
p2p (or
browser2browser)
Anything!
Secure peer-to-peer
Using DTLS + SRTP for media
Web Server

“Rendevouz”
Much more than browsers
Browser
Thing with

WebRTC stack
Gateway

with WebRTC stack
Something else.

SIP, XMPP, DecNet
Much more than browsers
App (no browser)
Thing with

WebRTC stack
Gateway

with WebRTC stack
Something else.

SIP, XMPP, DecNet
Much more than browsers
SIP phone SIP phone
Gateway

with WebRTC stack
Something else.

SIP, XMPP, DecNet
P2P SCTP over UDP
P2P SRTP
P2P SRTP
Multiple channels
AUDIO
VIDEO
DATA
#moreCrypto
WebRTC API
JavaScript API defined by
the W3C
User needs to allow usage
of camera and
microphone.
Defines the session in a
SDP document
The applications needs to
provide the SDP exchange
between peers
The WebRTC protocols
Defined by the IETF
No signalling protocol
specified
Use SRTP for media
Use ICE (TURN, STUN) for
network discovery
WebRTC media
Can be bundled and
mixed to one single
RTP port
Always use secure
RTP with DTLS key
exchange
Use ICE to find the
best media path
Use TURN to traverse
NAT and firewalls.
P2P call setup
Web

Server
Media
SDP SDP
The web application defines the signaling
P2P call setup

with network issues
Web

Server
Media
SDP SDP
The web application defines the signaling
TURN

Server
TURN

Server
Janus - a WebRTC
gateway
https://janus.conf.meetecho.com/docs/index.html
WebRTC to a lot of
stuff
SIP RTSP RTP
WebRTC apps
Audio
conference
Video
conference
Your own stuff
in Lua or
JavaScript
Connecting to Janus
HTTPS
WebSOCKET
MQTT AMQP/RabbitMQ
Unix Socket
Listening to Janus
HTTPS
WebSOCKET
MQTT
Building a solution
Web Proxy /LB
Web Server
MQTT server
Janus Server
App Logic
SIP Proxy
Streaming
server (RTSP)
Take Janus for a spin
https://janus.conf.meetecho.com/demos.html
Thank you!
oej@edvina.net
https://www.slideshare.net/oej

WebRTC and Janus intro for FOSS Stockholm January 2019