a high-level, open-ended architecture for sip-based services
Transcription
a high-level, open-ended architecture for sip-based services
A HIGH-LEVEL, OPEN-ENDED ARCHITECTURE FOR SIP-BASED SERVICES Why a new approach is required ? Requirements Extensive knowledge required Traditional approach Strong requirements from telephony GPL API JAIN JAVA Scripting LCS SER module C# C CCXML CPL MSPL SER Asterisk conf. conf. Service composition Abstraction DSL Our approach LESS Easy learning State Management Abstraction Layer Few requirements Open-Ended Telephony properties ensured Protocol Abstraction Layer Service Moderator Service Management Unsafe programming language Technology dependant Service Logic Execution Environment Modules INVITE INVITE Minimal view of functionalities INVITE Web module INVITE INVITE Some details are not shown. It is the case of responses and ACK requests. Mail module Directory module Database module MRC module Service Logic Execution Environment REINVITE Suitable for developer needs Hot plugged Access controlled by administrator policy INVITE INVITE BYE BYE Our Architecture BYE Service Environment uninvite Module 1 BYE Module n MRC Registration Environment uninvite event can also be emitted when a SIP time-out occurs. Service Logic Execution Environment – (SLEE) Platform Events SIP Events Dialog Environment Protocol Abstraction Layer – (PAL) Protocol Abstraction Layer SIP Messages Abstraction on SIP Abstraction on call routing Service Abstraction Layer – (SAL) Platform Operations Service Moderator (SMO) Service Manager SIP Messages (SMA) SIP stack Abstraction Layers Service Abstraction Layer Automatic state management Abstraction on service life cycle Cleanup actions Hierarchical environment Internet Session-centric programming SIP Messages SIP Proxy Status: Current work & future plans SIP Stack Service Composition 1: processRequest 2: retrieveServices Service Moderator Development of this architecture in JAVA Based on JAIN SIP Development of modules: - Calendar - Address book - Multimedia Resource Controller Service Manager Multiple users Multiple services 3*[for each service]: run Protocol Abstraction Layer ► Undesirable → Conflict ► Desirable → Composition 4: run Service Logic Execution Environment Priorities between services are statically defined by users and administrator Experimental deployment at our university: ENSEIRB Future work: Feature Interactions Interactive Voice Recognition (IVR) module Laurent Burgy, Charles Consel, Fabien Latry, Nicolas Palix, Laurent Réveillère {burgy, consel, latry, palix, reveillere}@labri.fr INRIA / LaBRI / ENSEIRB, Department of Telecommunications Équipe Phoenix Domaine Universitaire 351, cours de la Libération 33405 Talence Cedex, France http://phoenix.labri.fr/