104
VoIP: Not your grandmother's phone any more 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] Rutgers University April 2009

VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

  • View
    222

  • Download
    2

Embed Size (px)

Citation preview

Page 1: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

VoIP: Not your grandmother's phone any more

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]

Rutgers University

April 2009

Page 2: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

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: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

3

The three Cs of Internet applications

communications communitycommerce

grossly simplified...

researchfocus

what users care aboutwhat users care about

Page 4: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

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: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

5

Collaboration in transition

intra-organization;small number of

systems (meeting rooms)

inter-organizationmultiple

technology generations

diverse end points

proprietary (single-vendor) systems

standards-based solutions

Page 6: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

6

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 7: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

7

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

usually

used with

IETF RAI area

MMUSIC(SDP, RTSP, ICE)

XCON(conf. control)

SPEERMINT(peering)

uses

SPEECHSC(speech services)

SIGTRAN(signaling transport)

uses

Page 8: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

8

Old vs. new

old 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.164

IM handles

Page 9: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

9

SIP Overview

Page 10: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

10

Internet services – the missing entry

Service/delivery

synchronous asynchronous

push instant messagingpresenceevent notificationsession setupmedia-on-demand

messaging

pull data retrievalfile downloadremote procedure call

peer-to-peer file sharing

Page 11: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

11

Filling in the protocol gap

Service/delivery

synchronous asynchronous

push SIPRTSP, RTP

SMTP

pull HTTPftpSunRPC, Corba, SOAP

(not yet standardized)

Page 12: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

12

SIP as service enabler

• Rendezvous protocol– lets users find each other by only

knowing a permanent identifier• Mobility enabler:

– personal mobility• one person, multiple terminals

– terminal mobility• one terminal, multiple IP

addresses– session mobility

• one user, multiple terminals in sequence or in parallel

– service mobility• services move with user

Page 13: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

13

What is SIP?

Session Initiation Protocol protocol that establishes, manages (multimedia) sessions also used for IM, presence & event notification

uses SDP to describe multimedia sessions Developed at Columbia U. (with others)

Standardized by IETF (RFC 3261-3265 et al)

3GPP (for 3G wireless) PacketCable

About 100 companies produce SIP products Microsoft’s Windows Messenger (≥4.7)

includes SIP

Page 14: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

14

Philosophy

• Session establishment & event notification• Any session type, from audio to circuit emulation• Provides application-layer anycast service• Provides terminal and session mobility• Based on HTTP in syntax, but different in protocol

operation• Peer-to-peer system, with optional support by proxies

– even stateful proxies only keep transaction state, not call (session, dialogue) state

– transaction: single request + retransmissions– proxies can be completely stateless

Page 15: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

15

Basic SIP message flow

Page 16: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

16

SIP trapezoid

SIP trapezoid

outbound proxy

[email protected]: 128.59.16.1

registrar

1st request

2nd, 3rd, … request

voice trafficRTP

destination proxy(identified by SIP URI domain)

Page 17: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

17

SIP message format

SDP

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP here.com:5060From: Alice <sip:[email protected]>

To: Bob <sip:[email protected]>Call-ID: [email protected]

CSeq: 1 INVITESubject: just testing

Contact: sip:[email protected]: application/sdp

Content-Length: 147

v=0o=alice 2890844526 2890844526 IN IP4 here.com

s=Session SDPc=IN IP4 100.101.102.103

t=0 0m=audio 49172 RTP/AVP 0

a=rtpmap:0 PCMU/8000

SIP/2.0 200 OK

Via: SIP/2.0/UDP here.com:5060From: Alice <sip:[email protected]>

To: Bob <sip:[email protected]>Call-ID: [email protected]

CSeq: 1 INVITESubject: just testing

Contact: sip:[email protected]: application/sdp

Content-Length: 134

v=0o=bob 2890844527 2890844527 IN IP4 there.com

s=Session SDPc=IN IP4 110.111.112.113

t=0 0m=audio 3456 RTP/AVP 0a=rtpmap:0 PCMU/8000m

essa

ge b

ody

hea

der

field

sre

ques

t lin

e

request response

Page 18: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

18

PSTN vs. Internet Telephony

Signaling & Media Signaling & Media

Signaling Signaling

Media

PSTN:

Internettelephony:

China

Belgian customer,currently visiting US

Australia

Page 19: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

19

SIP addressing

• Users identified by SIP or tel URIs– sip:[email protected]

• tel: URIs describe E.164 number, not dialed digits (RFC 2806bis)

• tel URIs SIP URIs by outbound proxy• A person can have any number of SIP URIs• The same SIP URI can reach many different

phones, in different networks– sequential & parallel forking

• SIP URIs can be created dynamically:– GRUUs– conferences– device identifiers (sip:[email protected])

• Registration binds SIP URIs (e.g., device addresses) to SIP “address-of-record” (AOR)

tel:110 sip:sos@domain

domain 128.59.16.17

via NAPTR + SRV

Page 20: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

20

3G Architecture (Registration)

visited IM domain

home IM domain

servingCSCF

interrogating

proxy

interrogating

mobility managementsignaling

registration signaling (SIP)_

Page 21: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

Presence and event notification

Page 22: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

22

We need glue!

• 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 23: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

23

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 24: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

24

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 routing

location events

activity/availability presence

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

Page 25: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

25

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 26: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

26

GEOPRIV and SIMPLE architectures

targetlocationserver

locationrecipient

rulemaker

presentity

caller

presenceagent

watcher

callee

GEOPRIV

SIPpresence

SIPcall

PUBLISHNOTIFY

SUBSCRIBE

INVITE

publicationinterface

notificationinterface

XCAP(rules)

INVITE

DHCP

Page 27: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

27

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 28: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

28

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 29: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

29

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 30: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

30

Presence data architecture

candidatepresencedocument

watcherfilter

rawpresencedocument

post-processingcomposition(merging)

finalpresencedocument

differenceto previous notification

SUBSCRIBE

NOTIFY

remove data not of interest

watcher

Page 31: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

31

Presence data model

“calendar” “cell” “manual”

[email protected], video, text

[email protected]

person(presentity)

(views)

services

devices

Page 32: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

32

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 33: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

33

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 34: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

34

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 35: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

35

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 36: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

36

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 37: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

37

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 38: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

38

Privacy policy relationships

geopriv-specific presence-specific

common policy

RPID CIPID

future

Page 39: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

39

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 40: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

40

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>

<ru

lese

t>

<rule id=1>

<co

ndit

ions>

<tr

ansf

orm

ati

on

s>

<act

ions>

Page 41: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

41

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 42: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

Location-based services

Page 43: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

43

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 44: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

44

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 45: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

45

Location delivery

DHCP

HTTP

GPS

HELD

LLDP-MED

wiremap

Page 46: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

46

Location-based service language

false

true

NOTIFY

action alert

conditions

proximity

occupancy

time

IM

actions

alert

message

log

call

transfer

join

events

incoming

outgoing

notify

message

subscription

Page 47: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

47

Program location-based services

Page 48: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

48

Page 49: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

49 *) - 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 50: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

50

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 51: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

51

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 52: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

52

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/ SIPGateway

HTTP

Location from vehicle

PUBLISH

Media ServerGateway

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

Page 53: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

53

SABIT PALS Supervisor Application

Page 54: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

54

Communications Webpage

Page 55: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

55

Roadmap

• Introduction

• Presence

• Location-based services

• Server scaling

• P2P SIP

• Standardization and interoperability

Page 56: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

56

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 57: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

57

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 58: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

58

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 59: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

59

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 60: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

60

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 61: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

61

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 62: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

62

Roadmap

• Introduction

• Presence

• Location-based services

• Server scaling

• P2P SIP

• Standardization and interoperability

Page 63: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

63

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 64: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

64

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 65: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

65

Zeroconf: solution for bootstrapping

• Three requirements for zero configuration networks:1) IP address assignment without a DHCP server

2) Host name resolution without a DNS server

3) 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 66: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

66

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 67: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

67

z2z: Zeroconf-to-Zeroconf interconnection

rendezvous point - OpenDHT

z2z

Import/exportservices

Zeroconf subnet A

z2z

Import/exportservices

Zeroconf subnet B

Page 68: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

68

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 69: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

69

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 70: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

70

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 71: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

71

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 72: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

72

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 73: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

73

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 74: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

Peer-to-Peer Protocol (P2PP)

Salman Abdul Baset, Henning SchulzrinneColumbia University

Page 75: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

75

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 76: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

76

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 77: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

77

Peer-to-peer systems

File sharing VoIP Streaming

Low

Medium

High

NAT

NAT

NAT

Data size

Data size

Data size

Pe

rfo

rman

ce im

pa

ct /

req

uire

me

nt

Service discovery

Replication

Replication

Replication

Page 78: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

78

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 79: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

79

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 80: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

80

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 81: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

81

DHTs

DHT GeometryDistance function

Lookup correctness

(neighbor table)

Lookup performance

(routing table)

ChordAccordion

RingModulo numeric

differenceSuccessor 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 82: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

82

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 83: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

83

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 84: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

84

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 85: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

85

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 86: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

86

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 87: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

87

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 88: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

88

Join

JP BS P5 P71. 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 89: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

89

Call establishment

P1 P3 P5 P71. 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 90: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

90

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 91: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

91

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 92: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

92

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 93: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

93

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 94: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

94

Roadmap

• Introduction

• Presence

• Location-based services

• Server scaling

• P2P SIP

• Standardization and interoperability

Page 95: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

95

SIP, SIPPING & SIMPLE –00 drafts

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

0

10

20

30

40

50

60

70

80

19992000200120022003200420052006

SIPSIPPINGSIMPLE

Page 96: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

96

RFC publication

0

2

4

6

8

10

12

14

2001 2002 2003 2004 2005 2006

SIPSIPPINGSIMPLE

Page 97: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

97

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 98: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

98

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 99: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

99

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 100: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

100

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

3G

PP

Pack

etC

abl

e

Page 101: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

101

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 102: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

102

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 103: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

103

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 104: VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration

104

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