Descripción de Aplicaciones

A continuación se realizará una breve descripción del funcionamiento y de las propiedades de las aplicaciones que se pueden utilizar en el diagrama de flujo.


Aplicaciones Básicas

 StartActivity

Es necesaria esta actividad para darle el inicio al flujo, en la misma se indicará para que contexto y extensión se realizará el flujo.
Estas extensiones están explicadas anteriormente en Diseñador de Flujos v5

Campos:

  • Context: Indica el contexto en el que se aplicará el flujo.
  • Exten: Indica la extensión en la que se aplicará el flujo.


 Answer

Esta aplicación contesta la llamada.

Campos:

  • Delay: Indica el retraso que se le aplica a la respuesta en tiempo de mili-segundos.


 setLanguage

Se almacena el lenguaje en el que se esta produciendo la llamada.

Campos:

  • Language: Indica el lenguaje.


 set

Se pueden crear variables y asignar valores a las que ya existen, estas variables pueden ser utilizadas en todo el flujo y se pueden almacenar en la base de datos.

Campos:

  • Variablename: Indica el nombre de la variable, si el nombre comienza con dos guiones bajos "__" significa que la misma es global (Ej: __Ani).
  • Value: Indica el valor que se le asigna a la variable.

 GUID

Esta aplicación genera un identificador único de la llamada y le asigna el valor automáticamente a la variable ${guid}.


 SetCDRGuid

Para poder dejar este valor único (el GUID) en el CDR.


 SetCDRType

Asigna el tipo de CDR, este puede ser record (para grabar la conversación), voicemail (si es un buzón de voz) o fax (si es un incoming fax).


 SetRecordName

Asigna el identificador a la grabación, usualmente se utiliza ${guid}.


 Read

Esta aplicación emite un audio y espera una respuesta la cual se puede almacenar en una variable, usualmente es utilizado para generar menús.

Campos:

  • Variable: Se define la variable en la cual se guardará el valor que se ingrese luego de escuchar el audio.
  • Filename: Contiene el nombre del audio a reproducir, el cual debe haber sido previamente subido al portal.
  • Maxdigits: Se define la cantidad máxima de dígitos que puede tener la respuesta.
  • Option: Puede ser 's', 'i' o 'n'. Estas opciones indican el comportamiento que puede tomar el read en casos particulares, la descripción de cada comportamiento se encuentra en la pestaña de ayuda de la aplicación.


 GotoIf

Esta aplicación es utilizada para evaluar condiciones, en la misma se pueden utilizar las variables declaradas en los SET, los retornos de los READ y también variables de Asterisk. Su uso habitual es después de un READ para evaluar la opción ingresada. Esta aplicación tiene dos salidas:

    • Camino Verde: Cuando la condición es verdadera.
    • Camino Rojo: Cuando la condición es falsa. 


Campos:

  • Condition: Se escribe la condición a evaluar.


 SetCDRCampaign

Para asignar el nombre de la campaña al CDR.

Campos:

  • Camp: Nombre de la campaña a la cual irá la llamada.


 Queue

Deriva la llamada a una cola.

Campos:

  • Queuename: El nombre de la campaña a derivar la llamada.
  • Options: Se le pueden agregar varias opciones a la llamada, la descripción de cada opción se encuentra en la pestaña de ayuda de la aplicación.
  • Url: Manda una url.
  • Announceoverride: Cambia el anuncio.
  • Timeout: Tiempo máximo a estar en la cola.
  • AGI: Ejecuta AGI script cuando la llamada es atendida.
  • Macro: Ejecuta macro cuando la llamada es atendida.
  • Gosub: Va a sub rutina.
  • Rule: Se aplica una regla.
  • Position: Se le da una posición en la cola.

Funcionalidades Específicas

FuncODBC (Hash)

Función de Asterisk que permite realizar consultas a una base de datos.

Aplicada a un flujo, la función tomará como parámetro el nombre de la variable que almacenará la consulta a la base de datos que el usuario escriba.
La función Hash tomará todos los campos de la fila en la base de datos seleccionada y los hace más "accesibles" para el usuario al realizar la consulta.
Dicha consulta a la base de datos devolverá una tupla, por ejemplo:

HASH(consulta) = (name, CallerID, Agente, Campaña)  →  HASH(Result) = (Lupe, 0800, Agente1, Campaña1) 

Si el usuario quiere acceder a un dato de la consulta, tomando los datos del ejemplo anterior, se debe hacer lo siguiente:

HASH(Result, name)  →  "Lupe"

HASH(Result, CallerID)  →  0800

HASH(Result, Agente)  →  Agente1

HASH(Result, Campaña)  →  Campaña1

Ejemplo:

En el ejemplo vemos que la variable que toma como parámetro la función Hash, se llama Result. A la derecha el usuario escribió la consulta a la base de datos que representa la variable Result.
Lo siguiente devolverá una tupla conteniendo los datos consultados específicamente de las columnas (did, name, dialstring).

While

La función While, consiste de una condición y un bloque de código llamado expresión. Esta función chequea si la condición es verdadera(true), si lo es ejecuta la expresión. Lo anterior se repite hasta que la condición sea falsa(false).

Lo anterior aplicado a un flujo, por ejemplo:

Tenemos la acción while, la cual contiene la condición, luego continúa el bloque que se ejecutará si la condición es verdadera(true), si lo es se ejecutará el bloque interno repetidas veces hasta que la condición sea falsa (false), el hilo del flujo pasará a la acción EndWhile y continuará el recorrido del flujo.