loading
FullScreen Fecha y Hora: 28-Apr-2024 20:21 IP Pública: 13.59.195.118 Usuario: Público
30/Aug/2010 Instalar y configurar Festival en Asterisk 1.6.X

Instalar y configurar Festival en Asterisk 1.6.X

Printer-friendly versionSend to friendPDF version

Actualizado 12 Septiembre 2009

Como muchos de ustedes saben Festival en un TTS, es decir un sistema de síntesis de voz. Para que lo necesitamos en Asterisk? Si queremos crear menú de voz, saludos de bienvenida, leer archivos de texto, entonces si que lo necesitamos.

Para que Festival se integre en asterisk, antes de compilar la centralita tenemos que instalar dos paquetes:

yum install festival festival-devel

para averiguar que el modulo de festival esté correctamente cargado en asterisk, desde la consola de la centralita:

asterisk -rvvvvvvvvvvvvvvv

CLI> module unload app_festival
  == Unregistered application 'Festival'

CLI> module load app_festival
 == Parsing '/etc/asterisk/festival.conf':   == Found
== Registered application 'Festival'
Loaded app_festival => (Simple Festival Interface)

Si aparece algún tipo de error significa que el modulo no ha sido compilado y tenemos que volver a la compilación de Asterisk.

Festival viene con predefinido el idioma ingles. Para agregarle el idioma español hay que seguir estos pasos:

cd /usr/share/festival/voices

wget http://www.voztovoice.org/tmp/festival-spanish.zip

yum install unzip

unzip festival-spanish.zip

Ahora modificamos el archivo de configuración de festival

nano /usr/share/festival/festival.scm

añadimos estas líneas

;(language__spanish)
(set! voice_default 'voice_el_diphone)

    (define (tts_textasterisk string mode)
    "(tts_textasterisk STRING MODE)
    Apply tts to STRING. This function is specifically designed for
    use in server mode so a single function call may synthesize the string.
    This function name may be added to the server safe functions."
    (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
    (utt.wave.resample wholeutt 8000)
    (utt.wave.rescale wholeutt 5)
    (utt.send.wave.client wholeutt)))

Guardamos el archivo y modificamos el archivo de configuración de festival en asterisk:

nano /etc/asterisk/festival.conf

estas son la líneas que hay que modificar/activar

[general]
host=localhost
port=1314
festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n

Guardamos el archivo Ctrl-O Ctrl-X

Reiniciamos asterisk

/etc/init.d/asterisk reload

Para arrancar el servidor de Festival en automático ponemos esta línea en el archivo rc.local

nano /etc/rc.local

/usr/bin/festival_server

Ahora reiniciamos el servidor linux

reboot

Controlamos que el servidor festival esté corriendo:

 

Ahora vamos a añadir unas cuantas líneas en extensions.conf

nano /etc/asterisk/extensions.conf

exten => 650,1,Answer()
exten => 650,n,Festival(Asterisk y Festival trabajan junto. Chevere!!!)
exten => 650,n,Hangup()

Actualizamos el dialplan desde la consola

asterisk -rvvvvvvvvvvvvvvvvv

CLI> dialplan reload

Listo! Ahora desde un softphone conectado a la centralita marcamos la extensión 650. Escucharon algo? Si? Pues funcionaaaaa :)

Agradezco lo autores de este articulo que usé como guía.

Un saludo

 
 

Ip Pública 13.59.195.118
Navegador Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
País United States
Ciudad Columbus