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).
Expand | ||
---|---|---|
| ||
|
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.
Expand | ||
---|---|---|
| ||
i : Invalid s : Start h : Hangup t : Timeout T : Absolute Timeout a : Asterisk Extension o : Operator i: Used when dialling an unknown extension in a context or unknown input in an IVR menus. s: Used for marks and analogue lines, is when or numbers or letters does not came. h: Runs at the end when a call is cut before the number is saved in the system, can set some variables according the result o runs more activities. t: When it delay typing something while a reproduction of an audio . T: Global like the previous one. a: Called when user presses ' * ' during a voicemail greeting o: Operator extension, used for operator exit by pressing zero in voicemail |
Expand | ||
---|---|---|
| ||
X matches any digit from 0-9 Z matches any digit from 1-9 N matches any digit from 2-9 [1237-9] matches any digit or letter in the brackets(in this example, 1,2,3,7,8,9) . wildcard, matches one or more characters ! wildcard, matches zero or more characters immediately Examples _NXXXXXX matches a NANP 7 digit telephone number such as 555-1212 _1NXXNXXXXXX matches an area code and phone number proceeded by a one such as 1-860-555-1212 _9011. matches any string of at least five characters that starts with 9011,but it does not match the 9011 its _9011! matches 9011 too _# matches a single # key press _X! matches any numeric pattern of one or more digits (not * or #) _[*#0-9]! same as previous entry but also includes * and # characters _[*0-9]! same as the previous entry except excludes the # character s if there is no pattern at all, then using s will often match
Ok, so a "context" has a name, such as "john". And in each context, you can define one or more "extensions". For each extension, you define a set of commands that are the ones that are done via the designer. The context and extension are defined in the StartActivity, it's the main activity of flows initiation, the contexts are associated with Agents o Providers. |
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.
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
Deploy This Window is activated of a flow and a description is added for then know what to do, once completed its begins to take the systems changes. If you load a flow to activate we will suggest the previous comment. Save to Disk It is possible to save in disk a file of flows if it requires then activate in another server or installation. |
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