ICT-FAX is a unique and complete faxing solution featuring T.38 support, Email2Fax, Web2Fax, Fax2Email and Billing.
- CentOs 6
- 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
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
setenforce 0
/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
/etc/init.d/iptables save
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, It will install latest version of ICTCore
yum -y install ictcore ictcore-voice ictcore-fax ictcore-email
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
Note: Always use latest version of ICTFax from Github, older version may conflict with current ICTCore installations
- (if any) delete /usr/ictfax
- Download, latest version 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
- 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
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;
- 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
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
- 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
xyz_number@FAX_DOMAIN.COM
echo '@FAX_DOMAIN.COM ictcore' >> /etc/mail/virtusertable
- to apply email related changes
/etc/mail/make
- 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.
- 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.
- Logout
- 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
- Body:
- 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.
- 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"
- Logout
- 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