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.comcd /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.
Thanks for Sharing Write For Us Tech!
ReplyDeleteThis 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.
ReplyDeleteDeploying 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.
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.
ReplyDeleteFor 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