Descripción flujos de telefonía
Contenido
- 1 Aplicaciones básicas
- 1.1 Answer
- 1.2 setLanguage
- 1.3 set
- 1.4 GUID
- 1.5 SetCDRGuid
- 1.6 SetCDRType
- 1.7 SetRecordName
- 1.8 Read
- 1.9 GotoIf
- 1.10 SetCDRCampaign
- 1.11 Queue
- 2 Funcionalidades Específicas
- 2.1 FuncODBC (Hash)
- 2.2 While
- 2.3 GUID
- 2.4 SetCDRCampaign
- 2.5 SetCDRType
- 2.6 SetCDRGuid
- 2.7 FuncODBC (Hash)
- 2.8 MAILSYSTEM
- 2.9 MAIL
Aplicaciones básicas
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 está 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 ejecutar 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:
La acción while contiene la condición, luego continúa el bloque que se ejecuta 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.
GUID
GUID
Esta aplicación genera un identificador único de la llamada y le asigna el valor automáticamente a la variable ${guid}.
SetCDRCampaign
SetCDRCampaign
Para asignar el nombre de la campaña al CDR.
Campos:
Camp: Nombre de la campaña a la cual irá la llamada.
SetCDRamaflags
SetCDRType
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).
SetCDRUserfield
SetCDRGuid
SetCDRGuid
Para poder dejar este valor único (el GUID) en el CDR.
SetCDRDirection
SetCDRCauseCode
Gamification
SetRecordName
SetCDRCarrier
KAdjustForFax
DongleSendSMS
QueueUpdate
SetCallerID
VirtualHold
AMDEarlyMedia
SystemExec
DBDelete
Socket
IVRLogRepo
Func_ODBC
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 ejecutar 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).
SMSQueue
InteractionStats
SetMOH
SetLanguage
ParseXML
XML
ParseJSON
JSON
Shared
MAIL
B64DECODE
B64ENCODE
PayByCall
URLENCODE
URLDECODE
GoogleTTS
GoogleASR
AmazonPollyTTS
MRCPSynth
MRCPRecog
SynthAndRecog
MAILSYSTEM
Envió de mail del sistema.
fromname (text): Nombre de usuario con el cual se enviará el mail. {fromname}@ucontactcloud.com. En caso de ir vacío se remplaza por no-reply@ucontactcloud.com
to (text)*: Direcciones de mails a enviar, separado por coma.
cc (text): Direcciones de mails como copia, separado por coma.
bcc(text): Direcciones de mails copia oculta, separado por coma.
subject(text): Asunto del mail.
body(text)*: Mensaje del mail, acepta formato html.
attachments(text): Lista de adjuntos a ser enviados separados con pipe |. Especificar la ruta remota: ej: /etc/IntegraServer/web/attachments/202211014/c72e09a8-1b21-46c2-b1bb-fd8d40a32f1b.pdf
* Obligatorio
Para que la actividad funcione se debe cambiar la configuración de asterisk, en /etc/asterisk/manager.conf
Agregar el permiso user en read al final del archivo
Envió de mail con proveedor por defecto.
fromname (text): Nombre distintivo que será enviado en el mail (no es el correo sino información adicional).
to (text)*: Direcciones de mails a enviar, separado por coma.
cc (text): Direcciones de mails como copia, separado por coma.
bcc(text): Direcciones de mails copia oculta, separado por coma.
subject(text): Asunto del mail.
body(text): Mensaje del mail, acepta formato html.
attachments(text): Lista de adjuntos a ser enviados separados con pipe |. Especificar la ruta remota: ej: 202211014/imagen-de-ejemplo.pdf
*Obligatorio