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

->send();