Thursday, October 22, 2020

Step 1 : Install Centos 7 server mode


Step 2 :  Update the OS 


yum check-update

yum update -y

yum -y install epel-release 

yum groupinstall 'Development Tools'


Step 3 :  Disable the selinux and reboot 

sudo nano /etc/selinux/config

### SELINUX=disabled

systemctl disable firewalld

reboot


Step 4 :  Install Dependicies

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 5 :  mysql/mariadb custom settings


cp /etc/my.cnf /etc/my.cnf.original

echo "" > /etc/my.cnf


nano /etc/my.cnf    ; copy the below config to this file.



[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



Step 6 :  Centos 7 command to enable and start the webserver and mariaDB services

systemctl enable httpd.service

systemctl enable mariadb.service

systemctl start httpd.service

systemctl start mariadb.service


Step 7 :  update the timezone  

cp /usr/share/zoneinfo/America/New_York /etc/localtime


press y to overwrite.



Step 8 :  Installing 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 9 :  Asterisk Perl installation


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.1 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 :  Installing 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 :  Jasson installation (asterisk 11 or later required this module)


cd /usr/src/

wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz

tar -zxf jansson-2.5.tar.gz

#tar xvzf jasson*

cd jansson*

./configure

make clean

make

make install 

ldconfig




Step 12 :  Eaccelerator Installation 


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 :  Custom settings for php.ini


nano /etc/php.ini


Change the following values in your 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 = America/New_York


;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

php -v



Step 14 : Editing the Http conf file 


nano /etc/httpd/conf/httpd.conf


To disable logging, change:


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 :  Installing Asterisk Dahdi Libpri


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/beta-apps/asterisk-13.21.0-vici.tar.gz


tar xzf asterisk-*

tar xzf dahdi-linux-complete-*

tar xzf libpri-*


cd /usr/src/asterisk/dahdi-linux-complete-*

make

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 go application and select app_meetme 

make

make install

make samples

make config




Step 16 :  Download and install vicidial (astguiclient from svn repo)


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 17 :  Creating database and tables in mariadb


mysql


CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE USER 'cron'@'localhost' IDENTIFIED BY 'ttcomm';

GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY 'ttcomm';


GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY 'ttcomm';

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 18 : Install astguiclient (vicidial)


cd /usr/src/astguiclient/

cd trunk

perl install.pl





Step 19 : update server ip in database  


/usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15


Step 20 :  crontab entries  


crontab -e


#copy paste the below entries


### 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 21: Final adjustments enabling startup scripts


nano /etc/rc.d/rc.local


copy past the blow entries after the last line of rc.local file



# 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


systemctl start mariadb.service



### start up the apache web server


systemctl start httpd.service



### roll the Asterisk logs upon reboot


/usr/share/astguiclient/ADMIN_restart_roll_logs.pl



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


/usr/share/astguiclient/AST_reset_mysql_vars.pl



### load dahdi drivers


modprobe dahdi

modprobe dahdi_dummy


/usr/sbin/dahdi_cfg -vvvvvvvvvvvvv



### sleep for 20 seconds before launching Asterisk


sleep 20



### start up asterisk


/usr/share/astguiclient/start_asterisk_boot.pl





Step 22 :  Enable the rc.local to run on startup 


chmod +x /etc/rc.d/rc.local

systemctl enable rc-local

systemctl start rc-local


Step 23 :  reboot 


reboot


Step 25 : Start using vicidial


Go to: http://youripaddress/vicidial/admin.php

The default username is: 6666 and the password is: ttcomm

Any query contact us +923214581704 Mehndi Drama Serial