INSTALLATION GUIDE
1. 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.
2. Basic System Requirements
- CentOS 6/7
- Apache 2
- MySQL 5
- PHP 5.3.3
- Sendmail
- FreeSWITCH
3. Installation
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
for CentOs 6 also install Freeswitch repository
rpm -Uvh 'http://service.ictinnovations.com/repo/6/ict-release-6-2.noarch.rpm'
rpm -Uvh 'http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm'
rpm -Uvh 'http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm'
Once these are installed now we need to install the ICTCore.
Install ICTCore
yum update
yum install ictcore ictcore-voice ictcore-fax ictcore-email ictcore-sms
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
4. REST API Guide
Full List of REST APIs available here
5. 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();
$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();