E N D
Project Objectives A multi-function programmable SIP user agent for multimedia communications, such as audio, video, white board, desktop sharing, shared web-browsing, location-based services, networked appliance control. Multiple functions in the user agent can easily interact with each other in a programmable way to provide communication services.
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
Function overview 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
Function relationship 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
SIP SLP DO SLP SAP 3pcc SIP DO SIP location SDP location RTP RTP SIP SIP NOTIFY SIP location MESSAGE RTP RTSP
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 Program End System Services
Visualize services • 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)
SIP user agent SIP Device agent Presence agent Basic user agent presence Generic Media UI Event x10 vcr Packaging im email web calendar conference session location
Internet2 WG PIC trial SUBSCRIBE to my location NOTIFY myself and others’ locations PUBLISH presence status
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) SIPc SIP call UA2
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
Used in Emergency Services Envinsa Server sip : psap @ domain with location location sip : sos @ domain without location 911 GeoLynx IP Gateway Display DHCP Server ALI Server verified TCP Socket civil DHCP Inform Telephone location MAC Address DNS Server Number DNS Query Location HTTP SOAP SIP Proxy civil location Info geo location PSAP PSAP Info Info civil location ** geo location sip : sos @ domain 911 w / location or 112 w / out location IP Network Internet SIP Proxy POTS / Wireless Network Emergency Call Center Prototype Architecture Call Flow
Project information http://www.cs.columbia.edu/IRT/sipc Internet Real-Time Lab (IRT)