Instalar y Configurar Cepstral text-to-speech (texto-a-audio) en Asterisk para monitorear A2Billing por IVR


Desde la versión 1.7.1 de A2Billing se incluye un nuevo módulo AGI que permite el monitoreo del sistema A2Billing mediante un IVR (aplicación interactiva de respuesta mediante voz). Esta nueva característica es muy útil si queremos estar al tanto del estado de nuestra plataforma VoIP desde cualquier lado donde nos encontremos, accediendo directamente desde una de nuestras extenciones o cuentas creadas en la plataforma.Para que esta nueva característica funcione requerimos de soporte a la funcionalidad de text-to-speech (texto-a-audio) o TTS en sus siglas abreviadas, para eso podemos instalar el motor TTS por defecto que es CEPSTRAL.

#cd /root
#wget http://downloads.cepstral.com/cepstral/i386-linux/Cepstral_Marta_i386-linux_5.1.0.tar.gz
#tar -zxvf Cepstral*
#cd
Cepstral_Marta_i386-linux_5.1.0

#./install.sh

Despues que leas la licencia, dale Yes para instalar las voces en tu sistema. Acepta el destino por defecto para la instalación. Cuando la instalación termine ejecuta el siguiente comando.

#echo /opt/swift/lib > /etc/ld.so.conf.d/cepstral.conf
#ldconfig

Esto agrega la voz Cepstral_Marta en /opt/swift/voices/
Puedes descargar otras voces desde http://www.cepstral.com/cgi-bin/downloads?type=1143746987

Despues de instalar las distintas voces, puedes ver que voces estan instaladas con:

#ls /opt/swift/voices

Lo siguiente es instalar otra pieza importante para que Cepstral funcione correctamente con Asterisk apt-swift

#cd /usr/src
#wget http://pbxinaflash.net/source/app_swift/app_swift-1.4.2.tar.gz
#tar -zxvf app_swift*
#rm *.gz
#cd app_swift-1.4.2
#make
#make install

Finalmente hay que crear un link simbólico que indique a Cepstral que voz usará Asterisk para reproducir nuestros comandos, seguido a esto reiniciamos Asterisk, se asume que la voz a utiliar es Marta-8kHz.

#ln -s /opt/swift/bin/swift /usr/bin/swift
#sed -i 's|Marta-8kHz|' /etc/asterisk/swift.conf
#amportal restart

Para probar Cepstral en tu dialplan, primero revisa que todo este correctamente configurado de nuevo para funcionar con Asterisk, y ejecuta el siguiente comando.

#asterisk -rx "core show application swift"

Te debe salir algo parecido a esto:

-= Info about application ‘Swift’ =-

[Synopsis]
Speak text through Swift text-to-speech engine.

[Description]
Swift(text) Speaks the given text through the Swift TTS engine.
Returns -1 on hangup or 0 otherwise. User can exit by pressing any key.

Para ver la funcionalidad en acción puedes editar el archivo/etc/asterisk/extensions_custom.conf y modificar la marcación 1234 por defecto:

#vi /etc/asterisk/extensions_custom.conf

exten => 1234,1,Playback(demo-congrats)
exten => 1234,2,Hangup()
exten => h,1,Hangup()

para que quede de esta forma:

;exten => 1234,1,Playback(demo-congrats)
exten => 1234,1,Swift(Felicidades! Haz instalado Cepstral.)
exten => 1234,2,NoOp(Key pressed: ${SWIFT_DTMF})
exten => 1234,3,Swift(You pressed ${SWIFT_DTMF}. Adios.)
exten => 1234,4,Hangup()
exten => h,1,Hangup()

Marcando 1234 desde alguna extensión deberas escuchar los mensajes programados.

Antes de terminar no se te olvide dos cosas, la primera activar la funcionalidad de monitor_ivr en el A2Billing desde system config, la segunda registrar las voces por tan solo 30 USD con el siguente comando:

#swift --reg-voice

If you’ve made it this far with no hiccups, it’s probably time to cough up your 30 bucks and make the nag messages disappear. (HINT: Read all of the comments, and you might save some money.) Keep in mind that it’s $30 per simultaneous connection using Cepstral! If you’re an application designer, you probably need to keep this in mind. It doesn’t tie up your Cepstral voice very long to read a sentence. But reading a 7-day weather forecast is another matter. For the latter type application, it makes more sense to conserve your voice licenses by quickly generating a .wav file with Cepstral and then releasing the Cepstral engine. The same applies with IVR applications. Using Cepstral is the same PHP syntax as flite except you substitute the swift command, e.g. system(“swift -f $inputfile -o $outputfile”). You then can play back the .wav file using other tools within Asterisk. Now go to this link to pay the piper. Be sure you select U.S. English language, Allison-8kHz voice, and Linux platform before you check out, or it’s money down the drain. Write down the name, company (optional), and key that is issued once you fill in the blanks. Then it’s back to your PBX in a Flash system as root and enter the following command. Note: it’s two hyphens before the word reg-voice.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s