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/

Documents pareils