310 likes | 334 Views
Explore the evolution of SIP for collaboration, from service to protocol to ecosystem. Learn about the philosophy of transitioning from one computer/phone, many users to many computers/phones, one user. Discover the security and privacy features of SIP.
E N D
SIP for Collaboration Henning Schulzrinne Columbia University Dept. of Computer Science SIP for collaboration
Overview • Evolution from service to protocol to eco-system • Quick intro to SIP • SIP foundations: sessions, messages, events SIP for collaboration
Philosophy transition One computer/phone, many users PC era cell phone era One computer/phone, one user mainframe era home phone party line Many computers/phones, one user many identifiers Many computers/phones, one user one identifier ~ ubiquitous computing ~ converged ubiquitous computing & communication anywhere, any time any media right place (device), right time, right media SIP for collaboration
Evolution of VoIP “how can I make it stop ringing?” long-distance calling, ca. 1930 “does it do call transfer?” going beyond the black phone “amazing – the phone rings” catching up with the digital PBX 1996-2000 2000-2003 2004- SIP for collaboration
Collaboration in transition inter-organization multiple technology generations diverse end points intra-organization; small number of systems (meeting rooms) standards-based solutions proprietary (single-vendor) systems SIP for collaboration
Internet services – the missing entry SIP for collaboration
Filling in the protocol gap SIP for collaboration
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 SIP as service enabler SIP for collaboration
A constellation of SIP RFCs Non-adjacent (3327) Symmetric resp. (3581) Service route (3608) User agent caps (3840) Caller prefs (3841) Request routing Resource mgt. (3312) Reliable prov. (3262) INFO (2976) UPDATE (3311) Reason (3326) SIP (3261) DNS for SIP (3263) Events (3265) REFER (3515) ISUP (3204) sipfrag (3240) Mostly PSTN Content types Core Digest AKA (3310) Privacy (3323) P-Asserted (3325) Agreement (3329) Media auth. (3313) AES (3853) DHCP (3361) DHCPv6 (3319) Configuration SIP for collaboration Security & privacy
An eco system, not just a protocol configures XCAP (config) XCON (conferencing) SIMPLE policy RPID …. initiates carries SIP RTSP SDP carries controls provide addresses RTP STUN TURN SIP for collaboration
SIP trapezoid destination proxy (identified by SIP URI domain) outbound proxy 1st request SIP trapezoid 2nd, 3rd, … request a@foo.com: 128.59.16.1 registrar voice traffic RTP SIP for collaboration
response request request line INVITE sip:bob@there.com SIP/2.0 SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: Alice <sip:alice@here.com> To: Bob <sip:bob@there.com> Call-ID: 1234@here.com CSeq: 1 INVITE Subject: just testing Contact: sip:alice@pc.here.com Content-Type: application/sdp Content-Length: 147 Via: SIP/2.0/UDP here.com:5060 From: Alice <sip:alice@here.com> To: Bob <sip:bob@there.com> Call-ID: 1234@here.com CSeq: 1 INVITE Subject: just testing Contact: sip:alice@pc.here.com Content-Type: application/sdp Content-Length: 134 header fields v=0 o=alice 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 v=0 o=bob 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 messagebody SIP message format SIP for collaboration SDP
SIP 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 SIP for collaboration
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 SIP architectural principles (1) Rosenberg/Schulzrinne: draft-rosenberg-sipping-sip-arch-00 SIP for collaboration
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 SIP architectural principles (2) SIP for collaboration
SIP architectural principles (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 SIP for collaboration
SIP division of labor SIP for collaboration
Major SIP users interconnection still PSTN • 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 SIP for collaboration
SIP devices and software SIP for collaboration
Classical “silo” model +1 201 555 1234 im:losr32@aol.com 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) +1 917 555 3210 SIP for collaboration
The SIP (converged) model audio video real-time text MSRP app sharing (text) messages device control shared web browsing call events (transfer) message waiting conference events basic & rich presence calendar data file updates sessions messages events INVITE BYE MESSAGE DO PUBLISH SUBSCRIBE NOTIFY sip:alice@example.com mobility load balancing & redundancy authentication, integrity NAT traversal SIP for collaboration
SIP 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 SIP for collaboration
SIP identity example.com digest authentication foo.com INVITE Challenge INVITE 1. Alice calls Bob INVITE (signed) INVITE 2. Outbound proxy verifies that alice@example.com 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 C. Jennings SIP for collaboration
Presence facilitate communications availability activities communication privacy choice of media Communications derive presence “on the phone” typing/composing Presence & communications Communications Presence C. Jennings SIP for collaboration
Presence data model “calendar” “cell” “manual” person (presentity) (views) alice@example.com audio, video, text r42@example.com video services devices SIP for collaboration
Presence data architecture presence sources PUBLISH raw presence document privacy filtering create view (compose) depends on watcher XCAP select best source resolve contradictions XCAP privacy policy composition policy (not defined yet) draft-ietf-simple-presence-data-model SIP for collaboration
Presence data architecture candidate presence document raw presence document post-processing composition (merging) watcher filter remove data not of interest SUBSCRIBE difference to previous notification final presence document watcher NOTIFY SIP for collaboration
Rich presence extensions derived from sensors, human input, calendars SIP for collaboration
Service creation • Tailor a shared infrastructure to individual users • traditionally, only vendors (and sometimes carriers) • learn from web models SIP for collaboration
Logical XCON Server • TEMPLATE • Of the SYSTEM: • Pre-configured • Initial/Default values • TEMPLATE Policy: • Of TYPE RULES • RESERVATION • Of the INSTANCE: • Of TYPE CONFERENCE-INFO • RESERVATION Policy: • Of TYPE RULES • CURRENT Policy: • Of TYPE RULES • STATE • Of the CURRENT INSTANCE: • Of TYPE CONFERENCE-INFO CCCP Server • Conf Event • Notification • Server • Floor • Control • Server • CPCP • Server Focus SIP/ PSTN/ H.323 T.120/ Etc. SIP NOTIFY/ Etc. CCCP CPCP BFCP CPCP Client CCCP Client Notification Client Floor Control Client Call Signaling Client Logical XCON Client XCON System SIP for collaboration
Conclusion • 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 SIP for collaboration