Project

General

Profile

Version 4 How To Install Goautodial From Scratch (using CentOS 7)

This is the HOWTO for installing the GOautodial app (v4) on a CentOS 7.X based server.

Update system

yum update -y
yum install -y nano wget
yum groupinstall -y "Development Tools" 

Install the Goautodial yum repository

cd /etc/yum.repos.d/
wget http://downloads2.goautodial.org/centos/7/goautodial.repo

Install MariaDB 10 PHP 7, Asterisk 13, Kamailio 5, RTPengine and other dependencies

yum install MariaDB-server MariaDB-devel php70w-mysql php70w-mcrypt php70w-devel php70w-mbstring php70w-common php70w-xml php70w-pear php70w-cli php70w-imap php70w-fpm php70w-gd php70w-opcache php70w-pdo php70w-process php70w php70w-intl php70w-pear.noarch php70w-xmlrpc asterisk-mysql-13.17.2-vici.el7.centos.x86_64 asterisk-perl-0.08-2.go.x86_64 asterisk-voicemail-plain-13.17.2-vici.el7.centos.x86_64 asterisk-devel-13.17.2-vici.el7.centos.x86_64 asterisk-voicemail-13.17.2-vici.el7.centos.x86_64 asterisk-alsa-13.17.2-vici.el7.centos.x86_64 asterisk-sip-13.17.2-vici.el7.centos.x86_64 asterisk-13.17.2-vici.el7.centos.x86_64 asterisk-dahdi-13.17.2-vici.el7.centos.x86_64 asterisk-iax2-13.17.2-vici.el7.centos.x86_64 asterisk-mp3-13.17.2-vici.el7.centos.x86_64 kamailio-tls kamailio kamailio-mysql kamailio-ims kamailio-utils kamailio-websocket  kamailio-json perl-Math-Round perl-Net-Server perl-File-Touch perl-Sys-RunAlone perl-Switch perl-Time-Local ngcp-rtpengine ngcp-rtpengine-kernel ngcp-rtpengine-dkms dkms dahdi-linux dahdi-linux-devel kernel-devel perl-Crypt-Eksblowfish perl-DBI perl-DBD-mysql perl-Net-Telnet lame httpd mod_ssl screen crontabs mailx net-tools glibc.i686

Enable EPEL repository

yum install -y epel-release
yum install perl-Crypt-Eksblowfish perl-Sys-RunAlone

Edit /etc/yum.repos.d/epel.repo

nano /etc/yum.repos.d/epel.repo

Append to the bottom of [epel] entries:

exclude=dahdi-tools*

Or if EPEL repo is not enabled:

Edit /etc/yum.conf:

nano /etc/yum.conf

Append to the bottom:

exclude=dahdi-tools*

Note: there's an asterisk (*) at the end of the line above. It's not a typo error.

This will avoid dahdi-tools package conflict with the EPEL repo.

yum update

Enable at system startup and start the service

systemctl enable php-fpm 
systemctl enable httpd
systemctl enable mariadb
systemctl enable kamailio
systemctl enable ngcp-rtpengine

Disable firewalld (IMPORTANT!)

systemctl stop firewalld
systemctl disable firewalld

We're using Iptables (customize /etc/sysconfig/iptables if needed)

Create missing Kamailio runtime directory

mkdir /var/run/kamailio
chown kamailio /var/run/kamailio

Install GOautodial

yum -y install goautodial-ce
cd /usr/src/goautodial
./install.sh

Install CPAN

yum install -y cpan
cpan install Net::Server
cpan install Asterisk::AGI

Configure RTPengine

nano /etc/rtpengine/rtpengine.conf

Change 123.234.345.456 to your public IP address

### a single interface:
interface = 123.234.345.456

Configure Kamailio

nano /etc/kamailio/kamailio.cfg

Change 10.10.100.19 to your public IP address

/* add local domain aliases */
alias="10.10.100.19" 
#!substdef "!MY_IP_ADDR!10.10.100.19!g" 
listen=udp:10.10.100.19:5060

Change TLSv1 to TLSv1+ (add the plus sign)

nano /etc/kamailio/tls.cfg
[server:default]
method = TLSv1

Should be:

[server:default]
method = TLSv1+

Crontab Entries

Check if the entry is applied.

crontab -l

If its blank run command and apply entries below

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 --MP3
#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 --MP3

### keepalive script for astguiclient processes
* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl

### 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

### 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 * * * /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 ORIG recordings more than 2 days old
24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE/ORIG/ -maxdepth 2 -type f -mtime +2 -print | xargs rm -f

### remove all recordings more than 6 months old
30 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE/ -maxdepth 2 -type f -mtime +180 -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

Reboot your server (very important!)

reboot

Update GOautodial web application

cd /var/www/html
git config --global user.email "root@localhost" 
git stash
git pull
cd /var/www/html/goAPIv2
git stash
git pull

Check HOWTO Update Latest Version via Github for updated instructions

Access your GOautodial application (Google Chrome is recommended)

https://IPADDRESS
User: goadmin
Pass: G0autodial2018

Notes

Kamailio default port 5060/UDP
Asterisk default port 5070/UDP

Please use the community forum boards (https://goautodial.org/projects/goautodialce/boards) for questions and issues.

Go to top