bridging multimedia sessions between sip and xmpp
DESCRIPTION
Slides from the talk presented at ClueCon 2012.TRANSCRIPT
Bridging multimedia sessions between SIP and XMPP
Saúl Ibarra Corretgé | AG ProjectsThursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Intro
• Hi, I’m Saúl
• @saghul
• Working with VoIP (and beyond!) since Asterisk 1.0
• Happy to be at ClueCon!
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
• SIP Infrastructure Experts
• SIP Thor: SIP platform with P2P capabilities for horizontal scalability
• Open Source Software Projects
• Blink
• SIP SIMPLE SDK
• SylkServer
• MediaProxy
• OpenXCAP
• MSRPRelay
AG Projects
Thursday, August 9, 2012
AG ProjectsSIP 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 ProjectsSIP Infrastructure Experts
SIP
• Session Initiation Protocol
• Current specification (RFC 3261) in 2002
• Built for establishing multimedia sessions, mainly used in voice, video and conferencing
• Designed to have fat clients and thin servers
Thursday, August 9, 2012
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
IM with SIP
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Presence with SIP
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
XMPP
• eXtensible Messaging and Presence Protocol
• Created by the Jabber community in 1999, standardized in 2004 and updated in 2011
• Built for instant messaging and presence, with extensibility in mind
• Designed to have fat servers and thin clients
Thursday, August 9, 2012
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
IM with XMPP
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Presence with XMPP
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Realtime Communications:State of The Art
• SIP used for voice, video, conferencing and PSTN interoperability
• XMPP used for instant messaging and presence
• Ongoing efforts to bring both to web browsers through WebSocket transport for use with WebRTC
GoogleFacebook
^^ BIG XMPP players
Thursday, August 9, 2012
AG ProjectsSIP 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 ProjectsSIP 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 ProjectsSIP Infrastructure Experts
SylkServer
• Open Source SIP Application server
• Zero configuration
• State-of-the-art SIP feature set
• Implemented using SIP SIMPLE SDK
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
SylkServer Architecture
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
SylkServer: Applications
• Conference server
• XMPP gateway
Thursday, August 9, 2012
AG ProjectsSIP 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 ProjectsSIP Infrastructure Experts
SylkServer: XMPP gateway
• Chat (SIP MESSAGE and MSRP)
• Presence
• MUC server
Thursday, August 9, 2012
AG ProjectsSIP 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 ProjectsSIP Infrastructure Experts
SylkServer: XMPP gateway architecture
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Implementation challenges
• XMPP server vs XMPP component
• Loose / incomplete specifications
• 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 ProjectsSIP Infrastructure Experts
Future
• IETF is considering resurrecting theSIP-XMPP interoperability drafts!
• SylkServer roadmap
• Jingle
• File transfer
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
Thursday, August 9, 2012
AG ProjectsSIP Infrastructure Experts
BYE sip:audience@ClueCon2012 SIP/2.0Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH7aMMax-Forwards: 70From: "saghul" <sip:[email protected]>;tag=UCpGKVZbQQx7BUKTo: <sip:audience@ClueCon2012>;tag=as59aef35cCall-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqisCSeq: 10633 BYERoute: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKY;did=641.a8a9c553>User-Agent: BlinkContent-Length: 0
@saghul
Thursday, August 9, 2012