58
May 23, 2005 Alcatel 1 Advanced Multimedia and Advanced Multimedia and Presence Services using Presence Services using Classical and P2P SIP Classical and P2P SIP Henning Schulzrinne (with Kundan Singh, Ron Shacham, Xiaotao Wu, Jonathan Lennox and others) Department of Computer Science Columbia University [email protected] Alcatel May 23, 2005

May 23, 2005Alcatel1 Advanced Multimedia and Presence Services using Classical and P2P SIP Henning Schulzrinne (with Kundan Singh, Ron Shacham, Xiaotao

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

May 23, 2005 Alcatel 1

Advanced Multimedia and Advanced Multimedia and Presence Services using Presence Services using Classical and P2P SIPClassical and P2P SIP

Henning Schulzrinne(with Kundan Singh, Ron Shacham, Xiaotao Wu, Jonathan

Lennox and others)Department of Computer Science

Columbia [email protected]

AlcatelMay 23, 2005

May 23, 2005 Alcatel 2

OverviewOverview

Quick overview of SIP Ring-and-hope presence-mediated

communications Uses for presence:

Old: “I’m on-line” Location-based services Presence-derived call handling Presence-derived trust

Presence and privacy Service and session mobility Application sharing

May 23, 2005 Alcatel 3

Philosophy transitionPhilosophy transition

One computer,many users

One computer,one user

Many computers,one user

anywhere,any time

any media

right place (device),right time,right media

~ ubiquitous computing

mainframe era

May 23, 2005 Alcatel 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

May 23, 2005 Alcatel 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

May 23, 2005 Alcatel 6

SIP OverviewSIP Overview

May 23, 2005 Alcatel 7

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

May 23, 2005 Alcatel 8

Filling in the protocol gapFilling in the protocol gap

Service/delivery

synchronous asynchronous

push SIPRTSP, RTP

SMTP

pull HTTPftpSunRPC, Corba, SOAP

(not yet standardized)

May 23, 2005 Alcatel 9

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

May 23, 2005 Alcatel 10

What is SIP?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

May 23, 2005 Alcatel 11

PhilosophyPhilosophy 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

May 23, 2005 Alcatel 12

Basic SIP message flowBasic SIP message flow

May 23, 2005 Alcatel 13

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)

May 23, 2005 Alcatel 14

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

May 23, 2005 Alcatel 15

PSTN vs. Internet TelephonyPSTN vs. Internet Telephony

Signaling & Media Signaling & Media

Signaling Signaling

Media

PSTN:

Internettelephony:

China

Belgian customer,currently visiting US

Australia

May 23, 2005 Alcatel 16

SIP addressingSIP 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.17via NAPTR + SRV

May 23, 2005 Alcatel 17

3G Architecture 3G Architecture (Registration)(Registration)

visited IM domain

home IM domain

servingCSCF

interrogating

proxy

interrogating

mobility managementsignaling

registration signaling (SIP)_

May 23, 2005 Alcatel 18

SIP is PBX/Centrex readySIP is PBX/Centrex readycall waiting/multiple calls

RFC 3261

hold RFC 3264

transfer RFC 3515/Replaces

conference RFC 3261/callee caps

message waiting message summary package

call forward RFC 3261

call park RFC 3515/Replaces

call pickup Replaces

do not disturb RFC 3261

call coverage RFC 3261

from Rohan Mahy’s VON Fall 2003 talk

simultaneous ringing

RFC 3261

basic shared lines

dialog/reg. package

barge-in Join

“Take” Replaces

Shared-line “privacy”

dialog package

divert to admin RFC 3261

intercom URI convention

auto attendant RFC 3261/2833

attendant console

dialog package

night service RFC 3261

centr

ex-s

tyle

featu

res

boss/admin features

attendant features

May 23, 2005 Alcatel 19

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

May 23, 2005 Alcatel 20

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

May 23, 2005 Alcatel 21

SIP – a bi-cultural protocolSIP – a bi-cultural protocol

• overlap dialing• DTMF carriage• key systems• notion of lines• per-minute billing• early media• ISUP & BICC interoperation• trusted service providers

• multimedia• IM and presence• location-based service• user-created services• decentralized operation• everyone equally suspect

May 23, 2005 Alcatel 22

Context-aware Context-aware communicationcommunication

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

May 23, 2005 Alcatel 23

GEOPRIV and SIMPLE GEOPRIV and SIMPLE architecturesarchitectures

targetlocationserver

locationrecipient

rulemaker

presentity

caller

presenceagent

watcher

callee

GEOPRIV

SIPpresence

SIPcall

PUBLISHNOTIFY

SUBSCRIBE

INVITE

publicationinterface

notificationinterface

XCAP(rules)

INVITE

DHCP

May 23, 2005 Alcatel 24

The role of presenceThe 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

May 23, 2005 Alcatel 25

Basic presenceBasic 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

May 23, 2005 Alcatel 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

May 23, 2005 Alcatel 27

Presence data architecturePresence data architecture

candidatepresencedocument

watcherfilter

rawpresencedocument

post-processingcomposition(merging)

finalpresencedocument

differenceto previous notification

SUBSCRIBE

NOTIFY

remove data not of interest

watcher

May 23, 2005 Alcatel 28

Presence data modelPresence data model

“calendar” “cell” “manual”

[email protected], video, text

[email protected]

person(presentity)

(views)

services

devices

May 23, 2005 Alcatel 29

Rich presenceRich 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, …)

May 23, 2005 Alcatel 30

RPID: rich presenceRPID: rich presence<person>

<tuple>

<device>

<activities>

<class>

<mood>

<place-is>

<place-type>

<privacy>

<relationship>

<service-class>

<sphere>

<status-icon>

<time-offset>

<user-input>

May 23, 2005 Alcatel 31

RPID = rich presenceRPID = 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

May 23, 2005 Alcatel 32

CIPID: Contact InformationCIPID: 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

May 23, 2005 Alcatel 33

The role of presence for call The role of presence for call routingrouting 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

May 23, 2005 Alcatel 34

Presence and privacyPresence 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>

May 23, 2005 Alcatel 35

Privacy policy Privacy policy relationshipsrelationships

geopriv-specific presence-specific

common policy

RPID CIPID

future

May 23, 2005 Alcatel 36

Privacy rulesPrivacy 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

May 23, 2005 Alcatel 37

Example rules documentExample 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>

May 23, 2005 Alcatel 38

Creating and manipulating Creating and manipulating rulesrules

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”

May 23, 2005 Alcatel 39

Location-based servicesLocation-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

May 23, 2005 Alcatel 40

Location-based SIP Location-based SIP servicesservices 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

May 23, 2005 Alcatel 41

Location detectionLocation detection

SIP UAGPS

receiver

Bluetooth

DHCPserver

swipecard

activebadge

manually

SUBSCRIBE

NOTIFY

Locationserver

iButton

PUBLISH

WiFi

May 23, 2005 Alcatel 42

DHCP for locationsDHCP for locations modified dhcpd (ISC) to generate location information use MAC address backtracing to get location information

DHCPserver

458/17 Rm. 815458/18 Rm. 816

DHCP answer:sta=DC loc=Rm815lat=38.89868 long=77.03723

8:0:20:ab:d5:d

CDP + SNMP8:0:20:ab:d5:d 458/17

May 23, 2005 Alcatel 43

Location-based service Location-based service languagelanguage

false

true

NOTIFY

action alert

conditions

proximity

occupancy

time

IM

actions

alert

message

log

call

transfer

join

events

incoming

outgoing

notify

message

subscription

May 23, 2005 Alcatel 44

Program location-based Program location-based servicesservices

May 23, 2005 Alcatel 45

May 23, 2005 Alcatel 46

TrackingTracking

May 23, 2005 Alcatel 47

Internet2 WG PIC trialInternet2 WG PIC trial

PUBLISHpresence status

NOTIFYmyselfand others’ locations

SUBSCRIBEto my location

May 23, 2005 Alcatel 48

Example: user-adaptive Example: user-adaptive device configurationdevice configuration

“all devices that are in the building”RFC 3082?

PA

devicecontroller

SUBSCRIBEto each room

SUBSCRIBE to configurationfor users currently in rooms

1. discover room URI2. REGISTER as contact for room URI

tftp

HTTP

SLP

802.11 signal strength

location

REGISTERTo: 815cepsrContact: alice@cs

SIP

room 815

May 23, 2005 Alcatel 49

Session mobilitySession mobility Walk into office,

switch from cell phone to desk phone

call transfer problem SIP REFER

related problem: split session across end devices

e.g., wall display + desk phone + PC for collaborative application

assume devices (or stand-ins) are SIP-enabled

third-party call control

May 23, 2005 Alcatel 50

How to find services?How to find services? Two complementary developments:

smaller devices carried on user instead of stationary devices devices that can be time-shared

large plasma displays projector hi-res cameras echo-canceling speaker systems wide-area network access

Need to discover services in local environment SLP (Service Location Protocol) allows querying for services

“find all color displays with at least XGA resolution” slp://example.com/SrvRqst?public?type=printer

SLP in multicast mode SLP in DA mode

Need to discover services before getting to environment “is there a camera in the meeting room?” SLP extension: find remote DA via DNS SRV

May 23, 2005 Alcatel 51

Internet

CorrespondentNode (CN)

SIP UA

SLP UA

SIP SM

Local Devices

SLP SA SLP UA

SIP SM SIP UA

SLP DA

Mobile Node (MN)

SLPSIPRTP

SIP UA

Transcoder

Session mobilitySession mobility

May 23, 2005 Alcatel 52

Presence for spam Presence for spam preventionprevention VoIP spam (“spit”) and IM spam

(“spim”) likely to be more annoying than email spam

Subscription to another person is indication of mutual trust other person allows me to see their

status trusts me Thus, use watcher list (who is

watching me) as trust vector

May 23, 2005 Alcatel 53

Conferencing issuesConferencing issues

May 23, 2005 Alcatel 54

Open issues for conferencing Open issues for conferencing standardizationstandardization

Multi-device systems and session mobility

Conference floor control BFCP simple RPC-like protocol

Centralized conference control (XCON WG) still struggling with control model

set + get variables (~SNMP) RPC-like model ( SOAP, XML-RPC, NETCONF) send descriptions? forms (XForms?)?

May 23, 2005 Alcatel 55

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

May 23, 2005 Alcatel 56

Open issues: application Open issues: application sharingsharing Current: T.120

doesn’t integrate well with other conference control mechanisms

hard to make work across platforms (fonts) ill-defined security mechanisms

Current: web-based sharing hard to integrate with other media, control and record generally only works for Windows mostly limited to shared PowerPoint

Current: vnc whole-screen sharing only can be coerced into conferencing, but doesn’t

integrate well with control protocols

May 23, 2005 Alcatel 57

IETF effort: standardized IETF effort: standardized application sharingapplication sharing Remote access = application sharing Four components:

window drawing ops PNG keyboard input mouse input window operations (raise, lower, move)

Uses RTP as transport synchronization with continuous media but typically, TCP allow multicast large group sessions

May 23, 2005 Alcatel 58

ConclusionConclusion Basic multimedia communication solutions

available scalable, secure, good quality

Media delivery controlled interaction Binary presence rich presence Presence as enabler of loosely-coupled

advanced services location-based services serve as service script inputs trust indicator for spit/spim prevention

Application sharing as missing link Harder to maintain focus in the IETF

exhaustion, moving on to other things