Title: SIPc, a Multi-function SIP User Agent
1SIPc, a Multi-functionSIP User Agent
- Xiaotao Wu and Henning Schulzrinne
2Background
- End systems can perform more functions
- CPU, memory, big display
- Moores law
- Routing function in the network, the rest
- Service mobility vs. Direct user/device
interaction - P2P system
- End system services
- Multi-function interaction
- Programmable
- Ubiquitous
- Smart
- Fail-safe
- Feature interaction
3Outline
- Overview
- Multi-function integration
- Multi-function interaction
- New service examples
- Fail-safe handling
- Location-based services
- Ubiquitous computing
- Emergency handling
- Program end system services
4Overview of SIPc functions
emergency
configuration
handling
multimedia
session setup
presence
network
multicasted session
information
appliance control
Web browsers
Email clients
Real time streaming
Network appliance control
Instant message
Third party call control
audio
Emergency handling
video
SIP Multimedia call control
SIP CGI engine
SAP
white board
location sensors
Location sensing
Floor control
SIP for presence
LESS/CPL engine
Service Location Detection (SLP)
desktop sharing
Some IETF drafts CPL, SIP 3PCC, SIP Device
Control GEOPRIV location format, SIP for IM
SAP RFC 2974
SIP RFC 3261
SDP RFC 2327
RTSP RFC 2326
RTP RFC 1889
SLP RFC 2608
SIP Event Notification RFC 3265
5Evolving
Conferencing floor control
Device control
Presence notification
ir/x10
xcon
Location tracking
SIP event notification
Service detection
Message waiting indication
Location sensing
SIP
SLP
Voicemail handling
Call
Emergency handling
SDP
RTP
MapLynx
RTSP
Instant messaging
Session broadcasting
SAP
6Interaction
SIP
SLP
DO
SLP
SAP
3pcc SIP DO
SIP
location
SDP
location
RTP
RTP
SIP
SIP
SIP
NOTIFY
location
MESSAGE
RTP
RTSP
7Complementary communication methods
Handle no disturbing service, phone spam filter
8Internet2 WG PIC trial
SUBSCRIBE to my location
NOTIFY myself and others locations
PUBLISH presence status
9Ubiquitous 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
10Service Scenario
Media streams
Bluetooth
Call
Authenticate
Use
Location
Resources
Visitor
Call
Info
Resource
Info
Home domain
Register
SIP and AAA
server
11Example call flow
12Emergency service
Proprietary TCP-based protocol
13How to integrate
Web browsers
Email clients
Inter-process v.s. Build-in
LESS/CPL engine
Third party call control
audio
Instant message
video
location sensors
SIP call control
Real time streaming
SIP CGI engine
white board
Location sensing
Network appliance control
SIP for presence
desktop sharing
Floor control
Emergency handling
SAP
SLP
14Automate the interaction
- If a call from my boss, turn off the stereo.
(call handling with device control) - When Tom is online, call him. (call handling with
presence information) - Vibrating device instead of ringing when I am in
movie theatre. (call handling with location
information) - At 900AM on 09/09/2005, find the broadcasted
session titled ABC keynote and invite all the
XYZ group members to watch. (call handling with
session information) - When a call get rejected, send an email to the
callee. (call handling with email)
15Choose a language
16Simplicity
- Generality (few and simple concepts)
- Uniformity (few and simple rules)
- Trigger rule
- Switch rule
- Action rule
- Modifier rule
- Familiarity (easy for user to understand)
- Analyzability (simple to analyze)
modifiers
switches
trigger
actions
17Decision tree
- No loops
- Limited variables
- Not necessarily
- Turing-complete
18Safety
- Type safety
- Strong typing in XML schema
- Static type checking
- Control flow safety
- No loop and recursion
- One trigger appear only once, no feature
interaction for a defined script - Memory access
- No direct memory access
- LESS engine safety
- Ensure safe resource usage
- Easy safety checking
- Any valid LESS scripts can be converted into
graphical representation of decision trees.
19LESS snapshot
incoming call
ltlessgt ltincominggt ltaddress-switchgt
ltaddress issipmyboss_at_abc.com"gt
ltdeviceturnoff devicesipstereo_room
1_at_abc.com/gt ltmedia mediaaudiogt
ltaccept/gt lt/mediagt lt/addressgt
lt/address-switchgt lt/incominggt lt/lessgt
If the call from my boss
Turn off the stereo
Accept the call with only audio
trigger, switch, modifier, action
20LESS packages
- Use packages to group elements
email
web
im
conference
calendar
location
session
21When Tom is online,
- ltlessgt
- ltEVENTnotificationgt
- ltaddress-switchgt
- ltaddress is"siptom_at_example.com"gt
- ltEVENTevent-switchgt
- ltEVENTevent is"open"gt
- ltlocation url"siptom_at_example.com"gt
- ltIMim message"Hi, Tom"/gt
- lt/locationgt
- lt/EVENTeventgt
- lt/EVENTevent-switchgt
-
- lt/lessgt
22When I am in a movie theatre,
- ltlessgt
- ltincominggt
- ltlocation-switchgt
- ltlocation placetypequietgt
- ltalert soundnone vibrateyes/gt
- lt/locationgt
- lt/location-switchgt
- lt/incominggt
- lt/lessgt
23(No Transcript)
24(No Transcript)
25Conclusion and future work
- End systems can perform services
- Multi-function integration introduces new
services in end systems - Use LESS to program the new services
- More functions
- Gaming