Open Source Online Fax & Email to Fax Solution ICTFAX
ICTFAX 3.0 
Introduction and Installation
Agenda 
1.Introduction 
2.Demo 
3.Download 
4.Installation of Basic Requirements 
5.Freeswitch Installation 
6.ICT Fax Front End Installation 
7.Email to Fax / Fax to Email Service setup
1. Introduction 
ICTFAX 3.0 is an open source multi-user and web based 
software solution for service providers based on open source 
Freeswitch and Drupal 7. ICTFAX is an email to fax gateway, 
supports G.711 faxing , PSTN faxing and T.38 origination and 
termination. 
Similar to previous version, ICTFAX 3.0 can be used in 
following faxing scenarios 
• Email to fax / web to fax / fax to email 
• G.711 based Fax Origination / Termination / Gateway 
• T.38 based Fax Origination / Termination 
• PSTN based Fax Origination / Termination / Gateway
2. Demo 
Visit ICTFAX Demo site and use following credential to login 
• Admin Account 
Username: admin 
Username: demoictfax 
• User Account 
Username: user 
Username: demoictfax
3. Download 
https://github.com/ictinnovations/ictfax
4. Installation of Basic Requirements 
1.Installation 
ICT-FAX is a unique and complete faxing solution with billing featuring T.38 support, 
Email2Fax, Web2Fax, Fax2Email and Billing. 
2. Install Basic System Requirements 
1. CentOs 6 
2. Apache 2 
3. MySQL 5 
4. PHP 5.3.3 
5. ICTCore 
6. Sendmail 
7. FreeSWITCH
To install above requirements, first of all we need to install their respective repositories 
1. rpm -Uvh 'http://service.ictinnovations.com/repo/6/ict-release-6-2.noarch.rpm' 
2. rpm -Uvh 'http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8. 
noarch.rpm' 
3. rpm -Uvh 'http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm' 
4. Before proceeding further please disable selinux and to disable it permanently 
edit /etc/selinux/config file 
5. setenforce 0
5. 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 
1. yum -y install ictcore ictcore-fax ictcore-email 
5.1 Setup ICTCore database 
To create database in mysql for ictcore issue following 
commands at mysql prompt 
1. CREATE DATABASE ictfax; 
2. USE ictfax; 
3. GRANT ALL PRIVILEGES ON ictfax.* TO ictfaxuser@localhost 
IDENTIFIED BY 'plsChangeIt'; 
4. 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
6. ICTFax Installation 
1. (if any) delete /usr/ictfax 
2. Download, ictfax folders into temp folder 
3. move ICTFAX wwwroot folder into /usr/ictfax 
4. move ictpbx folder into /usr/ictfax/sites/all/modules 
5. issue following command to create website configuration file 
6. cp /usr/ictfax/sites/default/default.settings.php /usr/ictfax/sites/default/settings.php 
7. chown -R apache:apache /usr/ictfax 
8. Update Apache configurations to set /usr/ictfax as DocumentRoot 
9. restart Apache
6.1 Frontend / Web GUI 
1. Now visit http://DOMAIN.COM/ and follow the installation instructions for ICTFax 
(drupal based) front end installation. 
2. When asked for database please provide access info to recently created database 
( in ictcore section ) and enterweb_ as database prefix 
3. Once you are done with installation, visit the website and login as site administrator 
With username and password that you provided during installation. 
4. Now comeback to Web GUI and go to Modules menu and enable all modules 
in ICTCore System Package. 
5. And also enable Chaos tools Package. 
6. Now you'll see menu item Fax Account, ICTPBX System and others in your 
Navigation Menu.
6.2 User Synchronization 
After installation issue following command against ictfax database, to synchronize I 
CTFAX users with ICTCore 
INSERT INTO usr SELECT NULL, NULL, name, pass, NULL, NULL, NULL, NULL, NULL, mail, 
NULL, NULL, NULL, NULL, NULL, 1, UNIX_TIMESTAMP(), 1, NULL, NULL FROM 
web_users WHERE uid > 0;
7. 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 
land change line mentioned above into 
DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl 
lAdd ictcore and apache to list of trusted user 
echo "ictcore" >> /etc/mail/trusted-users 
echo "apache" >> /etc/mail/trusted-users
lAdd your domain name in allowed local domain list to let sendmail receive mails 
l for that domain 
echo "FAX_DOMAIN.COM" >> /etc/mail/local-host-names 
lroute all mails for none-existing addresses into ictcore mailbox so we can receive 
lemails for addresses likexyz_number@FAX_DOMAIN.COM 
echo '@FAX_DOMAIN.COM ictcore' >> /etc/mail/virtusertable 
lto apply email related changes 
/etc/mail/make 
lrestart sendmail service so changes can take affect 
chkconfig sendmail on 
service sendmail restart 
ledit /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.
8. First FAX 
8.1 Sending First FAX 
1. Login as admin 
2. Add gateway / trunk for outgoing fax at "ICTCore System" => "Provider Trunks" 
3. Currently, in ICTFAX3.0 only one gateway/trunk will be used for calling. 
Currently routing is not supported. 
4. 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. 
5. Create VoIP account for newly created user at "ICTPBX System" => 
"Account Management". This will also enable the user. 
6. Logout 
7. Login as newly created user
8. Send new fax via "FAX Account" => "Fax Outbox" => ""Create New FAX" 
or via email2fax 
9. From user registration email address send an email with following values 
lTo: faxnumber@FAX_DOMAIN.COM 
lSubject: Anything 
lBody: 
lAttachment: 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. 
8.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 "ICTPBX System" => "DID Numbers" 
6. Assign a DID number to previously created VoIP Account from "ICTPBX System" => 
"Assign/Release" 
7. Logout 
8. Login as previously created user 
9. Click on "Settings" => "My Incoming Numbers" 
10. Forward fax by selecting "Forward" and enter some email address in 
given box and save 
11. Send test fax to selected did
9. Extra 
Optionally for text to fax support you can install 
lyum -y install git make 
also install yudit for text to pdf support 
lcd /usr/src 
lwget "http://www.yudit.org/download/yudit-2.9.2.tar.gz" 
ltar xzf yudit-2.9.2.tar.gz 
lcd yudit* 
l./configure --prefix=/usr/local 
lmake 
lmake install
Thanks For Watching 
http://ictfax.org 
Contact: info@ictinnovations.com

Ictfax installation

  • 1.
    Open Source OnlineFax & Email to Fax Solution ICTFAX
  • 2.
    ICTFAX 3.0 Introductionand Installation
  • 3.
    Agenda 1.Introduction 2.Demo 3.Download 4.Installation of Basic Requirements 5.Freeswitch Installation 6.ICT Fax Front End Installation 7.Email to Fax / Fax to Email Service setup
  • 4.
    1. Introduction ICTFAX3.0 is an open source multi-user and web based software solution for service providers based on open source Freeswitch and Drupal 7. ICTFAX is an email to fax gateway, supports G.711 faxing , PSTN faxing and T.38 origination and termination. Similar to previous version, ICTFAX 3.0 can be used in following faxing scenarios • Email to fax / web to fax / fax to email • G.711 based Fax Origination / Termination / Gateway • T.38 based Fax Origination / Termination • PSTN based Fax Origination / Termination / Gateway
  • 5.
    2. Demo VisitICTFAX Demo site and use following credential to login • Admin Account Username: admin Username: demoictfax • User Account Username: user Username: demoictfax
  • 6.
  • 7.
    4. Installation ofBasic Requirements 1.Installation ICT-FAX is a unique and complete faxing solution with billing featuring T.38 support, Email2Fax, Web2Fax, Fax2Email and Billing. 2. Install Basic System Requirements 1. CentOs 6 2. Apache 2 3. MySQL 5 4. PHP 5.3.3 5. ICTCore 6. Sendmail 7. FreeSWITCH
  • 8.
    To install aboverequirements, first of all we need to install their respective repositories 1. rpm -Uvh 'http://service.ictinnovations.com/repo/6/ict-release-6-2.noarch.rpm' 2. rpm -Uvh 'http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8. noarch.rpm' 3. rpm -Uvh 'http://files.freeswitch.org/freeswitch-release-1-0.noarch.rpm' 4. Before proceeding further please disable selinux and to disable it permanently edit /etc/selinux/config file 5. setenforce 0
  • 9.
    5. 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 1. yum -y install ictcore ictcore-fax ictcore-email 5.1 Setup ICTCore database To create database in mysql for ictcore issue following commands at mysql prompt 1. CREATE DATABASE ictfax; 2. USE ictfax; 3. GRANT ALL PRIVILEGES ON ictfax.* TO ictfaxuser@localhost IDENTIFIED BY 'plsChangeIt'; 4. FLUSH PRIVILEGES;
  • 10.
    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
  • 11.
    6. ICTFax Installation 1. (if any) delete /usr/ictfax 2. Download, ictfax folders into temp folder 3. move ICTFAX wwwroot folder into /usr/ictfax 4. move ictpbx folder into /usr/ictfax/sites/all/modules 5. issue following command to create website configuration file 6. cp /usr/ictfax/sites/default/default.settings.php /usr/ictfax/sites/default/settings.php 7. chown -R apache:apache /usr/ictfax 8. Update Apache configurations to set /usr/ictfax as DocumentRoot 9. restart Apache
  • 12.
    6.1 Frontend /Web GUI 1. Now visit http://DOMAIN.COM/ and follow the installation instructions for ICTFax (drupal based) front end installation. 2. When asked for database please provide access info to recently created database ( in ictcore section ) and enterweb_ as database prefix 3. Once you are done with installation, visit the website and login as site administrator With username and password that you provided during installation. 4. Now comeback to Web GUI and go to Modules menu and enable all modules in ICTCore System Package. 5. And also enable Chaos tools Package. 6. Now you'll see menu item Fax Account, ICTPBX System and others in your Navigation Menu.
  • 13.
    6.2 User Synchronization After installation issue following command against ictfax database, to synchronize I CTFAX users with ICTCore INSERT INTO usr SELECT NULL, NULL, name, pass, NULL, NULL, NULL, NULL, NULL, mail, NULL, NULL, NULL, NULL, NULL, 1, UNIX_TIMESTAMP(), 1, NULL, NULL FROM web_users WHERE uid > 0;
  • 14.
    7. Email toFAX / 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 land change line mentioned above into DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl lAdd ictcore and apache to list of trusted user echo "ictcore" >> /etc/mail/trusted-users echo "apache" >> /etc/mail/trusted-users
  • 15.
    lAdd your domainname in allowed local domain list to let sendmail receive mails l for that domain echo "FAX_DOMAIN.COM" >> /etc/mail/local-host-names lroute all mails for none-existing addresses into ictcore mailbox so we can receive lemails for addresses likexyz_number@FAX_DOMAIN.COM echo '@FAX_DOMAIN.COM ictcore' >> /etc/mail/virtusertable lto apply email related changes /etc/mail/make lrestart sendmail service so changes can take affect chkconfig sendmail on service sendmail restart ledit /usr/ictcore/etc/ictcore.conf and update mailbox section like following folder = /var/spool/email/ictcore
  • 16.
    NOTE: make surethat /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.
  • 17.
    8. First FAX 8.1 Sending First FAX 1. Login as admin 2. Add gateway / trunk for outgoing fax at "ICTCore System" => "Provider Trunks" 3. Currently, in ICTFAX3.0 only one gateway/trunk will be used for calling. Currently routing is not supported. 4. 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. 5. Create VoIP account for newly created user at "ICTPBX System" => "Account Management". This will also enable the user. 6. Logout 7. Login as newly created user
  • 18.
    8. Send newfax via "FAX Account" => "Fax Outbox" => ""Create New FAX" or via email2fax 9. From user registration email address send an email with following values lTo: faxnumber@FAX_DOMAIN.COM lSubject: Anything lBody: lAttachment: 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. 8.2 Receiving First FAX 1. Point DIDs to fax server 2. Configure freeswitch to receive traffic for this DID provider.
  • 19.
    3. Usually onlyIP 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 "ICTPBX System" => "DID Numbers" 6. Assign a DID number to previously created VoIP Account from "ICTPBX System" => "Assign/Release" 7. Logout 8. Login as previously created user 9. Click on "Settings" => "My Incoming Numbers" 10. Forward fax by selecting "Forward" and enter some email address in given box and save 11. Send test fax to selected did
  • 20.
    9. Extra Optionallyfor text to fax support you can install lyum -y install git make also install yudit for text to pdf support lcd /usr/src lwget "http://www.yudit.org/download/yudit-2.9.2.tar.gz" ltar xzf yudit-2.9.2.tar.gz lcd yudit* l./configure --prefix=/usr/local lmake lmake install
  • 21.
    Thanks For Watching http://ictfax.org Contact: info@ictinnovations.com