A presentation by Erik Linask (Group Editorial Director, TMC), Peter Dunkley (Technical Director, Crocodile RCS Ltd), Steven Northridge (Director SDP Product Marketing, Oracle), Erik Lagerway (Co-founder, Hookflash). Presentation date 25-Jun-2013.
4. Signalling Options
• 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
5. 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
6. 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
8. WebRTC Landscape
RTC becomes part of
the Web experience
Existing communications
extended to the Web
Interoperate
Communications islands
interoperate
9. 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
INTEROPERATE
SIGNALING
BROWSER
SIGNALING
WEB SERVER
(WEBRTC CONTROL)
WEB SERVER
(WEBRTC CONTROL)
PEER CONNECTION
(AUDIO, VIDEO, DATA)
10. 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
Innovation
Interoperability
INTEROPERATE
SIGNALING
BROWSER
SIGNALING
WEB SERVER
(WEBRTC CONTROL)
WEB SERVER
(WEBRTC CONTROL)
PEER CONNECTION
(AUDIO, VIDEO, DATA)
12. Problemcommunicate with Alice when they are on different networks?
How does Bob
Bob:
linkedin.com/in/bob.burns
phone:1-905-555-1111
email:bob@email.com
Alice:
.
Bob’s logged in via
Alice is logged in via
1-604-555-1212
Bob is connected with Alice via
1-604-555-1212
12
facebook.com/alice.alberts
linkedin.com/in/alice.alberts
twitter.com/alice
domain.com/alice
phone:1-604-555-1212
email:alice@domain.com
.
13. Solution
Federated Identities
P2P Signaling
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.
Finder
Finder
Identity
Lookup
Identity
Lookup
1-604-555-1212
Peer
Peer
Signaling & Media
- Initiating
- Ringing
- Connecting
- In Progress
- Disconnect
- Transfer
- Hold
- Conference
- Join
- Split
- Hand-off
- Send file
- Poke
- Kick
- Ban
Add yours here ^^
14. Open Peer
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)
Security
• All communication (signaling and media) is encrypted P2P
• Servers do not know encryption keys
• No man-in-the-middle attacks
• Identity Assertion/Validation
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
15. Questions
1. 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?