Bridging Multimedia Sessions between SIP and XMPP

Post on 19-May-2015

4,106 views 4 download

Tags:

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:saul@ag-projects.com>;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

saul@ag-projects.com

sip:saul@ag-projects.com

Thursday, August 9, 2012