Visual Dialplan overview

We assume you have already downloaded and installed Visual Dialplan. In case you didn’t, Visual Dialplan can be downloaded here: Software installation is simple as clicking next, next, next…

After starting the application you are asked to set up the basic properties of the Asterisk Server you will be connecting with to deploy the dial plans.

You can set this connection now, or do it later. I’ll do it now.


There are two types of connection – you can set up local Asterisk server and deploy dial plan locally or set up remote Asterisk server.

I chose to use the remote Asterisk server using SSH method as I think it would be the most commonly used scenario.


Here are the parameters you should type in:

Name: <name of your Asterisk server, PBX1 for example>
Server: <Asterisk server IP or DNS>
Port: 22 <this is default port for SSH>
Username: <root access is required>
Password: < password >
Version: < Asterisk server version – click on Detect button after setting up SSH and it will be detected automatically>

NOTE: After setting these parameters you may want to click on the Test connection button to test the SSH connection to your Asterisk server. And then click on the Detect button to set up appropriate server version.
Asterisk server type: < server type – Plain Asterisk, Elastix etc.>
NOTE: This is very important step. Make sure to select appropriate type. For example, if you select Plain Asterisk but you have Elastix, entire Elastix dial plan may be deleted after dial plan deployment. Or click on the Detect button and the type will be detected automatically.

Dialplan file: <extensions.conf or another file you want to deploy the dial plan to>
Confirm Deploy: <Yes>
Create Backup <Yes>
Reload: <Yes >

Visual Dialplan will now connect to your Asterisk server and will read Asterisk configuration parameters needed for the dial plan development.
NOTE: Visual Dialplan will not change any of the configuration parameters, it will just read it to pre-populate library components and make your dial plan development easier.

On the next application window Visual Dialplan will ask you to enter the registration code.
If you don’t have a registration code, you can go ahead and work in the trial mode.
If you have a registration key, you may enter it now.


At this point you have completely configured Visual Dialplan ready to be used to create you first dial plan.

From now on once you open Visual Dialplan you’ll be asked to create a new Asterisk Dialplan, Open an Existing Asterisk Dialplan, or open and use one of provided Examples to play around with.

For the purposes of this article, I will create new Asterisk dial plan from scratch (first option).


Once you have clicked the New Asterisk dial plan wizard, you will be presented with a dialogue asking if you’d like to create your dial plan for particular Asterisk server (just configured Asterisk server is selected by default) or to develop general dial plan for any other Asterisk server.


I will select first option and create dial plan for just configured Asterisk server. This is the best choice that will make sure your dial plan is the same version like your Asterisk server.

After the selection you’ll be given the choice to name your initial context. You can name this anything you want just like you would when creating a new context in your already existing Asterisk extensions.conf.


I have created our Asterisk context with the name “TestContext” and a little description so I know what it is when looking at the list of contexts.

After you have clicked the ok button to continue, you’ll be given the Visual Dialplan Context window for the context you have just created. This is where you can create your Asterisk Dialplan in a visual manner, with interactive configuration abilities.

Most of your attention will need to be focused here when you are within the visual Dialplan creation window.

This is where you will select the Asterisk dial plan blocks that you want to use. Dial plan blocks are separated in a tabbed list of functionality: Entry, Variable, CallFlow, Call Management, Playback, General, Integration etc.
I found this very intuitive and easy to use for both new and experienced Asterisk Users.
The contextual help is handy.

Using blocks from the menu above I created a very simple Asterisk dial plan. This dialplan simply starts, answer’s the line, playback’s a sound file, wait’s for a second, then Hangup’s the line.


I simply clicked on the dial plan block in the toolbar and then I clicked on the context window, and the building block instantly appeared. I repeated this for all building blocks above. Linking the boxes was as simple as dragging from one box’s output port to the other box’s input port.

To modify the elements of the Asterisk dial plan I simply double clicked on one that particular building block and then edited it from the contextual menu. For example, here is the Wait building block menu:


Once I were satisfied with test Asterisk dial plan I went up to the menu and chose the validate button. This button can be found both in the title menu, and in the icons at the top of the window. Nice and easy to find, and convenient to have for newer asterisk users that need to verify their dial plan.


I am satisfied with the dial plan and would like to deploy it now.
One very convenient feature of Visual Dialplan is the ability to remotely deploy Asterisk dial plan to Asterisk server with a single press of a button.
This makes it very easy to test your Asterisk dial plans out quickly and efficiently.

Simply select Dialplan –> Deploy from the main many and Visual Dialplan will SSH to your remote Asterisk server and do the rest of the job.
You’ll be presented with a box to confirm the remote deployment. Just click yes, and it will do its job. Few seconds later a confirmation window appears. The Asterisk Dialplan is successfully deployed to the server.


I didn’t run into any issues using this portion of the software, except for permissions on our Asterisk Box. I disallow root ssh logins, and because I have Asterisk running as its own user I am not able to securely modify /etc/asterisk and its files. So, I instead just deploy to a symbolic link in our home directory to a file in the Asterisk directory with the proper permissions. Make sure you validate your Asterisk dial plan before you deploy it to your remote Asterisk server. This will make the whole process go a lot smoother as I found out the hard way.

This process was very easy to complete and makes management of Asterisk dial plans easier. You can verify the Deployed Asterisk dial plan by editing the file, like this: