Sintetizzatore di voce in multilingua per Asterisk (motore Google
Transcript
Sintetizzatore di voce in multilingua per Asterisk (motore Google
Sintetizzatore di voce in multilingua per Asterisk (motore Google) Creato da P.M. Lovisolo - www.commercialista-online.net - email: [email protected] Dopo le mie precedenti guide su come installare Asterisk e FreePBX: http://www.lovisolo.com/asterisk.pdf, http://www.lovisolo.com/chan_mobile.asterisk.pdf http://www.lovisolo.com/configurazione.freepbx.pdf http://www.lovisolo.com/asterisk.google.pdf http://www.lovisolo.com/asterisk.skype.pdf ecco una breve guida su come installare il sintetizzatore gratuito di voce in Italiano e molte altre lingue per Asterisk, con utili esempi e soprattutto, in fondo all'articolo, un'applicazione per filtrare le telefonate indesiderate dei call centers. >> Prerequisiti aver gia' installato e configurato Asterisk 1.6.24 e FreePBX 2.8.1.5 sulla stessa macchina. > > Installazione sisntetizzatore di voce multilingue (base motore google) su - root wget https://github.com/downloads/zaf/asterisk-googletts/asterisk-googletts-0.6.tar.gz tar- zxvf asterisk-googletts-0.6.tar.gz cd asterisk-googletts-0.6 cp googletts.agi /var/lib/asterisk/agi-bin/ chmod 755 /var/lib/asterisk/agi-bin/googletts.agi Ecco fatto, il sintetizzatore e' pronto! Esempi: ora creiamo l'estensione 995 che ci leggera' il testo che andremo ad inserire: sudo nano /etc/asterisk/extensions_custom.conf all'interno inseriamo: exten => 995,1,Answer exten => 995,2,agi(googletts.agi,"Il motore di sintetizzazione della voce",it) exten => 995,3,agi(googletts.agi,"è stato installato",it) exten => 995,4,agi(googletts.agi,"Arrivederci e grazie.",it) exten => 995,5,HangUp salviamo con ctrl+x riavviamo FreePBX e Asterisk: sudo amportal restart ora possiamo chiamare l'interno 955 e ascoltare la sintetizzazione vocale sopra descritta. Altro esempio pratico per un semplice messaggio vocale di benvenuto e poi la chamata viene inoltrata all'interno 500: exten => 996,1,Answer exten => 996,2,agi(googletts.agi,"benvenuti nella mia ditta",it) exten => 996,3,agi(googletts.agi,"la chiamata sta per essere trasferita",it) exten => 996,4,agi(googletts.agi,"all'interno desiderato",it) exten => 996,5,agi(googletts.agi,"attendere,",it) exten => 996,6,Dial(local/500/n) exten => 996,7,Hangup Annuncio professionale in tre lingue per Asterisk Utilizzando la semplice procedura sopra descritta per il sintetizzatore vocale su Asterisk, ecco un annuncio assolutamente professionale in tre lingue (Italiano-donna, Inglese-uomo e Francesedonna). In questo specifico esempio, per semplicita' ho settato un interno (997), inoltrando una linea di ingresso del centralino verso questo interno, partono prima gli annunci vocali e poi la chiamata viene inoltrata al gruppo di squillo 600. Nota: sostituire i puntini ............... con il nome della vostra ditta. exten => 997,1,Answer exten => 997,2,Wait(1) exten => 997,3,agi(googletts.agi,"Benvenuti in .........",it) exten => 997,4,agi(googletts.agi,"La chiamata sta per essere trasferita",it) exten => 997,5,agi(googletts.agi,"Attendere prego",it) exten => 997,6,agi(googletts.agi,"Welcome to ........",en) exten => 997,7,agi(googletts.agi,"This call is being diverted",en) exten => 997,8,agi(googletts.agi,"Please old the line",en) exten => 997,9,agi(googletts.agi,"Bienvenue à la .....................",fr) exten => 997,10,agi(googletts.agi,"Nous recherchons votre corrispondant et vous assuron de tout nos effort pour reduir votre attent",fr) exten => 997,11,agi(googletts.agi,"Rester en ligne s'il vou plait ",fr) exten => 997,12,Goto(ext-group,600,1) >> Filtro antiscocciatori telefonici (call centers e indagini di mercato) Nota: con questo esempio, deviando la chiamata al numero 985, si attiva il filtro anticallcenters scocciatori. sudo nano /etc/asterisk/extensions_custom.conf all'interno inseriamo: [ivr-6] include => ivr-6-custom exten => h,1,Hangup exten => s,1,Set(MSG=) exten => s,n,Set(LOOPCOUNT=0) exten => s,n,Set(__DIR-CONTEXT=) exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT}) exten => s,n,Set(_IVR_CONTEXT=${CONTEXT}) exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin) exten => s,n,Answer exten => s,n,Wait(1) exten => s,n(begin),Set(TIMEOUT(digit)=3) exten => s,n,Set(TIMEOUT(response)=10) exten => s,n,Set(__IVR_RETVM=) exten => s,n,ExecIf($["${MSG}" != ""]?Background(${MSG})) exten => s,n,WaitExten(,) exten => hang,1,Playback(vm-goodbye) exten => hang,n,Hangup exten => 0,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 0,n,Set(__NODEST=) exten => 0,n,Goto(500,1) exten => 1,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 1,n,Set(__NODEST=) exten => 1,n,Goto(600,1) exten => 2,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) exten => 2,n,Set(__NODEST=) exten => 2,n,Goto(986,1) exten => i,1,Set(MSG=custom/tasto-errato) exten => i,n,Goto(loop,1) exten => t,1,Goto(loop,1) exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1]) exten => loop,n,GotoIf($[${LOOPCOUNT} > 3]?hang,1) exten => loop,n,Goto(ivr-6,s,begin) exten => return,1,Set(MSG=) exten => return,n,Set(_IVR_CONTEXT=${CONTEXT}) exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}}) exten => return,n,Goto(ivr-6,s,begin) ; ; end of [ivr-6] ; 985 filtro call centers – SPAM telefonico ; exten => 985,1,Answer exten => 985,2,agi(googletts.agi,"Benvenuti in .........",,it) exten => 985,3,Wait(1) exten => 985,4,agi(googletts.agi,"Per richieste di assistenza tecnica premere uno",it) exten => 985,5,agi(googletts.agi,"per proposte commerciali premere due",it) exten => 985,6,agi(googletts.agi,"per tutte le altre richieste premere zero",it) exten => 985,7,Goto(ivr-6,s,1) ; 986 messaggio per lo SPAM telefonico (quando selezionano il tasto 2) ; exten => 986,1,Answer exten => 986,2,agi(googletts.agi,"Non desideriamo ricevere proposte commerciali o partecipare ad indagini di mercato",it) exten => 986,3,agi(googletts.agi,"Vi chiediamo quindi di cancellare il nostro numero telefonico dai vostri archivi",it) exten => 986,4,agi(googletts.agi,"Grazie",it) exten => 986,5,Hangup salviamo con ctrl+x riavviamo FreePBX e Asterisk: sudo amportal restart Nota: premendo 1 la telefonata viene inoltrata all'interno 600, premendo 2 viene inoltrata al messaggio antispam telefonico e premendo = la telefonata viene inoltrata all'interno 500, in caso di mancata pressine di un tasto il messaggio viene ripetuto tre volte, poi la telefonata viene interrotta. Ricordarsi di abilitare anche il filtro per i numeri anonimi dal menu di FreePBX. Se nonostante il nostro filtro, gli operatori dei call centers fanno i furbi e premono il tasto 1 o lo O per bypassare il filtro fingendosi nostri clienti, allora il nostro “Vaffanculo” non glielo toglie nessuno!