How to – Setup a ViciDial Cluster

How to – Setup a ViciDial Cluster

ViciDial Cluster

How to – Setup a ViciDial Cluster

This article is going to go over the steps I suggest to take in order to setup a ViciDial Cluster. I do things a little different when it comes to this to prepare for worst case scenario that a server may have problems and have to be taken offline, I install all services to each server, such as apache, mysql and asterisk this way if need be, they each can take on additional roles to cover for a server having to be taken out of production. Obviously this is going to assume you have ViciDial already installed on each server with all roles ready to go. To do so you can follow any one of my articles for scratch installs or you can just use an ISO to install of which I suggest using Vicibox v9.0.3 over V10 because of the issues with the V10 firewall and dynamic portal not working correctly, even if you do apply my fix, I find V9 to be more stable.

ViciDial Cluster
ViciDial Cluster

Step 1 – Install Vicidial on each server

As I said above, I suggest installing all services on each server and just leaving the ones not needed for each box, disabled until needed. So if you are using an ISO install instead of one of my scratch instructions, for the purpose on this article, lets say ViciBox v9.0.3. The first thing you need to do after loading v9 is to upgrade the operating system from Leap 15.1 to Leap 15.2 using these instructions, because Leap 15.1 is end of life(no more updates). After that use the command, vicibox-install and choose Y(yes) for the options shown in the picture below:

ViciBox Installer

Repeat this process on each server and then move on to step 2.

Step 2 – Turn off services not needed on each server role

Now we need to disable services not needed on each server to save on resources, but this way they are there if they are needed in the future.

  • DB Server: systemctl disable apache2;systemctl disable asterisk
  • Web Server: systemctl disable mysql;systemctl disable asterisk
  • Asterisk Servers: systemctl disable mysql

We want to leave apache running on the asterisk servers so we can install webrtc for webphones

Step 3 – Run the script on each server

Now we want to link them all together by running the script located in the source directory for vicidial, follow the following commands to get to and run it:

cd /usr/src/astguiclient/trunk

Now follow the prompt and answer them accordingly. The pictures below will show the choices needed for each server role except make sure you set the IP for the DB server on all the rest instead of localhost.

DB Server and Web Server

DB Server

For the web server make sure you put the DB server IP instead of localhost

Asterisk Servers

Only use 5 and 7 on ONE asterisk server, not all, the rest put 123468

Make sure you only put 5 and 7 keepalives on one asterisk server, the rest you should only choose 123468.

Step 4 – Add them to the GUI for ViciDial

Now we need to add them into the GUI for Vicidial by going to Admin then servers

Go to Servers in the Admin area

Once you are here, click “Add a new server”

Once you are here, click "Add a new server"
Once you are here, click “Add a new server”

Fill out the fields accordingly and click submit

Add a new server

Now for the DB and web server turn the options to N(no) where you see highlighted below:

Active server, Active Asterisk server and Active agent server set to N

Now reboot all servers and then check your reports page to make sure all servers are set to green like shown below

ViciDial Cluster
ViciDial Cluster

That’s all there is to it, not as hard as you thought it would be, right? If you have any questions feel free to join our live support on Skype:

Skype Channel

I hope this helps!

Chris aka carpenox


El habib


I think for all dialers you should not put localhost for DB server; instead you should put IP address of the DB server of the cluster.

Leave a Reply