Wondering how to install vicidial scratch on Centos 7?We can help you.
VICIDIAL is an enterprise class, open source, call center suite in use by many large call centers around the world.
As part of our Server Management Services, we assist our customers with similar queries.
Today, let us see how our Support techs perform this task.
How to Install Vicidial scratch on Centos 7?
Asterisk is software that turns an ordinary computer into a voice communications server.
Together, you have a full featured predictive dialer.
It can also function as an ACD for inbound calls, or closer calls coming from VICIDIAL outbound fronters.
It is capable of inbound, outbound, and blended call handling.
VICIDIAL even allows you to have agents logged in from remote locations.
Today, let us see the steps followed by our Support Techs for the installation:
Step 1:
Updating the operating system
yum check-update
yum update -y
yum -y install epel-release
Step 2:
Then, disable firewall
yum groupinstall ‘Development Tools’
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
systemctl disable firewalld
reboot
Step 3:
Next, install all the dependencies.
yum install make patch gcc gcc-c++ subversion php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel libnet ncurses ncurses-devel screen mysql-devel ntp kernel* mutt glibc.i686 wget nano unzip sipsak sox –y libss7* libopen*
yum install sqlite-devel –y
yum install mariadb-server mariadb -y
Step 4:
Setup mariadb configuration files
cp /etc/my.cnf /etc/my.cnf.original
echo “” > /etc/my.cnf
vi /etc/my.cnf
after opening the my.cnf file in vi editor copy these lines below and paste it there
[mysql.server]
user = mysql #basedir = /var/lib
[client]
port = 3306 socket = /var/lib/mysql/mysql.sock
[mysqld]
datadir = /var/lib/mysql #tmpdir = /home/mysql_tmp socket = /var/lib/mysql/mysql.sock user = mysql old_passwords = 0 ft_min_word_len = 3 max_connections = 800 max_allowed_packet = 32M skip-external-locking log-error = /var/log/mysqld/mysqld.log query-cache-type = 1 query-cache-size = 32M long_query_time = 1 #slow_query_log = 1 #slow_query_log_file = /var/log/mysqld/slow-queries.log tmp_table_size = 128M table_cache = 1024 join_buffer_size = 1M key_buffer = 512M sort_buffer_size = 6M read_buffer_size = 4M read_rnd_buffer_size = 16M myisam_sort_buffer_size = 64M max_tmp_tables = 64 thread_cache_size = 8 thread_concurrency = 8 # If using replication, uncomment log-bin below #log-bin = mysql-bin
[mysqldump]
quick max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M
[myisamchk]
key_buffer = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
#log-error = /var/log/mysqld/mysqld.log #pid-file = /var/run/mysqld/mysqld.pid
After pasting the above simple close the editor by pressing esc and then :wq and press enter
Step 5:
Then, activate the services and enable them in our os for auto-start
systemctl enable httpd.service
systemctl enable mariadb.service
systemctl start httpd.service
systemctl start mariadb.service
Step 6:
Next, update the timezone
cp /usr/share/zoneinfo/America/Mexico /etc/localtime
Step 7:
Then, install all the required CPAN modules
yum install perl-CPAN -y
yum install perl-YAML -y
yum install perl-libwww-perl -y
yum install perl-DBI -y
yum install perl-DBD-MySQL -y
yum install perl-GD -y
cd /usr/bin/
curl -LOk http://xrl.us/cpanm
chmod +x cpanm
cpanm -f File::HomeDir
cpanm -f File::Which
cpanm CPAN::Meta::Requirements
cpanm -f CPAN
cpanm YAML
cpanm MD5
cpanm Digest::MD5
cpanm Digest::SHA1
cpanm readline
cpanm Bundle::CPAN
cpanm DBI
cpanm -f DBD::mysql
cpanm Net::Telnet
cpanm Time::HiRes
cpanm Net::Server
cpanm Switch
cpanm Mail::Sendmail
cpanm Unicode::Map
cpanm Jcode
cpanm Spreadsheet::WriteExcel
cpanm OLE::Storage_Lite
cpanm Proc::ProcessTable
cpanm IO::Scalar
cpanm Spreadsheet::ParseExcel
cpanm Curses
cpanm Getopt::Long
cpanm Net::Domain
cpanm Term::ReadKey
cpanm Term::ANSIColor
cpanm Spreadsheet::XLSX
cpanm Spreadsheet::Read
cpanm LWP::UserAgent
cpanm HTML::Entities
cpanm HTML::Strip
cpanm HTML::FormatText
cpanm HTML::TreeBuilder
cpanm Time::Local
cpanm MIME::Decoder
cpanm Mail::POP3Client
cpanm Mail::IMAPClient
cpanm Mail::Message
cpanm IO::Socket::SSL
cpanm MIME::Base64
cpanm MIME::QuotedPrint
cpanm Crypt::Eksblowfish::Bcrypt
cpanm Crypt::RC4
cpanm Text::CSV
cpanm Text::CSV_XS
Step 8:
Installation of asterisk perl
cd /usr/src
wget http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz
tar xzf asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
perl Makefile.PL
make all
make install
Step 9:
Installation of sipsak
cd /usr/src
wget http://download.vicidial.com/required-apps/sipsak-0.9.6-1.tar.gz
tar -zxf sipsak-0.9.6-1.tar.gz
cd sipsak-0.9.6
./configure
make
make install
/usr/local/bin/sipsak –version
Step 10:
Then, installation of LAME
cd /usr/src
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -zxf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install
Step 11:
Next, installation of jasson
cd /usr/src/
wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
tar -zxf jansson-2.5.tar.gz
cd jansson*
./configure
make clean
make
make install
ldconfig
Step 12:
Then, installation of eaccelerator
cd /usr/src
wget https://github.com/eaccelerator/eaccelerator/zipball/master -O eaccelerator.zip
unzip eaccelerator.zip
cd eaccelerator-*
export PHP_PREFIX=”/usr”
$PHP_PREFIX/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
make
make install
Step 13:
Then, search and replace the values of these in php.ini file
vi /etc/php.ini
Change the following values in php.ini file.
error_reporting = E_ALL & ~E_NOTICE
memory_limit = 48M
short_open_tag = On
max_execution_time = 330
max_input_time = 360
post_max_size = 48M
upload_max_filesize = 42M
default_socket_timeout = 360
date.timezone = Asia/Kolkata
;Dynamic Extensions
zend_extension=”/usr/lib64/php/modules/eaccelerator.so”
;For CentOS 32-bit: zend_extension=”/usr/lib/php/modules/eaccelerator.so”
eaccelerator.shm_size=”48″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
Step 14:
Httpd configuration
vi /etc/httpd/conf/httpd.conf
CustomLog logs/access_log combined
to this:
CustomLog /dev/null common
Alias /RECORDINGS/ “/var/spool/asterisk/monitorDONE/”
<Directory “/var/spool/asterisk/monitorDONE”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
<files *.mp3>
Forcetype application/forcedownload
</files>
</Directory>
Step 15:
Asterisk, Dahdi and Libpri installation
mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://download.vicidial.com/required-apps/asterisk-13.29.2-vici.tar.gz
tar xzf asterisk-*
tar xzf dahdi-linux-complete-*
tar xzf libpri-*
cd /usr/src/asterisk/dahdi-linux-complete-*
make
#if error occurs do following:
#yum update -y
#yum install kernel-devel -y
#reboot
make install
make config
cd tools
./configure
make
make install
make install-config
cd /usr/src/asterisk/libpri-*
make clean
make
make install
cd /usr/src/asterisk/asterisk*
./configure –libdir=/usr/lib64
make clean
make menuselect ; note you need to select application then find and select app_meetme then PRESS X or ESC and s
make
make install
make samples
make config
mkdir /usr/src/astguiclient
cd /usr/src/astguiclient
svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
cd /usr/src/astguiclient/trunk
Step 15:
Asterisk, Dahdi and Libpri installation
mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://download.vicidial.com/required-apps/asterisk-13.29.2-vici.tar.gz
tar xzf asterisk-*
tar xzf dahdi-linux-complete-*
tar xzf libpri-*
cd /usr/src/asterisk/dahdi-linux-complete-*
make
#if error occurs do following:
#yum update -y
#yum install kernel-devel -y
#reboot
make install
make config
cd tools
./configure
make
make install
make install-config
cd /usr/src/asterisk/libpri-*
make clean
make
make install
cd /usr/src/asterisk/asterisk*
./configure –libdir=/usr/lib64
make clean
make menuselect ; note you need to select application then find and select app_meetme then PRESS X or ESC and s
make
make install
make samples
make config
mkdir /usr/src/astguiclient
cd /usr/src/astguiclient
svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
cd /usr/src/astguiclient/trunk
Step 16:
Then, creating database
mysql
CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER ‘cron’@’localhost’ IDENTIFIED BY ‘1234’;
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@’%’ IDENTIFIED BY ‘1234’;
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY ‘1234’;
GRANT RELOAD ON *.* TO cron@’%’;
GRANT RELOAD ON *.* TO cron@localhost;
flush privileges;
use asterisk;
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
quit
Step 17:
Next, installation of vicidial
cd /usr/src/astguiclient/
cd trunk
perl install.pl
#select asterisk version 13.x and yes to copy sample configuration option
#update your server ip also to the ip of your server
/usr/share/astguiclient/ADMIN_area_code_populate.pl
/usr/share/astguiclient/ADMIN_update_server_ip.pl –old-server_ip=10.10.10.15
Step 18:
Then, cronjobs settlement
crontab -e
### 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/AST_CRON_audio_1_move_mix.pl
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl –MIX
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl –GSM
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl –GSM
### keepalive script for astguiclient processes
* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl –cu3way
### kill Hangup script for Asterisk updaters
* * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl
### updater for voicemail
* * * * * /usr/share/astguiclient/AST_vm_update.pl
### updater for conference validator
* * * * * /usr/share/astguiclient/AST_conf_update.pl
### flush queue DB table every hour for entries older than 1 hour
11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q
### fix the vicidial_agent_log once every hour and the full day run at night
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl –last-24hours
## uncomment below if using QueueMetrics
#*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl –only-qm-live-call-check
## uncomment below if using Vtiger
#1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl –quiet
### updater for VICIDIAL hopper
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
### adjust the GMT offset for the leads in the vicidial_list table
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl –debug
### reset several temporary-info tables in the database
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
### optimize the database tables within the asterisk database
3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl
## adjust time on the server with ntp
30 * * * * /usr/sbin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2
### VICIDIAL agent time log weekly and daily summary report generation
2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl
22 0 * * * /usr/share/astguiclient/AST_agent_day.pl
### VICIDIAL campaign export scripts (OPTIONAL)
#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl
#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl
### remove old recordings more than 7 days old
#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
### roll logs monthly on high-volume dialing systems
#30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl
### remove old vicidial logs and asterisk logs more than 2 days old
28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f
29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f
30 0 * * * /usr/bin/find / -maxdepth 1 -name “screenlog.0*” -mtime +4 -print | xargs rm -f
### cleanup of the scheduled callback records
25 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl –purge-non-cb -q
### GMT adjust script – uncomment to enable
#45 0 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl –list-settings
### Dialer Inventory Report
1 7 * * * /usr/share/astguiclient/AST_dialer_inventory_snapshot.pl -q –override-24hours
### inbound email parser
* * * * * /usr/share/astguiclient/AST_inbound_email_parser.pl
Step 19:
Finally, enabling the startup scripts
vi /etc/rc.d/rc.local
/usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2
/usr/bin/setterm -blank
/usr/bin/setterm -powersave off
/usr/bin/setterm -powerdown
systemctl start mariadb.service
systemctl start httpd.service
/usr/share/astguiclient/ADMIN_restart_roll_logs.pl
/usr/share/astguiclient/AST_reset_mysql_vars.pl
modprobe dahdi
modprobe dahdi_dummy
/usr/sbin/dahdi_cfg -vvvvvvvvvvvvv
sleep 20
/usr/share/astguiclient/start_asterisk_boot.pl
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local
systemctl start rc-local
reboot
Start using vicidial
1.Firstly, login to vicidial and configure it.
2.Add users, campaigns, in-group, DID’s, server, etc….
3.Go to: http://youripaddress/vicidial/admin.php
The default username is: 6666 and the password is: 1234
[Need help with similar queries? We’d be happy to assist you]
Conclusion
In short, we saw how our Support Techs Install vicidial scratch on centos 7.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
0 Comments