June 2005SIP for collaboration1 SIP for Collaboration Henning Schulzrinne Columbia University Dept....

31
June 2005 SIP for collaboration 1 SIP for SIP for Collaboration Collaboration Henning Schulzrinne Columbia University Dept. of Computer Science
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of June 2005SIP for collaboration1 SIP for Collaboration Henning Schulzrinne Columbia University Dept....

June 2005 SIP for collaboration 1

SIP for CollaborationSIP for Collaboration

Henning SchulzrinneColumbia University

Dept. of Computer Science

June 2005 SIP for collaboration 2

OverviewOverview

Evolution from service to protocol to eco-system

Quick intro to SIP SIP foundations: sessions,

messages, events

June 2005 SIP for collaboration 3

Philosophy transitionPhilosophy transitionOne

computer/phone,

many users One computer/phon

e,one user

Many computers/phon

es,one user

many identifiers

anywhere,any time

any media

right place (device),right time,right media

~ ubiquitous computing

mainframe erahome phone

party line

PC eracell phone era

Many computers/phon

es,one user

one identifier

~ converged ubiquitouscomputing & communication

June 2005 SIP for collaboration 4

Evolution of VoIPEvolution of VoIP

“amazing – thephone rings”

“does it docall transfer?”

“how can I make itstop ringing?”

1996-2000 2000-2003 2004-

catching upwith the digital PBX

long-distance calling,ca. 1930 going beyond

the black phone

June 2005 SIP for collaboration 5

Collaboration in transitionCollaboration in transition

intra-organization;

small number of systems

(meeting rooms)

inter-organization

multiple technology generationsdiverse end

points

proprietary (single-vendor)

systems

standards-based solutions

June 2005 SIP for collaboration 6

Internet services – the Internet services – the missing entrymissing entry

Service/delivery

synchronous asynchronous

push instant messagingpresenceevent notificationsession setupmedia-on-demand

messaging

pull data retrievalfile downloadremote procedure call

peer-to-peer file sharing

June 2005 SIP for collaboration 7

Filling in the protocol gapFilling in the protocol gap

Service/delivery

synchronous asynchronous

push SIPRTSP, RTP

SMTP

pull HTTPftpSunRPC, Corba, SOAP

(not yet standardized)

June 2005 SIP for collaboration 8

SIP as service enablerSIP as service enabler SIP = 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

June 2005 SIP for collaboration 9

A constellation of SIP RFCsA constellation of SIP RFCs

Resource mgt. (3312)Reliable prov. (3262)INFO (2976)UPDATE (3311)Reason (3326)SIP (3261)

DNS for SIP (3263)Events (3265)REFER (3515)

DHCP (3361)DHCPv6 (3319)

Digest AKA (3310)Privacy (3323)P-Asserted (3325)Agreement (3329)Media auth. (3313)AES (3853)

Non-adjacent (3327)Symmetric resp. (3581)Service route (3608)User agent caps (3840)Caller prefs (3841)

ISUP (3204)sipfrag (3240)

Security & privacy

Configuration

Core

Mostly PSTN

Content types

Request routing

June 2005 SIP for collaboration 10

An eco system, not just a An eco system, not just a protocolprotocol

SIP

XCAP(config)

RTSP

SIMPLEpolicyRPID

….

SDP

XCON(conferencing)

STUNTURN

RTP

configures

initiates carries

carriescontrols provide addresses

June 2005 SIP for collaboration 11

SIP trapezoidSIP 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)

June 2005 SIP for collaboration 12

SIP message formatSIP 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]: 1 INVITESubject: just testingContact: sip:[email protected]: application/sdpContent-Length: 147

v=0o=alice 2890844526 2890844526 IN IP4 here.coms=Session SDPc=IN IP4 100.101.102.103t=0 0m=audio 49172 RTP/AVP 0a=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]: 1 INVITESubject: just testingContact: sip:[email protected]: application/sdpContent-Length: 134

v=0o=bob 2890844527 2890844527 IN IP4 there.coms=Session SDPc=IN IP4 110.111.112.113t=0 0m=audio 3456 RTP/AVP 0a=rtpmap:0 PCMU/8000m

essa

ge b

ody

head

er fi

elds

requ

est l

ine

request response

June 2005 SIP for collaboration 13

SIP design objectivesSIP design objectives new features and services

support features not available in PSTN e.g., presence and IM, session mobility

not a PSTN replacement not just SS7-over-IP even similar services use different models (e.g., call

transfer) client heterogeneity

clients can be smart or dumb (terminal adapter) mobile or stationary hardware or software

client multiplicity one user – multiple clients – one address

multimedia nothing in SIP assumes a particular media type

Rosenberg/Schulzrinne: draft-rosenberg-sipping-sip-arch-00

June 2005 SIP for collaboration 14

SIP architectural principles SIP architectural principles (1)(1) proxies are for

routing do not maintain call

state availability scalability flexibility extensibility (new

methods, services) end point call state

and features dialog models, not

call models does not standardize

features

endpoint fate sharing call fails only if

endpoints fail component-based

design building blocks call features =

notification and manipulation

logical components, not physical

UA, proxy, registrar, redirect server

can be combined into one box

Rosenberg/Schulzrinne: draft-rosenberg-sipping-sip-arch-00

June 2005 SIP for collaboration 15

SIP architectural principles SIP architectural principles (2)(2) designed for the

(large) Internet does not assume

particular network topology

congestion-controlled deals with packet loss uses core Internet

services: DNS for load

balancing DHCP for

configuration S/MIME for e2e

security TLS for channel

security

generality over efficiency

focuses on algorithm efficiency, not constant-factor encoding efficiency

“efficiency penalty is temporary, generality is permanent”

text encoding extensibility use shim layer for

compression where needed

allow splitting of functionality for scaling

June 2005 SIP for collaboration 16

SIP architectural principles SIP architectural principles (3)(3) separation of signaling and media

path followed by media packets independent of signaling path

allows direct routing of latency-sensitive media packets (10 ms matters)

without constraining service delivery (1s matters) facilitates mobility

avoid “hair pinning”, “tromboning” facilitates vertical split between ISP and VSP

June 2005 SIP for collaboration 17

SIP division of laborSIP division of laborproxy B2BUA UA

State statelesstransaction-stateful

call stateful call stateful

Headers inspectinsertmodify (rarely)

inspectinsertmodify

inspectreflect

Bodies ignoresome inspect

inspectinsertmodify

inspect

Fork yes separate call legs

no

Media no maybe yes

Services rendezvouscall routing

call stateful media-related

June 2005 SIP for collaboration 18

Major SIP usersMajor SIP users VoIP service providers

Vonage, 8x8, sipgate.de, fwd, …

Internet Multimedia Subsystem (IMS) in 3GPP

PacketCable all major cable providers in

planning Enterprise

all major enterprise IP-PBX vendors

interconnection still PSTN

June 2005 SIP for collaboration 19

SIP devices and softwareSIP devices and software

June 2005 SIP for collaboration 20

Classical “silo” modelClassical “silo” model

+1 201 555 1234

+1 917 555 3210

h323:foo.example.com

im:[email protected]

home phone, work phone, mobile phone, home email, work email, fax, gmail, AOL, Yahoo, MSN, SMS, sametime, softphone URL, personal 1-800 audio conference, schedule conference, blog, website (C. Jennings)

June 2005 SIP for collaboration 21

The SIP (converged) modelThe SIP (converged) model

sessions messages events

audiovideoreal-time textMSRPapp sharing

(text) messagesdevice controlshared web browsing

INVITEBYE

MESSAGEDO

PUBLISHSUBSCRIBENOTIFY

call events (transfer)message waitingconference eventsbasic & rich presencecalendar datafile updates

sip:[email protected]

load balancing & redundancyauthentication, integrity

NAT traversal

June 2005 SIP for collaboration 22

SIP identity modelSIP identity model Old models:

no domain authentication spam, phishing

single domain login (e.g., AOL) no cross-domain authentication

PKI with user certificates expensive, not readily portable

Single SIP identity (address-of-record = AOR) simplifies identity assertion and management

June 2005 SIP for collaboration 23

SIP identity SIP identity

C. Jennings

digest authentication

Challenge

INVITE

INVITE

(signed) INVITE

INVITE

1. Alice calls Bob

2. Outbound proxy verifies that [email protected] is calling

3. This assertion is signed with the example.com certificate from a well- known certificate authority

4. The foo.com proxy receives this and checks that the signature on the assertion is valid

example.com foo.com

June 2005 SIP for collaboration 24

Presence & Presence & communicationscommunications

Presence facilitate communications

availability activities communication

privacy choice of media

Communications derive presence

“on the phone” typing/composing

Presence

Communications

C. Jennings

June 2005 SIP for collaboration 25

Presence data modelPresence data model

“calendar” “cell” “manual”

[email protected], video, text

[email protected]

person(presentity)

(views)

services

devices

June 2005 SIP for collaboration 26

Presence data architecturePresence 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

June 2005 SIP for collaboration 27

Presence data architecturePresence data architecture

candidatepresencedocument

watcherfilter

rawpresencedocument

post-processingcomposition(merging)

finalpresencedocument

differenceto previous notification

SUBSCRIBE

NOTIFY

remove data not of interest

watcher

June 2005 SIP for collaboration 28

Rich presence extensionsRich presence extensions<person>

<tuple>

<device>

<activities>

<class>

<mood>

<place-is>

<place-type>

<privacy>

<relationship>

<service-class>

<sphere>

<status-icon>

<time-offset>

<user-input>

derived from

sensors, human input,

calendars

June 2005 SIP for collaboration 29

Service creationService creation

programmer, carrier

end user

network servers

SIP servlets, sip-cgi

CPL

end system VoiceXML VoiceXML (voice),LESS

Tailor a shared infrastructure to individual users traditionally, only vendors (and sometimes carriers) learn from web models

June 2005 SIP for collaboration 30

XCON SystemXCON SystemLogical XCON Server

Floor ControlClient

TEMPLATEOf the SYSTEM:•Pre-configured•Initial/Default values

Conf EventNotification Server

Focus

CPCP Client

CCCPClient

CPCPServer

CCCPServer

CallSignaling

Client

TEMPLATE Policy:•Of TYPE RULES

RESERVATION Policy:•Of TYPE RULES

CURRENT Policy:•Of TYPE RULES

RESERVATIONOf the INSTANCE:•Of TYPE CONFERENCE-INFO

STATEOf the CURRENT INSTANCE:•Of TYPE CONFERENCE-INFO

NotificationClient

FloorControl Server

SIP/PSTN/H.323T.120/Etc.

CCCPCPCPSIP NOTIFY/Etc. BFCP

Logical XCON Client

June 2005 SIP for collaboration 31

ConclusionConclusion Avoid silo model Collaboration needs sessions, messages

and events plus stored context and asynchronous

collaboration Wikis, blog, conference recordings, structured data stores, shared calendars, …

SIP addresses multi-modal communication needs

Need more than basic presence automatically derived, not user input