VICIdial is an enterprise-class, open-source contact centre solution with predictive dialer capabilities. It can handle inbound, outbound, and blended phone calls and inbound email and customer website chat, all within the same agent screen. The agent screen is available in 16 various languages, with options to easily create your custom translations.



TO install VICIdial, kindly follow as mentioned below: 



Update OS & Reboot

yum -y update


Install Dependencies & Reboot

yum -y install epel-release
yum install -y kernel*
yum install -y kernel-devel

yum install -y httpd php-common php-pdo php php-pear php-mbstring php-cli php-gd php-imap php-devel phpsysinfo php-mysql phpmyadmin mod_ssl mariadb mariadb-server mariadb-devel perl-DBI perl-DBD-MySQL perl-Digest-HMAC perl-YAML perl-ExtUtils-ParseXS perl-NetAddr-IP perl-Crypt-SSLeay perl-Curses perl-DBD-Pg perl-Module-ScanDeps perl-Text-CSV perl-HTML-Template perl-IO-Compress perl-Text-Glob perl-Jcode perl-Test-Script perl-Archive-Tar perl-Test-Base perl-OLE-Storage_Lite perl-Archive-Zip perl-Net-Server perl-Convert-ASN1 perl perl-Compress-Raw-Zlib perl-Digest-SHA1 perl-Data-Dumper perl-Error perl-ExtUtils-CBuilder perl-Test-Tester perl-Parse-RecDescent perl-Spiffy perl-IO-Zlib perl-Module-Build perl-HTML-Parser perl-Net-SSLeay perl-Proc-ProcessTable perl-TermReadKey perl-Term-ReadLine-Gnu perl-Digest-SHA perl-Tk perl-Net-SNMP perl-Test-NoWarnings perl-XML-Writer perl-Proc-PID-File perl-Compress-Raw-Bzip2 perl-libwww-perl perl-XML-Parser perl-File-Remove perl-Parse-CPAN-Meta perl-Set-Scalar perl-Probe-Perl perl-File-Which perl-Package-Constants perl-Module-Install perl-File-HomeDir perl-Spreadsheet-ParseExcel perl-Mail-Sendmail perl-Spreadsheet-XLSX asterisk-perl perl-version perl-Crypt-DES perl-URI perl-Net-Daemon perl-IO-stringy perl-YAML-Tiny perl-HTML-Tagset perl-Socket6 perl-BSD-Resource perl-PlRPC perl-IPC-Run3 perl-Text-CSV_XS perl-Unicode-Map perl-Module-CoreList perl-Net-Telnet perl-PAR-Dist perl-Date-Manip perl-JSON perl-Proc-Daemon perl-Spreadsheet-WriteExcel perl-rrdtool install lame screen sox ntp iftop subversion dahdi-linux-devel php-xcache wget nano vim readline-devel 

yum install -y make patch gcc gcc-c++ 
yum -y install ncurses-devel
yum -y install libxml2-devel
yum -y install sqlite-devel



Enable & Start http,mariadb and Add Ports into Firewall

systemctl enable httpd.service; systemctl enable mariadb.service; systemctl start httpd.service; systemctl start mariadb.service
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload 


Enter Server-IP address into the browser and make sure Apache is showing Testing 123…Webpage. If this webpage is not showing, then make sure Apache is properly installed, the ports are added to Firewall. You can disable the Firewall ultimately to make sure if it FW problem or something else.

Install CPAN Modules

cpan -i String::CRC Tk::TableMatrix Net::Address::IP::Local Term::ReadLine::Gnu Spreadsheet::Read Net::Address::IPv4::Local RPM::Specfile Spreadsheet::XLSX Spreadsheet::ReadSXC


Install Asterisk Perl Module

cd /usr/src/ 
tar -zxf asterisk-perl-0.08.tar.gz 
cd asterisk-perl-0.08
perl Makefile.PL
make all 
make install 


Asterisk 13.17 Download & Installation

Download & Unzip Asterisk, Dahdi & Libpri

mkdir /usr/src/asterisk
cd /usr/src/asterisk

tar xzf asterisk-13.17.2-vici.tar.gz
tar xzf dahdi-linux-complete-2.11.1.tar.gz
tar xzf libpri-current.tar.gz


Install DAHDI

cd dahdi-linux-complete-2.11.1+2.11.1
make all
make install
modprobe dahdi
modprobe dahdi_dummy
make config


Install Libpri

cd /usr/src/asterisk/libpri-1.6.0
make clean
make install 


Install Asterisk Prerequisites

bash /usr/src/asterisk/asterisk-13.17.2-vici/contrib/scripts/install_prereq install 


Install Asterisk *64bit

cd /usr/src/asterisk/asterisk-13.17.2-vici
./configure --libdir=/usr/lib64 
make menuselect #Select Application>MeetMe App
make install
make samples
make config
chkconfig asterisk on 


Create Database

CREATE USER 'cron'@'localhost' IDENTIFIED BY '1234';
GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost;
flush privileges;


Install Vicidial

mkdir /usr/src/astguiclient
cd /usr/src/astguiclient
svn checkout svn://
cd trunk


Enter13.17 when it asks for Asterisk Version + Copy Asterisk Settings=Yes + Server webroot path=/var/www/html

Import DB Server Install Settings

SET GLOBAL connect_timeout=60;
use asterisk;
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql


Extra settings on Terminal

chmod -R 755 /usr/src/astguiclient/trunk/bin/
cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
/usr/src/astguiclient/trunk/bin/ --forcelistid=107 --forcephonecode=1 


Start-Up Script

nano /etc/rc.d/rc.local


Enter Following in the opened file, remove everything from there and copy paste below in it:

# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring)
/usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2

# Disable console blanking and powersaving
/usr/bin/setterm -blank
/usr/bin/setterm -powersave off
/usr/bin/setterm -powerdown

### start up the MySQL server
/etc/init.d/mysqld start

### start up the apache web server
/etc/init.d/httpd start

### roll the Asterisk logs upon reboot

### clear the server-related records from the database

### load dahdi drivers
modprobe dahdi
/usr/sbin/dahdi_cfg -vvvvvvvvvvvvv

### sleep for 20 seconds before launching Asterisk
sleep 20

### start up asterisk


Setting up crontab

crontab -e

Copy the below and paste it into open window and then save it with “:wq”

### keepalive script for astguiclient processes
* * * * * /usr/share/astguiclient/

### Compress astguiclient log files and remove old ones
25 2 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +1 -print | grep -v \.xz | xargs xz -9 >/dev/null 2>&1
28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +30 -print | xargs rm -f

### fix the vicidial_agent_log once every hour and the full day run at night
33 * * * * /usr/share/astguiclient/
50 0 * * * /usr/share/astguiclient/ --last-24hours
## uncomment below if using QueueMetrics
#*/5 * * * * /usr/share/astguiclient/ --only-qm-live-call-check

### updater for VICIDIAL hopper
* * * * * /usr/share/astguiclient/ -q

### adjust the GMT offset for the leads in the vicidial_list table
1 1,7 * * * /usr/share/astguiclient/ --debug --list-settings

### optimize the database tables within the asterisk database
3 1 * * * /usr/share/astguiclient/

### VICIDIAL agent time log weekly and daily summary report generation
2 0 * * 0 /usr/share/astguiclient/
22 0 * * * /usr/share/astguiclient/

### VICIDIAL campaign export scripts (OPTIONAL)
#32 0 * * * /usr/share/astguiclient/
#42 0 * * * /usr/share/astguiclient/

### inventory report optional
#1 7 * * * /usr/share/astguiclient/ -q --override-24hours

### roll logs monthly on high-volume dialing systems
#30 1 1 * * /usr/share/astguiclient/ --months=6

### roll call_log and vicidial_log_extended daily on very high-volume dialing systems
#20 1 * * * /usr/share/astguiclient/ --daily

## uncomment below if using Vtiger
#1 1 * * * /usr/share/astguiclient/ --quiet

# cleanup of the scheduled callback records
25 0 * * * /usr/share/astguiclient/ --purge-non-cb --quiet

### inbound email parser should only be active on a single server
* * * * * /usr/share/astguiclient/

### flush queue DB table every hour for entries older than 1 hour
11 * * * * /usr/share/astguiclient/ -q

### remove and rotate old asterisk logs
29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +30 -print | xargs rm -f
30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +7 -print | xargs rm -f
31 0 * * * /usr/bin/find /tmp -maxdepth 1 -type f -mtime +7 -print | xargs rm -f
32 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 1 -type f -mtime +1 -print | grep -v \.xz | xargs xz >/dev/null 2>&1

### recording mixing/compressing/ftping scripts
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/ --MIX
#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/ --MP3
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/ --MP3 --run-check
#0 1 * * * /usr/share/astguiclient/ --ftp-server=server.ip --ftp-login=user --ftp-pass=pass --ftp-directory=/ --ftp-persistent --ftp-validate --transfer-limit=100000 --list-limit=100000

### remove old recordings more than 7 days old, and delete originals after 1 day
#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
24 1 * * * /usr/bin/find /var/spool/asterisk/monitorDONE/ORIG -maxdepth 2 -type f -mtime +1 -print | xargs rm -f

### kill Hangup script for Asterisk updaters
* * * * * /usr/share/astguiclient/

### updater for voicemail
* * * * * /usr/share/astguiclient/

### updater for conference validator
* * * * * /usr/share/astguiclient/

### reset several temporary-info tables in the database
2 1 * * * /usr/share/astguiclient/

### Reboot nightly to manage asterisk issues and memory leaks - uncomment if issues arise
30 6 * * * /sbin/reboot

### remove text to speech file more than 4 days old
#20 0 * * * /usr/bin/find /var/lib/asterisk/sounds/tts/ -maxdepth 2 -type f -mtime +4 -print | xargs rm -f

### Update agent records with the IP of the phone they are logging in on
#*/5 * * * * /usr/share/astguiclient/ --agent-lookup

### Delete voicemail that is older then 60 days
#0 2 * * * /usr/local/bin/ --active --age=60

### ViciBox integrated firewall, by default just load the VoIP Black list and reload it every 4 hours
### You can lock everyone out of your server if you set this wrong, so understand what you are doing!!!
@reboot /usr/local/bin/ --voipbl --noblack --quiet
0 */6 * * * /usr/local/bin/ --voipbl --noblack --flush --quiet


Finally Reboot



Verify Installation

screen -ls


Installing G729 Codec

cd /usr/lib64/asterisk/modules
asterisk -r
module load
/etc/init.d/asterisk restart 


Login Vicidial Admin/Agent Interface

Admin Interface:
yourserverip/vicidial/admin.php (username:6666, password:1234)


Agent Interface:
yourserverip/agc/vicidial.php (enter agent username and password which you have created through admin interface)


Verify Codec Installation

asterisk -r core show translations



Backup/Test/Restore Existing Vicidial System

Run this for a 1-server system or server with database on it: (this may take hours on large system)

/usr/share/astguiclient/ --debugX


Run this on dialer/Asterisk-only servers: (do not run this if you only have one server):

/usr/share/astguiclient/ --debugX --without-db --without-web


Test backup:

Please create a new (any name) database on any mysql server, apply the backup data to it, and verify a new lead from Today is actually in there.


On ALL servers: (Database, web, telephony)

cd /usr/src/astguiclient


Download Vicidial trunk on ALL servers

svn checkout svn://


On ONLY database server:

Going into mysql and executing the upgrade sql file:


use asterisk
\. /usr/src/astguiclient/trunk/extras/upgrade_2.8.sql


On ALL servers: (Database, web, telephony)

cd /usr/src/astguiclient/trunk
perl ./


NOTES: If you have customized any scripts in the bin or agi folders,

then make sure you back them up before running the script.

This script will replace existing files in the astguiclient installation.


On one server only, update your phone codes data:

/usr/share/astguiclient/ --purge-table –debug


?האם התשובה שקיבלתם הייתה מועילה 0 משתמשים שמצאו מאמר זה מועיל (31 הצבעות)