Bobcares

Install vicidial scratch on centos 7

by | Oct 2, 2021

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>&amp;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.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF