Go to Top
Icono de web - Avanzada 7

HowTo Newsletter 8/2012 (Verbio-Continuacion)

... [CONTINUACION del HowTo Verbio + Asterisk] ...


digium_asterisk_certified-Avanzada 7

Verbio dialplan applications for Asterisk.

 Aplicaciones Verbio sobre Asterisk.

Índice

  1. Fichero de configuración 'verbio.conf'.
  2. Descripción de las diferentes aplicaciones.
    1. VerbioLoadVcb
    2. VerbioUnloadVcb
    3. VerbioRec
    4. VerbioPrompt
    5. VerbioPromptAndRec
    6. VerbioStreamAndRec
    7. VerbioLastErr
    8. VerbioInfo
    9. VerbioFreeChannel
  3. Ejemplo de uso de las aplicaciones Verbio en Asterisk.
  4. Carga y descarga de las aplicaciones Verbio en Asterisk.

Nota: si todavía no ha realizado la instalación de las aplicaciones Verbio, es recomendable que se lea el documento INSTALL.


1 - Fichero de configuración 'verbio.conf'

Este fichero reside en: '/etc/asterisk'

Las opciones más importantes a configurar son:

Nota: Las opciones marcadas con '(X)', dependerán de los paquetes Verbio instalados en la máquina donde corre el servidor de síntesis y/o reconocimiento.

Sección [general]
- primary_vox_server : ip de la máquina donde corre verbiod.

Sección [tts]
- default_language   : Lenguaje por defecto del sintetizador de voz.(X)
- default_speaker    : Locutor por defecto del sintetizador de voz. (X)
- text_prompts_path  : Ruta (por defecto) de los prompts de texto.

Si no queremos iniciar el tts, deberemos dejar 'default_language' comentado.

Sección [asr]
- default_config     : Configuración por defecto del reconocimiento.(X)
- default_language   : Lenguaje por defecto del reconocimiento.     (X)
- grammar_path         : Ruta por defecto de las gramáticas.

Si no queremos iniciar el asr, deberemos dejar 'default_config' comentado.

Como ejemplo, el siguiente fichero de configuración es válido para una instalación la cual disponga, al menos, de los siguientes paquetes Verbio instalados:

* verbio-engines  (Motores de síntesis y reconocimiento)
* verbio-clients  (Librerías de desarrollo)
* verbio-asr-es   (Reconocimiento español)
* verbio-tts-esao (Locutora española Laura)

;;;;;;;;;;;;;; verbio.conf ;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Verbio ASR and TTS engines Configuration
;
;;;;;;;;;;;;;;;;;;;;;;
;  General options   ;
;;;;;;;;;;;;;;;;;;;;;;
[general]
;
; Primary Voxserver (default: 127.0.0.1)
;
primary_vox_server     = 127.0.0.1

;
; Backup voxserver
;
backup_vox_server     = 127.0.0.1

;
; Network Timeout (seconds)
; default 5
;
net_timeout         = 5

;;;;;;;;;;;;;;;;;;;;;;
; TTS Engine Options ;
;;;;;;;;;;;;;;;;;;;;;;
[tts]
;
; Default TTS language (depends on your verbio setup)
; If you do not want to load TTS, comment this option.
;
default_language     = es ; check Verbio sdk documentation for available languages.

;
; Default TTS speaker (depends on your verbio setup)
;
default_speaker     = laura

;
; Default path to promt files (text files that you want to be readed by Verbio TTS)
;
text_prompts_path     =/var/lib/asterisk/verbio/text

;
; Misc options
; Delays in ms
;
init_delay        = 300
end_delay        = 20

;;;;;;;;;;;;;;;;;;;;;;
; ASR Engine Options ;
;;;;;;;;;;;;;;;;;;;;;;
[asr]
;
; Default ASR config (depends on your verbio setup)
; If you do not want to load ASR, comment this option.
;
default_config        = es ; check Verbio sdk documentation for available configs.

;
; Default ASR lang (depends on your verbio setup)
;
default_language    = es

;
; Default path to grammar files
;
grammar_path        = /var/lib/asterisk/verbio/gram

;
; Max duration of initial silence 10ms units.(300 -> 3 seconds)
; default: 300
;
init_sil        = 300

;
; Max duration of final silence 10ms units.(200 -> 2 seconds)
; default: 200
;
max_sil            = 200

;
; VAD (Voice Activity Detection) options
; min_ref: 5 (to be used in quiet rooms) - 190 (to be used in noisy rooms)
; default: 5
;
min_ref        = 5

;
; Absolute timeout (max recognition time)
; default 30 (seconds)
;
;absolute_timeout    = 30

;;;;;;;;;;;;;;;;;;;;;;
;    Debug options   ;
;;;;;;;;;;;;;;;;;;;;;;
[debug]
;
; Global verbose mode
; Comment it to disable glogal verbose mode.
;
; Enable verbose on all Verbio applications, even if
; application's 'v' option is not set.
;
; If you are using 'res_speech_verbio', you can also set/unset
; verbosity (in your dialplan) using 'Set(SPEECH_ENGINE(verbose)=1)'
; or 'Set(SPEECH_ENGINE(verbose)=0)'
;
;verbose        = 1

;
; Extended verbosity (verbose mode must be set)
; Comment it to disable extended verbosity
;
;extended_verbose    = 1

;
; save recorded files
; default: 0
;
;keep_recorded_files    = 1

;
; Path to recorded files
; default /var/lib/asterisk/verbio/audio
;recorded_files_path    = /var/lib/asterisk/verbio/audio

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

2 - Descripción de las diferentes aplicaciones.
Nota: Si los parámetros marcados como opcionales se omiten, estos tomarán los valores del fichero '/etc/asterisk/verbio.conf'.

2.1 - VerbioLoadVcb(gram_file|gram_type[|config][|lang][|options])

Descripción:

Esta función carga una gramática (sobre un puerto verbio asociado al canal Asterisk).

Parámetros:

gram_file    : fichero de gramática.
gram_type       : tipo de gramática ((ISOLATED, CONNECTED, ABNF o BUILTIN)).
config       : configuración de reconocimiento (opcional).
lang           : lenguaje a utilizar (opcional).
options       : opciones. Las opciones disponibles son:
        - v (verbose)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

Una vez cargada la gramática, se establecerá una variable de canal (VVCB_HANDLE)
la cual contiene el identificador de la gramática cargada.

2.2 - VerbioUnloadVcb(vcb_handle[|config][|lang][|options])

Descripción:

Descarga una gramática.

Parámetros:

vcb_handle    : identificador de gramática (-1 para descargar todas)
config       : configuración de reconocimiento (opcional).
lang           : lenguaje a utilizar (opcional).
options        : opciones. Las opciones disponibles son:
        - v (verbose)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

2.3 - VerbioRec([|config][|lang][|initsil][|maxsil][|abs_timeout][|options])

Descripción:

Lanza el reconocimiento. Antes de hacer cualquier llamada a esta aplicación, deberemos haber cargado alguna gramática con la función 'VerbioLoadVcb'.

Parámetros:

config       : configuración de reconocimiento (opcional).
lang           : lenguaje a utilizar (opcional).
initsil        : máxima duración de silencio de inicio (unidades de 10ms)
maxsil         : máxima duración de silencio final (unidades de 10ms)
abs_timeout     : timeout absoluto de reconocimiento (segundos) (opcional)
options       : opciones. Las opciones disponibles son:
        - b (beep antes de lanzar el reconocimiento)
        - v (verbose)
        - a (descolgar el canal)
        - d (habilitar la detección de dtmf)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

Para acceder al resultado del reconocimiento, podemos consultar (desde el dialplan de Asterisk) las siguientes variables de canal:
 - VASR_WORDS   : Número de palabras reconocidas (n).
 - VASR_INDEXn  : Índice (dentro de la gramática) de la palabra-n reconocida.
 - VASR_RESULTn : Resultado-n del reconocimiento.
 - VASR_SCOREn  : Score-n (confianza) del reconocimiento.
 - VASR_UTTERANCEn  : Utterance el resultado n.
 - VASR_WEIGHTn : Peso del resultado n dentro de la gramática.
 - VASR_RULEn   : Regla a la que pertenece el resultado n.

Para compatibilidad con anteriores versiones:
 - VASR_INDEX  = VASR_INDEX0
 - VASR_RESULT =  VASR_RESULT0
 - VASR_SCORE  =  VASR_SCORE0
 - VASR_UTTERANCE  =  VASR_UTTERANCE0
 - VASR_WEIGHT  =  VASR_WEIGHT0
 - VASR_RULE  =  VASR_RULE0

Si la detección de dtmf (opción 'd') está habilitada, podemos consultar su estado con las siguientes variables de canal:
 - VDTMF_DETECTED :TRUE (se ha detectado un tono) o FALSE (no detectado tono)
 - VDTMF_RESULT   :si VDTMF_DETECTED = TRUE, VDTMF_RESULT contiene el valor de la tecla pulsada -0,1,2,3,4,5,6,7,8,9,*,#...-.

    Se puede configurar el número máximo de dtmf a detectar y el dtmf de terminación,
    configurando (set) las siguientes variables del dialplan:
 
        - VERBIO_DTMF_MAXLEN
        - VERBIO_DTMF_TERMINATOR

Nota: si la opción 'keep_recorded_files' está activada en 'verbio.conf', podemos consultar el nombre del fichero generado (una vez la aplicación de reconocimiento ha terminado), mediante la siguiente variable del dialplan: VASR_REC_FILE.

2.4 - VerbioPrompt(text_or_file[|lang][|speaker][|options])

Descripción:

Sintetiza un texto o fichero de texto.

Parámetros:

text_or_file    : texto (o fichero - ver opciones -) a sintetizar.
lang           : lenguaje a utilizar (opcional).
speaker       : locutor a utilizar (opcional).
options       : opciones. Las opciones disponibles son:
        - f (tratar el parámetro fichero_o_texto como si fuera un fichero)
        - v (verbose)
        - p (habilitar pausa/reproducción mediante dtmf -tecla por defecto '#'.Para especificar una tecla: p0,p1,..,p*,p#. p. para qualquier tecla-)
        - s (habilitar parada del prompt mediante dtmf -tecla por defecto '#'. Para especificar una tecla: s0,s1,..,s*,s#. s. para qualquier tecla-)
        - a (descolgar el canal)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

Si la opción de parar el prompt ('s') está habilitada, podemos consultar su estado con las siguientes variables de canal:
 - VDTMF_DETECTED (TRUE -si el usuario ha pulsado la tecla de parada del prompt- or FALSE)
 - VDTMF_RESULT (si VDTMF_DETECTED = TRUE, contiene el valor de la tecla pulsada)

Al trabajar con la opción 'f', los ficheros de texto a sintetizar, se buscarán en la ruta
definida por el parámetro 'text_prompts_path', del fichero de configuración ('/etc/asterisk/verbio.conf'). Si queremos sintetizar un fichero de texto que se encuentre en una ubicación distinta, deberemos introducir el path completo al fichero.

No olvidarse de escapar las comas (',') del texto que queremos sintetizar (ejemplo: "Hola\, buenas tardes."). (Si usamos un fichero de texto -opción 'f'- esto último no aplica).

2.5 - VerbioPromptAndRec(text_or_file[|initsil][|maxsil][|tts_lang][|tts_spkr][|asr_conf][|asr_lang][|abs_timeout][|options])

Descripción:

Lanza (al mismo tiempo) una síntesis y un reconocimiento. Dicha aplicación permite, si la opción bargein está activada, que el usuario interrumpa la máquina (si durante la locución el reconocedor detecta que el usuario ha dicho algo, se parará la síntesis y la aplicación terminará. Permitiéndonos, así, consultar el resultado del reconocimiento efectuado)

Parámetros:

text_or_file    : texto (o fichero - ver opciones -) a sintetizar.
initsil            : máxima duración de silencio de inicio (unidades de 10ms) (opcional)
maxsil             : máxima duración de silencio final (unidades de 10ms) (opcional)
tts_lang           : lenguaje (del sintetizador) a utilizar (opcional).
tts_spkr           : locutor (del sintetizador) a utilizar (opcional).
asr_conf           : configuración de reconocimiento (opcional).
asr_lang           : lenguaje (del reconocedor) a utilizar (opcional).
abs_timeout     : timeout absoluto de reconocimiento (segundos) (opcional)
options        : opciones. Las opciones disponibles son:
           - f (tratar el parámetro fichero_o_texto como si fuera un fichero)
           - v (verbose)
               - a (descolgar el canal)
        - b (beep antes de reconocer)
        - g (activar bargein. Permitir al usuario interrumpir a la máquina. Esta opción desactivará 'b'.)
        - i (interrumpir de manera inmediata el prompt al detectar voz. Esta opción activará 'g'.)
        - d (habilitar la detección de dtmf)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

Al trabajar con la opción 'f', los ficheros de texto a sintetizar, se buscarán en la ruta
definida por el parámetro 'text_prompts_path' del fichero de configuración ('/etc/asterisk/verbio.conf'). Si queremos sintetizar un fichero de texto que se encuentre en una ubicación distinta, deberemos introducir el path completo al fichero.

No olvidarse de escapar las comas (',') del texto que queremos sintetizar (ejemplo: "Hola\, buenas tardes."). (Si usamos un fichero de texto -opción 'f'- esto último no aplica).

Cuando usemos bargein, hay que tener mucho cuidado al seleccionar los parámetros 'initsil', 'maxsil' y 'abs_timeout'.Si, por ejemplo, seleccionamos un 'initsil' o 'abs_timeout' demasiado pequeño, no le daremos suficiente tiempo de escucha al usuario, y nuestro mensaje (prompt) se verá interrumpido. Si no indicamos un valor para 'initsil', 'maxsil' o 'abs_timeout', se utilizarán los valores indicados en el fichero de configuración (verbio.conf)

Para acceder al resultado del reconocimiento, podemos consultar (desde el dialplan de Asterisk) las siguientes variables de canal (una vez la aplicación 'VerbioPromptAndRec' haya terminado):
 - VASR_WORDS   : Número de palabras reconocidas (n).
 - VASR_INDEXn  : Índice (dentro de la gramática) de la palabra-n reconocida.
 - VASR_RESULTn : Resultado-n del reconocimiento.
 - VASR_SCOREn  : Score-n (confianza) del reconocimiento.
 - VASR_UTTERANCEn  : Utterance el resultado n.
 - VASR_WEIGHTn : Peso del resultado n dentro de la gramática.
 - VASR_RULEn   : Regla a la que pertenece el resultado n.

Para compatibilidad con anteriores versiones:
 - VASR_INDEX  = VASR_INDEX0
 - VASR_RESULT =  VASR_RESULT0
 - VASR_SCORE  =  VASR_SCORE0
 - VASR_UTTERANCE  =  VASR_UTTERANCE0
 - VASR_WEIGHT  =  VASR_WEIGHT0
 - VASR_RULE  =  VASR_RULE0

Si la detección de dtmf (opción 'd') está habilitada, podemos consultar su estado con las siguientes variables de canal:
 - VDTMF_DETECTED :TRUE (se ha detectado un tono) o FALSE (no detectado tono)
 - VDTMF_RESULT   :si VDTMF_DETECTED = TRUE, VDTMF_RESULT contiene el valor de la tecla pulsada -0,1,2,3,4,5,6,7,8,9,*,#...-.

    Se puede configurar el número máximo de dtmf a detectar y el dtmf de terminación,
    configurando (set) las siguientes variables del dialplan:
 
        - VERBIO_DTMF_MAXLEN
        - VERBIO_DTMF_TERMINATOR

Nota: si la opción 'keep_recorded_files' está activada en 'verbio.conf', podemos consultar el nombre del fichero generado (una vez la aplicación de reconocimiento ha terminado), mediante la siguiente variable del dialplan: VASR_REC_FILE.

2.6 - VerbioStreamAndRec(audio_file[|initsil][|maxsil][|asr_conf][|asr_lang][|abs_timeout][|options])

Descripción:

Lanza (al mismo tiempo) la reproducción de un fichero de sonido y un reconocimiento.
Esta aplicación, igual que la anterior, nos permite realizar 'bargein'.

Parámetros:

audio_file      : fichero a reproducir.
initsil         : máxima duración de silencio de inicio (unidades de 10ms) (opcional)
maxsil          : máxima duración de silencio final (unidades de 10ms) (opcional)
asr_conf        : configuración de reconocimiento (opcional).
asr_lang        : lenguaje (del reconocedor) a utilizar (opcional).
abs_timeout     : timeout absoluto de reconocimiento (segundos) (opcional)
options            : opciones.Las opciones disponibles son:
        - v (verbose)
               - a (descolgar el canal)
               - b (beep antes de reconocer)
               - g (activar bargein. Permitir al usuario interrumpir a la máquina. Esta opción desactivará 'b'.)
        - i (interrumpir de manera inmediata el stream al detectar voz. Esta opción activará 'g'.)
        - d (habilitar la detección de dtmf)
        - n (no ejecutar colgado cuando se produzca un error referente a Verbio)

Cuando usemos bargein, hay que tener mucho cuidado al seleccionar los
parámetros 'initsil', 'maxsil' y 'abs_timeout'.Si, por ejemplo, seleccionamos un 'initsil'
o 'abs_timeout' demasiado pequeño, no le daremos suficiente tiempo de escucha al usuario, y nuestro fichero a reproducir se verá interrumpido.  Si no indicamos un valor para 'initsil', 'maxsil' o 'abs_timeout', se utilizarán los valores indicados en el fichero de configuración (verbio.conf)

Para acceder al resultado del reconocimiento, podemos consultar (desde el dialplan de Asterisk)  las siguientes variables de canal (una vez la aplicación 'VerbioPromptAndRec' haya terminado):
 - VASR_WORDS   : Número de palabras reconocidas (n).
 - VASR_INDEXn  : Índice (dentro de la gramática) de la palabra-n reconocida.
 - VASR_RESULTn : Resultado-n del reconocimiento.
 - VASR_SCOREn  : Score-n (confianza) del reconocimiento.
 - VASR_UTTERANCEn  : Utterance el resultado n.
 - VASR_WEIGHTn : Peso del resultado n dentro de la gramática.
 - VASR_RULEn   : Regla a la que pertenece el resultado n.

Para compatibilidad con anteriores versiones:
 - VASR_INDEX  = VASR_INDEX0
 - VASR_RESULT =  VASR_RESULT0
 - VASR_SCORE  =  VASR_SCORE0
 - VASR_UTTERANCE  =  VASR_UTTERANCE0
 - VASR_WEIGHT  =  VASR_WEIGHT0
 - VASR_RULE  =  VASR_RULE0

Si la detección de dtmf (opción 'd') está habilitada, podemos consultar su estado con las siguientes variables de canal:
 - VDTMF_DETECTED :TRUE (se ha detectado un tono) o FALSE (no se ha detectado tono)
 - VDTMF_RESULT   :si VDTMF_DETECTED = TRUE, VDTMF_RESULT contiene el valor de la tecla pulsada -0,1,2,3,4,5,6,7,8,9,*,#...-.

    Se puede configurar el número máximo de dtmf a detectar y el dtmf de terminación,
    configurando (set) las siguientes variables del dialplan:
 
        - VERBIO_DTMF_MAXLEN
        - VERBIO_DTMF_TERMINATOR

Nota: si la opción 'keep_recorded_files' está activada en 'verbio.conf', podemos consultar el nombre del fichero generado (una vez la aplicación de reconocimiento ha terminado), mediante la siguiente variable del dialplan: VASR_REC_FILE.

2.7 - VerbioLastErr(var)

Descripción:

Esta aplicación permite consultar el último mensaje de error referente a las funciones Verbio.

Parámetros

var: variable de canal donde guardaremos el mensaje de error.

Las aplicaciones Verbio deberán ser ejecutadas con la opción 'n' (para evitar, cuando se produzca un error por parte de las funciones de Verbio, el cuelgue de la llamada).

Códigos de error:

EVX_NOERROR    NO ERROR
EVX_INVSETUP    Vox ERROR (Files may be corrupted. Check disk and repeat Vox Setup)
EVX_NOMEM    OUT OF MEMORY. (Check memory leakages)
EVX_VCBFILE    THE VOCABULARY FILE NAME IS NOT VALID. (Check the vocabulary file name and path writing permission)
EVX_INVWORD    THE VOCABULARY CONTAINS AN INVALID WORD. (Check and correct invalid words)
EVX_NOLICFILE    NO LICENSE FILE WAS FOUND. (Use Setup and CheckOut to obtain the Vox directory structure and the license file)
EVX_INVLIC    THE LICENSE FILE IS NOT VALID. (Use CheckOut to obtain a valid license file)
EVX_SYSTEM    SYSTEM ERROR (Check errno)
EVX_NOLIBINIT    VOXLIB WAS NOT SUCCESSFULLY LOADED. (Call vox_libinit() before using any Vox function)
EVX_NOLIC    NO LICENSE
EVX_NOSETVCB    NO ACTIVE VOCABULARY. (Use vox_setvcb() to set the active vocabulary)
EVX_NORECSTR    NO RECOGNITION. (Use vox_recstr() to init recognition)
EVX_NOLINE    NO MORE LINES ARE AVAILABLE FOR THE SPECIFIED CHANNEL DEVICE
EVX_BADPARM    INVALID PARAMETER IN FUNCTION CALL
EVX_NOTIMP    NOT IMPLEMENTED
EVX_NORECIND    NO RECIND OR NBEST. (Call vox_recind() before calling ATVOX_NIND())
EVX_INVFILE    INVALID FILENAME
EVX_NETWORK    NETWORK ERROR
EVX_DICFILE    THE DICTIONARY FILE NAME IS NOT VALID
EVX_PARSER    ABNF PARSER ERROR
EVX_INVVER     THE VOXSERVER VERSION DOES NOT MATCH THE CLIENT VERSION
EVX_UNKNOWN    Unknown error

2.8 - VerbioInfo()

Descripción:

Esta aplicación imprimirá información diversa sobre la configuración de Verbio (locutores instalados, configuraciones de reconocimiento instaladas, versiones, licencias, etc...).

Esta aplicación creará las siguientes variables de canal:
    - VTTS_SPEAKERS    : locutores disponibles (formato: 'id1:name1:gender1:age1:lang1;id2:name2:gender2:age2:lang2;')
    - VASR_CONFIGS     : configuraciones de reconocimiento disponibles.

2.9.VerbioFreeChannel

Descripción:

Esta aplicación liberará los recursos (licencias y memoria) del servidor Verbio para el canal actual. Esta aplicación deberá ser ejecutada SIEMPRE, antes de terminar una llamada que haga uso de las aplicaciones Verbio. Esta aplicación es equivalente a ejecutar VerbioUnloadVcb con el parámetro vcb_handle a -1.


3 - Ejemplo de uso de las aplicaciones Verbio en Asterisk.

Consideraciones previas:

  • Previamente a la ejecución del ejemplo, deberemos copiar el fichero de gramática 'vdemo.txt' a la carpeta /var/lib/asterisk/verbio/gram'.
  • Este ejemplo supone un fichero de configuración verbio.conf, tal como el mostrado en el punto 1.
  • Nótese,también, que los parámetros marcados como 'opcional' (en los puntos 2.x) se han obviado a la hora de realizar las llamadas a las aplicaciones Verbio.

    Ejemplo (con todos los parámetros):
    exten => s,n,VerbioLoadVcb(vdemo.txt,isolated,es,es,v)

    Ejemplo (solo con los parámetros 'obligatorios'):
    exten => s,n,VerbioLoadVcb(vdemo.txt,isolated)

    Ejemplo (algunos parámetros 'obviados'):
    exten => s,n,VerbioLoadVcb(vdemo.txt,isolated,,,v)

-------

Ejemplo:

;[...]
exten => 802,1,Goto(VERBIO_TEST,s,1)
;[...]

;;;;;;;;;;;;;;;;;;;;;;;;
; VERBIO TEST  Context ;
;;;;;;;;;;;;;;;;;;;;;;;;
;
[VERBIO_TEST]
;
; (1) Cargar el vocabulario (vdemo.txt)
;
exten => s,1,Answer()
exten => s,n,VerbioLoadVcb(vdemo.txt,isolated,,,v)
exten => s,n,VerbioPrompt(Establecido vocabulario ${VVCB_HANDLE}.)
;
; Guardar el último posible error de Verbio (opcional)
;
exten => s,n,VerbioLastErr(VERROR)
exten => s,n,NoOp(${VERROR})
;
; (2) Ejemplo de reconocimiento y prompt
;
exten => s,n,VerbioPromptAndRec(Hola\,indícame una entrada de la gramática. Recuerda que\,si la opción baryin está activada\, esta aplicación te permite interrumpirme en cualquier momento.Gracias por llamar.,1500,100,,,,,,vg)
exten => s,n,VerbioPrompt("Palabras ${VASR_WORDS}. Resultado: ${VASR_RESULT0}. Score: ${VASR_SCORE0}",,,v)
;
; (3) Ejemplo de prompt
;
;exten => s,n,VerbioPrompt(/var/lib/asterisk/verbio/text/test.txt,,,fv)
exten => s,n,VerbioPrompt(Hola\,indícame una entrada de la gramática.,,,v)
;
; (4) Ejemplo de reconocimiento
;
exten => s,n,VerbioRec(,,,,,vb)
exten => s,n,VerbioPrompt("Palabras ${VASR_WORDS}. Resultado: ${VASR_RESULT}. Score: ${VASR_SCORE}",,,v)
;
; (5) Descargar vocabulario establecido previamente
;
exten => s,n,VerbioUnloadVcb(${VVCB_HANDLE},,,v)
;
; (6) Liberar recursos (tanto licencias como memoria)
;     (ATENCIÓN: NO OLVIDARSE DE EJECUTAR ESTA APLICACIÓN, SIEMPRE QUE TERMINE LA LLAMADA -HANGUP-.)
;
exten => h,1,VerbioFreeChannel()

4 - Carga y descarga de las aplicaciones Verbio en Asterisk.

Las aplicaciones Verbio se cargan y descargan automáticamente al

iniciar o parar Asterisk. Si, desde el CLI de Asterisk, queremos
cargar las aplicaciones Verbio pedemos ejecutar:

*CLI> load app_verbio_speech.so

Para la descarga de las aplicaciones Verbio podemos ejecutar:

*CLI> unload app_verbio_speech.so

Si hay algún error de configuración/conexión se nos reportará por pantalla.

Nota: al cargar las aplicaciones Verbio (bien cuando arranca Asterisk o bien cuando cargamos manualmente con '(module) load app_verbio_speech.so'). Se intentará establecer la conexión con el servidor Verbio por lo cual, es muy importante que tengamos el servidor de síntesis/reconocimiento arrancado. La conexión con el servidor Verbio se mantiene abierta hasta que paremos Asterisk o ejecutemos '(module) unload app_verbio_speech.so'.


Esperamos que esta guia de instalación paso a paso haya sido de vuestro agrado.

Como cada mes, Avanzada7 incluye en su boletín documentos técnicos "How-To" sobre la instalación y puesta en marcha de los productos que distribuimos.

Podéis realizar solicitudes en la cuenta comunicados@avanzada7.com

Gracias a tod@s!

 

comentarios