Title: Ubiquitous Computing with SIP
1Ubiquitous Computing with SIP
- Henning Schulzrinne
- (with Stefan Berger, Stelios Sidiroglou, Kundan
Singh, Xiaotao Wu, Weibin Zhao) - Columbia University IRT Lab
- Siemens
- Munich -- January 2003
2Overview
- What is ubiquitous computing?
- Location-based computing in SIP
- On-going work at Columbia
3What is ubiquitous computing?
- Ubiquitous computing has as its goal the
enhancing computer use by making many computers
available throughout the physical environment,
but making them effectively invisible to the
user. (Weiser, 1993) - Ubiquitous computing is not virtual reality, it
is not a Personal Digital Assistant (PDA) such as
Apple's Newton, it is not a personal or intimate
computer with agents doing your bidding. Unlike
virtual reality, ubiquitous computing endeavers
to integrate information displays into the
everyday physical world. It considers the nuances
of the real world to be wonderful, and aims only
to augment them. (Weiser, 1993)
4Ubiquitous computing aspects
- Also related to pervasive computing
- Mobility, but not just cell phones
- Computation and communications
- Integration of devices
- borrow capabilities found in the environment ?
composition into logical devices - seamless mobility ? session mobility
- adaptation to local capabilities
- environment senses instead of explicit user
interaction - from small dumb devices to PCs
- light switches and smart wallpaper
5Example ubicomp projects
- Ambient Devices
- EU IST Disappearing Computer
- Project Aura, CMU ? user attention
- UNC office of real soon now
- augmented surfaces Reki99
- Microsoft Easy Living
- Oxygen, MIT
- Portolano, Univ. of Washington
- Endeavour, Berkeley
6Session mobility
- Walk into office, switch from cell phone to desk
phone - call transfer problem ? 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
7Session mobility via 3PCC
pc42
INVITE speakerphone maudio cpc42
192.0.2.1
INVITE pc42 mvideo c192.0.2.7 maudio c192.0.2.
1
INVITE display mvideo cpc42
192.0.2.7
8How 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?typeprinter
- 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
9Service Location Protocol (SLP)
- Version 2 standardized June 1999
SrvRqst
SA
UA
SA
SrvRply
SrvReg
DA
SrvReg
SrvRqst
DAAdvert
10SLP attribute example
11Other service location mechanism
- DNS SRV/NAPTR
- DNS TXT records (Apple Rendezvous) ? DNS-SD
- UPnP uses SSDP
- multicast HTTP over UDP
M-SEARCH HTTP/1.1 S uuidijklmnop-7dec-11d0-a76
5-00a0c91e6bf6 Host 239.255.255.250reservedSSDPp
ort Man "ssdpdiscover ST gefridge MX
3 HTTP/1.1 200 OK S uuidijklmnop-7dec-11d0-a765
-00a0c91e6bf6 Ext Cache-Control no-cache"Ext",
max-age 5000 ST gefridge USN
uuidabcdefgh-7dec-11d0-a765-00a0c91e6bf6 AL
ltblenderixlgtlthttp//foo/bargt
12Locations
- Geographic location
- latitude, longitude, altitude, velocity, heading
- Civil location (? postal location!)
- street address, city
- some countries are a bit difficult
- Categorical
- office, library, theater, hospital,
- Behavioral
- public location, don't expect privacy
- silence is encouraged, don't ring the phone
13Determining locations
- SIP entities are often far away from physical
user or his current network (intentionally) - For many devices, cant afford hardware to
determine location - different precision requirements
- in Fayette County (within driving distance of
service or person) - on campus
- in room 815
- in corner, talking to Bob
- GPS doesnt work indoors, but Assisted GPS
(A-GPS) may - Use location beacons BlueTooth, 802.11
- may not offer network connectivity
- see our 7DS project offer local content
location - Physically close by network entities
- DHCP (same broadcast domain)
- PPP (tail circuit)
- Not always true with VPNs, but end system knows
that its using a VPN
14DHCP for locations
- Proposal DHCP extensions for geographic and
civil location - geographic resolution (bits), long/lat, altitude
(meters or floors) - civil
- what end system, switch or DHCP server
- hierarchical subdivisions, from country to
street, landmark name, occupant - Also, some LAN switches broadcast port and switch
identification - CDP for Cisco, EDP for Extreme Networks
- Can also use backtracking via SNMP switch tables
- locally implemented for emergency services (Perl
sip-cgi script)
15Location-based services
- Services
- Location-aware call 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 - contact nearest emergency call center
- do not ring phone if Im in a theater
- send delivery_at_pizza.com 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 - Person location events
- Were implementing SIP, caller-preferences and
CPL extensions for these services
16SIP extensions for location-based services
- Location information is highly sensitive
- complete tracking of person
- stalkers and burglars would kill for this
information - IETF GEOPRIV principle target can control
dissemination of location information - restrict time of day, information (location,
heading, velocity) resolution, number of times
queried, destination, retention, - Alice is in time zone MET may be ok for
strangers, but Alice is at 41.872833 N,
087.624417 W, heading NE at 45 mph is not - GEOPRIV still defining application scenarios
- in many cases, easiest to include location
information in-band with protocol, as this
avoids delegating authorization - otherwise, need to give access key to database to
recipient - we propose adding SIP Location header field
17Event filtering
- Events are core attribute of ubiquitous computing
systems - tell devices about people actions
- tell people about device presence
- e.g., Alice has entered Room 815
- devices that know Alices preferences subscribe
to Alice - locations may also have presence
- e.g., for occupancy sensors, switches
18Location filtering language
- SIP presence information will be updated using
REGISTER and UPDATE - Need to constrain
- who is allowed to see what detail ? presentity
privacy - who wants to see what detail
- how often
- what granularity of change
- Proposal to allow SUBSCRIBE to include frequency
limitation - Working on CPL-like language invoked (logically)
at publication time - classes of users, e.g., based on entry in my
address book - classes get mapped to restriction
- 12 bits of long/lat resolution, 6 bits of
altitude resolution, 0 bits of velocity - time zone only, category only
- watchers can then add filters that restrict the
delivery - location difference gt threshold
- entering or leaving certain area
- entering or leaving category or behavioral type
19Columbia SIP servers (CINEMA)
Telephone switch
Local/long distance 1-212-5551212
rtspd media server
Quicktime
Single machine
RTSP
sipconf Conference server
RTSP clients
Department PBX
sipum Unified messaging
Internal Telephone Extn 7040
713x
sipd Proxy, redirect, registrar server
SQL database
SIP/PSTN Gateway
Web based configuration
SNMP (Network Management)
Extn 7134
H.323
Extn 7136
siph323 SIP-H.323 translator
NetMeeting
xiaotaow_at_cs
20Location-based services in CINEMA
- Initial proof-of-concept implementation
- Integrate devices
- lava lamp via X10 controller ? set personalized
light mood setting - Pingtel phone ? add outgoing line to phone and
register user - painful needs to be done via HTTP POST request
- stereo ? change to audio CD track based on user
- Sense user presence and identity
- passive infrared (PIR) occupancy sensor
- magnetic swipe card
- ibutton
- BlueTooth equipped PDA
- IRRF badge (in progress)
- RFID (future)
- biometrics (future)
21CINEMA system
22All-SIP implementation
23Pushing context-sensitive data to users
- User with mobile device should get location
information when entering city, campus or
building - flight and gate information
- maps and directions
- local weather forecast
- special advisories (choose security checkpoint
2) - Often does not require knowing user
- but interface with (e.g.) calendar
- Example Columbia implementation
- OBEX data exchange over BlueTooth
- PDA pushes current appointment or event name
- base station delivers directions and map
24Conclusion
- SIP auxiliary protocols supports many of the
core requirements for ubiquitous computing and
communications - mobility modalities terminal, user, session,
service - service negotiation for devices with different
capabilities - automatic configuration and discovery
- with SLP or similar
- event notification and triggered actions
- automatic actions event filtering, CPL, LESS
(for end system services) - SIP offers a loosely-coupled approach (cf. Jini
or object models) - Also need data push functionality
- Avoid tendency to assume SIP users are human
want to interconnect different components and
devices - SIP device configuration needs automation, rather
than screen-scraping