ICTFAX - Open source FoIP server software

Embed Size (px)

DESCRIPTION

ICTFAX is an open source GNU GPLv3 based multi-user and web based software solution for service providers and businesses. ICTFAX is an email to fax gateway, supports G.711 faxing , PSTN faxing and T.38 origination and termination. ICTFAX based on open source Freeswitch, ICTCore and Drupal 7.Similar to previous version, ICTFAX can be used in following faxing scenariosEmail to fax / web to fax / fax to emailG.711 based Fax Origination / Termination / GatewayT.38 based Fax Origination / TerminationPSTN based Fax Origination / Termination / Gateway

Citation preview

Slide 1

Open Source Online Fax & Email to Fax Solution

ICTFAXICTFAX 2.0Introduction and InstallationAgendaIntroduction DemoDownload Installation of Basic Requirements Freeswitch InstallationPlivo InstallationICT Fax Front End InstallationEmail to Fax / Fax to Email Service setup 1. IntroductionICTFAX 2.0 is an open source multi-user and web based software solution for service providers based on open source Freeswitch,Plivo FrameworkandDrupal 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 2.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 / Gateway2. DemoVisitICTFAX Demosite and use following credential to login

Admin Account Username: admin Username: demoictfax

User Account Username: user Username: demoictfax

3. Download http://sourceforge.net/projects/ictfax/files/ictfax-2.0.tar.gz/download4. Installation of Basic Requirements 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 15. Curl 2. Apache 2 16. mysql-devel 3. MySQL 5 17. Sendmail 4. PHP 5.3.3 5. php-mysql 6. php-gd 7. php-curl 8. php-imap 9. perl 10. perl-DBD-mysql 11. libtiff 12. ghostscript 13. ImageMagick 14. poppler-utilsTo install above requirements issue following commands at shell promptyum -y install httpd mysql-server mysql mysql-develyum -y install php php-common php-cli php-gd php-imap php-curl php-mysqlyum -y install perl perl-DBD-mysqlyum -y install ghostscript ImageMagick poppler-utils curl sendmail sendmail-cffollowing dependencies are required for Freeswitch installationsyum -y install git makealso install yudit for text to pdf supportcd /usr/srcwget "http://www.yudit.org/download/yudit-2.9.2.tar.gz"tar xzf yudit-2.9.2.tar.gzcd yudit*./configure --prefix=/usr/localmakemake installbefore continue, make sure that MySQL and Apache is running

chkconfig httpd onchkconfig mysqld onservice httpd startservice mysqld start

5. Freeswitch InstallationICTFax is based on Plivo Framework.So you need to setup and run freeswitch provided by Plivo.org.Instructions on how to install Freeswitch are givenathttp://www.plivo.org/get-started/and repeated here for your convenience:Download and run the FreeSWITCH installer on your system

Note: Currently, this installer is tested on CentOS > 5.5 and Debian-based distros.# wget --no-check-certificatehttps://github.com/plivo/plivo/raw/mast... install.sh# chmod +x install.sh# ./install.sh* Run FreeSWITCHRun in Foreground# ./usr/local/freeswitch/bin/freeswitchRun in Background# ./usr/local/freeswitch/bin/freeswitch -nc

6. Plivo InstallationLocate the folder "plivo-devel" in the extracted ICTFax directory.1. Stop plivo service (if any) and clear /usr/local/plivo2. Copy and Paste plivo-devel folder in /usr/3. Go to /usr/plivo-devel and Run plivo_install.sh using following command:#./plivo_install.sh /usr/local/plivo4. Go to /usr/local/plivo/bin directory and Run plivo service using the following command:#./plivo start

NOTE: There may be some errors while starting plivo cache server. But make sure that plivo default server is running.

Plivo Configurations

1. Go to /usr/local/plivo/etc/plivo/default.conf2. Enable EXTRA_FS_VARS by removing # before it.3. Set variable in plivo config as EXTRA_FS_VARS = variable_duration4. Set Incoming DEFAULT_ANSWER_URL, DEFAULT_HANGUP_URL

DEFAULT_ANSWER_URL =http://127.0.0.1/ictfax/index.php?q=ictfax/receive_faxDEFAULT_HANGUP_URL =http://127.0.0.1/ictfax/index.php?q=ictfax/receive_fax_billing

Modify above urls according to your installation settings.Don't forget to remove # sign before DEFAULT_HANGUP_URL and EXTRA_FS_VARS.

7. ICTFax Front End Installation1. Database Database Installation: Create "ictfax" database in mysql (Run 'CREATE DATABASE ictfax' query on mysql)

2. Frontend / Web GUI Locate the folder "wwwroot" in the extracted ICTFAX directory. Rename this folder to ictfax and copy-paste it to /usr directory. 1. Create a symbolic link for /usr/ictfax in /var/www/html ln -s /usr/ictfax /var/www/html/ictfax 2. Now visithttp://DOMAIN.COM/ictfax and follow the installation instructions for ICTFax (drupal based) front end installation. 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 comback to Web GUI and go to Modules menu and enable all modules in "ICTPBX System" Package. 5. Now you'll see menu item Fax Account, ICTPBX System and others in your Navigation Menu.

8. Email to Fax / Fax to Email Service setup1. make sure that your desired domain's MX records are properly configured for email2fax server.2. install sendmail service and enable sendmail service at startup.2a. Also make sure you have created linux user "freeswitch".3. enable sendmail to listen on public ip address look for following line in /etc/mail/sendmail.mcDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl4. and change line mentioned above intoDAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl5. apply changesm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf6. Add freeswitch to list of trusted userecho "freeswitch" >> /etc/mail/trusted-users7. Add your domain name in allowed local domain list to let sendmail receive mails for that domainecho "FAX_DOMAIN.COM" >> /etc/mail/local-host-names8. route all mails for none-existing addresses into freeswitch mailbox so we can receive emails for addresses likexyz_number@FAX_DOMAIN.COMecho '@FAX_DOMAIN.COM freeswitch' >> /etc/mail/virtusertablemakemap hash /etc/mail/virtusertable

9. grant proper permission to apache user on mail folderchmod +t /var/spool/mail

10. restart sendmail service so changes can take affectservice sendmail restart

11. login at ictfax web interface as admin (ictfax)[[BR]]

12. goto administrator => mailhandler => Add Mailbox and set following fieldsE-mail address:fax@FAX_DOMAIN.COMFolder: /var/spool/mail/freeswitchPOP3 or IMAP Mailbox: IMAPMailbox domain: *** must be empty ***Security: Require password (leave empty if you haven't set already)Delete messages after they are processed?: TICK / Yes

13. setup cronjob so incoming email can be processed after every 5 minutesecho 'MAILTO=""' > /tmp/freeswitch_cron.txtecho "*/5 * * * * wget -O /dev/null 'http://FAX_DOMAIN.COM/cron.php?cron_key=your_key' 2>/dev/null" >> /tmp/freeswitch_cron.txtcrontab -l >> /tmp/freeswitch_cron.txtcrontab /tmp/freeswitch_cron.txt

14. You can find your cron url by logging in at your web interface as admin. Go to Reports -> Status Reports.Copy your Cron URL and paste at the above URL and then run above lines at the command prompt.NOTE: make sure that /etc/hosts.allow is properly configured for accepting mails, andsmtp port (25) is not blocked by firewall. if so Add following line to/etc/sysconfig/iptables above the last reject/drop rule:-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPTAlso DO NOT enable CLEAN URLS, because plivo has been configured to use default URLS.

15. Create a content type "fax" with three additional fields "to" of type text, "from" of type text" and "file" of type file.Go to Admin => Structure => Feeds Importer => Mailhandler nodes. Click Override and then in Processor field make sure Fax Processor is selected. Click Mapping in fax processor. Make sure that your to, from and file fields are correctly mapped to toaddress, fromaddress and attachments respectively.

16. Now you are ready to send faxes through your email. See Admin/User Guide for further details. Thanks For Watching http://ictfax.org Contact: [email protected]