170 likes | 294 Views
LEAD SPONSOR SIP 2003. A SIP-based Application Framework for Intelligent End-Points. Venkatesh Krishnaswamy Krishna Kishore Dhara. Outline. The need for an application framework Overview of proposed framework Description of IPTML Application Scenarios Related Work Status.
E N D
LEAD SPONSOR SIP 2003 A SIP-based Application Framework for Intelligent End-Points Venkatesh Krishnaswamy Krishna Kishore Dhara
Outline • The need for an application framework • Overview of proposed framework • Description of IPTML • Application Scenarios • Related Work • Status
SIP, ‘Intelligent’ End-Points and Apps • The promise of SIP: • Designed from the ground-up to support multiple media and modes of communication • Enabler for IP-based converged communication services • Realized through distribution of communication “intelligence”: • Routing through networks of proxies • Embedded within logic in Application Servers • Active participation of end-points • However: • Many applications benefit from fairly tight coupling between network-based app servers and end-points • Need more than SIP for deploying end user scenarios
Application Framework Overview Application Application Control S I P Call and Device Control Signaling and Negotiation
Application Framework • Provide means for SIP-connected peers to control application level behavior: • More interactive applications • Customizable to end-points with differing capabilities • More equitable distribution of intelligence between servers and ‘thin-client’ end-points • Through closer coupling across Application, Call/Device Control and Signaling planes: • Better optimizations for communications apps and devices • Easier to manage sessions that involve integration of user experience, call control and other communication context or device specific behavior • Using XML-based directives • Avoid downloading executables • End device flexibility with low network computing overhead
IPTML: IP Terminal Markup Language • XML dialect consisting of events and directives • Abstractions for terminal and call state; presentation and input; application extensions • Communicated as: • Attachments to SIP dialog requests and responses • Through SIP events • Out-of-band (through redirect and call-info header)
IPTML: IP Terminal Markup Language • Terminal state abstractions: • Terminal modeled as a network addressable entity – loosely corresponds to a URI • Terminal is a collection of ‘lines’ each of which can be in one of several defined line states • IPTML directives are used to request operations on lines • IPTML events are used to communicate changes of line state and other occurrences of interest. • I/O Abstractions: • Text and image display, Menus, LEDs, Tones/Sounds • Input: Text input via appropriate input device (keypad, keyboard, IR etc), Menu selection, Button presses • Application extensions: • Directives for vCard, vCal, WML and other objects
IPTML (contd). • Discovery of properties: • Terminal properties: Number of lines, media capabilities • I/O properties: Display capabilities, button configuration, supported input modes, supported tones • Supported extensions • Configurable parameters: • Servers (proxy, presence, registrar, others) • Identities (user name, display name) • Operation: • Peer-to-peer application level relationship identified by App ID (not session oriented). • IPTML content or URL carried as body in INVITE/200 ok, NOTIFY, INFO, MESSAGE • URLs in Redirect responses, Call-Info header
IPTML Example <iptml>…. <LineSelect app=“companion application” option=“strict”> <lineSetName>”sip:venky@avaya.com”</lineSetName> <lineNumber>0</lineNumber> </LineSelect> <Dial app=“companion application”> < lineSetName >”sip:venky@avaya.com”</ lineSetName > <lineNumber>0</lineNumber> <dialString>”sip:anyone@domain.com”</dialString> </Dial> </iptml>
IPTML Example (Contd). <iptml>…. <OutgoingCall app=“Companion Application”> < lineSetName >”sip:venky@avaya.com”</ lineSetName > <lineNumber>0</lineNumber> <displayName>”Venky Krishnaswamy”</displayName> <to>”sip:anyone@domain.com”</to> </OutgoingCall> </iptml> <iptml> <LocalError app=“Companion Application”> < lineSetName >”sip:venky@avaya.com”</ lineSetName > <lineNumber>0</lineNumber> <text>“Line Busy”</text> </LocalError> </iptml>
App Scenario 1: Phone/PC interworking • A PC ‘Companion App’ for a desktop SIP Phone • Control and monitor activity on phone set • Configure and administer phone set • Extend User Experience by overcoming UI limitations on phone device • Expanded speed dial lists • Custom alerts, graphics and other UI niceties • Build local call logs • Directory Integration • Integrate with PC apps • Synchronize to PIM, Calendar • Click-To-Dial
App Scenario 2: Multi-modal Interaction • Deliver text/graphics based menus from interactive app to end device during call session • Enhance (or replace) IVR • Example: Display-enhanced voice mail browsing • Display voice mail headers, vCards… • Playback, skip, rewind, pause, slowdown, speedup… • Context sensitive callback • Example: Web IVR • Alternative to voice mail • Click-To-Dial, Click-To-IM, Click-To-Notify integration for expanded and more interactive reach options • Personalizable by caller/called/time of day/subject etc.
App Scenario 3: Thin-client portal Applications • Deliver capabilities to inexpensive end-devices through an applications portal • Easier to install, upgrade, administer • Access to user environment from any device • Example: Presence-based buddy list • Server-based app executes logic for presence monitoring of buddies • Refreshes thin-client display or generates alerts • Integrate with native SIP/IM capabilities on device • Example: Administration of user preferences • Example: Multiple device management • Migrate or share sessions across devices • Automate presence reporting based on activity at one or more devices
App Scenario 4: PBX-like terminal behaviors • Group ringing • Synchronize line appearance selection, LEDs, tones • UI and Call Control for proprietary features • Server-based app executes logic for presence monitoring of buddies • Conference control UI • Localizations/translations • Support for terminals and devices can be separated from feature implementation
Related Work • CPL: • Framework for applications on servers; mainly addresses call routing • WTA: • Limited scripting framework that is closely tied to specific terminal functions • Very limited call control capabilities • VoiceXML: • Limited call control; addresses only voice modality • Call Leg Event Package: • SIP specific call states, no control, limited to monitoring changes in call states • No device control or application control features
Status • Initial definition on IPTML complete • Prototype applications • Companion Application that uses IPTML to remotely monitor and control a SIP Phone • Thin-client buddy list application on a SIP screen phone
Contact Venkatesh Krishnaswamy Director, IP Telephony Systems Realization Avaya Labs Research, Avaya Inc. Lincroft NJ mailto:venky@avaya.com tel:1 732 852 3146 sip:venky@avaya.com