WebRTC Conference and Expo (May 2013) - Making the Right Signalling Choice
-
Upload
crocodile-webrtc-sdk-and-cloud-signalling-network -
Category
Technology
-
view
230 -
download
0
description
Transcript of WebRTC Conference and Expo (May 2013) - Making the Right Signalling Choice
Making the Right Signalling Choice
Session: D1-3Erik LinaskGroup Editorial [email protected]
Session Presenters• Peter Dunkley
– Technical Director– Crocodile RCS Ltd
• Steven Northridge– Director SDP Product Marketing Oracle
• Erik Lagerway– Co-founder– Hookflash
Peter DunkleyTechnical DirectorCrocodile RCS [email protected]
• Signalling is required to discover endpoints to communicate with
• There are many options• Proprietary
– RESTful– BOSH– WebSockets
• Standards based– XMPP over BOSH/WebSockets– SIP over WebSockets
Signalling Options
Open standards are usually best• Promotes interoperability• Many years of development have solved most
resilience and scaling problems– SIP: ~17 years of development– XMPP: ~14 years of development
• Stand on the shoulders of giants• Existing server infrastructure can be reused with little
or no modification• Usually many open-source options to get started with
SIP has many advantages• Less complicated than most people think• The widest used, standard, session initiation protocol
in the world• Many open-source SIP over WebSocket
implementations, including– Servers: Asterisk, Kamailio, OverSIP, reSIProcate– Clients: jain-sip.javascript, JsSIP, QoffeeSIP, sipml5
• SDP and SIP work well together
Steve NorthridgeDirector SDP Product [email protected]
WebRTC Landscape
Interoperate
RTC becomes part of the Web experience
Existing communications extended to the Web
Communications islandsinteroperate
Signaling Options• REST API
• Client/Server not Bidirectional• XMPP/Websockets
• XMPP – IETF standard• Jingle
• Draft extension to XMPP• Variation used by GoogleTalk
• SIP • SIP – IETF standard• Used by SIP phones
• JSON/Websockets• Applications can define their own
communications between the broswer and server
WEB SERVER(WEBRTC CONTROL)
PEER CONNECTION(AUDIO, VIDEO, DATA)
WEB SERVER(WEBRTC CONTROL)
INTEROPERATESIGNALING
BROWSERSIGNALING
Striking the Balance• Server to Server
• SIP• Standards based• Widely accepted / used• Enables Interoperability
• Server to Browser• JSON/Websockets
• Allows Application Flexibility• Promotes Innovations
• SIP/Websockets• Allow existing SIP applications to
seamlessly extend to the Web
WEB SERVER(WEBRTC CONTROL)
PEER CONNECTION(AUDIO, VIDEO, DATA)
WEB SERVER(WEBRTC CONTROL)
INTEROPERATESIGNALING
BROWSERSIGNALING
Innovation Interoperability
Erik [email protected] | @hookflash
ProblemHow does Bob communicate with Alice when they are on different networks?
12
Bob’s logged in via .
Alice is logged in via 1-604-555-1212 .
Bob is connected with Alice via
1-604-555-1212
Alice:facebook.com/alice.albertslinkedin.com/in/alice.alberts
twitter.com/alicedomain.com/alice
phone:1-604-555-1212email:[email protected]
Bob:linkedin.com/in/bob.burnsphone:1-905-555-1111email:[email protected]
SolutionFederated Identities
Social, Local, or even 3rd party identities are mapped via Open Peer, allowing disparate users to locate each other no matter what Identity they are currently using.
Peer Peer
IdentityLookup
IdentityLookup
Finder Finder
P2P Signaling
- Initiating- Ringing- Connecting- In Progress- Disconnect- Transfer- Hold- Conference- Join- Split- Hand-off- Send file- Poke- Kick- BanAdd yours here ^^
&
1-604-555-1212
Signaling & Media
Open Peer
Security• All communication (signaling and media) is encrypted P2P• Servers do not know encryption keys• No man-in-the-middle attacks• Identity Assertion/Validation
OTT (Over The Top) has already won • Open Peer = P2P, no server for signaling (unlike SIP, XMPP, Jingle, etc)• Open Peer is a complete solution purpose-built for real-time p2p communications• Open Peer will soon be WebRTC Interoperable (eg. http://webrtc.hookflash.me)
Open• Open Specification: OpenPeer.org• Open Source (iOS, BB10, JS / Browsers, android): Github.com/OpenPeer/
Supported by premium cloud service providers (eg. Hookflash)• Identity Lookups & Mapping, Presence, STUN/TURN, Enterprise Analytics
Questions1. What are the critical factors to consider when choosing a
signalling protocol? 2. What are the relative capabilities of each signalling choice?3. Should you consider changing the signalling you use based on
circumstances?4. Are there any issues with specific signalling choices?5. Why shouldn't we all just use SIP?6. If I am just doing a triangle and not interfacing to other servers
is the choice easier?