WEBRTC
INTEGRATION
OPTIONS
Tim Panton, Westhawk Ltd – @steely_glint
Demo – call a mobile


Demo calls my mobile from a browser
Not everyone wants to interop






Games
Dating sites
Whiteboards
OTT
Mayday

For these sites a home grown signaling protocol
may be simplest/best.
(highest value apps will be in this class)
Problem statement
WebRTC






HTTP(S) transport
RIA 2.0 media
Encrypted
Opus
VP8 ?

Carrier IMS






SIP
RTP
Cleartext
Ulaw (729, amr?)
H263/4
Gateway needed ?
Unless and until those incompatibilities go
away.
HTTP to SIP – SIP in the Browser






Use javascript to build SIP messages and
protocol
Wrap in HTTP (or Web-sockets)
Send to webserver
Webserver unwraps and forwards to IMS
SIP in the browser

Browser
Browser
JS SIP
JS SIP

SIP in HTTP
SIP in HTTP

WebSocket
WebSocket
Server
Server

UDP
UDP
SIP
SIP

IMS
IMS
Problems








You still have a gateway – albeit a thin one.
You have javascript injecting SIP messages
into IMS
The SDP isn’t compatible
The media isn’t compatible
What is Early media in a browser ?
You have your SIP credentials out on the
internet.
SIP in the browser with SBC
DMZ

Browser
Browser
JS SIP
JS SIP

SIP in HTTP
SIP in HTTP

WebSocket
WebSocket
Server
Server

UDP
UDP
SIP
SIP

SBC
SBC

UDP
UDP
SIP
SIP

IMS
IMS
Remaining Problems




The media isn’t compatible
What is Early media in a browser ?
You have SIP credentials out on the internet.
SIP in the browser with SBC, Media
Gateway and Registration proxy
DMZ

Browser
Browser
JS SIP
JS SIP

SIP in HTTP
SIP in HTTP

RIA 2.0

WebSocket
WebSocket
Server
Server

UDP
UDP
SIP
SIP

Proxy
Proxy
Reg
Reg

SBC
SBC

Media
Media
GW
GW

UDP
UDP
SIP
SIP

IMS
IMS

RTP ulaw
REST in the browser






Use web ‘RESTful’ commands
Sent from the browser
To a webRTC gateway
Gateway generates the SIP IMS needs
Gateway controls transcode resource
REST in the browser with
Gateway
DMZ

Browser
Browser
app
app

REST/HTTP
REST/HTTP

WebRTC
WebRTC
gateway
gateway

UDP
UDP
SIP
SIP

IMS
IMS
Problems






Need to map from web Identity to SIP
Select a web identity provider
webRTC gateways don’t scale (yet)
No standard for REST messages
Home rolled protocol (may have holes)
XMPP in the browser with SBC
DMZ

Browser
Browser
app
app

XMPP/BOSH/
XMPP/BOSH/
HTTP
HTTP

WebRTC
WebRTC
gateway
gateway

UDP
UDP
SIP
SIP

IMS
IMS
Problems
Need to map from web Identity to SIP
 Select a web identity provider
 webRTC gateways don’t scale (yet)
 More complex than necessary
 Needless protocol mapping?
However
 BOSH is tested
 XMPP well defined and federates

Did we forget mobile?
WebRTC isn’t mobile first yet.
WebRTC on Mobile






Browser isn’t a natural interface
WebRTC codecs are heavy on battery
No native App friendly API (yet)
SIP (if used) not an efficient mobile protocol
Audio hardware on android variable

Both Chrome and firefox on Android support
webRTC
Expect to see RIA 2.0 with native APIs
Identity.
DTLS can carry a certificate – but which
one should be used?
Multiple identities on the web
When I call from a webpage, which identity do I
want to present?
E164 to the shop
Facebook Id to my fb friends
Anon to the game
Pseudo id to dating site
Do I ever want to present facebook ID to G+
users?
Demo
Phono using a Jira identity. (perhaps)

Westhawk integration

  • 1.
  • 2.
    Demo – calla mobile  Demo calls my mobile from a browser
  • 3.
    Not everyone wantsto interop      Games Dating sites Whiteboards OTT Mayday For these sites a home grown signaling protocol may be simplest/best. (highest value apps will be in this class)
  • 4.
    Problem statement WebRTC      HTTP(S) transport RIA2.0 media Encrypted Opus VP8 ? Carrier IMS      SIP RTP Cleartext Ulaw (729, amr?) H263/4
  • 5.
    Gateway needed ? Unlessand until those incompatibilities go away.
  • 6.
    HTTP to SIP– SIP in the Browser     Use javascript to build SIP messages and protocol Wrap in HTTP (or Web-sockets) Send to webserver Webserver unwraps and forwards to IMS
  • 7.
    SIP in thebrowser Browser Browser JS SIP JS SIP SIP in HTTP SIP in HTTP WebSocket WebSocket Server Server UDP UDP SIP SIP IMS IMS
  • 8.
    Problems       You still havea gateway – albeit a thin one. You have javascript injecting SIP messages into IMS The SDP isn’t compatible The media isn’t compatible What is Early media in a browser ? You have your SIP credentials out on the internet.
  • 9.
    SIP in thebrowser with SBC DMZ Browser Browser JS SIP JS SIP SIP in HTTP SIP in HTTP WebSocket WebSocket Server Server UDP UDP SIP SIP SBC SBC UDP UDP SIP SIP IMS IMS
  • 10.
    Remaining Problems    The mediaisn’t compatible What is Early media in a browser ? You have SIP credentials out on the internet.
  • 11.
    SIP in thebrowser with SBC, Media Gateway and Registration proxy DMZ Browser Browser JS SIP JS SIP SIP in HTTP SIP in HTTP RIA 2.0 WebSocket WebSocket Server Server UDP UDP SIP SIP Proxy Proxy Reg Reg SBC SBC Media Media GW GW UDP UDP SIP SIP IMS IMS RTP ulaw
  • 12.
    REST in thebrowser      Use web ‘RESTful’ commands Sent from the browser To a webRTC gateway Gateway generates the SIP IMS needs Gateway controls transcode resource
  • 13.
    REST in thebrowser with Gateway DMZ Browser Browser app app REST/HTTP REST/HTTP WebRTC WebRTC gateway gateway UDP UDP SIP SIP IMS IMS
  • 14.
    Problems      Need to mapfrom web Identity to SIP Select a web identity provider webRTC gateways don’t scale (yet) No standard for REST messages Home rolled protocol (may have holes)
  • 15.
    XMPP in thebrowser with SBC DMZ Browser Browser app app XMPP/BOSH/ XMPP/BOSH/ HTTP HTTP WebRTC WebRTC gateway gateway UDP UDP SIP SIP IMS IMS
  • 16.
    Problems Need to mapfrom web Identity to SIP  Select a web identity provider  webRTC gateways don’t scale (yet)  More complex than necessary  Needless protocol mapping? However  BOSH is tested  XMPP well defined and federates 
  • 17.
    Did we forgetmobile? WebRTC isn’t mobile first yet.
  • 18.
    WebRTC on Mobile      Browserisn’t a natural interface WebRTC codecs are heavy on battery No native App friendly API (yet) SIP (if used) not an efficient mobile protocol Audio hardware on android variable Both Chrome and firefox on Android support webRTC Expect to see RIA 2.0 with native APIs
  • 19.
    Identity. DTLS can carrya certificate – but which one should be used?
  • 20.
    Multiple identities onthe web When I call from a webpage, which identity do I want to present? E164 to the shop Facebook Id to my fb friends Anon to the game Pseudo id to dating site Do I ever want to present facebook ID to G+ users?
  • 21.
    Demo Phono using aJira identity. (perhaps)