Title: SIP and Beyond
1SIP and Beyond
- Henning Schulzrinne
- Department of Computer Science
- Columbia University
- hgs_at_cs.columbia.edu
- Collaboration in the Enterprise
- February 10, 2005 (Leesburg, VA)
2Overview
- SIP as the glue for collaboration
- Context-aware communications
- The need for standards in collaboration
- The future of standards-based collaboration
- session mobility
- central-server conferences
- application sharing
3(Early) Adulthood
- fully developed and mature
- Not quite yet, but no longer a teenager
- probably need another 6 years to be grown up
- Responsibilities
- Dealing with elderly relatives ? POTS
- Financial issues ? payments, RADIUS
- Family emergencies ? 911
4Evolution of VoIP
how can I make it stop ringing?
does it do call transfer?
long-distance calling, ca. 1930
going beyond the black phone
amazing the phone rings
catching up with the digital PBX
1996-2000
2000-2003
2004-
5Collaboration 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
6What 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)
- started approximately 1996, first standard 1999
- Standardized by
- IETF (RFC 3261-3265 et al), ca. 2002
- 3GPP (for 3G wireless)
- PacketCable (DCS)
- About 100 companies produce SIP products
- Microsofts Windows Messenger (4.7) includes SIP
7SIP 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
8Basic SIP message flow
9SIP a bi-cultural protocol
- multimedia
- IM and presence
- location-based service
- user-created services
- decentralized operation
- everyone equally suspect
- overlap dialing
- DTMF carriage
- key systems
- notion of lines
- per-minute billing
- early media
- ISUP BICC interoperation
- trusted service providers
10Presence as communication facilitator
11Basic 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? - 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
12Presence special case of event notification
- Events in multimedia systems
- REFER (call transfer)
- message waiting indication
- conference floor control
- conference membership
- push-to-talk
- system configuration
- General events
- emergency alert (reverse 911)
- industrial sensors (boiler pressure too high)
- business events (more than 20 people waiting for
service)
- user Alice is available for communication
- Human users
- 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, )
13The 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, doesnt 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
14Context-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
15Presence data model
calendar
cell
manual
person (presentity) (views)
alice_at_example.com audio, video, text
r42_at_example.com video
services
devices
16Presence data architecture
presence sources
PUBLISH
raw presence document
privacy filtering
create view (compose)
depends on watcher
XCAP
XCAP
select best source resolve contradictions
composition policy
privacy policy
(not defined yet)
draft-ietf-simple-presence-data-model
17Presence data architecture
candidate presence document
raw presence document
post-processing composition (merging)
watcher filter
SUBSCRIBE
remove data not of interest
difference to previous notification
final presence document
watcher
NOTIFY
18RPID 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 - dont show recreation details to colleagues
19The role of presence for call routing
PUBLISH
- Two modes
- watcher uses presence information to select
suitable contacts - advisory caller may not adhere to suggestions
and still call when youre 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)
PA
NOTIFY
translate RPID
LESS
CPL
INVITE
20Rich presence describing service
- relationship
- a communication service offered by
- a family member
- associate (colleague)
- assistant
- supervisor
- service-class type of service offered
- electronic
- delivery (courier)
- postal
- in-person
21Rich presence describing state
- mood of presentity
- afraid, amazed, angry, annoyed, anxious, ashamed,
bored, brave, calm, cold, confused, contented,
cranky, curious, depressed, disappointed,
disgusted, distracted, embarrassed, excited,
flirtatious, frustrated, grumpy, guilty, happy,
hot, humbled, humiliated, hungry, hurt,
impressed, in_awe, in_love, indignant,
interested, invincible, jealous, lonely, mean,
moody, nervous, neutral, offended, playful,
proud, relieved, remorseful, restless, sad,
sarcastic, serious, shocked, shy, sick, sleepy,
stressed, surprised, thirsty, worried - likely derived from
- game state
- manual input
- lie detector fMRI (later)
22Rich presence describing activities
- sphere
- current state and role
- free text
- e.g., work, home, soccer club, PTA
- activities what is the person doing
- away, appointment, busy, holiday, in-transit,
meal, meeting, on-the-phone, performance,
permanent-absence, sleeping, steering, travel,
vacation
23Rich presence describing place and surroundings
- place-type type of surroundings
- aircraft, airport, bus, car, home, hotel,
industrial, library, mall, office, outdoors,
public, public-transport, restaurant, school,
ship, station, street, theater, train, truck - place-is communication properties
- video bright, dark
- audio noisy, quiet
- privacy communication that is private
- audio, video, text
- time-offset minutes from UTC
- for avoiding middle-of-the-night calls
24Rich presence time information
- Presence is currently about here and now
- but often only have (recent) past e.g.,
calendar - or future
- will be traveling in two hours
- will be back shortly
- allows watcher to plan communication
RPID
from
until
time
timed-status
timed-status
now
25Presence 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
lttuple id"sg89ae"gt ltstatusgt ltgpgeoprivgt
ltgplocation-infogt ltgmllocationgt
ltgmlPoint gmlid"point1 srsName"ep
sg4326"gt ltgmlcoordinatesgt374630N
1222510W lt/gmlcoordinatesgt
lt/gmlPointgt lt/gmllocationgt
lt/gplocation-infogt ltgpusage-rulesgt
ltgpretransmission-allowedgtno lt/gpretransmissi
on-allowedgt ltgpretention-expirygt2003-06-2
3T045729Z lt/gpretention-expirygt
lt/gpusage-rulesgt lt/gpgeoprivgt lt/statusgt
lttimestampgt2003-06-22T205729Zlt/timestampgt lt/tupl
egt
26Privacy rules
- Conditions
- identity, sphere
- time of day
- current location
- identity as lturigt or ltdomaingt ltexceptgt
- 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
27Program location-based services
28On-going IETF work on collaboration
- Session and service mobility
- Centralized conferencing
- Application sharing
29Service and session mobility
- Multimedia sessions no longer bound to either
desktop or mobile device - complementary strengths mobility vs. large
display - Service mobility
- move service (capabilities, reachability,
configuration) temporarily to local device - Session mobility
- allow active session to move across devices
- e.g., cell phone call moves to local set of
devices and back again
30Ubiquitous computing
SA
DA
SA
turn on
projector
Service Location
Query
send
audio
Resource
to SIP
Network
Discovery
UA2
Appliance
(SLP UA)
Control
audio
and
Resource
Script
video
Control
engine
streams
(3pcc)
SIP UA1
SIP
UA2
call
31Service scenario
Media streams
Bluetooth
Call
Authenticate
Use
Location
Resources
Visitor
Call
Info
Resource
Info
Home domain
Register
SIP and AAA
server
32Example user-adaptive device configuration
all devices that are in the building RFC 3082?
802.11 signal strength ? location
SLP
device controller
HTTP
PA
tftp
REGISTER To 815cepsr Contact alice_at_cs
SUBSCRIBE to each room
- discover room URI
- REGISTER as contact for room URI
SIP
room 815
SUBSCRIBE to configuration for users currently in
rooms
33Application sharing
- Currently, no good standard for sharing generic
applications - pixel-based sharing, not shared text editing or
other applications designed to be shared - T.128
- is outdated
- has limited, special-purpose security
- integrates poorly with audio/video session setup
- works poorly across platforms (e.g., fonts)
- vnc (we use it in our client)
- only whole screen
- Working on new sharing model
- unifies conference sharing and remote access
- allows large groups (multicast) and centralized
conferences - supports hybrid video applications (e.g.,
embedded movies) - leverages existing protocols
- RTP for pixel transport
- SIP for signaling and negotiation
- PNG for compression
34Conclusion
- SIP core component of standards-based multimedia
collaboration - Dial-and-hope model likely to fade for all but
teenager communication (and they are using IM) - maybe even for calling your airline
- transition to (rich) presence to find interaction
times - Most protocol pieces in place, but gaps in
centralized conference control application
sharing - Implementations still catching up to standards
35Backups
36Origins and evolution of SIP
multicast
IM presence
3G (mobile voice)
voice (PSTN replacement)
multimedia
cable VoIP
centralized conferencing
37Philosophy
- 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
38IETF efforts
- SIP, SIPPING and SIMPLE working groups
- but also XCON (conferencing)
- Define SIP methods PUBLISH, SUBSCRIBE, NOTIFY
- GEOPRIV
- geospatial privacy
- location determination via DHCP
- information delivery via SIP, HTTP,
- privacy policies
- SIMPLE
- architecture for events and rich presence
- configuration (XCAP)
- session-oriented IM (? page mode)
- filtering, rate limiting and authorization
39Other (implementation) gaps
- IP phones limited to narrowband audio
- maybe Skype will provide incentive
- echo cancellation still generally iffy
- configuration harder than necessary
- NAT traversal
- no audio/video lip sync
- poor integration of whiteboards