Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

It is a development environment for telephony flows, provider bots, and webhooks.

Here you will find general and telephony topics. The other functionalities are available at the following links:

Content

Table of Contents

Intro

Image RemovedImage Added

With this tool flows are created for a dial plan, these flows tell the system how to behave in both incoming and outgoing calls.

It is a drag and drop HTML5 and Javascript tool, each activity is an application of the dial plan, and its behavior can be changed via its properties.

Code is generated that is activated (deploy) on the server. Flows can be uploaded from the server for instant editing and activation.

Info

Once a flow is deployed, it is immediately active.

Every data source, campaign name, sound, etc., created in the administrator, are visible and suggested in the corresponding activities in their properties. When loading a flow from the server, you enter edit mode, which allows you to make modifications and activate them at the time of deployment.

Info

Take note:

Road Help - The green arrows are the true road and the red arrows the false road when there are conditions.

In the lower right corner it shows if we are in edit mode or in the creation of a new flow.


Basics

Basic toolbar operations

(blue star) New: Creates a new flow (changes that were not saved or activated are lost).

(blue star) Open: Loads a flow that was previously saved in a JSON file.

(blue star) Save: Save to a JSON file.

(blue star) Undo: Undo the last action.

(blue star) Redo: Redo the last action undone.

(blue star) Copy: Copies a part of the drawing that is selected (it is possible to copy and paste between browser tabs).

(blue star) Paste: Paste whatever activity copied or cut (includes connections and properties).

(blue star) Zoom in: Zoom in on the drawing view.

(blue star) Zoom out: Zoom out on the drawing view.

(blue star) Lock: Locks a selection in the drawing, doesn't let it move.

(blue star) Remove: Delete Activity or Connection, it is possible to use Ctrl V, C, X.

(blue star) Group: Group parts of the drawing so that you can move them together.

(blue star) Align: Options to align the drawing.

Find on diagram: Finds activities in the diagram by marking their name in red.

(blue star) Deploy, (blue star) Load y (blue star) Debug:

They allow you to deploy changes or new flows, or load them from the server or show the generated code in the console.


Item selection

Image RemovedImage Added

(blue star) Show properties panel.

(blue star) Creates connectors from one activity to another.

(blue star) Creates a copy of the selected item.

(blue star) Shows description and parameters of the selected activity.


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: 

Info

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 

Info

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

Extensions and contexts

Dialplan consists of a collection of contexts as a form of organization and separation, such as for separation between functionalities and tools, as well as reinforcing security between the different contexts.

The main way to use them is to have Asterisk perform different actions, depending on where a call comes in from. When Asterisk has a call connection, be it an incoming call from outside or an internal extension, that call belongs to a single context, depending on the channel through which the call came in.

If the dialed extension does not exist in a specific context, Asterisk rejects the call, so it is important to understand that depending on the configuration that the user has, it is what tells Asterisk how to direct the call from the incoming point to our system.

Contexts are a collection of extensions that are a set of actions. Asterisk will execute each action, in sequence, when the context in which this extension is found is called. An extension can be of two types: a literal or a pattern (not to be confused with telephone extensions).

A literal can be a number or letters such as _1234.

Special extensions:

Info

i: Invalid

s: Home

h: Cut

t: Time expired

T: Absolute time ended

a: Asterisk extension

or: Operator

i: Used in an IVR when marking something that does not refer to any extension of its context.

s: Used for macros and analog lines, it is when no numbers or letters arrive.

h: It is executed at the end when a call is cut before its registry is saved in the system, variables can be set according to the result or execute more activities.

t: When it takes time to type something while audio is playing.

T: Global as above.

a: It is called when the user presses "*" during the start of a voicemail

or: Used to exit by pressing zero on voicemail.

Patterns 

Info

X any digit from 0-9

Z any digit from 1-9

N any digit from 2-9

[1237-9] any digit or letter between the straight parentheses (example, 1,2,3,7,8,9) 

. comodín uno o más caractereswildcard one or more characters

! comodínwildcard, 0 o más caracteres

Ejemplos

or more characters


Examples 

Note

_NXXXXXX coincide con NANP 7 dígitos matches 7-digit NANP 555-1212 1212

_1NXXNXXXXXX coincide con un 1 y n número mayor a 2, y 2 mayores que 0, uno mayor que 2 y 6 números más a matches a 1 and n numbers greater than 2, and 2 greater than 0, one greater than 2 and 6 more numbers than 1 1-860-555-1212 1212

_9011. cualquier número que comience con 9011 más un dígito más any number starting with 9011 plus one more digit

_9011! igual al anterior pero también el same as above but also 9011

_# un a #

_X! cualquier patrón de uno o más dígitosany pattern of one or more digits

_ [* #0# 0-9]! igual al anterior pero admite * y same as above but supports * and #

_ [* 0-9]! igual al anterior sin #

s si no hay patrón que mapee

Warning

No usar _.  Usar  same as above without #

yes if there is no pattern to map

Warning

Do not use _. Use _X. or _X para no mapear contra extensiones especiales.

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 Flujos

Carga

Image Removed

Esta ventana permite cargar flujos del servidor, están agrupados en contextos y dentro de ellos se encuentran las extensiones.

Toda llamada originada desde un dispositivo va a buscar flujos que mapeen contra las extensiones que existen en su contexto, si mapea una extensión se ejecutan los pasos de ese flujo. Todos los flujos juntos son el plan de marcado del sistema.

Controla todas las llamadas que pasan por el sistema. Se configura todo el comportamiento del sistema, ya existen flujos estándar que hacen más sencillo las configuraciones. 

to not map against special extensions.

A context has a name, for example, "John", and each context defines one or more extensions. For each extension, a series of applications (flow activities) is defined that defines the behavior of the call.

The contexts and extensions are defined in the StartActivity, main activity, and the start of the flows, the contexts are associated with agents or providers.


Flow Management

Load

Image Added

  • Historial: Registra las acciones realizadas en cada Flujo.

  • Los diferentes tipos de acciones son:

  • INSERT(creación de un flujo),

  • UPDATE(actualización de un flujo)

  • y DELETE(flujo borrado).
    La gran ventaja del historial es la recuperación de flujos borrados para volver a trabajar sobre ellos sin haber perdido datos.
    Se pueden aplicar filtros de búsqueda tales como por columna de Contexto o Exten, escribiendo lo deseado y haciendo clic en el logo de la lupa de búsqueda.

This window allows you to load flows from the server, they are grouped in contexts and within them are the extensions.

Every call originating from a device will look for flows that map against the extensions that exist in its context, if it maps an extension, the steps of that flow are executed. All flows together are the dial plan of the system.

It controls all calls that go through the system. All the behavior of the system is configured, there are already standard flows that make the configurations easier.

  • History: Registers the actions carried out in each Flow.

  • The different types of actions are:

  • INSERT (creating a flow),

  • UPDATE (update a flow)

  • and DELETE (deleted flow).

The great advantage of the history is the recovery of deleted flows to work on them again without having lost data. Search filters such as by Context or Exten column can be applied, typing the desired and clicking in the search magnifying glass logo.

  • Borrar: Borra el flujo seleccionado en la lista.

  • Cargar: Carga el flujo seleccionado.

  • Image RemovedImage Added

    Abrir en pestaña adicional: Permite abrir el flujo seleccionado en una pestaña aparte a la actual. Facilitando el trabajo con varios flujos a la vez.

Activar

Image Removed

En esta ventana se activa (deploy) de un flujo y se le agrega una descripción para luego saber que hace, una vez ejecutado, ya comienza a tomar los cambios en el sistema.

Si cargamos un Flujo al Activar nos va a sugerir el comentario previo.

Guardar

Es posible guardar en disco en un archivo flujos por si se requieren luego activar en otro servidor o instalación.

Manejo de Variables

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.

  • 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

Image Removed

Comparación

Image Removed

Actividades

Las actividades están documentadas en https://integra-scm.atlassian.net/l/c/n2gK00sd
  • .

  • Delete: Deletes the flow selected in the list.

  • Load: Loads the selected flow.

  • Open in additional tab: Allows you to open the selected flow in a separate tab to the current one. Facilitating work with several flows at the same time.

Deploy

Image Added

In this window, a flow is activated (deploy) and a description is added to it to later know what it does, once it is executed, it begins to make the changes in the system.

If we load a Flow on Activation, it will suggest the previous comment.

Save

It is possible to save flows to a disk in a file, in case they are later required to be activated on another server or installation.

Variables management

Asterisk uses global, shared, and channel-specific variables.

  • Global: These variables are not specific to a single channel and can be referred to on any channel at any time required by any call.

  • Local: They can only be used with the channel that is being used at the moment. Each local variable gets its own space, this way it will not be interfered with in any way by other calls, and the same variable will be destroyed when the call ends. These are applied using the Set () command.

  • Shared: One or more channels can have full access to this type of variable, in this way it will be transformed into a local variable.

Example:

Assignment

Image Added

Comparison

Image Added