Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRavenna Rocchi Modificato 10 anni fa
1
Configurabilità del servizio Voicemail in Asterisk Università degli studi di Pisa Facoltà di Ingegneria Laurea specialistica in Ingegneria Informatica Relatori: Luigi Rizzo Marco Avvenuti Candidato: Gabriele Montori
2
Sommario Obiettivo: configurabilità dellapplicazione Voicemail per il software Asterisk Descrizione del funzionamento di un servizio di Voicemail Descrizione delle modifiche introdotte nella Voicemail di Asterisk Risultati e conclusioni
3
Il servizio Voicemail Che cosa è una Voicemail Distinzione tra utente e proprietario Lutente deposita messaggi vocali Il proprietario: –configura il servizio Voicemail –interagisce con la propria casella tramite il telefono
4
Voicemail lato utente Depositare messaggi in caso di destinatario: –Non connesso –Non disponibile –Attualmente occupato Risponditore automatico
5
Voicemail lato proprietario Possibilita' di configurazione del funzionamento del servizio Interazione con la segreteria: le voci guida dei menu' e le opzioni disponibili Operazioni a disposizione del proprietario sui messaggi presenti: –Riproduzione, eliminazione, inoltro, salvataggio –Reply, Callback –Servizi di personalizzazione
6
Obiettivo Scopo dellestensione: –Configurabilità della struttura dei menù e dei loro contenuti in opposizione alla staticita' dell'attuale servizio presente in Asterisk
7
Descrizione del lavoro svolto Introduzione di un file di configurazione per il funzionamento della voicemail La realizzazione dell'estensione ha portato all'introduzione per l'applicazione di: –Verifica dinamica della disponibilità delle opzioni nei menù –Creazione di un set di istruzioni per la navigazione tra menù –Raggruppamento delle operazioni del modulo in funzioni richiamabili tramite file di configurazione
8
Il file di configurazione [menu1] init = play('welcome') default = play('error') 1 = IF(${MSG_SELECTED}),play_msg(current) 2 = IF($(NOT_LAST_MSG)),play_msg(next) 3 = jump(IF(${MSG_SELECTED}),menu2,menu3) 4 = call(menu4) 5 = exit() [menu2] init = play('instr_menu2') 1 = save_to(WORK),jump(menu1) 2 = save_to(FAMILY),jump(menu1) [menu3] init = play('instr_menu3') 1 = change_folder(NEW),jump(menu2) 2 = change_folder(OLD),jump(menu2) [menu4] init = play('instr_menu4') 1 = return(1) 2 = IF(${MSG_SELECTED}),reply()
9
Il file di configurazione (2) Le azioni di init e di default Le voci di menu' sono realizzate con la funzione – play('file') Le istruzioni di salto permettono di muoversi tra menu' – call(),jump(),return() Le funzioni di modulo sono le operazioni svolte dalla voicemail – play_message(),change_folder(),save_to()
10
Le entry delle sezioni menù Associazioni tra comando impartito e operazioni da eseguire Sono composte da –Pattern –Condizioni (opzionali) –Lista di azioni pattern = IF(conditions),actions
11
Pattern Rappresenta l'input immesso dall'utente mediante la tastiera telefonica Algoritmo di ricerca longest match [menu_esempio_pattern] 1 = azione1,... 12 = azione2,... 123 = azione3,... 1234 = azione4,... pattern = IF(conditions),actions
12
Entry condizionate Abilitazione di una entry Dinamicità delle opzioni disponibili: pattern = IF(conditions),actions [menu_entry_condizionate] 1 = IF(condizione1),azione1... 1 = IF(condizione2),azione2,... 1 = IF(condizione3),azione3,... 1 = IF(condizione4),azione4,...
13
Entry condizionate (2) Condizioni che possono essere verificate sono di due tipi: –Variabili di canale –Funzioni di dialplan
14
Entry condizionate (3) Sono associate alla chiamata corrente Sono state aggiunte variabili di canale per supportare il funzionamento della Voicemail [menu_variabili_canale] 1 = IF(${MSG_SELECTED}),... Le variabili di canale
15
Entry condizionate (4) Routine di Asterisk messe a disposizione per eseguire operazioni runtime Varie tipologie di funzioni disponibili Esempio di utilizzo pattern = IF(VMCOUNT(${VM_ID}, OLD)),... Le funzioni di dialplan
16
Le azioni Lista composta da una o piu' azioni Le possibili azioni sono: –Funzionalità del modulo: le operazioni di una casella vocale –Routine di dialplan: funzioni di ogni tipo inerenti ad un pbx –Istruzioni di salto: navigazione tra menù pattern = IF(conditions),actions[, action,...]
17
Le azioni (2) Riproduzione file sonori: –play() Operazioni sui messaggi –play_msg() –forward_msg() –delete(), undelete() Le funzionalita' del modulo
18
Le azioni (3) Gestione delle directory di lavoro: –change_folder(), save_to() Risposte ai messaggi –callback(), reply() –Operazioni esterne: –dialout(), leave_mess() Le funzionalita' del modulo
19
Le azioni (4) Permettono di muoversi tra i menù Tipologie di salto: con o senza memoria Le disponibili realizzate sono: –call(menu) –return(n) –jump(condition,menu1,menu2) Le istruzioni di salto
20
Conclusioni Realizzazione di un servizio configurabile dal punto di vista di funzionamento e dal punto di vista di organizzazione delle strutture dei menù Possibile impiego come alternativa a soluzioni esistenti Possibile utilizzo al di fuori del contesto della semplice Voicemail
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.