SIP is hard, let's go shopping!

Preview:

DESCRIPTION

Slides from the talk I gave at FOSDEM 2013 Telephony Devroom about what is hard in SIP and how other protocols can inspire us solve those problems. Don't take it too seriously ;-)

Citation preview

SIP is hard, let’s go shopping!Saúl Ibarra Corretgé | AG Projects

AG ProjectsSIP Infrastructure Experts

• I’m Saúl

• @saghul

• Passionate about VoIP, SIP, XMPP and Real Time Communications

• Sad for not wearing a suit today

Hello

AG ProjectsSIP Infrastructure Experts

• SIP Infrastructure for providers

• SIP Thor: horizontal scalability using P2P technology

• Open Source

• Blink

• SIP SIMPLE SDK

• SylkServer

• MediaProxy

• OpenXCAP

• MSRPRelay

AG Projects

AG ProjectsSIP Infrastructure Experts

State of The (SIP) Art

• SIP (v2) is 10 years old

• 3261 already carries baggage from SIPv1

• Lack of proper instant messaging until MSRP

• Complex model for presence

• NAT traversal issues

• Too many “SHOULD”s on RFCs

AG ProjectsSIP Infrastructure Experts

SIP: The Good

• Well established and mature standard

• Provides all required building blocks

AG ProjectsSIP Infrastructure Experts

SIP: The Bad

• Complicated deployments

• Not much use of SIP beyond VoIP

AG ProjectsSIP Infrastructure Experts

SIP: The Ugly

• Interoperability issues

• SIMPLE, worst name ever

AG ProjectsSIP Infrastructure Experts

What are others doing?

• Asterisk created IAX

• XMPP is the king for chat and presence

• WebRTC seems to be the new cool kid in town

AG ProjectsSIP Infrastructure Experts

IAX

• Inter Asterisk eXchange

• Multiplexes signaling and media in a single port

• Designed mainly for trunking purposes

AG ProjectsSIP Infrastructure Experts

IAX is an ancient African word which means “I don’t know how to fix NAT traversal issues”.

AG ProjectsSIP Infrastructure Experts

XMPP

• eXtensible Messaging and Presence Protocol

• Formerly Jabber

• RFC 6120, 6121

AG ProjectsSIP Infrastructure Experts

XMPP: The Good

• Chat and presence at the core

• Easily extendable: XEP vs RFC

• Jingle: state of the art media features

AG ProjectsSIP Infrastructure Experts

XMPP: The Bad

• Jingle is an add-on, how to correlate it with chat?

• “Timeout driven behavior”

AG ProjectsSIP Infrastructure Experts

XMPP: The Ugly

• Three stanza types are used for everything

• Split presence model (<presence/> and PEP)

AG ProjectsSIP Infrastructure Experts

WebRTC

• Everyone is talking about it

• Not everyone knows what it is about

AG ProjectsSIP Infrastructure Experts

WebRTC: The Good

• Lots of focus on security

• Piggybacks on SDP

• SRTP and ICE are mandatory

AG ProjectsSIP Infrastructure Experts

WebRTC: The Bad

• Microsoft went their own way, Apple remains silent

• Codec war (VP8 vs H.264)

• Too influenced by telephony ideas

AG ProjectsSIP Infrastructure Experts

WebRTC: The Ugly

Apparently SIP is some kind of javascript stack /protocol on top of WebRTC which is a standard about making different vendors video conferencing via web browsers. Pretty cool stuff. Support for it is planned for boot to gecko.

-- Someone on Reddit

AG ProjectsSIP Infrastructure Experts

WEBRTC IS FUN

• Hipsters can use it, it’s JavaScript!

• Interesting ideas coming up all the time

AG ProjectsSIP Infrastructure Experts

SUP

• Saúl’s Ultimate Protocol (TM)

• SIP-ish for signaling, WebRTC for media

• TLS only

• No Via, Route or Record Route headers

• XMPP federation model

AG ProjectsSIP Infrastructure Experts

SUP

• Session based instant messaging

• XMPP style yet simplified presence model

• Easily extendable (XEP style)

• Secure

AG ProjectsSIP Infrastructure Experts

• There is no silver bullet

• Every protocol has it’s place

• Use the right tool for the job

• Optimize for Happiness (TM)

sipstacheThe Ultimate Over-Engineered

Virtual Mustache Toolkit

AG ProjectsSIP Infrastructure Experts

sipstache

• SylkServer application

• SIP for signaling

• MSRP media (chat + file transfer)

• OpenCV for image processing

AG ProjectsSIP Infrastructure Experts

@saghulsaul@ag-projects.com

sip:saul@ag-projects.com /dev/null

Recommended