- 222 KB
Transcript
“ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” PROGETTO V.O.C.I. HOWTO “IVR RUBRICA TELEFONICA E MENU DI GESTIONE DELLE CHIAMATE” N O M E D A T A F I L E : A T T I V I T À U R L Asterisk_IVR_Rubrica_e_Menu_Gestione_Chiamate.doc 15/09/2009 : S T A T O : : : A U T O R E / I : Gruppo VoIP ABSTRACT: Il presente documento contiene l’howto relativo all’implementazione di un IVR, di una rubrica telefonica e di un menù di selezione basato su IVR per la gestione automatizzata delle chiamate. ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 1/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” INDICE INTRODUZIONE............................................................................................................................... 3 1. IMPLEMENTAZIONE DI UN IVR............................................................................................... 4 2. IMPLEMENTAZIONE DI UNA RUBRICA TELEFONICA CON SELEZIONE DEL DESTINATARIO IN FORMA DI IVR PER LA PRESENTAZIONE DI CONTATTI MULTIPLI ........... 9 3. IMPLEMENTAZIONE DI UN MENU DI GESTIONE DELLE CHIAMATE................................. 12 ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 2/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” INTRODUZIONE Il documento contiene l’howto relativo all’implementazione di un IVR, di una rubrica telefonica e di un menù di selezione basato su IVR per la gestione automatizzata delle chiamate. Un IVR (Interactive Voice Response) consente di definire delle strutture in forma di “menù di selezione” per la gestione automatizzata delle chiamate ad esempio in caso di mancata registrazione SIP del chiamato o in caso di mancata risposta alle chiamate entranti. E’ possibile creare degli IVR usando le applicazioni disponibili in Asterisk oppure definendone nuove. Gli IVR possono essere composti da contesti oppure solo da estensioni. Le configurazioni allegate possono essere applicate alle release Asterisk “1.2.X, 1.4.X, 1.6.X”. ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 3/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” 1. IMPLEMENTAZIONE DI UN IVR La combinazione dei contesti e delle funzioni native di Asterisk si presta alla generazione di strutture definite tradizionalmente “risponditori automatici”. Si tratta, nell’esempio realizzato, di una disposizione ad albero comprensiva di due sezioni: una appositamente creata per la lingua inglese, l'altra per l'italiano. In ciascun "sottomenu" sono state previste cinque funzionalità come illustrato in Figura 1. Questo è un esempio di IVR realizzato nella Direzione GARR; i pattern ed i file audio sono stati creati appositamente. Occorre precisare che in questo howto è contenuta anche una implementazione per le opzioni evidenziate in rosso presenti nell’albero di Figura 1. Figura 1 Struttura del menù IVR Per fini grafici le sottovoci “3.Ora di sistema”, “4.Registrazione e riproduzione frase”, “5.per test eco”, sono state raggruppate, relativamente alla sezione “Inglese” in un unico macro blocco. Sono possibili varie soluzioni di conversione "text-to-speech" allo scopo di creare audio guide per la notifica al chiamante delle tipologie di servizi disponibili e dei relativi numeri di accesso ad essi associati. L’introduzione di audio, all’interno del menu IVR, è stata eseguita testando la soluzione Festival. Si tratta di un sintetizzatore Text to Speech sviluppato dalla Soluzione alternativa, è stata la registrazione tramite Asterisk di audio prodotto da sintetizzatori esterni. Nel dialplan è possibile inserire la seguente porzione di codice. … exten => 300,1,Record(/tmp/asterisk-recording%d:gsm); press # to stop recording exten => 300,n,Wait(2) exten => 300,n,Hangup() Tabella 1 Estratto del file extensions.conf ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 4/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” Con essa è possibile eseguire la registrazione di audio con formato “gsm”. Il bisogno di registrare più di un messaggio, ha giustificato l’introduzione della opzione “%d” nel nome del file creato da Asterisk, contenente l’audio rilevato. Si introduce, in questo modo, una sezione automaticamente aggiunta costituita da un numero progressivo, all’interno del nome file. L’introduzione di istruzioni “playback(path del file)“ all’interno dell’IVR oppure “background(path del file)“ permette l’impiego dei file precedentemente creati. La differenza consiste nella possibilità, permessa dalla funzione “background”, di digitare toni durante l’ascolto. In Tabella2 è allegato l’estratto del file “extensions.conf” relativo all’IVR. [IVR menu] include => full-capabilities ;menu - 1 ITALIANO, 2 INGLESE exten => 3098,1,Verbose("${SIPDOMAIN}dominio,${ASTERISK_IP},ipasterisk,"${SIPDOMAIN}"="${ASTERIS K_IP}"||"${SIPDOMAIN}"="${ASTERISKBal_IP}"||"${SIPDOMAIN}"="${ASTERISK_IPVOIP1}", "${SIPDOMAIN}"="${ASTERISK_Domain}"||"${SIPDOMAIN}"="${ASTERISKBal_Domain}"||"${ SIPDOMAIN}"="${Asterisk_DomainVOIP1}"||"${fromH323}"="true"i") exten => 3098,n,GotoIf($["${SIPDOMAIN}"="${ASTERISK_IP}"||"${SIPDOMAIN}"="${ASTERISKBal_IP}"| |"${SIPDOMAIN}"="${ASTERISK_IPVOIP1}"||"${SIPDOMAIN}"="${ASTERISK_Domain}"||"${S IPDOMAIN}"="${ASTERISKBal_Domain}"||"${SIPDOMAIN}"="${Asterisk_DomainVOIP1}"||"${fr omH323}"="true"||"${DaPSTN}"="true"]?channeldial6:uridial6) exten => 3098,n(channeldial6),Set(CHANNEL(language)=it) exten => 3098,n,Answer() exten => 3098,n,Playback("beep") exten => 3098,n,Background(/root/applicativiAsterisk/Suoni/scelta1itintro) exten => 3098,n,Background(/root/applicativiAsterisk/Suoni/scelta1itintroIT) exten => 3098,n,Background(/root/applicativiAsterisk/Suoni/scelta1itintroEN) exten => 3098,n,WaitExten() exten => 3098,n,Verbose(1|"IVR menu principale") exten => 3098,n(uridial6),Macro(uridial,${EXTEN}@${SIPDOMAIN}) exten => t,1,Goto(IVR menu,3098,1) exten => 1,1,Goto(IVR menu IT,300,1) exten => 2,1,Goto(IVR menu EN,400,1) [IVR menu IT] include => full-capabilities ;include => VoiceMail exten => 300,1,Set(CHANNEL(language)=it) ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 5/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => 300,n,Background("beep") exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/salve) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/scelta1itintro) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/uno) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/due) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/tre) exten => 300,n,Playback(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/quattro) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/stopreg) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/cinque) exten => 300,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/it/sei) exten => 300,n,Verbose(1|"IVR menu ITALIANO") exten => 300,n,WaitExten() ;Interno exten => 1,1,Background("vm-enter-num-to-call") exten => 1,n,Playback("beep") exten => 1,n,WaitExten() ;Directory ;exten => 2,1,Macro(dialbyname,"b") ;b = chiamata per cognome [prime tre lettere] exten => 2,1,Macro(dialbynameIVR,"b") exten => 2,n,Playback("beep") exten => 2,n,Background("auth-tankyou") exten => 2,n,Goto(IVR menu300,1) ;Ora Esatta exten => 3,1,SayUnixTime() exten => 3,n,Background("auth-thankyou") exten => 3,n,Goto(IVR menu,300,1) ;record exten => 4,1,Wait(2) ; Record new Sound Files exten => 4,n,Record(/tmp/asterisk-recording:gsm) ; Press # to stop recording exten => 4,n,Wait(2) exten => 4,n,Playback(/tmp/asterisk-recording) ; Listen to your voice exten => 4,n,wait(2) exten => 4,n,Goto(IVR menu,300,1) ;Echo Test exten => 5,1,Echo() exten => 5,n,Wait(10) exten => 5,n,Hangup() ; cattura comportamenti differenti dai previsti exten => t,1,Goto(IVR menu IT,300,1) ; in caso di timeout (“t”) exten => 6,1,Background("auth-thankyou") ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 6/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => 6,n,Hangup() ;************************************************************************ [IVR menu EN] include => full-capabilities ;include => VoiceMail exten => 400,1,Set(CHANNEL(language)=en) exten => 400,n,Playback("beep") exten => 400,n,Verbose(1|"IVR menu INGLESE") exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/hi) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/one) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/two) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/three) exten => 400,n,Playback(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/four) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/stopregen) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/five) exten => 400,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suoniIVR/en/six) exten => 400,n,WaitExten() ;Interno exten => 1,1,Background("enter-ext-of-person") exten => 1,n,Playback("beep") exten => 1,n,WaitExten() ;Director exten => 2,1,Set(CHANNEL(language)=en) exten => 2,n,Set(GLOBAL(in_inglese)=yes) exten => 2,n,Macro(dialbynameIVR,"b") exten => 2,n,Background("auth-tankyou") exten => 2,n,Goto(IVR menu300,1) ;Ora Esatta exten => 3,1,SayUnixTime() exten => 3,n,Background("auth-thankyou") exten => 3,n,Goto(IVR menu,400,1) ;record exten => 4,1,Wait(2) ; Record new Sound Files exten => 4,n,Record(/tmp/asterisk-recording:gsm) ; Press # to stop recording exten => 4,n,Wait(2) exten => 4,n,Playback(/tmp/asterisk-recording) ; Listen to your voic exten => 4,n,wait(2) exten => 4,n,Goto(IVR menu,400,1) ;Echo Test exten => 5,1,Echo() ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 7/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => 5,n,Wait(10) exten => 5,n,Hangup() ; cattura comportamenti differenti dai previsti exten => t,1,Goto(IVR menu EN,400,1) ; in caso di timeout (“t”) exten => 6,1,Playback("auth-thankyou") exten => 6,n,Hangup() Tabella 2 IVR introdotto nel file “extensions.conf” ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 8/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” 2. IMPLEMENTAZIONE DI UNA RUBRICA TELEFONICA CON SELEZIONE DEL DESTINATARIO IN FORMA DI IVR PER LA PRESENTAZIONE DI CONTATTI MULTIPLI Nella sezione precedente è presente la funzione “Directory”. Essa consente di chiamare un’estensione digitando le prime tre lettere del cognome della persona cercata. In caso di corrispondenza di più contatti telefonici con le lettere digitate, sono presentate in sequenza tutte le alternative disponibili. La selezione di quella desiderata va eseguita digitando il tasto “1”. In caso contrario, è possibile proseguire digitando il tasto “*”.Questa funzione può essere usata al fin di creare un semplice IVR per la gestione di contatti legacy associati bi univocamente a contatti VoIP. La configurazione commentata in seguito consente ad Asterisk di presentare al chiamante gli interni “fisso”,“VoIP” associati al cognome desiderato invitando alla selezione di quello desiderato. A questo punto la chiamata prosegue secondo la selezione fornita. La configurazione è riferita alla struttura di Figura 2 ed è valida anche in presenza di connessioni dirette tra Asterisk e rete PSTN (Public Switched Telephone Network) con PBX (Private Branch Exchange) connesso alla PSTN (Public Switched Telephone Network) attraverso Asterisk. Figura 2 Architettura di riferimento In Figura 2 i telefoni legaci e quelli IP hanno numeri differenti solo per la prima cifra (es. per i legaci i numeri interni sono “2XXX” e per gli IPPhone “3XXX”). La configurazione di Asterisk per implementare questa logica può richiedere la associazione tra l’estensione chiamata dalla funzione “Dialbyname” ed una macro presente all’interno del dialplan. Stabilito l’utente desiderato tramite selezione del cognome, Asterisk genera una chiamata SIP verso l’estensione telefonica associata, nel file “voicemail.conf”, alla coppia “Nome Cognome” scelta 1 . Al fine di aggiungere una seconda fase di selezione del contatto telefonico, sono stati previsti nel dialplan un pattern ed una macro appositi. Il pattern é allegato in Tabella 2 1 Il file “voicmemail.conf” come spiegato nella sezione ”Segreteria telefonica e servizio email” permette di associare: Cognome<->Nome Cognome<->numero di casella vocale<->PIN<->indirizzo_email di ciascun utente. ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 9/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => _1[05]XX,1,Verbose(1|"Call for ${DB(cidname/${EXTEN})}") exten => _1[05]XX,n,Set(GLOBAL(NumeroEstensione)=${EXTEN}) exten => _1[05]XX,n,Verbose(1|"Esecuzione interno") exten => _1[05]XX,n,GotoIf($["${SIPDOMAIN}"="${ASTERISK_IP}"||"${SIPDOMAIN}"="${ASTERISKBal_I P}"||"${SIPDOMAIN}"="${ASTERISK_IPVOIP1}"||"${SIPDOMAIN}"="${ASTERISK_Domain}"| |"${SIPDOMAIN}"="${ASTERISKBal_Domain}"||"${SIPDOMAIN}"="${Asterisk_DomainVOIP1}"| |"${fromH323}"="true"||"${SIPDOMAIN}"="${ASTERISKBal_IP}"||"${DaPSTN}"="true"]?channeld ialIVR:uridial1) exten => _1[05]XX,n(channeldialIVR),Macro(channeldialIVR,${EXTEN}) exten => _1[05]XX,n,Hangup() exten => _1[05]XX,n(uridial1),Macro(uridial,${EXTEN}@${SIPDOMAIN}) Tabella 3 Pattern di redirezione dal servizio “Dialbyname” verso la macro di chiamata Il pattern cattura tutte le chiamate generate dalla funzione “Directory”. Le funzioni ad esso associate eseguono il controllo della componente “SIPDOMAIN” al fine di stabilire se la chiamata debba essere inoltrata verso server esterni. In caso di chiamata verso utenti interni, la chiamata é gestita invocando la macro “channeldialIVR” allegata in Tabella 4. [macro-channeldialIVR] exten => s,1,Verbose(1|"Ingresso del sistema IVR ${ARG1}") exten => s,n,Set(GLOBAL(chiamato_IVR)=${ARG1}) exten => s,n,Verbose(1|"${in_inglese}") exten => s,n,GotoIf($[${in_inglese}=yes]?en:it) exten => s,n(en),Set(CHANNEL(language)=en) exten => s,n,Background(/root/applicativiAsterisk/Suoni/internoEN) exten => s,n,Background(/root/applicativiAsterisk/Suoni/interno_fissoEN) exten => s,n,SayDigits(2${ARG1:1}) exten => s,n,Background(/root/applicativiAsterisk/Suoni/interno_voipEN) exten => s,n,SayDigits(3${ARG1:1}) exten => s,n,Background(/root/applicativiAsterisk/Suoni/selezionareEN) exten => s,n,Verbose(1|"$${chiamato_IVR}") exten => s,n,Goto(gestioneutenzeIVR,s,1) exten => s,n(it),Background(/root/applicativiAsterisk/Suoni/interno) exten => s,n,Background(/root/applicativiAsterisk/Suoni/interno_fisso) exten => s,n,SayDigits(2${ARG1:1}) exten => s,n,Background(/root/applicativiAsterisk/Suoni/interno_voip) exten => s,n,SayDigits(3${ARG1:1}) exten => s,n,Background(/root/applicativiAsterisk/Suoni/selezionare) exten => s,n,Background(/root/applicativiAsterisk/Suoni/selezionare1) exten => s,n,Verbose(1|"$${chiamato_IVR}") exten => s,n,Goto(gestioneutenzeIVR,s,1) exten => t,1,Macro(channeldialIVR,${ARG1}) exten => i,1,Hangup() [gestioneutenzeIVR] exten => s,1,Wait(1) ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 10/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => s,n,Background("beep") exten => s,n,WaitExten() exten =>_[1 2],1,Goto(gestioneutenzeIVR,${EXTEN},1) exten => 1,1,Goto(full-capabilities,2${chiamato_IVR:1},1) exten => 2,1,Goto(full-capabilities,3${chiamato_IVR:1},1) Tabella 4 Macro di gestione delle chiamate provenienti dalla funzione “dialbyname” La macro genera le notifiche audio dei numeri telefonici associati alla estensione chiamata. Data la corrispondenza esistente tra i piani di numerazione fisso “legacy” e “VoIP”, gli interni sono automaticamente generati tramite espressioni parametriche. La gestione della chiamata prosegue sulla base della logica implementata nel contesto “[gestioneutenzeIVR]”. In esso, sono previste due semplici redirezioni al contesto “full-capabilities” per l’esecuzione delle “Dial” sui canali corrispondenti alla selezione “legacy/VoIP” eseguita dall’utente. ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 11/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” 3. IMPLEMENTAZIONE DI UN MENU DI GESTIONE DELLE CHIAMATE La gestione delle chiamate entranti nel sistema Asterisk può essere automatizzata prevedendo la presentazione di un menù di scelta al chiamante in caso di non disponibilità (utente non registrato, occupato, problemi sulla connessione VoIP) del chiamato. In Figura 3 é mostrato uno schema logico relativo alle interazioni definite, tramite IVR, tra il server Asterisk ed il “chiamante” con riferimento all’architettura illustrata in Figura 2. La configurazione spiegata è un esempio di gestione delle chiamate entranti che può essere impiegato in presenza di piani di numerazione VoIP associati a numeri legacy PSTN come quello definito per la Direzione GARR nel quale esiste un’associazione biunivoca tra gli interni “legacy” e quelli “VoIP”. Figura 3 Diagramma logico delle interazioni tra Asterisk ed il “chiamante” La variabile “DialStatus” è automaticamente compilata da Asterisk configurandola con il valore relativo allo stato della chiamata in corso. Il suo controllo risulta sufficiente per il livello di dettaglio proposto per l’howto. [macro-chiama_interni] ;; ${ARG1} deve contenere il numero telefonico dell’interno da chiamare Exten => s,1,Verbose(1|“Macro di gestione delle chiamate dirette agli interni“) exten => s,n,Dial(SIP/${ARG1},20,t) exten => s,n,Verbose(1|"valore dialedtime"${DIALEDTIME}*********${DIALSTATUS}) exten => s,n,GotoIf($[${DIALSTATUS}=NOANSWER|${DIALSTATUS}=CHANUNAVAIL]?sNOANSWERorCHANUNAVAIL,1) exten => s,n,GotoIf($[${DIALSTATUS}=BUSY]?s-BUSY,1) exten => s,n,Hangup() exten => s,n,MacroExit() ; Accede al menu di selezione del comportamento da assumere nel caso in cui il chiamato non avesse risposto (lasciato squillare a vuoto) oppure sia non registrato ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 12/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => s-NOANSWERorCHANUNAVAIL,1,Macro(selezioneInoltro,${ARG2}) ; Accede alla voicemail riservata (utente occupato) exten => s-BUSY,1,Voicemail(${ARG1}@default,b) exten => s-BUSY,n,Return Tabella 5 Estratto del file extensions.conf La configurazione del file “extensions.conf” allegata in Tabella 5 fa riferimento alla impostazione, presente per ciascun utente, all’interno del file “voicemail.conf” descritto nel seguito (Segreteria telefonica e servizio e-mail). La macro di gestione in forma di IVR é allegata in Tabella2. Un IVR consente gestioni automatizzate delle chiamate entranti in seguito alla presentazione di un menù di selezione ed all’acquisizione di una scelta. Sulla base di questa, il sistema avvia la esecuzione di una o più operazioni in forma automatizzata. La logica di implementazione di un IVR prevede quindi due sezioni: una prima dedicata alla presentazione delle voci di menù, la seconda di “rilevazione” e “gestione” della selezione ricevuta dall'utente. In questo howto sarà mostrato un esempio di IVR prodotto per la presentazione al chiamante di due sole opzioni relative alla prosecuzione della chiamata: 1. su segreteria telefonica, 2. su interno legacy. La gestione é riferita ad una macro. Si tratta di un contesto nel quale é definita una logica che può essere invocata da varie estensioni o contesti nel dialplan. [macro-selezioneInoltro] exten => s,1,Verbose(1|"${ARG1}") exten => s,n,Background("beep") exten => s,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suonigestione/primo) exten => s,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suonigestione/secondo) exten => s,n,Background(/root/applicativiAsterisk/Suoni/SUONIDIALPLAN/suonigestione/terzo) exten => s,n,Set(GLOBAL(InternoLegacy)=2${ARG1:1}) exten => s,n,WaitExten() exten =>_[1 2],1,Goto(gestioneutenze,${EXTEN},1) exten => t,1,Macro(selezioneInoltro,${ARG1}) exten => i,1,Hangup() [gestioneutenze] exten => 1,1,Set(CHANNEL(language)=it) exten => 1,n,Verbose("1|${vmbox}") exten => 1,n,Voicemail(${vmbox}@userAsterisk,u) exten => 1,n,Playback("auth-thankyou") exten => 1,n,Hangup() exten => 2,1,Dial(DAHDI/g1/${InternoLegacy},30,g) exten => 2,n,GotoIf($[${DIALSTATUS}=CONGESTION]?dial2:chiusura) exten => 2,n(dial2), Dial(SIP/${InternoLegacy}@secondary_SIP_server,40,kKtTg) exten => 2,n,Playback("auth-thankyou") ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 13/14 “ASTERISK IVR RUBRICA TELEFONICA E MENU GESTIONE CHIAMATE” exten => 2,n(chiusura),Hangup() Tabella 6 Estratto del file extensions.conf relativo alla macro di gesitone in forma di IVR La macro allegata consente di presentare al chiamante un menù a due selezioni: 1. inoltro al servizio di segreteria telefonica, 2. chiamata dell'interno legacy associato al chimato. La implementazione presenta l'espressione “2${ARG1:1}” con la quale dall'interno VoIP fornito alla macro in forma di argomento (${ARG1}), é calcolato il numero dell'interno legacy ad esso corrispondente. In questo howto si assume che al numero “VoIP” “${ARG1}” sia biunivocamente associato quello legacy “2${ARG1:1}”. Il contesto prevede inoltre un esempio di “fallback” su un eventuale server secondario nel caso in cui il canale DAHDI non potesse essere impegnato. Anche in questo caso, i file audio, le associazioni legacy-VoIP mostrate corrispondono alla configurazione prodotta in ambito del progetto V.O.C.I.; analoghi file vanno prodotti per la propria architettura ad esempio con sintetizzatori “text to speech”. ASTERISK_IVR_RUBRICA_E_MENU_GESTIONE_CHIAMATE 14/14
Documenti analoghi
Procedura configurazione Voip Olimontel Asterisk PBX
Il Range di IP utilizzati da Olimontel VOIP sip2.olimontel.it è 77.239.128.0/24, sia per
l’audio che per le segnalazioni.
Il servizio con login utilizza IP 77.239.128.7, mentre le selezioni passant...
Asterisk - Voicee.net
I numeri [03] nelle parentesi quadre servono a far uscire Asterisk con il nostro account voip solo nel caso
le prime cifre del numero siano 0 (per tutti i fissi italiani e prefissi internazionali) ...
- 85 KB
1.1. Configurazione basata sulla variabile “DialStatus”
Le istruzioni da inserire rispetto quelle presenti nella sezione WEB1, sono evidenziate in grassetto.
L'estratto consente la configurazione d...
asterisk configurazione euteliavoip
GESTIONE CHIAMATE USCENTI DALLE LINEE VoIP......................................................4
GESTIONE CHIAMATE ENTRANTI............................................................................
- 94 KB
exten => my_exten,n,Dial(SIP/${EXTEN}@server,10)
exten => my_exten,n,Hangup()
exten => my_exten,n(nonconsentito),Background(/root/suoniAst/gr_rifiuta)
exten => my_exten,n,Hangup()
Tabella 1 Estratt...
Esercitazione di laboratorio su Asterisk
exten => nome,priorità,applicazione()
• nome: è l’identificativo di un terminale SIP (stringa o classico numero
di telefono).
• priorità: è un numero intero che identifica il “passo” dell’esten...
Esercitazione di laboratorio su Asterisk Marco Romagnoli, Davide
Quando arriva una chiamata su asterisk al numero (estensione) 123, viene
eseguito il primo passo del dialplan: l’utente sentirà il messaggio “Helloworld”. Al
termine del messaggio asterisk esegu...