Workflows Designer
The Integra Designer is the IDE (Integrated Development Environment) to develop call flows.
With this tool is possible to build DialPlan flows, this flows tells the system how an incoming or outgoing call should behave.
Content
This web tool is developed in HTML5 and JavaScript, is a drag and drop application, each activity is a Dialplan application and it's possible to change the application behaviour via its properties. The application generates the code needed to be deployed on the server, and it also deploys and loads the call flows directly to and from the server.
Once a flow is deployed, it gets activated immediately.
Every DSN, Audio, Queue, etc. created on the Administrator Portal, will be visible for the Dialplan designer and those will be suggested by the system to be selected as options for the properties. You can also load and deploy Dialplan flows, once a Dialplan is loaded it will get the edition mode active, so every change made on edition mode, will be committed on the deploy and be active immediately.
Visualisation Path Helper
For a better understanding of the application path if you select a connection the color will turn to Light Green if is the default path, if is not, then the color would be red, this helps to check the flows easily.
At the bottom of the Page we have the mode that is active, for new workflows or if you are editing a workflows.
Basics
The basic toolbar is there for basic operations
New: Creates a new flow (will lose all changes that were not saved).
Open: Loads an JSON saved file.
Save: Saves as an JSON file the flow.
Undo: To undo the last action.
Redo:To redo the actions you undid.
Copy: To copy the selected portion of the draw (is possible to copy and paste in different Browser tabs).
Selecting an item
Engine: Allows to see and edit the properties of the selected item.
Arrow: Allows to create a connection from one item to another.
To draw the connection click and drag.
Copy: Creates a copy of the selected item.
Question: Shows the description of the application, this is very useful for documentation purposes.
Properties
Extensions
Dialplan consists of a collection of contexts as a way of organising and separating, as it is for separating features and tools, as well as reinforcing security between the different contexts, among other uses.
The main way of using contexts is for Asterisk to carry out different actions depending on from where the call is coming from. When Asterisk has a call connection, being an income call or from an intern extension, this call belongs to a unique context, depending on the channel from where the call came.
If the dialled extension does not exist in the specified context, Asterisk will reject the call. The context option is what tells Asterisk to direct the call from the endpoint to the context we build in our system.
Contexts are a collection of extensions. An extension can be one of two types: a literal or a pattern (do not confuse with telephone extensions).
A literal extension can be a number, like 123, or characters as_1234.
Flow Management
Load
This window is for loading Diaplan flows, this flows are grouped into contexts, and inside the contexts in extensions.
All calls originating form a device will look for flows that map against extensions that exist in context, if you mapped an extension of that flow steps are executed. All flows together are the system dial plan.
In controls all calls that pass through the system. The entire system behaviour, and there are standard flows that make easier the settings are configured.
Variables Management
Asterisk uses global, shared and channel variables.
Global: This variables can be referenced by any channel in the system at any time.
Channel: This ones can only be used by the channel in where this variable is defined in. Each channel gets its own variable space, so there is no chance of collisions between different calls, and the variable is automatically trashed when the channel is hung up.
Shared: Two or more channels can gain full access to this type of variables, to what otherwise would be a channel variable.
Examples:
Assignation
Comparison
Activities
All Activities are documented in Application Description