Installation Guide

Following are Manual installation instructions

ICTFax INSTALLATION

ICTFax is a unique and complete solution featuring Mass faxing. Email to Fax, Web to Fax, Fax to Email and Fax over IP server with ATA / Rest API support

1. INSTALL BASIC SYSTEM REQUIREMENTS

  • CentOs 7
  • Apache 2
  • MySQL 5
  • PHP 5.3.3
  • ICTCore
  • Sendmail
  • FreeSWITCH

To install above requirements, first of all we need to install their respective repositories Note: this guide is specifically written for CentOs 7

yum install -y https://service.ictinnovations.com/repo/7/ict-release-7-4.el7.centos.noarch.rpm
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm
yum install -y epel-release 

Disable SELinux, before proceeding further, Check the SELinux state by:

getenforce 

and then disable with

setenforce 0

If the output is either permissive or disabled, skip this task and follow the instructions given below, otherwise disable it first and then follow the instructions:

2. ICTCORE INSTALLATION

ICTCore is main dependency of ICTFax, If you have proper repositories pre installed (see above) then all other dependencies will be installed along with ICTCore. We just need to issue following command:

yum -y install ictcore ictcore-fax ictcore-email

SETUP ICTFax DATABASE

Login to mysql and enter these commands one by one:

CREATE DATABASE ictfax;
USE ictfax;
GRANT ALL PRIVILEGES ON ictfax.* TO ictfaxuser@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/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 credential 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 = ictfaxuser
pass = plsChangeIt
name = ictfax

3. ICTFax INSTALATION

Now install ICTFax web interface

yum install ictfax

Now Restart the apache by typing the following command in the terminal

service httpd restart

Now visit http://yourdomain/ictfax in your browser

Default Username : admin@ictcore.org Default Password : helloAdmin

Login by entering the default admin and password, which we provided you. Go to the administration panel, which is placed on the bottom of the side bar on left. Create a new user or edit the existing.

You can configure providers and accounts too. For further details visit Admin guide.

4. Email to FAX / FAX to Email service (optional)

  1. make sure that your desired domain's MX records are properly configured for email2fax server.
  2. enable sendmail to listen on public ip address look for following line in /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
  1. and change line mentioned above into
DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl
  1. Add ictcore and apache to list of trusted user
echo "ictcore" >> /etc/mail/trusted-users
echo "apache" >> /etc/mail/trusted-users
  1. Add your domain name in allowed local domain list to let sendmail receive mails for that domain
echo "FAX_DOMAIN.COM" >> /etc/mail/local-host-names
  1. route all mails for none-existing addresses into ictcore mailbox so we can receive emails for addresses like xyz_number@FAX_DOMAIN.COM
echo '@FAX_DOMAIN.COM ictcore' >> /etc/mail/virtusertable
  1. to apply email related changes
/etc/mail/make
  1. restart sendmail service so changes can take affect
chkconfig sendmail on
service sendmail restart
  1. edit /usr/ictcore/etc/ictcore.conf and update mailbox section like following
folder = /var/spool/email/ictcore

NOTE: make sure that /etc/hosts.allow is properly configured for accepting mails, and smtp port (25) is not blocked by firewall. if so execute following line to allow smtp port in firewall:

/sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT    # smtp
/etc/init.d/iptables save

Check dialplan table from MySQL, run following command. if nothing in dialplan table

cd /usr/ictcore/bin/sendmail
./email_to_fax

Now you are ready to send faxes through your email. See Admin / User Guide for further details.

5. First FAX

5.1: Sending First FAX

  1. Login as admin
  2. Add gateway / trunk for outgoing fax at "Administration" => "Provider Trunks"
  3. Send new fax via "Send Fax" => "New Outbound Fax" or via email2fax
  4. From user registration email address send an email with following values
  • To: faxnumber@FAX_DOMAIN.COM
  • Subject: Anything
  • Body:
  • Attachment: pdf file

5.2: Receiving First FAX

  1. Point DIDs to fax server
  2. Configure freeswitch to receive traffic for this DID provider.
  3. Usually only IP address of the DID provider is sufficient to be added in ACL.
  4. In Web GUI login as admin
  5. Add incoming did number at "DID Numbers" => "Add DID"
  6. Assign a DID number to user from "DID Number" => "Assign"
  7. Click on "Settings" => "Incoming Numbers"
  8. Forward fax by selecting "Forward" and select "Fax to Email"
  9. Send test fax to selected did

Useful links