Making the phone not ring Henning Schulzrinne Department of Computer Science Columbia University hgs@cs.columbia.edu Internet2 spring meeting May 3, 2005 (Arlington, VA) Internet2 spring meeting
Internet2 spring meeting Overview 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 Internet2 spring meeting
Context-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 Internet2 spring meeting
Evolution of VoIP 1996-2000 2000-2003 2004- “does it do “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- Internet2 spring meeting
Internet2 spring meeting The 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 Internet2 spring meeting
Internet2 spring meeting Basic 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 Internet2 spring meeting
Internet2 spring meeting Rich 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, …) Internet2 spring meeting
Internet2 spring meeting Presence data model “calendar” “cell” “manual” person (presentity) (views) alice@example.com audio, video, text r42@example.com video services devices Internet2 spring meeting
Internet2 spring meeting RPID = 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 Internet2 spring meeting
The 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 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) PA NOTIFY translate RPID CPL LESS INVITE Internet2 spring meeting
Internet2 spring meeting Presence 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> Internet2 spring meeting
Location-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 Internet2 spring meeting
Program location-based services Internet2 spring meeting
Presence for spam prevention 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 Internet2 spring meeting
Internet2 spring meeting Conclusion 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 Internet2 spring meeting
Internet2 spring meeting Backup slides Internet2 spring meeting
Presence data architecture presence sources PUBLISH raw presence document privacy filtering create view (compose) depends on watcher XCAP select best source resolve contradictions XCAP composition policy privacy policy (not defined yet) draft-ietf-simple-presence-data-model Internet2 spring meeting
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 Internet2 spring meeting
Internet2 spring meeting RPID: rich presence <person> <tuple> <device> <activities> <class> <mood> <place-is> <place-type> <privacy> <relationship> <service-class> <sphere> <status-icon> <time-offset> <user-input> Internet2 spring meeting