Select Page

ICTFax Features


Installation Guide


Following are Manual installation instructions


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


  • CentOs 7 | CentOS 8.X | CentOS Stream 8.X | RockyLinux 8.X | Amazon Linux 2
  • Apache 2
  • MySQL 5 | MariaDB 10.3.28
  • PHP 5.3.3 | PHP 7.4
  • 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
yum install -y epel-release 

SignalWire Personal Access Tokens (PAT)s are required to access FreeSWITCH install packages.

HOWTO Create a SignalWire Personal Access Token

echo "signalwire" > /etc/yum/vars/signalwireusername
echo "TOKEN" > /etc/yum/vars/signalwiretoken
yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken) epel-release

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


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:



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 ictcore-voice


Login to mysql and enter these commands one by one:

USE ictfax;
GRANT ALL PRIVILEGES ON ictfax.* TO ictfaxuser@localhost IDENTIFIED BY 'plsChangeIt';
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/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


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 : 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/
DAEMON_OPTIONS(`Port=smtp,Addr=, Name=MTA')dnl
  1. and change line mentioned above into
DAEMON_OPTIONS(`Port=smtp, Addr=, 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
  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

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

Send Fax

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

Receive Fax

Useful links