91
VoIP - beyond replicating the limitations of the past Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration with IRT students & staff, as well as the IETF GEOPRIV and SIMPLE WGs) [email protected] IIT VoIP Conference and Expo Wheaton, Illinois October 25, 2007

VoIP - beyond replicating the limitations of the past

  • Upload
    helmut

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

VoIP - beyond replicating the limitations of the past. Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration with IRT students & staff, as well as the IETF GEOPRIV and SIMPLE WGs) [email protected] IIT VoIP Conference and Expo - PowerPoint PPT Presentation

Citation preview

Page 1: VoIP - beyond replicating the limitations of the past

VoIP - beyond replicating the limitations of the past

Henning SchulzrinneDept. of Computer Science, Columbia University, New York

(based on work in collaboration with IRT students & staff, as well as the IETF GEOPRIV and SIMPLE WGs)

[email protected]

IIT VoIP Conference and ExpoWheaton, IllinoisOctober 25, 2007

Page 2: VoIP - beyond replicating the limitations of the past

Oct. 2007 2

Outline

• VoIP maturing: vision vs. reality– presence and location-based services– user-programmable services

• VoIP challenges– scaling– peer-to-peer systems– spam/SPIT– emergency calling

• The state of SIP standardization, year 11– developments in 2006 & upcoming highlights– trouble in standards land– interoperability

Page 3: VoIP - beyond replicating the limitations of the past

Oct. 2007 3

The three Cs of Internet applications

communications communitycommerce

grossly simplified...

researchfocus

what users care aboutwhat users care about

Page 4: VoIP - beyond replicating the limitations of the past

Oct. 2007 4

Killer Application

• Carriers looking for killer application– justify huge infrastructure investment– “video conferencing” (*1950 – †2000)– ?

• “There is no killer application”– Network television block buster YouTube hit– “Army of one”– Users create their own custom applications that are important to

them– Little historical evidence that carriers (or equipment vendors) will

find that application if it exists

• Killer app = application that kills the carrier

Page 5: VoIP - beyond replicating the limitations of the past

Oct. 2007 5

Evolution of VoIP

“amazing – the

phone rings”

“does it docall transfer?”

“How can I make it

stop ringing?”

1996-2000 2000-2003 2004-2005

catching upwith the digital PBX

long-distance calling,ca. 1930

going beyondthe black phone

2006-

“Can it really

replace the phone

system?”

replacing theglobal phone system

Page 6: VoIP - beyond replicating the limitations of the past

Oct. 2007 6

IETF VoIP efforts

SIP(protocol)

SIPPING(usage, requirements)

ECRIT(emergency calling)

AVT(RTP, SRTP, media)

ENUM(E.164 translation)

IPTEL(tel URL)

SIMPLE(presence)

GEOPRIV(geo + privacy)

usesmay use

uses

provides

usuallyused with

IETF RAI area

MMUSIC(SDP, RTSP, ICE)

XCON(conf. control)

SPEERMINT(peering)

uses

SPEECHSC(speech services)

SIGTRAN(signaling transport)

uses

Page 7: VoIP - beyond replicating the limitations of the past

Oct. 2007 7

Old vs. newold reality new idea new reality

service provider

ILEC, CLEC email-like, run by enterprise, homes

E.164-driven; MSOs, some ILECs, Skype, European SIP providers, Vonage, SunRocket

media 4 kHz audio wideband audio, video, IM, shared apps, …

4 kHz audio

services CLASS (CLID, call forwarding, 3-way calling, ...)

user-created services(web model)presence

still CLASS

user IDs E.164 email-like E.164IM handles

Page 8: VoIP - beyond replicating the limitations of the past

Presence and event notification

Page 9: VoIP - beyond replicating the limitations of the past

Oct. 2007 9

Left to do: glue protocolsQuickTime™ and a

TIFF (Uncompressed) decompressorare needed to see this picture.

QuickTime™ and aTIFF (Uncompressed) decompressor

are needed to see this picture.

• Lots of devices and services– cars– household– environment

• Generally, stand-alone– e.g., GPS can’t talk to camera

• Home– home control networks have generally

failed• cost, complexity

• Environment– “Internet of things”– tag bus stops, buildings, cars, ...

Page 10: VoIP - beyond replicating the limitations of the past

Oct. 2007 10

Left to do: event notification

• notify (small) group of users when something of interest happens– presence = change of communications state– email, voicemail alerts– environmental conditions– vehicle status– emergency alerts

• kludges– HTTP with pending response– inverse HTTP --> doesn’t work with NATs

• Lots of research (e.g., SIENA)• IETF efforts starting

– SIP-based– XMPP

Page 11: VoIP - beyond replicating the limitations of the past

Oct. 2007 11

Context-aware communication• context = “the interrelated conditions in which something

exists or occurs”• anything known about the participants in the (potential)

communication relationship• both at caller and callee

time CPL

capabilities caller preferences

location location-based call routinglocation events

activity/availability presence

sensor data (mood, bio) privacy issues similar to location data

Page 12: VoIP - beyond replicating the limitations of the past

Oct. 2007 12

The role of presence

• Guess-and-ring– high probability of failure:

• “telephone tag”• inappropriate time (call during

meeting)• inappropriate media (audio in

public place)– current solutions:

• voice mail tedious, doesn’t scale, hard to search and catalogue, no indication of when call might be returned

• automated call back rarely used, too inflexible

most successful calls are now scheduled by email

• Presence-based– facilitates unscheduled

communications– provide recipient-specific

information– only contact in real-time if

destination is willing and able– appropriately use synchronous

vs. asynchronous communication

– guide media use (text vs. audio)

– predict availability in the near future (timed presence)

Prediction: almost all (professional) communication will be presence-initiated or

pre-scheduled

Page 13: VoIP - beyond replicating the limitations of the past

Oct. 2007 13

GEOPRIV and SIMPLE architectures

target locationserver

locationrecipient

rulemaker

presentity

caller

presenceagent watcher

callee

GEOPRIV

SIPpresence

SIPcall

PUBLISHNOTIFY

SUBSCRIBE

INVITE

publicationinterface

notificationinterface

XCAP(rules)

INVITE

DHCP

Page 14: VoIP - beyond replicating the limitations of the past

Oct. 2007 14

Presentity and Watchers

Bob’s status, location

Watchers

Available, Busy, Somewhat available,

InvisibleInvisible

wife

son

externalworld

PUBLISH SUBSCRIBE

NOTIFY

Bob’sPresentity WatchersWatchers

Bob’s Presence User Agents (PUA)

PC-IM Client

R u there ?

Bob’s play station

Cell

Phone

BUZZ

PUBLISH

Bob’s Filters

(Rules), PIDF *)

PresenceServer(PS)

*) - PIDF = Presence Information Data Format

friend

Page 15: VoIP - beyond replicating the limitations of the past

Oct. 2007 15

Basic presence

• Role of presence– initially: “can I send an instant message and expect a

response?”– now: “should I use voice or IM? is my call going to interrupt a

meeting? is the callee awake?”• Yahoo, MSN, Skype presence services:

– on-line & off-line• useful in modem days – but many people are (technically) on-line

24x7• thus, need to provide more context

– + simple status (“not at my desk”)• entered manually rarely correct• does not provide enough context for directing interactive

communications

Page 16: VoIP - beyond replicating the limitations of the past

Oct. 2007 16

Presence data architecture

rawpresencedocument

createview

(compose)privacyfiltering

draft-ietf-simple-presence-data-model

compositionpolicy

privacypolicy

presence sources

XCAP XCAP

(not defined yet)

depends on watcherselect best sourceresolve contradictions

PUBLISH

Page 17: VoIP - beyond replicating the limitations of the past

Oct. 2007 17

Presence data architecture

candidatepresencedocument

watcherfilter

rawpresencedocument

post-processingcomposition(merging)

finalpresencedocument

differenceto previous notification

SUBSCRIBE

NOTIFY

remove data not of interest

watcher

Page 18: VoIP - beyond replicating the limitations of the past

Oct. 2007 18

Presence data model

“calendar” “cell” “manual”

[email protected], video, text

[email protected]

person(presentity)

(views)

services

devices

Page 19: VoIP - beyond replicating the limitations of the past

Oct. 2007 19

Rich presence

• More information• automatically derived from

– sensors: physical presence, movement– electronic activity: calendars

• Rich information:– multiple contacts per presentity

• device (cell, PDA, phone, …)• service (“audio”)

– activities, current and planned– surroundings (noise, privacy, vehicle, …)– contact information– composing (typing, recording audio/video IM, …)

Page 20: VoIP - beyond replicating the limitations of the past

Oct. 2007 20

RPID: rich presence<person> <tuple> <device>

<activities>

<class>

<mood>

<place-is>

<place-type>

<privacy>

<relationship>

<service-class>

<sphere>

<status-icon>

<time-offset>

<user-input>

Page 21: VoIP - beyond replicating the limitations of the past

Oct. 2007 21

RPID = rich presence

• Provide watchers with better information about the what, where, how of presentities

• facilitate appropriate communications:– “wait until end of meeting”– “use text messaging instead of phone call”– “make quick call before flight takes off”

• designed to be derivable from calendar information– or provided by sensors in the environment

• allow filtering by “sphere” – the parts of our life– don’t show recreation details to colleagues

Page 22: VoIP - beyond replicating the limitations of the past

Oct. 2007 22

CIPID: Contact Information

• More long-term identification of contacts• Elements:

– card – contact Information – home page– icon – to represent user– map – pointer to map for user– sound – presentity is available

Page 23: VoIP - beyond replicating the limitations of the past

Oct. 2007 23

The role of presence for call routing

• Two modes:– watcher uses presence

information to select suitable contacts

• advisory – caller may not adhere to suggestions and still call when you’re in a meeting

– user call routing policy informed by presence

• likely less flexible – machine intelligence

• “if activities indicate meeting, route to tuple indicating assistant”

• “try most-recently-active contact first” (seq. forking)

LESS

translateRPID

CPL

PA

PUBLISH

NOTIFY

INVITE

Page 24: VoIP - beyond replicating the limitations of the past

Oct. 2007 24

Presence and privacy

• All presence data, particularly location, is highly sensitive

• Basic location object (PIDF-LO) describes– distribution (binary)– retention duration

• Policy rules for more detailed access control– who can subscribe to

my presence– who can see what

when

<tuple id="sg89ae"> <status> <gp:geopriv> <gp:location-info> <gml:location> <gml:Point gml:id="point1“

srsName="epsg:4326"> <gml:coordinates>37:46:30N 122:25:10W

</gml:coordinates> </gml:Point> </gml:location> </gp:location-info> <gp:usage-rules> <gp:retransmission-allowed>no

</gp:retransmission-allowed> <gp:retention-expiry>2003-06-23T04:57:29Z

</gp:retention-expiry> </gp:usage-rules> </gp:geopriv> </status> <timestamp>2003-06-22T20:57:29Z</timestamp></tuple>

Page 25: VoIP - beyond replicating the limitations of the past

Oct. 2007 25

Privacy policy relationships

geopriv-specific presence-specific

common policy

RPID CIPID

future

Page 26: VoIP - beyond replicating the limitations of the past

Oct. 2007 26

Privacy rules

• Conditions– identity, sphere– time of day– current location– identity as <uri> or <domain>

+ <except>• Actions

– watcher confirmation• Transformations

– include information– reduced accuracy

• User gets maximum of permissions across all matching rules– privacy-safe composition:

removal of a rule can only reduce privileges

• Extendable to new presence data– rich presence– biological sensors– mood sensors

Page 27: VoIP - beyond replicating the limitations of the past

Oct. 2007 27

Example rules document

<identity><id>[email protected]</id></identity>

<sub-handling>allow</sub-handling>

<provide-services> <service-uri-scheme>sip</service-uri-scheme> <service-uri-scheme>mailto</service-uri-scheme></provide-services><provide-person>true</provide-person><provide-activities>true</provide-activities><provide-user-input>bare</provide-user-input>

<rul

eset

>

<rule id=1>

<con

ditio

ns>

<tra

nsfo

rmat

ion

s><a

ctio

ns>

Page 28: VoIP - beyond replicating the limitations of the past

Oct. 2007 28

Creating and manipulating rules

• Uploaded in whole or part via XCAP• XML not user-visible• Web or application UI, similar to mail filtering• Can also be location-dependent

– “if at home, colleagues don’t get presence information”• Possibly implementation-defined “privacy levels”

Page 29: VoIP - beyond replicating the limitations of the past

Location-based services

Page 30: VoIP - beyond replicating the limitations of the past

Oct. 2007 30

Location-based services

• Finding services based on location– physical services (stores, restaurants, ATMs, …)– electronic services (media I/O, printer, display, …)– not covered here

• Using location to improve (network) services– communication

• incoming communications changes based on where I am– configuration

• devices in room adapt to their current users– awareness

• others are (selectively) made aware of my location– security

• proximity grants temporary access to local resources

Page 31: VoIP - beyond replicating the limitations of the past

Oct. 2007 31

Location-based SIP services

• Location-aware inbound routing– do not forward call if time at callee location is [11 pm, 8 am]– only forward time-for-lunch if destination is on campus– do not ring phone if I’m in a theater

• outbound call routing– contact nearest emergency call center– send [email protected] to nearest branch

• location-based events– subscribe to locations, not people– Alice has entered the meeting room– subscriber may be device in room our lab stereo changes

CDs for each person that enters the room

Page 32: VoIP - beyond replicating the limitations of the past

Oct. 2007 32

Location delivery

DHCP

HTTP

GPS

HELD

LLDP-MED

wiremap

Page 33: VoIP - beyond replicating the limitations of the past

Oct. 2007 33

Location-based service language

false

trueNOTIFY

action alert

conditions

proximity

occupancy

time

IM

actions

alert

message

log

call

transfer

join

events

incoming

outgoing

notify

message

subscription

Page 34: VoIP - beyond replicating the limitations of the past

Oct. 2007 34

Program location-based services

Page 35: VoIP - beyond replicating the limitations of the past

Oct. 2007 35

Page 36: VoIP - beyond replicating the limitations of the past

Oct. 2007 36 *) - Verizon Service Assurance Business Intelligence Toolkit

Application: Verizon SABIT PALS

• SABIT = web-based mobile employee productivity management system

• PALS - Presence-Aware Location-Based Service– Advanced communication services based on aggregation of

presence information– Enhanced vehicle management system

• Presence/availability information of a user is combined with the location information (of the vehicle) to achieve an integrated communication environment– “only call when vehicle is stopped”

Page 37: VoIP - beyond replicating the limitations of the past

Oct. 2007 37

SABIT PALS Solution

Integrates:• Status and diagnostic information of the vehicle• Mobile employee’s location data obtained from a GPS

device in a vehicle• Mobile employee’s presence information data obtained

from his/her cell-phone• Laptop-based IM/VoIP soft client

Page 38: VoIP - beyond replicating the limitations of the past

Oct. 2007 38

GPSEVDO

WiFi

VZ Data/Real TimeVZ VPN

Field Tech Laptop-Connect

via WiFi or Ethernet

Components of PALS architecture

• Integrated In-Vehicle Device (IIVD – Vehicle Events)

• SABIT System• HTTP-SIP Gateway (LBS Presence User

Agent)• Media Server• Watcher or Supervisor Application• Presence Server (PS)

Page 39: VoIP - beyond replicating the limitations of the past

Oct. 2007 39

SABIT PALS Architecture

PUBLISH PresenceServer NOTIFY

DB

MSC/HLR

SUBSCRIBE Watcher

Watcher

SABIT System

Mobile Employee’s status is relayed through multiple devices

EVDO

GPS

SIP Proxy

Systems View

DB

HTTP/ SIPGatewayHTTP

Location from vehicle

PUBLISH

Media ServerGateway

SABIT Supervisor “sees” mobile employees via the web-interface

Page 40: VoIP - beyond replicating the limitations of the past

Oct. 2007 40

SABIT PALS Supervisor Application

Page 41: VoIP - beyond replicating the limitations of the past

Oct. 2007 41

Communications Webpage

Page 42: VoIP - beyond replicating the limitations of the past

Oct. 2007 42

Roadmap

• Introduction• Presence• Location-based services• Server scaling• P2P SIP• Standardization and interoperability

Page 43: VoIP - beyond replicating the limitations of the past

Oct. 2007 43

SIP server overload

• Proxies will return 503 --> retry elsewhere• Just adds more load• Retransmissions exacerbate the problem

overloaded

overloaded

overloaded

INVITE

503

Springsteen tickets!!earthquake

vote for your favorite…

Page 44: VoIP - beyond replicating the limitations of the past

Oct. 2007 44

Avalanche restart

• Large number of terminals all start at once• Typically, after power outage• Overwhelms registrar• Possible loss of registrations due to retransmission time-out

#300,000

#1

reboot afterpower outage

REGISTER

Page 45: VoIP - beyond replicating the limitations of the past

Oct. 2007 45

Overload control

• Current discussion in design team• Feedback control: rate-based or window-based• Avoid congestion collapse• Deal with multiple upstream sources

capacity

goodput

offered load

S5

S1

S2

S3

S4

UA

UA

Page 46: VoIP - beyond replicating the limitations of the past

Oct. 2007 46

Coordinated Overload Control Architecture

Sending Entity (SE) Receiving Entity (RE)

Load Sample

Feedback

Throttle

SIP SIP

Control Function

MonitorActuator

Control Function

Coordinated overload control with explicit feedback ietf-hilt draft model

SIP

Overload Control

Sending Entity (SE)

SIP

Overload Control

Overload Feedback

Overload DetectionOverload Enforcement

Receiving Entity (RE)

Feedback scope: explicit feedback treated hop-by-hop vs. end-to-end

hop-by-hop feedback is generally believed to be more feasible

Page 47: VoIP - beyond replicating the limitations of the past

Oct. 2007 47

Scaling servers & TCP

• Need TCP– TLS support: customer

privacy, theft of service, …• particularly for WiFi

– many SIP messages now exceed reasonable UDP size (fragmentation)

• e.g., INVITE for IMS: 1182 bytes

• Concern: UA support– improving: 82% of systems at

recent SIPit’19 had TCP support

– only 45% support TLS

• Concern: TCP (and TLS) much less efficient than UDP

– running series of tests to identify differences

– difference mainly in• connection setup cost• message splitting (may need pre-

parsing or incremental parsers)• thread count (one per socket?)

• Our model: – 300,000 customers/servers

• 0.1 Erlang, 180 sec/call– 600,000 BHCA --> 167 req/sec– 300,000 registrations --> 83

req/sec– $0.001/subscriber

Page 48: VoIP - beyond replicating the limitations of the past

Oct. 2007 48

SIP server measurements

• Initial INVITE measurements– OpenSER– 400 calls/sec for TCP– roughly 260 calls/sec for TLS

sipd REGISTER test

Kumiko Ono, Charles Shen, Erich Nahum

TCP

Page 49: VoIP - beyond replicating the limitations of the past

Oct. 2007 49

Roadmap

• Introduction• Presence• Location-based services• Server scaling• P2P SIP• Standardization and interoperability

Page 50: VoIP - beyond replicating the limitations of the past

Oct. 2007 50

LAN

P2P SIP

• Why?– no infrastructure available: emergency

coordination– don’t want to set up infrastructure: small

companies– Skype envy :-)

• P2P technology for– user location

• only modest impact on expenses• but makes signaling encryption cheap

– NAT traversal• matters for relaying

– services (conferencing, …)• how prevalent?

• New IETF working group formed– likely, multiple DHTs– common control and look-up protocol?

P2P provider A

P2P provider B

p2p network

traditional provider

DNS

zeroconf

generic DHT service

Page 51: VoIP - beyond replicating the limitations of the past

Oct. 2007 51

P2P SIP -- components

• Multicast-DNS (zeroconf) SIP enhancements for LAN– announce UAs and their

capabilities

• Client-P2P protocol– GET, PUT mappings– mapping: proxy or UA

• P2P protocol– get routing table, join, leave, …– independent of DHT?– replaces DNS for SIP, not proxy

Page 52: VoIP - beyond replicating the limitations of the past

Oct. 2007 52

Zeroconf: solution for bootstrapping

• Three requirements for zero configuration networks:1) IP address assignment without a DHCP server2) Host name resolution without a DNS server3) Local service discovery without any rendezvous server

• Solutions and implementations:– RFC3927: Link-local addressing standard for 1)– DNS-SD/mDNS: Apple’s protocol for 2) & 3)– Bonjour: DNS-SD/mDNS implementation by Apple – Avahi: DNS-SD/mDNS implementation for Linux and BSD

Page 53: VoIP - beyond replicating the limitations of the past

Oct. 2007 53

DNS-SD/mDNS overview• DNS-Based Service Discovery (DNS-SD) adds a level of

indirection to SRV using PTR:_daap._tcp.local. PTR Tom’s Music._daap._tcp.local._daap._tcp.local. PTR Joe’s Music._daap._tcp.local.

Tom’s Music._daap._tcp.local. SRV 0 0 3689 Toms-machine.local.

Tom’s Music._daap._tcp.local. TXT "Version=196613" "iTSh Version=196608" "Machine ID=6070CABB0585" "Password=true”

Toms-machine.local. A 160.39.225.12

• Multicast DNS (mDNS)– Run by every host in a local link– Queries & answers are sent via multicast– All record names end in “.local.”

1:n mapping

Page 54: VoIP - beyond replicating the limitations of the past

Oct. 2007 54

z2z: Zeroconf-to-Zeroconf interconnection

rendezvous point - OpenDHT

z2z

Import/exportservices

Zeroconf subnet A

z2z

Import/exportservices

Zeroconf subnet B

Page 55: VoIP - beyond replicating the limitations of the past

Oct. 2007 55

Demo: global iTunes sharing

• Exporting iTunes shares under key “columbia”:$ z2z --export:opendht _daap._tcp --key “columbia”

• Importing services stored under key “columbia”:$ z2z --import:opendht --key “columbia”

Page 56: VoIP - beyond replicating the limitations of the past

Oct. 2007 56

How z2z works (exporting)

OpenDHT

z2z

Send browse request (i.e., PTR query) for service type: _daap._tcp

1)

Tom’s Music._daap._tcp.local

Joe’s Music._daap._tcp.local

Send resolve request (i.e., SRV, A, and TXT query) for each service

2)

160.39.225.12Tom’s ComputerPassword=true……

160.39.225.13Joe’s ComputerPassword=false……

Export them by putting into OpenDHT

3)

put:key= z2z._daap._tcp.columbiavalue= Tom’s Music 160.39.225.12:3689 Password=true ……

Page 57: VoIP - beyond replicating the limitations of the past

Oct. 2007 57

How z2z works (importing)

OpenDHT

z2z

Issue get call into OpenDHT

1)

Add “A” record into mDNS

2)

Import services by registering them (i.e., add PTR, SRV, TXT records to the local mDNS)

3)

get:key=z2z._daap._tcp.columbiavalue=Tom’s Music

160.39.225.12:3689……

value=Joe’s Music…… mDNS

“A” record for 160.39.225.12

Tom’s Music._daap._tcp.local_remote-160.39.225.12.local……

Page 58: VoIP - beyond replicating the limitations of the past

Oct. 2007 58

z2z implementation

• C++ Prototype using xmlrpc-c for OpenDHT access– Proof of concept– Porting problem due to Bonjour and Cygwin incompatibility

• z2z v1.0 released – Rewritten in Java from scratch– Open-source (BSD license)– Available in SourceForge (https://sourceforge.net/projects/z2z)

• Paper describing design and implementation detail– z2z: Discovering Zeroconf Services Beyond Local Link

• Lee, Schulzrinne, Kellerer, and Despotovic– Submitted to IEEE Globecom’07 Workshop on Service Discovery

Page 59: VoIP - beyond replicating the limitations of the past

Oct. 2007 59

Zeroconf for SIP

• Enable SIP communication when proxy and registrar are not available– Good use case for z2z– Fill in the gap of P2P-SIP effort:

• local & small scale (10s to 100s)• high mobility• avoid construction of DHT

• Internet Draft published and presented at IETF-68– SIP URI Service Discovery using DNS-SD

• Lee, Schulzrinne, Kellerer, and Despotovic• http://tools.ietf.org/html/draft-lee-sip-dns-sd-uri-01

Page 60: VoIP - beyond replicating the limitations of the past

Oct. 2007 60

SIP URI advertisement• Example

_sipuri._udp.local. PTR sip:[email protected]._sipuri._udp.local. _sipuri._udp.local. PTR sip:[email protected]._sipuri._udp.local. sip:[email protected]._sipuri._udp.local. SRV

0 0 5060 bobs-host.local. sip:[email protected]._sipuri._udp.local. TXT txtvers=1 name=Bob contact=sip:[email protected].• Service instance name: Instance.Service.Domain

– Instance = ( SIP-URI / SIPS-URI ) [ SP description ]– Service = “_sipuri._udp” / “_sipuri._tcp” / “_sipuri._sctp”– E.g.) sip:[email protected] - PDA._sipuri._udp.local.

• Contact TXT record attribute– Similar to Contact SIP header except:

• It contains only a single URI• Non-SIP URIs are not allowed

– UA capabilities advertised via field parameters (RFC3840)

Page 61: VoIP - beyond replicating the limitations of the past

Peer-to-Peer Protocol (P2PP)Salman Abdul Baset, Henning Schulzrinne

Columbia University

Page 62: VoIP - beyond replicating the limitations of the past

Oct. 2007 62

Overview

• Objective: key (opaque) data– distributed data structure with O(log N) or O(1) [rarely]

• Practical issues in peer-to-peer systems• Peer-to-peer systems

– file sharing– VoIP– streaming

• P2PSIP architecture• Peer-to-peer protocol (P2PP)• P2PP design issues• Implementation

Page 63: VoIP - beyond replicating the limitations of the past

Oct. 2007 63

Practical issues in peer-to-peer systems

• Bootstrap / service discovery

• NAT and firewall traversal• TCP or UDP?

• Routing-table management• Operation during churn

• Availability and replication

• Identity and trust management

Page 64: VoIP - beyond replicating the limitations of the past

Oct. 2007 64

Peer-to-peer systems

File sharing VoIP Streaming

Low

Medium

High

NAT

NAT

NAT

Data size

Data size

Data size

Per

form

ance

impa

ct /

requ

irem

ent

Service discovery

Replication

Replication

Replication

Page 65: VoIP - beyond replicating the limitations of the past

Oct. 2007 65

P2PSIP: Concepts

• Decentralized SIP– Replace SIP proxy and registrar with p2p

endpoints• Supernode architecture

– P2PSIP peers• participate in the p2p overlay

– P2PSIP clients• use peers to locate users and resources

Page 66: VoIP - beyond replicating the limitations of the past

Oct. 2007 66

P2PSIP architecture

SIP

P2P STUN

TLS / SSL

A peer in P2PSIP

NAT

NAT

A client

[email protected]

[email protected]

[ Bootstrap / authentication server ]

Overlay1

Overlay2

Page 67: VoIP - beyond replicating the limitations of the past

Oct. 2007 67

Peer-to-Peer Protocol (P2PP)

• P2P applications have common requirements such as discovery, NAT traversal, relay selection, replication, and churn management.

• Goals– A protocol to potentially implement any structured or unstructured

protocol.– Not dependent on a single DHT or p2p protocol

• Not a new DHT!

• It is hard!– Too many structured and unstructured p2p protocols– Too many design choices!

• Lets consider DHTs

Page 68: VoIP - beyond replicating the limitations of the past

Oct. 2007 68

DHTs

DHT Geometry Distance function

Lookup correctness

(neighbor table)

Lookup performance

(routing table)

ChordAccordion Ring Modulo numeric

difference Successor list Finger table

Tapestry, Pastry,

Bamboo

Hybrid =Tree + Ring

Prefix match. If fails, then modulo

numeric difference

Leaf-set (Pastry) Routing table

Kademlia XOR XOR of two IDs None Routing table

Page 69: VoIP - beyond replicating the limitations of the past

Oct. 2007 69

Kademlia

XOR

Finger table

Parallel requests

Recursive routing Pastry

Bamboo

ChordSuccessor

Modulo additionPrefix-match

Leaf-set

Routing-table stabilization

Lookup correctness

Lookup performanceProximity neighbor selection

Proximity route selection

Routing-table size

Strict vs. surrogate routing

OneHop

Bootstrapping

Updating routing-table from lookup requests

Tapestry Ring

Tree

HybridReactive recovery

Periodic recovery Accordion

Routing-table exploration

Page 70: VoIP - beyond replicating the limitations of the past

Oct. 2007 70

How to design P2PP?

• Structured– Identify commonalities in DHTs

• Routing table (finger table)• Neighbor table (successor list, leaf-set)

– Separate core routing mechanisms from from DHT-independent issues.• Unstructured

– may not always find all keys• Incorporate mechanisms for

– discovery– NAT / firewall traversal– churn, identity and trust management– request routing (recursive / iterative / parallel)

Page 71: VoIP - beyond replicating the limitations of the past

Oct. 2007 71

Parallel requests

Recursive routing

Routing-table stabilization

Proximity neighbor selection

Proximity route selection

Bootstrapping

Reactive vs. periodic recovery

DHT-independent

Kademlia

XOR

Pastry

Bamboo Chord

Modulo addition

Prefix-match

OneHop

Tapestry

Ring

Tree

Hybrid

DHT-specific

Accordion

Finger table / routingtable

Successor / leaf-set

Lookup correctness

Lookup performance

Routing-table size

Strict vs. surrogate routing

Updating routing-table from lookup requests

DHT-specific Not restricted toone DHT

Routing-table exploration

Geometry

How to design P2PP?

Page 72: VoIP - beyond replicating the limitations of the past

Oct. 2007 72

Chord (Strict routing-table management)

Neighbor table(successor)

Node

x+2i

x+2i+1

x+2i+2

x+2i+3

id=x

Routing table

Immediately succeeds routing-table id

Page 73: VoIP - beyond replicating the limitations of the past

Oct. 2007 73

Peer-to-Peer Protocol (P2PP)

• A binary protocol• Geared towards IP telephony but equally applicable to file sharing,

streaming, and p2p-VoD• Multiple DHT and unstructured p2p protocol support• Application API• NAT traversal

– using STUN, TURN and ICE– ICE encoding in P2PP

• Request routing– recursive, iterative, parallel– per message

• Supports hierarchy (super nodes [peers], ordinary nodes [clients])• Reliable or unreliable transport (TCP or UDP)

Page 74: VoIP - beyond replicating the limitations of the past

Oct. 2007 74

Peer-to-Peer Protocol (P2PP)

• Security– DTLS, TLS, signatures

• Multiple hash function support– SHA1, SHA256, MD4, MD5

• Diagnostics– churn rate, messages sent/received

• Node capabilities– bw determination, CPU utilization, number of neighbors, mobility

Page 75: VoIP - beyond replicating the limitations of the past

Oct. 2007 75

JoinJP BS P5 P7

1. Query

2. 200

P5, P30, P2P-Options

4. Join

9. 200

N(P9, P15)

5. Join

7. 200

P9

JP(P10)

8. Join

6. 200

N(P9, P15)

10. Transfer

11. 200

3+. STUN (ICE candidate gathering)

Page 76: VoIP - beyond replicating the limitations of the past

Oct. 2007 76

Call establishmentP1 P3 P5 P7

1. Lookup-Peer (P7)

5. 200 (P7 Peer-Info)

2. Lookup-Peer (P7) 3. Lookup-Peer (P7)

4. 200 (P7 Peer-Info)

6. 200 (P7 Peer-Info)

7. INVITE

8. 200 Ok

9. ACK

Media

Page 77: VoIP - beyond replicating the limitations of the past

Oct. 2007 77

Implementation

• Chord, Kademlia, Bamboo (in-progress)• SHA1, SHA256, MD5, MD4• Windows, Linux• Integrated with OpenWengo (VoIP phone)

• Available for download (Linux + Windows)http://www1.cs.columbia.edu/~salman/p2pp/setupp2pp.html

Page 78: VoIP - beyond replicating the limitations of the past

Oct. 2007 78

Implementation

Transport / timers

Node

BigInt

Parser / encoder

UDP TCP

Transactions

ClientBootstrap ChordPeer KadPeer OtherPeer

Sys

insert (key, value, callback)callback (resp)

lookup (key, callback)

Routing table

Neighbor table

Distance

Page 79: VoIP - beyond replicating the limitations of the past

Oct. 2007 79

Screen snapshot• Alice and Bob are

part of Kademlia network

• Alice calls Bob• The lookup is

performed using P2PP

• Call is established using SIP

Page 80: VoIP - beyond replicating the limitations of the past

Oct. 2007 80

P2P summary

• P2P techniques now becoming mainstream– motivated by low opex, ease of deployment– building block, rather than application

• Many operational issues– interconnection: z2z– local peering: Bonjour for SIP– start-up and recovery: cf. Skype failure

• P2PP: Common platform protocol– application-neutral– extensible mechanism

Page 81: VoIP - beyond replicating the limitations of the past

Oct. 2007 81

Roadmap

• Introduction• Presence• Location-based services• Server scaling• P2P SIP• Standardization and interoperability

Page 82: VoIP - beyond replicating the limitations of the past

Oct. 2007 82

SIP, SIPPING & SIMPLE –00 drafts

includes draft-ietf-*-00 and draft-personal-*-00

01020304050607080

19992000200120022003200420052006

SIPSIPPINGSIMPLE

Page 83: VoIP - beyond replicating the limitations of the past

Oct. 2007 83

RFC publication

0

2

4

6

8

10

12

14

2001 2002 2003 2004 2005 2006

SIPSIPPINGSIMPLE

Page 84: VoIP - beyond replicating the limitations of the past

Oct. 2007 84

IETF WG: SIP in 2006 & 2007

• ~ 44 SIP-related RFCs published in 2006– BFCP, conferencing – SDP revision– rich presence

• Activities:– hitchhiker’s guide– infrastructure:

• GRUUs (random identifiers)• URI lists• XCAP configuration• SIP MIB

– services:• rejecting anonymous requests• consent framework• location conveyance• session policy

– security:• end-to-middle security• certificates• SAML• sips clarification

– NAT:• connection re-use• SIP outbound• ICE (in MMUSIC)

see http://tools.ietf.org/wg/sip’/

Page 85: VoIP - beyond replicating the limitations of the past

Oct. 2007 85

IETF WG: SIPPING

• 31 RFCs published in 2006• Policy

– media policy– SBC functions

• Services– service examples– call transfer– configuration framework– spam and spit– text-over-IP– transcoding

• Testing and operations– IPv6 transition– race condition examples– IPv6 torture tests– SIP offer-answer examples– overload requirements– configuration– voice quality reporting

Page 86: VoIP - beyond replicating the limitations of the past

Oct. 2007 86

Interoperability

• Generally no interoperability problems for basic SIP functionality– basic call, digest registration (mostly...), call transfer, voice mail

• Weaker in advanced scenarios and backward compatibility– handling TCP, TLS– NAT support (symmetric RTP, ICE, STUN, ...)– multipart bodies– SIP torture tests– call transfer, call pick-up– video and voice codec interoperability (H.264, anything beyond G.711)

• SIPit useful, but no equivalent of WiFi certification– most implementations still single-vendor (enterprise, carrier) or vendor-

supplied (VSP)– SFTF (test framework) still limited

• Need profiles to guide implementers

SIPREAL BOFat IETF 70?

Page 87: VoIP - beyond replicating the limitations of the past

Oct. 2007 87

Trouble in Standards Land

• Proliferation of transition standards: 2.5G, 2.6G, 3.5G, …

– true even for emergency calling…• Splintering of standardization efforts

across SDOs– primary:

• IEEE, IETF, W3C, OASIS, ISO– architectural:

• PacketCable, ETSI, 3GPP, 3GPP2, OMA, UMA, ATIS, …

– specialized:• NENA

– operational, marketing:• SIP Forum, IPCC, …

OASIS

IEEE

IETF

W3CISO (MPEG)

L2.5-L7protocols

dataexchange

dataformats

L1-L2

3GPP

Pack

etCa

ble

Page 88: VoIP - beyond replicating the limitations of the past

Oct. 2007 88

IETF issues

• SIP WGs: small number (dozen?) of core authors (80/20)

– some now becoming managers…– or moving to other topics

• IETF: research engineering maintenance

– many groups are essentially maintaining standards written a decade (or two) ago

• DNS, IPv4, IPv6, BGP, DHCP; RTP, SIP, RTSP

• constrained by design choices made long ago

– often dealing with transition to hostile & “random” network

– network ossification

• Stale IETF leadership– often from core equipment

vendors, not software vendors or carriers

• fair amount of not-invented-here syndrome

• late to recognize wide usage of XML and web standards

• late to deal with NATs• security tends to be per-protocol

(silo)– some efforts such as SAML and

SASL

• tendency to re-invent the wheel in each group

Page 89: VoIP - beyond replicating the limitations of the past

Oct. 2007 89

IETF issue: timeliness

• Most drafts spend lots of time in 90%-complete state

– lack of energy (moved on to new -00)– optimizers vs. satisfiers

• multiple choices that have non-commensurate trade-offs

• Notorious examples:– SIP request history: Feb. 2002 – May

2005 (RFC 4244)– Session timers: Feb. 1999 – May 2005

(RFC 4028)– Resource priority: Feb. 2001 – Feb

2006 (RFC 4412)• New framework/requirements phase

adds 1-2 years of delay• Three bursts of activity/year, with

silence in-between– occasional interim meetings

• IETF meetings are often not productive

– most topics gets 5-10 minutes lack context, focus on minutiae

– no background same people as on mailing list

– 5 people discuss, 195 people read email

• No formal issue tracking– some WGs use tools, haphazardly

• Gets worse over time:– dependencies increase,

sometimes undiscovered– backwards compatibility issues– more background needed to

contribute

Page 90: VoIP - beyond replicating the limitations of the past

Oct. 2007 90

IETF issues: timeliness

• WG chairs run meetings, but are not managing WG progress– very little control of deadlines

• e.g., all SIMPLE deadlines are probably a year behind– little push to come to working group last call (WGLC)– limited timeliness accountability of authors and editors– chairs often provide limited editorial feedback

• IESG review can get stuck in long feedback loop– author – AD – WG chairs– sometimes lack of accountability (AD-authored documents)

• RFC editor often takes 6+ months to process document– dependencies; IANA; editor queue; author delays– e.g., session timer: Aug. 2004 – May 2005

Page 91: VoIP - beyond replicating the limitations of the past

Oct. 2007 91

Conclusion

• Even after 10+ years, VoIP mostly still “cheaper calls”• New services and models:

– (rich) presence– location-based services– user-programmable services– P2P SIP

• Scaling to carrier-scale and under duress• Current standardization processes slow and complexity-

inducing