INSTALLATION GUIDE
INTRODUCTION
ICTCore is an open-source unified communications framework for developers and integrators to rapidly develop ICT based applications using their existing development skills. By using ICTCore, the developer can create communication-based applications such as Auto attendant, Fax to Email, Click to Call, etc. They can program custom business logic that can control incoming and outgoing communication instances.
BASIC SYSTEM REQUIREMENTS
- Apache 2
- MYSQL 5
- PHP 5.3.3 | PHP 7.4
- Sendmail
- FreeSWITCH
First of all, we need to install ict and epel repositories
for centos 7
rpm -Uvh'https://service.ictinnovations.com/repo/7/ict-release-7-4.el7.centos.noarch.rpm'
yum install epel-release
ICTCORE INSTALLATION
yum -y install ictcore ictcore-fax ictcore-email ictcore-voice
Create a new Database
Login to MySQL and enter these commands one by one:
CREATE DATABASE ictcore; USE ictcore; GRANT ALL PRIVILEGES ON ictcore.* TO ictcoreuser@localhost IDENTIFIED BY 'plsChangeIt'; FLUSH PRIVILEGES; SOURCE /usr/ictcore/db/database.sql; SOURCE /usr/ictcore/db/fax.sql; SOURCE /usr/ictcore/db/email.sql; SOURCE /usr/ictcore/db/voice.sql; SOURCE /usr/ictcore/db/sms.sql; SOURCE /usr/ictcore/db/data/role_user.sql; SOURCE /usr/ictcore/db/data/role_admin.sql; SOURCE /usr/ictcore/db/data/demo_users.sql;
Now update /usr/ictcore/etc/ictcore.conf
files with database credentials as per above created database. Open the file ictcore.conf and find out the [db] section and replace user, password and database name in the following lines:
user = ictcoreuser pass = plsChangeIt name = ictcore
Now Restart the apache by typing the following command in the terminal:
service httpd restart
First of all, we need to install ict and epel repositories
for Amazon Linux 2 (AWS2)
rpm -Uvh'https://service.ictinnovations.com/repo/7/ict-release-7-4.el7.centos.noarch.rpm'
sudo amazon-linux-extras install epel -y
ICTCORE INSTALLATION
yum -y install ictcore ictcore-fax ictcore-email ictcore-voice
Create a new Database
Login to MySQL and enter these commands one by one:
CREATE DATABASE ictcore; USE ictcore; GRANT ALL PRIVILEGES ON ictcore.* TO ictcoreuser@localhost IDENTIFIED BY 'plsChangeIt'; FLUSH PRIVILEGES; SOURCE /usr/ictcore/db/database.sql; SOURCE /usr/ictcore/db/fax.sql; SOURCE /usr/ictcore/db/email.sql; SOURCE /usr/ictcore/db/voice.sql; SOURCE /usr/ictcore/db/sms.sql; SOURCE /usr/ictcore/db/data/role_user.sql; SOURCE /usr/ictcore/db/data/role_admin.sql; SOURCE /usr/ictcore/db/data/demo_users.sql;
Now update /usr/ictcore/etc/ictcore.conf
files with database credentials as per above created database. Open the file ictcore.conf and find out the [db] section and replace user, password and database name in the following lines:
user = ictcoreuser pass = plsChangeIt name = ictcore
Now Restart the apache by typing the following command in the terminal:
service httpd restart
Rocky linux
disable the current PHP version
yum module disable php:7.2
Install Remi-repo
yum install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
enable the PHP Remi 7.4
yum module enable php:remi-7.4
install the Okey repository for FreeSWITCH from this link
rpm -ivh http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-5.el8.noarch.rpm
Install ICT-Release
yum install https://service.ictinnovations.com/repo/8/ict-release-8-5.el8.noarch.rpm
download ICTCore package by yum command directly.
yum install ictcore ictcore-fax ictcore-email ictcore-voice ictcore-freeswitch
Install FastCGI Process Manager
yum install php php-fpm php-gd php-mysqlnd
uncomment “LoadModule mpm_prefork_module modules/mod_mpm_prefork.so” and comment this line “LoadModule mpm_event_module modules/mod_mpm_event.so” from this file /etc/httpd/conf.modules.d/00-mpm.conf
change PHP_ADMIN_VALUE open_basedir line into
SetEnv PHP_ADMIN_VALUE "open_basedir = /usr/ictcore/:/usr/bin:/bin:/tmp/"
install Imagic
yum install -y ImageMagick ImageMagick-devel pecl install imagick echo "extension=imagick.so" > /etc/php.d/imagick.ini
install mcrypt
yum install--enablerepo=epel php-devel php-pear libmcrypt libmcrypt-devel pecl install mcrypt echo 'extension=mcrypt.so' > /etc/php.d/mcrypt.ini
install imap
yum install php-imap
Create a new Database
Login to MySQL and enter these commands one by one:
CREATE DATABASE ictcore;
USE ictcore;
FLUSH PRIVILEGES;
SOURCE /usr/ictcore/db/database.sql;
SOURCE /usr/ictcore/db/fax.sql;
SOURCE /usr/ictcore/db/email.sql;
SOURCE /usr/ictcore/db/voice.sql;
SOURCE /usr/ictcore/db/sms.sql;
SOURCE /usr/ictcore/db/data/role_user.sql;
SOURCE /usr/ictcore/db/data/role_admin.sql;
SOURCE /usr/ictcore/db/data/demo_users.sql;
Now update /usr/ictcore/etc/ictcore.conf
files with database credentials as per above created database. Open the file ictcore.conf and find out the [db] section and replace user, password and database name in the following lines:
user = ictcoreuser
pass = plsChangeIt
name = ictcore
Now Restart the apache by typing the following command in the terminal:
service httpd restart
REST API Guide
Full List of REST APIs available here
Getting Started
We believe in leveraging open source in telecommunications, providing a free platform for simple and advanced CTI applications. ICTCore was built by people like you, and we need your help to make ICTCore better! Why not participate in a useful project today? Please check docs folder to learn how to begin.
Following is an example about sending fax by using ICTCore
// prepare a program with fax document
$programData
= array('file_name' => '/some/pdf/file.pdf');
$faxProgram
= new Sendfax(null, array('data' => $programData));
// create a transmission
$contact_id
= 12;
$account_id
= 1;
$faxTransmission
= faxProgram->transmission_create($contact_id, $account_id);
// schedule transmission
$faxTransmission
->schedule(array('delay' => 3600)); // in seconds
<
p>
// or dispatch immediately
$faxTransmission