Collaboration in the Enterprise1 SIP and Beyond Henning Schulzrinne Department of Computer Science...
-
date post
22-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of Collaboration in the Enterprise1 SIP and Beyond Henning Schulzrinne Department of Computer Science...
Collaboration in the Enterprise
1
SIP and BeyondSIP and Beyond
Henning SchulzrinneDepartment of Computer Science
Columbia [email protected] in the Enterprise
February 10, 2005 (Leesburg, VA)
Collaboration in the Enterprise
2
OverviewOverview
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
Collaboration in the Enterprise
3
(Early) Adulthood(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
Collaboration in the Enterprise
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
Collaboration in the Enterprise
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
Collaboration in the Enterprise
6
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) 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 Microsoft’s Windows Messenger (≥4.7)
includes SIP
Collaboration in the Enterprise
7
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
Collaboration in the Enterprise
8
Basic SIP message flowBasic SIP message flow
Collaboration in the Enterprise
9
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
Collaboration in the Enterprise
10
Presence as Presence as communication facilitatorcommunication facilitator
Collaboration in the Enterprise
11
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?” 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
Collaboration in the Enterprise
12
Presence special case of Presence special case of event notificationevent notification “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, …)
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”)
Collaboration in the Enterprise
13
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
Collaboration in the Enterprise
14
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
Collaboration in the Enterprise
15
Presence data modelPresence data model
“calendar” “cell” “manual”
[email protected], video, text
person(presentity)
(views)
services
devices
Collaboration in the Enterprise
16
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
Collaboration in the Enterprise
17
Presence data architecturePresence data architecture
candidatepresencedocument
watcherfilter
rawpresencedocument
post-processingcomposition(merging)
finalpresencedocument
differenceto previous notification
SUBSCRIBE
NOTIFY
remove data not of interest
watcher
Collaboration in the Enterprise
18
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
Collaboration in the Enterprise
19
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
Collaboration in the Enterprise
20
Rich presence – describing Rich presence – describing serviceservice 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
Collaboration in the Enterprise
21
Rich presence – describing Rich presence – describing statestate 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)
Collaboration in the Enterprise
22
Rich presence – describing Rich presence – describing activitiesactivities
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
Collaboration in the Enterprise
23
Rich presence – describing Rich presence – describing place and surroundingsplace 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
Collaboration in the Enterprise
24
Rich presence: time Rich presence: time informationinformation 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
timed-status timed-status
time
RPIDfrom until
now
Collaboration in the Enterprise
25
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>
Collaboration in the Enterprise
26
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
Collaboration in the Enterprise
27
Program location-based Program location-based servicesservices
Collaboration in the Enterprise
28
On-going IETF work on On-going IETF work on collaborationcollaboration
Session and service mobility Centralized conferencing Application sharing
Collaboration in the Enterprise
29
Service and session mobilityService 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
Collaboration in the Enterprise
30
Ubiquitous computingUbiquitous computing
SA
DA
ResourceControl(3pcc)
Service LocationQuery
SA
sendaudioto SIP
UA2Network
ApplianceControl
SIP UA1
turn onprojector
SIPUA2call
ResourceDiscovery(SLP UA)
audioand
videostreams
Scriptengine
Collaboration in the Enterprise
31
Service scenarioService scenario
Front desk
SIPServer
SLP Server
Hotel
Room 123
Bluetooth
Home domainSIP and AAA
server
Visitor
Media streams
Call
Call
ResourceInfo
Loca
tion
ResourcesUse Authenticate
Register
Info
Collaboration in the Enterprise
32
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
Collaboration in the Enterprise
33
Application sharingApplication 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
Collaboration in the Enterprise
34
ConclusionConclusion 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
Collaboration in the Enterprise
35
BackupsBackups
Collaboration in the Enterprise
36
Origins and evolution of Origins and evolution of SIPSIP
multicast
multimedia
voice(PSTN replacement)
3G(mobile voice)
centralizedconferencing
IM & presence
cable VoIP
Collaboration in the Enterprise
37
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
Collaboration in the Enterprise
38
IETF effortsIETF 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
Collaboration in the Enterprise
39
Other (implementation) Other (implementation) gapsgaps 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