FreePBX and Visual Dialplan

Image
Visual Dialplan supports FreePBX (Elastix, trixbox, PIAF AsteriskNOW with FreePBX GUI etc.).
You can simply create extensions, voicemail boxes and trunks using Free PBX (Elastix, trixbox, PIAF etc.) and then do all the dial plan magic with Visual Dialplan. This way you can develop dial plans using Visual Dialplan, leveraging all the benefits that come with its large component library including Lumenvox ASR components, Festival TTS components, validation engine, database support etc., and then deploy it directly to your FreePBX (Elastix, trixbox, PIAF etc.) server.

Dialplan deployment to Free PBX from Visual Dialplan is simple as pressing at "Deploy" button.
It does not require additional work at Free PBX side. There is no need to do any additional configuration at Free PBX side nor update Free PBX dialplan to make this work.
Visual Dialplan comes with integrated SSH client and will do the entire job behind the scene through SSH (write the dialplan to the Free PBX server and then include it at appropriate places within the Free PBX dial plan).

To develop Free PBX dialplan with Visual Dialplan make sure to select Free PBX for the "Asterisk server type" at "Preferences" dialog. This will instruct Visual Dialplan to deploy two files:
- globals_vdp.conf (where all the global variables will be stored) and
- extensions_vdp.conf file (where all the contexts and macros/subroutines will be stored).
It will also instruct Visual Dialplan to include these files at appropriate places within Free PBX.
Visual Dialplan hooks in the extensions_custom.conf and globals_custom.conf files (standard Free PBX files designed for the dial plan integration with Free PBX) and enables dial plan rules to be able to intercept incoming and outgoing calls before they get to the Free PBX dial plan. Developer may use this to override default behavior of the Free PBX or to develop custom dial plan that will work together with the Free PBX dial plan.

On the other side, Visual Dialplan will not change the configuration you did through the Free PBX user interface but will rather add the call flow elements developed with the Visual Dialplan at appropriate places without interfering with existing Free PBX configuration and settings.

You should also follow the Free PBX contexts structure when developing the dialplan for FreePBX:
- "vdp-outbound" context must be used to define outbound call flows
- "vdp-inbound" context must be used to define inbound call flows

How to develop and deploy dialplan to FreePBX (Elastix, trixbox, PIAF, AsteriskNOW etc.)

1. Define the connection to the FreePBX server
Visual Dialplan comes with integrated SSH client.
Type in the SSH access parameters at "Preferences" dialog and click on the "Test connection" button to test the connection with the server.
You should get the message that you established connection to the server.

Now you should click on the "Detect" button to detect the Asterisk server version.
You should get the message informing you about the Asterisk server version and appropriate version will be selected automatically from the drop down list.

Now select the appropriate version of your server (Free PBX, trixbox etc.) from the "Asterisk server type" drop down list.

Image

IMPORTANT NOTE:
It is very important to set the appropriate version of the server in order to instruct Visual Dialplan to deploy the dial plan appropriately.


2. Read the server configuration parameters
Select defined server above at the "Select server ..." drop down box to read the server configuration parameters.
Image

Visual Dialplan will connect to the server and read server configuration parameters.
It will pre-populate library components with configuration data and later on validate the dial plan accordingly.
Image

Note that Visual Dialplan will only read configuration parameters but will not change any of it.

3. Test your configuration
Now you are ready to develop your own dial plan but before you start modeling the dial plan it is our strong recommendation to test the Visual Dialplan and Free PBX integration first.
To complete the test follow these simple steps:
- Download 'hello-world' sample from our web site
- Open it with Visual Dialplan
- Select already configured server in the steps above
- Deploy the dial plan by clicking on the Deploy icon (or by selecting "Dialplan/Deploy" from the menu)
Hello world sample is very simple dial plan.
It will play the hello world message to the caller if the caller calls extension 56781.

Please make sure you hear the hello world message to confirm your installation is in place.

4. Start modeling dialplan
Now we are ready to proceed with the dial plan development.
Select 'File/New Dialplan ...' and follow on screen instructions.

By default Visual Dialplan will create two contexts:

- "vdp-outbound" context should be used to define outgoing call flows.
This context will be included into the Free PBX dial plan and can be used to override the default behavior of the Free PBX related to the outgoing calls (if you use catch all extension), or to develop custom dial plan that will work together with the Free PBX dial plan (if you use other extensions, not catch all extension).

- "vdp-inbound" context should be used to define incoming call flows.
This context will be included into the Free PBX dial plan and can be used to override the default behavior of the Free PBX related to the incoming calls (if you use catch all extension), or to develop custom dial plan that will work together with the Free PBX dial plan (if you use other specific extensions, not catch all extension).

Image

IMPORTANT NOTES:

4.1. Make sure to follow the default context structure above. Otherwise the dial plan will not work as expected. Do not delete or rename these contexts.

You can also add new contexts that you may use then as a target in the Free PBX UI but you have to type the name of those contexts manually in the Free PBX UI. In the future we will develop the Free PBX plug-in that will automatically list such contexts in the Free PBX UI.

4.2. How to start your dial plan?
Our recommendation is to use some of the extensions not already used in the Free PBX to start your dial plan.
Do not use 's' extension (Image) but rather specific extension (Image) because the 's' extension may be handled by the Free PBX server by default.

Extensions and outbound calling rules defined in these two contexts will be available to the all users configured in the Free PBX.

You can use 'catch all' extension ("_.") to override complete Free PBX dial plan or specific extensions (56781 or any other) to handle only those extensions.

4.3. How to end the dial plan?
It is good development practice to return the call back to Free PBX to be routed further as defined by the PBX, after you finished with it, but you can also hang up the call.

If you want to return the call back to Free PBX for further processing:
- for incoming calls use Goto component and send the call back to "ext-did" context (extension "EXTEN")
- for outgoing calls use Goto component and send the call back to "outbound-allroutes" context (extension "EXTEN"),

To hand up the call use 'Hang up' component.

IMPORTANT NOTE:
To return back to the Free PBX default dial plan simply delete content of "vdp-outbound" and "vdp-inbound" contexts and deploy the dial plan. That way you will delete all the dial plan logic you did with Visual Dialplan and return back to Free PBX dial plan i.e. the calls will be no longer intercepted by the dial plan developed with the Visual Dialplan.

You can also start with one of the included samples.
Image

5. Deployment
When you are satisfied with the dial plan simply click on the "Deploy" button or select "Dialplan/Deploy" from the main menu and the dial plan will be deployed to the FreePBX server. No additional work at Free PBX side is required.

FreePBX dialplan sample

This Free PBX dialplan sample consists of three contexts.

vdp-outbound
This context is used to handle outbound calls.
Image

vdp-inbound
This context is used to handle inbound calls.
Image

self-service-ivr
IVR played to the callers after the business hours (used in inbound call flow).
Image

Click here to download this sample (VDP file).

About Visual Dialplan

Image

Visual Dialplan for Asterisk® is modern rapid application development platform for Asterisk dial plan development.
It is perfect tool for building Asterisk voice applications
It comes with drag-and-drop visual modeling environment and large component library, voice grammar editor, handy dial plan samples, powerful validation engine, and single button deployment functionality. It even learns about Asterisk server configuration - Asterisk server configuration reading module connects to the Asterisk server, pools the server configuration data and then pre-populates library components with configuration objects. Visual Dialplan detects remote Asterisk server version and accommodates its behavior accordingly. And there are other cool features like export graphical presentation of the dial plan to image file etc.

Visual Dialplan is the only Asterisk GUI that provides full access to Asterisk dial plan potential.

About Visual Dialplan Code Zone

Visual Dialplan Code Zone is a website for developers to find solutions, share ideas and solve problems.
It includes a wiki containing tutorials, code snippets, dial plan examples and tools to simplify development and testing.
Visual Dialplan Code Zone

Download full functional trial

Full functional free of charge trial version of Visual Dialplan is available for the download.
Download Visual Dialplan, or learn more at www.Apstel.com.

Image
Visual Dialplan supports FreePBX (Elastix, trixbox, PIAF AsteriskNOW with FreePBX GUI etc.).
You can simply create extensions, voicemail boxes and trunks using Free PBX (Elastix, trixbox, PIAF etc.) and then do all the dial plan magic with Visual Dialplan. This way you can develop dial plans using Visual Dialplan, leveraging all the benefits that come with its large component library including Lumenvox ASR components, Festival TTS components, validation engine, database support etc., and then deploy it directly to your FreePBX (Elastix, trixbox, PIAF etc.) server.

Dialplan deployment to Free PBX from Visual Dialplan is simple as pressing at "Deploy" button.
It does not require additional work at Free PBX side. There is no need to do any additional configuration at Free PBX side nor update Free PBX dialplan to make this work.
Visual Dialplan comes with integrated SSH client and will do the entire job behind the scene through SSH (write the dialplan to the Free PBX server and then include it at appropriate places within the Free PBX dial plan).

To develop Free PBX dialplan with Visual Dialplan make sure to select Free PBX for the "Asterisk server type" at "Preferences" dialog. This will instruct Visual Dialplan to deploy two files:
- globals_vdp.conf (where all the global variables will be stored) and
- extensions_vdp.conf file (where all the contexts and macros/subroutines will be stored).
It will also instruct Visual Dialplan to include these files at appropriate places within Free PBX.
Visual Dialplan hooks in the extensions_custom.conf and globals_custom.conf files (standard Free PBX files designed for the dial plan integration with Free PBX) and enables dial plan rules to be able to intercept incoming and outgoing calls before they get to the Free PBX dial plan. Developer may use this to override default behavior of the Free PBX or to develop custom dial plan that will work together with the Free PBX dial plan.

On the other side, Visual Dialplan will not change the configuration you did through the Free PBX user interface but will rather add the call flow elements developed with the Visual Dialplan at appropriate places without interfering with existing Free PBX configuration and settings.

You should also follow the Free PBX contexts structure when developing the dialplan for FreePBX:
- "vdp-outbound" context must be used to define outbound call flows
- "vdp-inbound" context must be used to define inbound call flows

How to develop and deploy dialplan to FreePBX (Elastix, trixbox, PIAF, AsteriskNOW etc.)

1. Define the connection to the FreePBX server
Visual Dialplan comes with integrated SSH client.
Type in the SSH access parameters at "Preferences" dialog and click on the "Test connection" button to test the connection with the server.
You should get the message that you established connection to the server.

Now you should click on the "Detect" button to detect the Asterisk server version.
You should get the message informing you about the Asterisk server version and appropriate version will be selected automatically from the drop down list.

Now select the appropriate version of your server (Free PBX, trixbox etc.) from the "Asterisk server type" drop down list.

Image

IMPORTANT NOTE:
It is very important to set the appropriate version of the server in order to instruct Visual Dialplan to deploy the dial plan appropriately.


2. Read the server configuration parameters
Select defined server above at the "Select server ..." drop down box to read the server configuration parameters.
Image

Visual Dialplan will connect to the server and read server configuration parameters.
It will pre-populate library components with configuration data and later on validate the dial plan accordingly.
Image

Note that Visual Dialplan will only read configuration parameters but will not change any of it.

3. Test your configuration
Now you are ready to develop your own dial plan but before you start modeling the dial plan it is our strong recommendation to test the Visual Dialplan and Free PBX integration first.
To complete the test follow these simple steps:
- Download 'hello-world' sample from our web site
- Open it with Visual Dialplan
- Select already configured server in the steps above
- Deploy the dial plan by clicking on the Deploy icon (or by selecting "Dialplan/Deploy" from the menu)
Hello world sample is very simple dial plan.
It will play the hello world message to the caller if the caller calls extension 56781.

Please make sure you hear the hello world message to confirm your installation is in place.

4. Start modeling dialplan
Now we are ready to proceed with the dial plan development.
Select 'File/New Dialplan ...' and follow on screen instructions.

By default Visual Dialplan will create two contexts:

- "vdp-outbound" context should be used to define outgoing call flows.
This context will be included into the Free PBX dial plan and can be used to override the default behavior of the Free PBX related to the outgoing calls (if you use catch all extension), or to develop custom dial plan that will work together with the Free PBX dial plan (if you use other extensions, not catch all extension).

- "vdp-inbound" context should be used to define incoming call flows.
This context will be included into the Free PBX dial plan and can be used to override the default behavior of the Free PBX related to the incoming calls (if you use catch all extension), or to develop custom dial plan that will work together with the Free PBX dial plan (if you use other specific extensions, not catch all extension).

Image

IMPORTANT NOTES:

4.1. Make sure to follow the default context structure above. Otherwise the dial plan will not work as expected. Do not delete or rename these contexts.

You can also add new contexts that you may use then as a target in the Free PBX UI but you have to type the name of those contexts manually in the Free PBX UI. In the future we will develop the Free PBX plug-in that will automatically list such contexts in the Free PBX UI.

4.2. How to start your dial plan?
Our recommendation is to use some of the extensions not already used in the Free PBX to start your dial plan.
Do not use 's' extension (Image) but rather specific extension (Image) because the 's' extension may be handled by the Free PBX server by default.

Extensions and outbound calling rules defined in these two contexts will be available to the all users configured in the Free PBX.

You can use 'catch all' extension ("_.") to override complete Free PBX dial plan or specific extensions (56781 or any other) to handle only those extensions.

4.3. How to end the dial plan?
It is good development practice to return the call back to Free PBX to be routed further as defined by the PBX, after you finished with it, but you can also hang up the call.

If you want to return the call back to Free PBX for further processing:
- for incoming calls use Goto component and send the call back to "ext-did" context (extension "EXTEN")
- for outgoing calls use Goto component and send the call back to "outbound-allroutes" context (extension "EXTEN"),

To hand up the call use 'Hang up' component.

IMPORTANT NOTE:
To return back to the Free PBX default dial plan simply delete content of "vdp-outbound" and "vdp-inbound" contexts and deploy the dial plan. That way you will delete all the dial plan logic you did with Visual Dialplan and return back to Free PBX dial plan i.e. the calls will be no longer intercepted by the dial plan developed with the Visual Dialplan.

You can also start with one of the included samples.
Image

5. Deployment
When you are satisfied with the dial plan simply click on the "Deploy" button or select "Dialplan/Deploy" from the main menu and the dial plan will be deployed to the FreePBX server. No additional work at Free PBX side is required.

FreePBX dialplan sample

This Free PBX dialplan sample consists of three contexts.

vdp-outbound
This context is used to handle outbound calls.
Image

vdp-inbound
This context is used to handle inbound calls.
Image

self-service-ivr
IVR played to the callers after the business hours (used in inbound call flow).
Image

Click here to download this sample (VDP file).

About Visual Dialplan

Image

Visual Dialplan for Asterisk® is modern rapid application development platform for Asterisk dial plan development.
It is perfect tool for building Asterisk voice applications
It comes with drag-and-drop visual modeling environment and large component library, voice grammar editor, handy dial plan samples, powerful validation engine, and single button deployment functionality. It even learns about Asterisk server configuration - Asterisk server configuration reading module connects to the Asterisk server, pools the server configuration data and then pre-populates library components with configuration objects. Visual Dialplan detects remote Asterisk server version and accommodates its behavior accordingly. And there are other cool features like export graphical presentation of the dial plan to image file etc.

Visual Dialplan is the only Asterisk GUI that provides full access to Asterisk dial plan potential.

About Visual Dialplan Code Zone

Visual Dialplan Code Zone is a website for developers to find solutions, share ideas and solve problems.
It includes a wiki containing tutorials, code snippets, dial plan examples and tools to simplify development and testing.
Visual Dialplan Code Zone

Download full functional trial

Full functional free of charge trial version of Visual Dialplan is available for the download.
Download Visual Dialplan, or learn more at www.Apstel.com.

Created by: mich.davis, Last modification: Tue 29 of Sep, 2009 (09:31 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+