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.

4 comments:

  1. This guide provides a detailed walkthrough for installing GOautodial on a CentOS 7 server from scratch. By covering repository configuration, dependency installation, MariaDB, PHP, Asterisk, Kamailio, RTPengine, and system service setup, the tutorial offers a practical reference for building a complete VoIP and call center environment.

    Deploying enterprise communication platforms requires a solid understanding of Linux administration, server configuration, networking, and VoIP technologies. Students interested in similar infrastructure and communication system implementations can explore Networking Projects for Final Year, where network services, server management, and communication protocols are widely applied.

    ReplyDelete
  2. The step-by-step installation process also highlights the importance of managing dependencies, configuring services, and maintaining a stable server environment. Developers can further strengthen their backend and automation skills through Python Online Training, which introduces practical scripting techniques for Linux administration, automation, and infrastructure management.

    ReplyDelete
  3. For readers interested in broader computer science project ideas involving networking, distributed systems, and enterprise applications, IEEE Projects for CSE showcases diverse project domains and implementation ideas relevant to modern software and network engineering.

    ReplyDelete