Hard to believe it’s been a year since PBX in a Flash hit the street, but today’s the Big Day! So Happy Birthday to us. With an estimated 100,000 downloads worldwide and over a million RSS feeds to our Kennonsoft User Interface each month, you might be wondering what keeps us going with all the reported venture capital behind Big Orange and Lime Green. Well, we’re glad you asked. Truth be told, it’s the cushy offices (in our kitchens) and the endless flow of generous contributions from grateful users. Heh, heh! Seriously, there are some real reasons that account for the popularity of PBX in a Flash. Bottom Line: It Just Works! And here’s a representative sample of other feedback from our fans:
- Currency – The PBX in a Flash distribution is always up to date. Our separate payload file makes it easy. No one else has anything close. So their builds are almost always long in the tooth.
- Upgradability – Unlike the competition, you don’t have to start all over each time a new version of Asterisk® or Linux hits the street. We’ll have more to say about our new SUSHI (Software Update Service – Hyperlinked, Interactive) in coming weeks.
- Flexibility – PBX in a Flash remains the only distribution that builds Asterisk from source. Even Digium®’s own distribution now uses RPMs. When you add new hardware or upgrade the Linux kernel to plug a security vulnerability, you’ll understand why this is critically important.
- Support – PBX in a Flash has the best support group in the business. It’s called the PBX in a Flash Forum, and it’s free. Unlike the competition, you don’t have to pay to get help on basic technical issues with our product. And you don’t normally wait more than an hour or two for a response. That’s what Open Source is all about!
- Security – We take security seriously. It’s our number one priority. When there’s a known problem, we don’t hide it or ignore it. We fix it right now. And the RSS Feed that’s part of our KennonSoft User Interface lets you know about it immediately. You can make your own comparisons and draw your own conclusions with regard to the other distributions.
- No Slimeware – We’re up front about the way we operate and why. We don’t create backdoors or Trojan Horses in our distribution that phone home for any reason. We notify users of issues through an RSS Feed. We believe it’s up to you, not Big Brother, to decide whether to protect your own system. As permitted by the GPL, we do encrypt some of our freeware installation scripts because of the conduct of some in this business that pass off the work product of others as their own.
- No Bugs – People chuckled when we began a year ago with this mantra because of the experience we all had in days of old. We still believe it and do our best to keep the PBX in a Flash distribution bug free. If you don’t believe it, visit our forums and then visit the others. Some bugs obviously are beyond our control, but we do endeavor to steer users toward stable versions of open source products that can be used reliably in almost any business environment.
So there’s a quick update on how we’re doing and why we do things the way we do. Unlike a year ago, there are lots of choices now in the marketplace. If you’re still on the fence, the nice part of the open source movement is that it doesn’t cost you anything to try several flavors and make your own decision. Ultimately, we think you’ll choose PBX in a Flash for all of the reasons we’ve mentioned.
2011 Update: This article has been updated to support Asterisk 1.8 using HylaFax, AvantFax, and IAXmodem. Click here for the latest article.
Welcome Back Faxing. That brings us to today’s topic: adding a fax machine to your PBX in a Flash system. With all the distributions, there have been numerous fax options. And the one word that describes most of them is P-A-I-N-F-U-L. We’ve been searching for a way to return to the good ol’ Asterisk@Home days with NVfax. It just worked. Well, today it works again with PBX in a Flash and Asterisk 1.4. And, yes, it should work on the other distributions as well. I’ve had mixed emotions about whether to protect the install script, but I’ve chosen to release it in unencrypted format because I think we all can benefit from the contributions of others while still giving credit to those that contribute. And, yes, I know there’s a difference of opinion about this… for some very good reasons. But the Nerd Vittles contribution to VoIP technology has always been distribution agnostic, and we’ve decided to keep it that way. We’re equally delighted that Philippe Lindheimer has left the hooks in FreePBX to support NVfax so, once you complete this install, you can manage incoming fax calls from the comfort of the FreePBX user interface… even in distributions which no longer call it FreePBX. Ever wonder why these folks didn’t also rename Asterisk while they were in the lobotomy business?
How It Works. There are two pieces to the new faxing mechanism. For inbound faxing, you simply set FreePBX to use NVfax to listen for a fax tone on inbound trunks. We’ve found that 5 is the magic number for detecting a fax tone on most inbound calls. YMMV! You also can dial local extension 329 (F-A-X) and the extension will listen for an incoming fax. In either instance, if a fax tone is detected, the call is routed to a fax context that converts the incoming fax to a PDF document which is then sent to your email address specified in your Fax Handling setup for each Inbound Route on your system. The correct answers for Fax Handling are Fax Extension: System, Fax Email: any email address that works, Fax Detection Type: NVFax, and Pause After Answer: 5. Don’t forget to also enter the Fax Machine Settings under the Setup->General Settings tab in FreePBX. For outbound faxing, we can’t recall this ever working with NVfax, but it does now. Here’s how to set things up. Create a PDF document of anything you wish to send by fax. Name the document so that it corresponds with the phone number of the fax destination, e.g. 6789991234.pdf would mean you plan to send the PDF document to a fax device at the following phone number: 678-999-1234. Now place the document in the /tmp directory on your server. Next, pick up a phone on your system and dial 32948 (F-A-X-I-T). When prompted for the destination fax phone number, key in 6789991234. Once you receive an acknowledgment that your fax has been sent, hang up. It doesn’t get much easier than that.
Prerequisites. Well, there are lots of them. But a stock installation of Asterisk with CentOS works great so long as you also have outbound emailing working and you’ve installed a text-to-speech engine. Either Flite or Cepstral works just fine. All of the bundled distributions should suffice. We actually only use TTS to generate the voice prompts for the outbound faxing so, if you don’t need that functionality, no TTS engine is required. If you need help with outbound emailing, see our PBX in a Flash knol. There also are setup instructions for Gmail and Comcast in the PBX in a Flash forum.
Installing the Fax Software. We’ve written a script which handles all of the heavy lifting for you. Just log into your server as root and issue the following commands:
chmod +x fax.pbx
In less than a minute, you should be all set.
Configuring the Fax Software. First, edit the [faxit] context in /etc/asterisk/extensions_custom.conf to plug in your actual fax number to be displayed on outbound faxes. It should be the 17th line up from the bottom of the file. Save your changes and reload Asterisk: amportal restart. Now load FreePBX using your favorite browser and make the Fax Machine entries in Setup->General Settings. Remember that your return email address must match your server domain name that you set up in /etc/hosts to get outbound email flowing, e.g. pbx.dyndns.org. Next, for each of your Inbound Routes in which you wish to enable fax detection, edit the entry and fill in the Fax Handling options we previously mentioned. To repeat, the correct answers are Fax Extension: System, Fax Email: any email address that works, Fax Detection Type: NVFax, and Pause After Answer: 5. Finally, add Misc Destinations for Fax (329) and FaxIt (32948). Reload your dialplan, and you should be ready to go.
Testing Things Out. The easiest way to assure that your system is properly configured is to attach a real fax machine to an FXS device on your system. Then send a fax to extension 329 (F-A-X). You should receive the fax via email shortly thereafter. That’s only half the battle unfortunately. If you want to receive faxes from outside your PBX, you also need to find a VoIP provider that properly supports faxing. Suffice it to say, all VoIP providers are not created equal when it comes to fax support. Our Best of Nerd Vittles article on faxing will provide some suggestions as well as a few tips and tricks. If you have a standard POTS line connected to an FXO device on your Asterisk server, that’s an even better option. Just make certain that fax detection is enabled on the inbound route for that line.
Don’t be misled by the brevity of this article. It in no way is a measure of the effort that it’s taken to make NVfax work again. One way that you can show your appreciation for the good deeds of others is through the Donate link at the top of our page. There’s no obligation, of course, but it does keep the Little Mrs. from regularly asking, “Tell me again why you do this?” Enjoy and thanks in advance.
Getting Started with PBX in a Flash. There’s a great deal of literature on PBX in a Flash that is yours for the taking. But we wanted to mention a terrific new series of articles in Mark Berry’s blog that are especially well suited for those just learning about VoIP. Have a look. We think you’ll agree.
Special Thanks to Our Generous Sponsors
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.
Some Recent Nerd Vittles Articles of Interest…