ICT-FAX is a unique and complete faxing solution featuring T.38 support, Email2Fax, Web2Fax, Fax2Email and Billing.
2: Install Basic System Requirements
- CentOs 6
- Apache 2
- MySQL 5
- PHP 5.3.3
To install above requirements, first of all we need to install their respective repositories
for centos 7
rpm -Uvh 'https://service.ictinnovations.com/repo/7/ict-release-7-4.el7.centos.noarch.rpm' rpm -Uvh 'http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm' yum install epel-release
for CentOs 6
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'
Before proceeding further please disable selinux and to disable it permanently edit /etc/selinux/config file
/sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT # ssh /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT # smtp / email /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT # web /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT # ssl web /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT # sip tcp /sbin/iptables -I INPUT -p udp -m state --state NEW -m udp --dport 5060 -j ACCEPT # sip /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5070 -j ACCEPT # sip tcp /sbin/iptables -I INPUT -p udp -m state --state NEW -m udp --dport 5070 -j ACCEPT # sip /sbin/iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5071 -j ACCEPT # sip tcp /sbin/iptables -I INPUT -p udp -m state --state NEW -m udp --dport 5071 -j ACCEPT # sip /sbin/iptables -I INPUT -p udp --dport 10000:20000 -j ACCEPT
3: 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. so we just need to issue following command
yum -y install ictcore ictcore-voice ictcore-fax ictcore-email
3.1 Setup ICTCore database
To create database in mysql for ictcore issue following commands at mysql prompt
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/email.sql; SOURCE /usr/ictcore/db/fax.sql;
Now update /usr/ictcore/etc/ictcore.conf and /usr/ictcore/etc/odbc.ini files as per above created database
4: ICTFax Installation
- (if any) delete /usr/ictfax
- Download, ictfax source from github and extract it into some temp folder
- from ictfax source move wwwroot folder as /usr/ictfax
mv /tmp/ictfax/wwwroot /usr/ictfax
- again from ictfax source move ictpbx folder into /usr/ictfax/sites/all/modules
mv /tmp/ictfax/ictpbx /usr/ictfax/sites/all/modules
- issue following command to create website configuration file
cp /usr/ictfax/sites/default/default.settings.php /usr/ictfax/sites/default/settings.php chown -R apache:apache /usr/ictfax
- Update Apache configurations to set /usr/ictfax as DocumentRoot
- restart Apache
4.1 Frontend / Web GUI
- Now visit http://DOMAIN.COM/ and follow the installation instructions for ICTFax (drupal based) front end installation.
- When asked for database please provide access info to recently created database ( in ictcore section ) and enter
web_as table prefix
- Once you are done with installation, visit the website and login as site administrator with username and password that you provided during installation.
- Now comeback to Web GUI and go to Modules menu and enable all modules in ICTCore System Package.
- Now you'll see menu item Fax Account, ICTCore System and others in your Navigation Menu.
- After all please make sure that "Authenticated User" has permission over "Can use ICTFAX" from module permissions
4.2 User Synchronization
After installation issue following command against ictfax database, to synchronize ICTFAX users with ICTCore
USE ictfax; INSERT INTO usr (username, passwd, email, active, date_created, created_by) SELECT name, pass, mail, 1, UNIX_TIMESTAMP(), 1 FROM web_users WHERE uid > 0;
5: Email to FAX / FAX to Email service (optional)
- make sure that your desired domain's MX records are properly configured for email2fax server.
- enable sendmail to listen on public ip address look for following line in /etc/mail/sendmail.mc
- and change line mentioned above into
DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl
- Add ictcore and apache to list of trusted user
echo "ictcore" >> /etc/mail/trusted-users echo "apache" >> /etc/mail/trusted-users
- 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
- route all mails for none-existing addresses into ictcore mailbox so we can receive emails for addresses like
echo '@FAX_DOMAIN.COM ictcore' >> /etc/mail/virtusertable
- to apply email related changes
- restart sendmail service so changes can take affect
chkconfig sendmail on service sendmail restart
- 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
Now you are ready to send faxes through your email. See Admin/User Guide for further details.
6: First FAX
6.1: Sending First FAX
- Login as admin
- Add gateway / trunk for outgoing fax at "ICTCore System" => "Provider Trunks"
- Currently, in ICTFAX3.0 only one gateway/trunk will be used for calling. Currently routing is not supported.
- Register (Sign up) a new user by registering from http://DOMAIN.COM/ictfax/?q=user/register. Directly adding user from admin=>people is not supported. Once user is registered, it is blocked by default. Login in as admin and Activate it from admin=>People. (Sign up process can be changed from admin => configuration => Account settings.
- Login as newly created user
- Send new fax via "FAX Account" => "Fax Outbox" => ""Create New FAX" or via email2fax
- From user registration email address send an email with following values
- To: faxnumber@FAX_DOMAIN.COM
- Subject: Anything
- Attachment: pdf file
NOTE: Attach only a single file. Every time create new email message and give unique email subject. Using Forward or Reply may confuse ictfax system with some previous email subjects.
6.2: Receiving First FAX
- Point DIDs to fax server
- Configure freeswitch to receive traffic for this DID provider.
- Usually only IP address of the DID provider is sufficient to be added in ACL.
- In Web GUI login as admin
- Add incoming did number at "ICTPBX System" => "DID Numbers"
- Assign a DID number to previously created VoIP Account from "ICTPBX System" => "Assign/Release"
- Login as previously created user
- Click on "Settings" => "My Incoming Numbers"
- Forward fax by selecting "Forward" and enter some email address in given box and save
- Send test fax to selected did
Optionally for text to fax support you can install
yum -y install git make
also install yudit for text to pdf support
cd /usr/src wget "http://www.yudit.org/download/yudit-2.9.2.tar.gz" tar xzf yudit-2.9.2.tar.gz cd yudit* ./configure --prefix=/usr/local make make install