Workflow designer - Telephony

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:


Intro

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.

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.

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

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

Open: Loads a flow that was previously saved in a JSON file.

Save: Save to a JSON file.

Undo: Undo the last action.

Redo: Redo the last action undone.

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

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

 

Zoom in: Zoom in on the drawing view.

Zoom out: Zoom out on the drawing view.

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

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

Group: Group parts of the drawing so that you can move them together.

 

Align: Options to align the drawing.

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

Deploy, Load y 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

Show properties panel.

Creates connectors from one activity to another.

Creates a copy of the selected item.

Shows description and parameters of the selected activity.


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:

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 



Examples 

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

 

  • 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.

  • 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.

  • 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

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

Comparison