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

SIP is hard, let's go shopping!

Embed Size (px)

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

Page 1: SIP is hard, let's go shopping!

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

Page 2: SIP is hard, let's go shopping!

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

Page 3: SIP is hard, let's go shopping!

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

Page 4: SIP is hard, let's go shopping!
Page 5: SIP is hard, let's go shopping!

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

Page 6: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

SIP: The Good

• Well established and mature standard

• Provides all required building blocks

Page 7: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

SIP: The Bad

• Complicated deployments

• Not much use of SIP beyond VoIP

Page 8: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

SIP: The Ugly

• Interoperability issues

• SIMPLE, worst name ever

Page 9: SIP is hard, let's go shopping!
Page 10: SIP is hard, let's go shopping!

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

Page 11: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

IAX

• Inter Asterisk eXchange

• Multiplexes signaling and media in a single port

• Designed mainly for trunking purposes

Page 12: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

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

Page 13: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

XMPP

• eXtensible Messaging and Presence Protocol

• Formerly Jabber

• RFC 6120, 6121

Page 14: SIP is hard, let's go shopping!

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

Page 15: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

XMPP: The Bad

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

• “Timeout driven behavior”

Page 16: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

XMPP: The Ugly

• Three stanza types are used for everything

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

Page 17: SIP is hard, let's go shopping!
Page 18: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

WebRTC

• Everyone is talking about it

• Not everyone knows what it is about

Page 19: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

WebRTC: The Good

• Lots of focus on security

• Piggybacks on SDP

• SRTP and ICE are mandatory

Page 20: SIP is hard, let's go shopping!

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

Page 21: SIP is hard, let's go shopping!

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

Page 22: SIP is hard, let's go shopping!
Page 23: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

WEBRTC IS FUN

• Hipsters can use it, it’s JavaScript!

• Interesting ideas coming up all the time

Page 24: SIP is hard, let's go shopping!
Page 25: SIP is hard, let's go shopping!

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

Page 26: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

SUP

• Session based instant messaging

• XMPP style yet simplified presence model

• Easily extendable (XEP style)

• Secure

Page 27: SIP is hard, let's go shopping!

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)

Page 28: SIP is hard, let's go shopping!
Page 29: SIP is hard, let's go shopping!

sipstacheThe Ultimate Over-Engineered

Virtual Mustache Toolkit

Page 30: SIP is hard, let's go shopping!

AG ProjectsSIP Infrastructure Experts

sipstache

• SylkServer application

• SIP for signaling

• MSRP media (chat + file transfer)

• OpenCV for image processing