FAX to Email, send fax online

This is my next completed project, the web application for Sending/Receiving FAXes online. In this post you can find details about service, and how does it work. Feel free to discuss it, or contact me if you are interested in similar products.
Most VoIP business phone system providers allow you to receive faxes on your main voice number, any extension, or with a dedicated number
With this WEB application, any one can  finally take fax machine  to museum, forget about paper/ink worries and start receiving/sending high quality images over the traditional phone lines, convert FAXes to PDF files

About FAX service

Sending FAX over VOIP

VoIP faxing, similar to telephone-based devices, can operate entirely over the Internet. Traditional fax machines are not required and this service is relatively inexpensive. Faxes are sent and received via email, computer, mobile devices, or a VoIP faxing program. This process is useful for saving money and time. VoIP technology has made faxing a relevant communication option.

 
 


 
 

How VoIP Faxing Save Time and Money

Fax over VOIP returns your cost for equipment, power, inc, paper, phone bills. Free space on your desk

The VoIP faxing process occurs entirely over the Internet. This saves businesses money that would be associated with operating a physical fax machine. More importantly, businesses no longer need to pay for machine maintenance, paper, and ink. The cheaper the VoIP fax plan, the better. There are several providers that offer services for as little as $5 per month. These plans typically include a specific number of faxes for free. Most providers start with around 500 free and charge for additional faxes. Businesses can upgrade to a better plan if more faxing is required. It is important to compare the cost associated with a fax machine to the cost of a VoIP fax service. In some instances, businesses can pay anywhere from $50 to $400 a month.
A business should understand that physical faxing requires the use of paper. Some businesses pay more than $10 for 500 sheets of faxing paper. Over the course of a month, this can become a costly expense. Using a VoIP fax service can save money by eliminating the costs associated with purchasing paper. VoIP faxing saves time and increases production. The VoIP process is seamless and does not require maintenance or physical steps to send faxes.
Fax machine ink is an expensive operating item. Saving money on buying ink can be helpful to business overhead. One ink cartridge can cost more than $30 and many fax machines require at least three ink cartridges. Over time, this can become costly for a business.
It is important to remember that fixing a broken fax machine can cost more than $100. In some cases, it is less expensive to replace the machine all together than to have it repaired.
There are many ways a business can lower expenses and save money by using a cost-effective VoIP fax provider. Businesses should save time and money by upgrading their office equipment with a VoIP fax system.

 

FAX service

PDF    Send article as PDF   

2. Click2Call service.

click2dial-button from George on Vimeo.


This addon is for WEB sites owners. It helps to contact with site visitors directly, without making international or local calls. Idea to use HTML5 and WEBRtc was initially described by Doubango telecom : http://click2dial.org

Simple solution: using a2billing interface, customer configure (sets destination) and design (colors, image, text), finally — generates a short html code of the button, which can be placed on his web site pages. While visitor clicking, popup box asks to provide contact phone number. Within 10-20 seconds, visitor gets incoming call from web site company. It is done by cross-domain request (from customer WEB page to asterisk server), first — generates a call to specified location ( company number ), once connected — asterisk calls visitor provided number and connect two calls together.

 

click2call

Button to make visitors calling back feature

 

 

 

Both modules are easy to install, but require Asterisk cli administration skills to fix errors and install missed programs ( sox, mpg123, perl modules, path correction)

On web page, where you play text2speech function, I made automatically convertion to mp3 , the most supported format for browsers. It is done by file play_mp3.php.
It accept text, and return media data — the text convereted to speech by google. Also, it plays regual asterisk prompts media files.

here is the code,

<?php
 $media_folder="/var/lib/asterisk/sounds";
 $f= $media_folder . '/' . $_GET['f'];
 $f = file_exists( $f . '.ogg' )? $f . '.ogg' : $f;
 $f = file_exists( $f . '.wav' )? $f . '.wav' : $f;
 $f = file_exists( $f . '.gsm' )? $f . '.gsm' : $f;
 // We have text2Speech function here //
 if ( $_GET['t'] ) { 
 // Download media file now:
 $text2speech = trim(urldecode($_GET['t']));
 $cachedir = "/tmp";
 $lang = 'en-US';
 $speed = 1;
 $filename = md5("{$text2speech}..{$lang}.{$speed}").'.sln';
 $f = "$cachedir/$filename";
 if ( filesize( $f ) < 1 ) {
 unlink($f);
 }
 if ( !file_exists( $f ) ){
 $text2speech = urlencode($text2speech); 
 $URL = "https://translate.google.com/translate_tts?ie=UTF-8&q={$text2speech}&tl=en&total=1&idx=0&client=t";
 $ch = curl_init( $URL );
 curl_setopt( $ch, CURLOPT_REFERER,"https://translate.google.co.uk/");
 curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 1);
 curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36");
 $header[] = "Accept-Language: en-us,en;q=0.5";
 curl_setopt( $ch, CURLOPT_HTTPHEADER, $header);
 $data = curl_exec ($ch); 
 $tmp = '/tmp/convert_tts.sln';
 if (file_exists($tmp) ) { 
 unlink($tmp);
 }
 $h = fopen( $tmp, "w+");
 fputs($h, $data);
 fclose($h);
 system("/usr/bin/mpg123 -q -w /tmp/convert_tts.wav $tmp");
 system("/usr/local/bin/sox /tmp/convert_tts.wav -t raw -q -r 8000 $f 2>/dev/null");
 }
 } 
 if ( ! file_exists("{$f}") ) {
 header("HTTP/1.0 404 Not Found");
 return;
 }
 $tmp_mp3 = "/tmp/file.mp3";
 $tmp_wav = "/tmp/file.wav";
 if ( file_exists($tmp_mp3)) unlink($tmp_mp3);
 if ( file_exists($tmp_wav)) unlink($tmp_wav);
 system("/usr/local/bin/sox $f -c 1 $tmp_wav 2>/dev/null");
 system("ffmpeg -y -i $tmp_wav -acodec libmp3lame $tmp_mp3 2>/dev/null");
 if ( file_exists($tmp_mp3) ){
 header('Content-Disposition: filename="' . $tmp_mp3 . '"');
 header('Content-length: '.filesize($tmp_mp3));
 header('Cache-Control: no-cache');
 header("Content-Transfer-Encoding: chunked"); 
 header("Content-Type: audio/mpeg");
 readfile($tmp_mp3);
 }else{
 header("HTTP/1.0 404 Not Found");
 exit;
 }
?>
PDF Creator    Send article as PDF   

Two modules for a2billing customers, make additional online services which can be offered for free, or monthly charge.

 

1. ‘AUTO ATTENDANT’

Allows building many auto-attendants, upload files as media prompts, sets destination for each selection.

The smart feature here is Text2Speech , it allows, alternatively, setting just text instead of uploading media files — and listed it directly from the page. For this, firstly, I used text2wav — the asterisk implementation of festival text2speech linux tool, but quality was very low, uploading different languages, voices ( http://tts.speech.cs.cmu.edu:8083/ ), mbrola ( http://tcts.fpms.ac.be/synthesis/mbrola.html ) did not help. Commercial text2speech services were costly (around $200 per month)
Finally, I’ve found optimal solution: google text2speech free service, and this script: https://github.com/zaf/asterisk-googletts/

Using text, instead media recording, simplifies auto-attendant creating process, it helps to concentrate on main goal of IVR menu, and getting result fast — a few clicks, and nice female voice represent your company, answers your calls and read dynamic information to the callers.

Now, creating auto-attendant takes a few minutes. It supports SIP and PSTN destinations .

 

auto-attendant

 

Auto-attendant is configured as destination for DID, which customer have ordered.

auto-attendant

 

Create PDF    Send article as PDF   

Callcenter for IT WEB-Shop

Online callcenter project for IT WEB-shop is completed!


Demo:     http://demo.a4business.com/callcenter/

login: admin password: admin

Idea was simple — allow operators/managers to proccess incoming call queues (many of queues — the shop has branches, dedicated virtual shops) from IT-Shop customers, which comes from telecom company’s DIDs, forwarded to local SIP server (asterisk).
Operator should also make outbound calls to customer ( PSTN ), every call is recorded — allowing shop administrator to control the quality of services by listening recordings. Everything is displayed on reports and charts.

Work flow is very simple:

DIDs lines

Administrator creates SIP lines, which registers on remote Telco Switch for receiving calls from PSTN to company DIDs.

Creating managers' accounts, SIP logins with a2billing account code

Creating managers’ accounts, SIP logins with a2billing account code




Next, he creates queues, assigning inbound lines and managers per each queue — defining this way which DIDs numbers forwarded to this queue and which managers/operators answers.
Each queue has option to play welcome greeting message to customer, for example: ‘Welcome to our magazine’,
and notify message to operator/manager, for example «call to shop A » (since each operator can serve many queues — he has to understand from which queue he has got the call and what to answer) :

Creating queues, assign DIDs and managers to it

Creating queues, assign DIDs and managers to it

CDR tab, administrator can search call by search string, or by date.

CDR tab, administrator can search call by search string, or by date.



Call detail record  page - to listen or download recording.

Call detail record page — to listen or download recording.

Repots tab, administrator can see all statistic values and visually analize them on sharts.

Repots tab, administrator can see all statistic values and visually analize them on sharts.

PDF Printer    Send article as PDF   

2 new projects have been started!

Mobile SIP client application is under devepment now.
Call Distribution software development for callcenter is in progress — coming soon on this site…

PDF Download    Send article as PDF