Sunday, May 30, 2021

Goautodial Install from Scratch CentOS 7.

 

Install Goautodial From Scratch (using CentOS 7)

 Installing the GOautodial app (v4) on a CentOS 7.0 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 vim

Edit /etc/yum.conf:

vim /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

vim /etc/rtpengine/rtpengine.conf

Change 123.234.345.456 to your public IP address

### a single interface:
interface = 123.234.345.456

Configure Kamailio

vim /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


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


Reboot your server (very important!)

reboot

Edit /var/www/html/php/Config.php

<?php
// database configuration
define('DB_USERNAME', 'goautodialu');
define('DB_PASSWORD', 'goautodialu1234');
define('DB_HOST', 'localhost');
define('DB_NAME', 'goautodial');
define('DB_PORT', '3306');
define('DB_NAME_ASTERISK', 'asterisk');
define('DB_USERNAME_KAMAILIO', 'kamailiou');
define('DB_PASSWORD_KAMAILIO', 'kamailiou1234');
define('DB_HOST_KAMAILIO', 'localhost');
define('DB_NAME_KAMAILIO', 'kamailio');
define('DB_PORT_KAMAILIO', '3306');

// other configuration parameters
define('CRM_ADMIN_EMAIL', 'admin@localhost.com');
?>

SSL Configuration

yum install -y certbot
certbot certonly -d pbx.pstncall.com
cd /etc/letsencrypt/live/pbx.pstncall.com/
cp privkey.pem /etc/pki/tls/private/localhost.key
cp fullchain.pem /etc/pki/tls/certs/localhost.crt
service httpd restart


Access your GOautodial application (Google Chrome is recommended)

https://pbx.pstncall.com
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.