You are on page 1of 28

Bridging multimedia sessions between SIP and XMPP

Sal Ibarra Corretg |AG Projects


Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Intro

Hi, Im Sal @saghul Working with VoIP (and beyond!) since


Asterisk 1.0

Happy to be at ClueCon!
Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

AG Projects

SIP Infrastructure
Experts

SIP Thor: SIP platform


with P2P capabilities for horizontal scalability Projects

Open Source Software


Thursday, August 9, 2012

Blink SIP SIMPLE SDK SylkServer MediaProxy OpenXCAP MSRPRelay

AG Projects
SIP Infrastructure Experts

Understanding SIP and XMPP

Protocols for negotiation of multimedia

sessions, instant messaging and presence

Same feature set, different design principles

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SIP

Session Initiation Protocol Current specication (RFC 3261) in 2002 Built for establishing multimedia sessions,
mainly used in voice, video and conferencing servers

Designed to have fat clients and thin


Thursday, August 9, 2012

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

IM with SIP

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Presence with SIP

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

XMPP

eXtensible Messaging and Presence


Protocol

Created by the Jabber community in 1999,


standardized in 2004 and updated in 2011 with extensibility in mind clients

Built for instant messaging and presence, Designed to have fat servers and thin
Thursday, August 9, 2012

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

IM with XMPP

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Presence with XMPP

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Realtime Communications: State of The Art

SIP used for voice, video, conferencing and


PSTN interoperability presence

XMPP used for instant messaging and Ongoing efforts to bring both to web
browsers through WebSocket transport for use with WebRTC
Google Facebook ^^ BIG XMPP players

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Combining SIP and XMPP

Dual-stack clients: CUSAX draft-ivov-xmpp-cusax Single-stack clients: use a gateway It must be transparent
Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Going single stack

Protocol abstractions can lead to problems


and limitations

Simpler provisioning SIP and XMPP are different by design, how


to marry them?

Thursday, August 9, 2012

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer

Open Source SIP Application server Zero conguration State-of-the-art SIP feature set Implemented using SIP SIMPLE SDK
Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer Architecture

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer: Applications

Conference server XMPP gateway

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer: Conferencing

HD audio MSRP chat Participants list (RFC 4575) Conference control (RFC 4579) File transfer Screen sharing
Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer: XMPP gateway

Chat (SIP MESSAGE and MSRP) Presence MUC server

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer: XMPP gateway design

SylkServer acts as a stand-alone XMPP


Server

It only supports S2S connections Users are on the SIP side, no XMPP clients
allowed to register on SylkServer
ZERO conf!

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

SylkServer: XMPP gateway architecture

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Implementation challenges

XMPP server vs XMPP component Loose / incomplete specications Concept mismatch XMPP sessions SIP PIDF vs XMPP presence stanza Different feature set SIP conferencing vs MUC
Thursday, August 9, 2012

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Future

IETF is considering resurrecting the


SIP-XMPP interoperability drafts!

SylkServer roadmap Jingle File transfer


Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

Thursday, August 9, 2012

AG Projects
SIP Infrastructure Experts

BYE sip:audience@ClueCon2012 SIP/2.0 Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aM Max-Forwards: 70 From: "saghul" <sip:saul@ag-projects.com>;tag=UCpGKVZbQQx7BUK To: <sip:audience@ClueCon2012>;tag=as59aef35c Call-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqis CSeq: 10633 BYE Route: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553> User-Agent: Blink Content-Length: 0

@saghul saul@ag-projects.com sip:saul@ag-projects.com


Thursday, August 9, 2012

You might also like