june 2005sip for collaboration1 sip for collaboration henning schulzrinne columbia university dept....
Post on 20-Dec-2015
218 views
TRANSCRIPT
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 20
Classical “silo” modelClassical “silo” model
+1 201 555 1234
+1 917 555 3210
h323:foo.example.com
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
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
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