1 / 21

SIPc, a Multi-function SIP User Agent

SIPc, a Multi-function SIP User Agent. Xiaotao Wu and Henning Schulzrinne. Background. End systems can perform more functions CPU, memory, big display Moore’s law Routing function in the network, the rest …… Service mobility vs. Direct user/device interaction P2P system

pspence
Download Presentation

SIPc, a Multi-function SIP User Agent

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIPc, a Multi-functionSIP User Agent Xiaotao Wu and Henning Schulzrinne

  2. Background • End systems can perform more functions • CPU, memory, big display • Moore’s 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

  3. Outline • Overview • Multi-function integration • Multi-function interaction • New service examples • Fail-safe handling • Location-based services • Ubiquitous computing • Emergency handling • Program end system services

  4. Overview of SIPc functions emergency configuration handling multimedia session setup presence network multicasted session information appliance control Email clients Web browsers Instant message Network appliance control Third party call control Real time streaming audio video Emergency handling 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 SIP: RFC 3261 SAP: RFC 2974 RTSP: RFC 2326 SDP: RFC 2327 RTP: RFC 1889 SLP: RFC 2608 SIP Event Notification: RFC 3265

  5. Evolving 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 RTP SDP MapLynx RTSP Instant messaging Session broadcasting SAP

  6. Interaction SIP SLP DO SLP SAP 3pcc SIP DO SIP location SDP location RTP RTP SIP SIP NOTIFY SIP location MESSAGE RTP RTSP

  7. Complementary communication methods Handle no disturbing service, phone spam filter

  8. Internet2 WG PIC trial SUBSCRIBE to my location NOTIFY myself and others’ locations PUBLISH presence status

  9. Ubiquitous 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 call UA2

  10. Service Scenario SIP Server Room 123 Hotel Front desk SLP Server Media streams Bluetooth Authenticate Call Use Location Resources Visitor Call Info Resource Info Home domain Register SIP and AAA server

  11. Emergency service Proprietary TCP-based protocol

  12. Automate 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 9:00AM 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)

  13. Choose a language • XML based languages • Easy to understand • Platform neutral • Independent of underlying programming languages • General programming languages: C/C++, Java, Perl • Not for non-programmers • Not easy to analyze • CCXML (W3C) • Call control support for dialog systems, such as VoiceXML systems • Cannot handle other Internet service events, e.g., presence events • Cannot perform the actions other than call control • SCML (JAIN forum) • Tied to the JAIN Java Call Control (JCC) API, with call model for network services. • CPL (IETF) • Designed for proxy servers, no end system actions, like ‘accept a call’ • Language for End System Services (LESS) • Extended from CPL, follow the tree-like structure • Provide more functions for end system services

  14. Simplicity • 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 trigger switches actions

  15. Decision tree • No loops • Limited variables • Not necessarily • Turing-complete

  16. Safety • 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.

  17. LESS snapshot incoming call <less> <incoming> <address-switch> <address is=“sip:myboss@abc.com"> <device:turnoff device=“sip:stereo_room1@abc.com”/> <media media=“audio”> <accept/> </media> </address> </address-switch> </incoming> </less> If the call from my boss Turn off the stereo Accept the call with only audio trigger, switch, modifier, action

  18. LESS packages SIP user agent SIP Device agent Presence agent Basic user agent presence Generic Media UI Event x10 vcr • Use packages to group elements im email web calendar conference session location

  19. When Tom is online, … <less> <EVENT:notification> <address-switch> <address is="sip:tom@example.com"> <EVENT:event-switch> <EVENT:event is="open"> <location url="sip:tom@example.com"> <IM:im message="Hi, Tom"/> </location> </EVENT:event> </EVENT:event-switch> ……… </less>

  20. When I am in a movie theatre, … <less> <incoming> <location-switch> <location placetype=“quiet”> <alert sound=“none” vibrate=“yes”/> </location> </location-switch> </incoming> </less>

  21. Conclusion 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

More Related