Diseñador de Flujos - Telefonía
Es un entorno de desarrollo para flujos de telefonía, bots proveedores y webhooks.
Aquí se encuentran temas generales y de telefonía. Las otras funcionalidades están disponibles en los siguientes enlaces:
Contenido
Extensiones y contextos
Dialplan consiste de una colección de contextos como forma de organización y separación, como por ejemplo para separación entre funcionalidades y herramientas, así como reforzar la seguridad entre los diferentes contextos.
El principal modo de utilizarlos es hacer que Asterisk realice diferentes acciones, dependiendo desde dónde ingresa una llamada. Cuando Asterisk tiene una conexión de llamada, ya sea una llamada entrante desde afuera o una extensión interna, esa llamada pertenece a un único contexto, según el canal por el cual haya ingresado la llamada.
Si la extensión marcada no existe en un contexto específico, Asterisk rechaza la llamada, por lo que es importante entender que según la configuración que el usuario tenga, es lo que le dice a Asterisk como dirigir la llamada desde el punto entrante a nuestro sistema.
Los contextos son una colección de extensiones que son un conjunto de acciones. Asterisk ejecutará cada acción, en secuencia, cuando el contexto en el cual esta extensión se encuentra sea llamado. Una extensión puede ser de dos tipos: un literal o un patrón (no confundir con extensiones de teléfono).
Un literal puede ser un número o letras como _1234.
Extensiones especiales:
i : Inválido
s : Inicio
h : Cortar
t : Tiempo finalizado
T : Tiempo Absoluto finalizado
a : Extensión de Asterisk
o : Operador
i: Usada en un IVR cuando se marca algo que no hace referencia a ninguna extensión de su contexto.
s: Usada para macros y líneas analógicas, es cuando no llega números ni letras.
h: Se ejecuta al final cuando se corta una llamada antes de ser guardado su registro en el sistema, pueden setearse variables de acuerdo al resultado o ejecutar más actividades.
t: Cuando se demora en digitar algo mientras hay una reproducción de un audio.
T: Global como la anterior.
a: Es llamada cuando el usuario presiona " * " durante el inicio de un correo de voz
o: Usado para salir al presionar cero en correo de voz.
Patrones
X cualquier dígito del 0-9
Z cualquier dígito del 1-9
N cualquier dígito del 2-9
[1237-9] cualquier dígito o letra entre los paréntesis rectos (ejemplo, 1,2,3,7,8,9)
. comodín uno o más caracteres
! comodín, 0 o más caracteres
Ejemplos
Un contexto tiene un nombre ejemplo "John" y cada contexto define una o más extensiones. Para cada extensión se define una serie de aplicaciones (actividades del flujo) que definen el comportamiento de la llamada.
Los contextos y extensiones son definidos en la StartActivity, actividad principal e inicio de los flujos, los contextos se le asocian a agentes o proveedores.
Manejo de Variables en asterisk
Asterisk utiliza variables globales, compartidas y especificas de canales.
Globales: Estas variables no son específicas de un solo canal y pueden ser referidas en cualquier canal en el momento que sea necesario por cualquier llamada. Estas son SERVERDOMAIN y, ASTERISKTOKEN.
Locales: Las mismas solamente pueden ser empleadas con el canal que se está usando en el momento. Cada variable local obtiene su propio espacio, de esta manera no se verá interferida de ninguna forma por otras llamadas, y la misma variable se destruirá cuando la llamada finalice. Estas son aplicadas utilizando el comando Set().
Compartidas: Uno o más canales puede tener total acceso a este tipo de variables, de esta manera se transformará en una variable local.
Ejemplos:
Asignación
Comparación
Actividades
Las actividades están documentadas en https://integra-scm.atlassian.net/l/c/n2gK00sd