A New Star Is Born: The PIAF-Green Virtual Machine featuring Scientific Linux 6.5

We are delighted to announce our first of many releases of PBX in a Flash™ 3.0.6.5 running atop the just released Scientific Linux™ 6.5. In keeping with our historical methodology (minus CentOS™), today’s PIAF-Green™ VM release with Asterisk 11® and FreePBX® 2.11 provides everyone an opportunity to kick the tires and provide some feedback before the tailorable PIAF™ 3.0.6.5 hits the street. What’s missing is the CentOS operating system. Good riddance! See last week’s article for why. We are pleased to introduce our new OS platform:

“From the beginning Scientific Linux was designed to be a community project. We solicited input from the labs and Universities that originally contacted [Fermilab™ computer scientists], as well as other interested parties. We also designed the sites area to make it easy for sites to create their own distribution, as well as add to the mirrors without disturbing the main core distribution.”

Feel free to read up on its history, its legal footing, and its incredible growth over the past decade. If you’d like to build your own creation from Scientific Linux, there’s a well-documented tutorial to get you there. Incredible Linux™ here we come! And what a terrific contribution to the open source community by the Scientific Linux developers. Imagine actually being able to spin off GPL code into enhanced products just as the GPL license envisioned. What a concept!

We’ll have more news about Scientific Linux in coming weeks. But, for today, we hope you’ll take the new PIAF-Green Virtual Machine for a spin. This new release was put together within days of the release of Scientific Linux 6.5. That speaks volumes about SL platform stability and its enthusiastic community. We’re delighted to be the newest member!

The Ultimate VoIP Appliance: PIAF Virtual Machine for VirtualBox

Today brings us to a new plateau in the virtual machine development era. We’re pleased to introduce a new product that can be installed in under 5 minutes and will run on any Windows PC, Mac, or Linux machine as well as Solaris. And, unlike the dedicated machine platforms and OpenVZ compromises of years past, today’s PIAF-Green Virtual Machine is state-of-the-art giving you everything a bare metal install from source code would have provided. Most importantly, the components are truly portable. They can be copied to a 4GB flash drive1 for the price of a good hamburger and installed from there onto any type of machine that happens to be in front of you. Five minutes later, you have a fully functional Asterisk server with FreePBX and exactly the same feature set and source code that you would have had doing a bare metal PIAF install to a dedicated server. And we’ve built this 32-bit production-ready PIAF-Green Virtual Machine with Asterisk 11.7 and FreePBX 2.11. No Internet access required to perform the install. Sound too good to be true? Keep reading or, better yet, try the PIAF appliance for yourself. The install process is simple:

  1. Download and install VirtualBox onto a Desktop Machine of your choice
  2. Download and double-click on the PIAF-Green Virtual Machine to import it into VirtualBox
  3. Select the PIAF-Green Virtual Machine in VirtualBox Manager Window and click the Start button

Introducing Oracle VM VirtualBox

We’re late to the party, but Virtual Box®, Oracle’s virtual machine platform inherited from Sun, is really something. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of any desktop operating system. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 is to download one or more of the VirtualBox installers from VirtualBox.org or Oracle.com. As mentioned, our recommendation is to put all of the 100MB installers on a 4GB thumb drive. Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, simply install it onto your favorite desktop machine. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.

Installing the PIAF Virtual Machine

Step #1 is to download the PIAF-Green Open Virtualization Appliance (.ova) from SourceForge.

Step #2: Verify the checksums for the 32-bit .ova appliance to be sure everything got downloaded properly. To check the MD5/SHA1 checksums in Windows, download and run Microsoft’s File Checksum Integrity Verifier.

For Mac or Linux desktops, open a Terminal window, change to the directory in which you downloaded the .ova file and type the following commands:

md5 PIAF-Green-SL.ova (use md5sum for Linux)    MD5: 33fcda3badc7cae025905b59d59f8213
openssl sha1 PIAF-Green-SL.ova    SHA1: f3aa8d966cd8e7bed1d0d6e16d29806056b81e6a

Step #3: Double-click on the downloaded .ova file which will begin the import process into VirtualBox. It only takes a couple minutes, and you only do it once. IMPORTANT: Be sure to check the Reinitialize the Mac address of all network cards box before clicking the Import button.

Once the import is finished, you’ll see the new PIAF-Green virtual machine in the VM List of your VirtualBox Manager Window. You’ll need to make a couple of one-time adjustments to the VM configuration to account for differences in sound and network cards on different host machines.

Click on the PIAF-Green-SL Virtual Machine in the VM List. Then click Settings -> Audio and check the Enable Audio option and choose your sound card. Save your setup by clicking the OK button. Next click Settings -> Network. For Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. That’s all the configuration that is ever necessary for your PIAF-Green Virtual Machine. The rest is automagic.

Running the PIAF-Green Virtual Machine in VirtualBox

Once you’ve imported and configured the PIAF Virtual Machine, you’re ready to go. Highlight PIAF Virtual Machine in the VM List on the VirtualBox Manager Window and click the Start button. The PIAF boot procedure with Scientific Linux 6.5 will begin just as if you had installed PBX in a Flash on a standalone machine. You’ll see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your PIAF VM.

Here’s what you need to know. To work in the PIAF Virtual Machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. For other operating systems, read the dialogue boxes for instructions on moving around. Always shut down PIAF gracefully! Click in the VM window with your mouse, log in as root, and type: shutdown -h now.

Run the PIAF Virtual Machine behind a hardware-based firewall with no Internet port exposure!

To begin, position your mouse over the VM window and left-click. Once the PIAF VM has booted, log in as root with password as the password. Change your root password immediately by typing passwd at the command prompt. Now set up a secure maint password for FreePBX as well. Type passwd-master. If you’re not in the Eastern U.S. time zone, then you’ll want to adjust your timezone setting so that reminders and other time-sensitive events happen at the correct time. While logged into your server as root, issue this command:

setup-timezone

Next, use a browser to log into your PIAF server by pointing to the IP address of the PIAF VM that’s displayed in the status window of the CLI. Click on the User button to display the Admin choices in the main PIAF Menu. Click on the FreePBX option to load the FreePBX GUI. You will be prompted for an Apache username and password. For the username, use maint. For the password, use whatever password you set up with passwd-master.

Now read the latest PIAF Quick Start Guide and begin your VoIP adventure. Then you’ll want to do some reading on VirtualBox. We’ve barely scratched the surface. Setting up Headless VMs that run in the background on any server is a breeze. From the command line, here’s an article to get you started. But you also can start Headless VMs from within the GUI by highlighting the VM and clicking Shift->Start. Always shut down VMs gracefully: Close->ACPI Shutdown. You’ll find more great tips at virtualbox.org and GitHub.

One of the real beauties of VirtualBox is you don’t have to use a GUI at all. The entire process can be driven from the command line. Other than on a Mac, here is the procedure to import, configure, and run the PIAF-Green-32 Virtual Machine:
 
VBoxManage import PIAF-Green-SL.ova
VBoxManage modifyvm "PIAF-Green-SL" --nic1 nat
VBoxManage modifyvm "PIAF-Green-SL" --acpi on --nic1 bridged
VBoxHeadless --startvm "PIAF-Green-SL" &
# Wait 1 minute for PIAF-Green-SL to load. Then decipher IP address like this:
VBoxManage guestproperty get "PIAF-Green-SL" /VirtualBox/GuestInfo/Net/0/V4/IP
# Now you can use SSH to login to PIAF-Green-SL at the displayed IP address
# Shutdown the PIAF-Green-SL Virtual Machine with the following command:
VBoxManage controlvm "PIAF-Green-SL" acpipowerbutton

On a Mac, everything works the same way except for deciphering the IP address. Download our findip script for that.

Adding Incredible PBX 11 and Incredible Fax

You can read all about the Incredible PBX 11 and Incredible Fax feature set in our recent Nerd Vittles article. If you decide you’d like to add one or both to your PIAF-Green Virtual Machine, just log into your server as root and issue the following commands. NOTE: You must install Incredible Fax after installing Incredible PBX, or you will lose the ability to install Incredible PBX at a later time. With Incredible Fax, there are a number of prompts during the install. With the exception of the prompt asking for your local area code, just press Enter at every other prompt.

cd /root
wget http://incrediblepbx.com/incrediblepbx11.gz
gunzip incrediblepbx11.gz
chmod +x incrediblepbx11
./incrediblepbx11
./incrediblefax11.sh

The Incredible PBX 11 Inventory. For those that have never heard of The Incredible PBX, here’s the current 11.0 feature set in addition to the base install of PBX in a Flash with Scientific Linux 6.5, Asterisk 11, FreePBX 2.11, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Incredible Fax, NeoRouter and PPTP VPNs, and all sorts of backup solutions are still just one command away and may be installed using the scripts included with Incredible PBX 11 and PBX in a Flash. Type help-pbx and browse /root for dozens of one-click install scripts.

Originally published: Wednesday, January 29, 2014




Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

Putting the Genie Back in the Bottle: More RedHat Legal Shenanigans with CentOS


As we celebrate the 10th anniversary of CentOS, the Community Enterprise Operating System, all is not well in Open Source Land. If you haven’t heard, CentOS “joined forces” with Red Hat while you were enjoying the Christmas holiday. And RedHat wasted little time attempting to morph CentOS into a Trademark Minefield much as RedHat has done with its other “open source” projects. If you look at the new CentOS.org web site, RedHat proclaims a New Look and New CentOS. New, indeed. You won’t see many changes other than a healthy mention of RedHat and a vast new Legal section proclaiming RedHat’s ownership of the CentOS trademark and severely restricting acceptable use of the CentOS product. It’s more than a little ironic that RedHat actually pulled off a similar stunt against CentOS back in 2005. The initial problem this time around is that RedHat doesn’t actually own the trademark, nor has RedHat attempted to register it. There are some good reasons why, and we’ll get to those in a minute.

The RedHat Legal Theory of Trademarks goes something like this. We just don’t want people to confuse other products with our brand even though we all use the same, freely available open source brands. Get it? Well let’s try again. RedHat doesn’t mind using Apache’s brand name, and SendMail’s, and MySQL’s, and about 40,000 other trademarked and copyrighted products of open source developers. But God help you if the word “RedHat” appears anywhere in your open source software aggregation.

Now RedHat would like to extend this philosophy to CentOS for the betterment of the community, of course. If successful, RedHat bullying would wipe out virtually all of the current CentOS packages available from the following providers, and thousands more would disappear as well. Here’s the list from CentOS’ own web site, but don’t expect the list to remain around very long. The mere existence of this list proves CentOS acquiescence in the development methodology employed by Amazon Linux AMIs that include CentOS as part of the AMI, AsteriskNOW, BlueOnyx, BlueQuartz, CactiEZ, CentServer, ClarkConnect, ClearOS, Elastix, FAN, FreePBX Distro, OpenNode, OpenVZ, OS Office, OVH, Parallels Virtuozzo Containers, PBX in a Flash, Proxmox images that include CentOS, SipX, SME Server, Snaplogic, trixbox, trixswitch, VicidialNOW, most of the Virtual Machines and hosted platforms that rely upon CentOS with any other included application. And the list goes on. To give you some idea of how pervasive CentOS is in the products of other developers, try Googling: built atop centos which returns over 21 million results.

In a nutshell, the new RedHat Terms of Service outlaw use of CentOS in any productunless the combined distribution is an official CentOS distribution.” In short, the open source community would be transformed into the functional equivalent of the Windows and Mac platforms. End-users could independently install CentOS and then acquire apps to run under CentOS, but CentOS could no longer be included with the application itself. Well, not so fast, Mr. RedHat.

Even though the evidence trail is quickly disappearing, there’s still plenty of CentOS history that suggests things may not work out quite as well for RedHat this time around. First, there is the CentOS “Social Contract” with the Open Source Software Community and The cAos Foundation’s Open Source Software Guidelines, both of which have conveniently disappeared from the CentOS web site. For history buffs, the cAos Foundation was the developer of the CentOS aggregation. If there’s one overriding principle in both trademark law and open source software development under the GPL, it’s this: YOU CAN’T UNRING A BELL. A license once given cannot be withdrawn at the whim of a new owner, even RedHat. Here’s an excerpt from their “Social Contract.” Pay particular attention to the last paragraph:

Another problematic issue is ownership of the trademark itself. You can certainly own a trademark without registering it with the U.S. Patent & Trademark Office. But… since inception, the cAos Foundation has gone to great lengths not to ever enforce, proclaim™, or protect its trademark in CentOS. The reason is simple. They viewed CentOS as a community project which was free for everyone in the community to use and integrate as they saw fit. Thus it is more than a little puzzling that a single developer would finally file a USPTO trademark application for “CENTOS” (note the capitalization and compare to RedHat’s view of the universe) six months ago claiming that he individually owned the mark. Quite the contrary, the cAos Foundation referenced its CentOS brand as early as 2004.

This, of course, raises some additional problems with RedHat’s claim of CentOS trademark and service mark ownership. From a legal standpoint, owners of trademarks are obligated to police the use of their marks to avoid Dilution either by third parties or by tarnishment. Without delving too deeply in the legal weeds, suffice it to say the CentOS mark suffers from dilution on both counts over a period of almost 10 years! This is as it should be actually. CentOS was intended to be a community resource for everyone in the community to be able to use, integrate, and build upon. Because of its inherent non-commercial character, it was never intended to be a brand for independent marketing.

A third trademark infirmity for the CentOS brand is the fact that it’s suffering from genericide. In Plain English, CentOS has become a household word. In the Linux community, it signifies a generic open source Linux operating system. Just as with aspirin and thermos bottles, “a majority of the relevant public [has] appropriated the name of the product… [and, in essence,] the owners are victims of their own success.”

And then there’s the matter of licensing. In addition to the “Social Contract” referenced above and upon which many developers relied, there’s also a financial angle. Individual developers reportedly have been given either express or implied authorization to integrate CentOS into their software products in exchange for financial contributions to the “CentOS project.” We’ll have more to say about that in our Petition for Cancellation and Opposition to Registration of the CentOS trademark, if the trademark is ever approved for publication. We trust many other developers will file petitions as well. You can review the procedure here. You can follow the CentOS trademark saga here. Be advised that an Opposition to Registration (section 202) must be filed with the Trademark Trial and Appeal Board within 30 days of the date a mark is approved for publication in the USPTO’s Official Gazette. A sample Petition for Cancellation (section 307) is available here. You do not have to be a lawyer to file it. You do have to pay the $300 filing fee. The safest way to monitor approval is by regularly checking the Status of the CENTOS Trademark and Service Mark Application.

Licensing issues aside, there’s a more serious issue moving forward. Most companies used CentOS so they wouldn’t have to pay for Red Hat Enterprise Linux. Now Red Hat has bought CentOS. Guess what? Is it just a matter of time until CentOS is crippled so that it cannot serve as a drop-in replacement for Red Hat’s Cash Cow? Duh! Did the CentOS development team care about this? Probably not. Might not have even considered it. They got money and cushy jobs out of the deal. But, just because Red Hat offers financial rewards to a handful of CentOS developers is no reason to scuttle the development efforts of thousands of independent developers over the last decade. Better think twice, RedHat. The open source community will be watching.

Originally published: Monday, January 20, 2014




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

Obivoice = OBi Heaven: Dumping Google Voice for Less Than 10¢ a Day

What a difference a week makes! When we wrote last week’s article about netTALK and their terrific pricing, we were pleased to report that at least one company could offer a drop-in replacement for Google Voice without breaking the bank. But, alas, all is not well in netTALK Land. For openers, the Better Business Bureau revoked their accreditation last June because of failure to respond to or resolve technical complaints. And a recent SEC Filing paints a fairly bleak picture of the company’s financial condition. Special thanks to Gershom1624 for his sleuthing efforts. This merely reinforces the difficulty of providing reliable, unlimited VoIP service at the $2.50 a month price point. But we firmly believe $2.50 is the magic price point, and it is achievable with some safeguards for the provider, i.e. residential service, no call centers, no 10,000 minutes-a-month customers. My mom loved the telephone, but she never spent 5 hours a day on the telephone. There also has to be some tradeoff in the level of support customers can expect. If customers tie up expensive support reps with multiple calls, the pricing matrix falls apart very quickly. And that brings us to this week.


Let’s review the Wish List for those that missed last week’s article. We want a drop-in replacement for Google Voice on both the OBi110 (stand-alone with any POTS telephone) and Asterisk® (PBX) platforms. It needs to provide unlimited (within reason) calling in the U.S. and Canada. It needs a feature set that is fairly comparable to Google Voice. It needs to include E911 service because the federal government says so. We don’t care much about support as long as the setup process is well-documented, the service is reliable, and calls sound great. Charging for support requests to resolve issues that aren’t the company’s fault is perfectly fine with us. But the price point for unlimited calling needs to be $2.50 a month, i.e. $30 a year or $60 every two years for the math-challenged. We’d prefer no tips, taxes, or fees. We want to keep our existing number. And, lest we forget, the company must promise to stay in business and never raise prices… forever.

Suppose we could find you a company that, with a 2-year commitment, could provide all of the above (minus the last sentence) plus fax support including a web page to send outgoing faxes from attachments, free calling and a mobile app for your iOS and Android devices, Visual Voicemail with voicemail transcription as well as email delivery of voicemail messages, call forwarding, call waiting, CallerID spoofing for any number you own, and unbelievable customer service. Not sure about the service? How about a 30-day free trial with 60 free minutes?

Let us introduce you to Obivoice. Don’t be alarmed by the one-year price of $40. The two-year price is just $60. But it doesn’t cost you a nickel to sign up and try the service. Obivoice is a pure SIP provider so the setup with PBX in a Flash™ or an OBi110™ takes only a couple minutes. Here’s the SIP trunk setup for PBX in a Flash using FreePBX®. All you need is your SIP credentials and phone number once you’ve signed up for an account. Plug in your 10-digit phone number in the Outbound CallerID and Register String, replace 1234 with your Account Number in the username, fromuser, and Register String, and replace yourpassword with your real Password in the secret and Register String.

Next, build yourself an Inbound Route with your 10-digit DID and point it to your favorite PBX destination. Finally, create an Outbound Route using obivoice as the Trunk Sequence, and you’re all set. It doesn’t get any easier than that.

We don’t think you will but, if you need assistance setting this up, head over to the PIAF Forum where there’s a lively discussion about Obivoice already.

The OBi110 setup is just as easy. Plug in sms.intelafone.com as the ProxyServer and OutboundProxy in your ITSP Profile, add your SIP credentials in the SP1 Voice Services dialog, and forward (or transfer) your existing Google Voice number to Obivoice. Done! Obivoice’s complete tutorial is available here.

Let us close with our own customer service story. We were so excited about this new service when it was announced yesterday that we actually clicked the wrong button and signed up for the wrong plan. Of course, it only takes a minute to get that sinking feeling in your stomach when you know you’ve screwed up. So late yesterday (Sunday night!) I opened a support ticket and asked to either cancel the wrong plan so that I could reenlist or to transfer to the $60 two-year plan. At 1:30 a.m. this morning, I got an email back from customer service indicating that the plan had been adjusted and that I had been billed for the price difference. WOW!

Run, don’t walk, to sign up for Obivoice. It’s that great!

p.s. The Obivoice jingle in their YouTube video is as good as their calls. We want it for our Music on Hold!

Originally published: Monday, January 13, 2014




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

netTALK to the Rescue: Dumping Google Voice for Less Than 10¢ a Day

The Google Voice Adventure with Asterisk® has been disappointing to put it charitably. Google never really saw the benefit of providing free phone service to millions of Americans because they never could quite figure out how to monetize the project. In the meantime, shady call centers were eating them alive with dozens if not hundreds of Google Voice trunks that were placing endless calls around the clock. The final straw was Microsoft deciding to keep Skype proprietary while adding free Google Voice connectivity to its communications products. This meant Microsoft customers had the best of all worlds while Google’s platform had no way to access Skype except through Microsoft’s proprietary client. Google decided to pull the plug on XMPP beginning May 15 of this year and more or less blamed it on abuse by the open source community for using Google’s own open source development toolkit for Google Voice.

We’ve never been one to sit around crying about spilt milk when there are plenty of other excellent choices available to the VoIP community. Today we begin our exploration of alternatives with a look at all-you-can-eat VoIP. There still are a few pure VoIP service plans available, but every one that we’ve tried leaves a bait-and-switch aftertaste. The first year may be reasonable, but once they’ve got you hooked, look out. Quite literally, they have your number. For this reason, we’ve chosen a hardware hybrid approach that still relies upon VoIP for the actual calls. Below the stratospheric pricing of the Bell Sisters, Comcast, and Vonage, there still are several wallet-friendly, all-you-can-eat VoIP products to choose from including netTALK, Ooma, and magicJack.

We know. Nothing beats free even with a little pain. But we think you’ll love today’s alternative especially given its expanded feature set and modest long-term cost. Up front hardware cost including service for the first year is about $100. Amortizing the hardware and service costs over three years reduces your investment for unlimited U.S./Canada/E911 phone service to roughly $1 a week. After recovery of your $100 hardware investment, the cost is $29.95 a year which works out to less than 10¢ a day… forever. This compares quite favorably to today’s best all-you-can-eat VoIP deal. AxVoice charges $99 for equivalent first year service and then the price escalates to over $150 for subsequent years. It doesn’t take a math major to figure out that’s 5 times the netTALK pricing beginning in Year 2.

That brings us back to Google. If you had several million happy customers already using your VoIP service and you saw a small company that was still in business charging $30 a year for a VoIP feature set that was better than yours, wouldn’t you think you might try to cash in on $100 million a year in new revenue rather than flushing the project down the toilet while shafting the open source developers that got you the customers in the first place??

Earth to Google: Few on the planet are ever going to use a web browser with Hangouts to make traditional phone calls regardless of how many places you plaster the Hangouts logo. Before you hire another Marketing Genius, read a good book or two. The well-deserved 2013 Lame Foot of the Year Award goes to Google. </rant>

Overview. Today we’ll be pairing an old friend, the OBi110, with the unlimited calling options provided by netTALK. When we’re finished, you’ll have a drop-in replacement for Google Voice on your Asterisk server that provides unlimited calling within the U.S. and Canada, plus free calling to other netTALK and OBi users around the world, plus free 911 emergency service for you and your family, plus voicemail delivery by email, and fax support. And you can keep your existing phone number! All of the existing PBX in a Flash and Incredible PBX features still work exactly as they do today without worrying about Google pulling the rug out from under you… again. With the OBiON app for iOS or Android, you can make free calls from your cellphone using today’s netTALK-OBi110 setup. And, if calls from a cellphone aren’t your thing, when you go on vacation to anywhere with an Internet connection, you can slip the netTALK device into your suitcase and plug it in to the Internet at your destination without ever losing the ability to make and receive free calls. We’ll cover all these magic tricks and more today so hang on to your hat. Let’s get started.

Legal Disclaimer. This is not legal advice. Consult your own attorney for that. We have reviewed netTALK’s Terms of Service and find nothing that would preclude your using the services as described in this article so long as the device is used in the United States, usage is under 3,000 minutes per month, and usage is limited to “normal residential or home office usage patterns” without “auto-dialing, continuous or extensive call forwarding, telemarketing, fax broadcasting or fax blasting.” Terms of service can and do change from time to time. Review them regularly.

BY IMPLEMENTING THE TIPS IN THIS TUTORIAL, YOU AGREE TO ASSUME ALL RISKS ASSOCIATED WITH THE METHODOLOGY INCLUDING, BUT NOT LIMITED TO, THE LEGAL AND FINANCIAL CONSEQUENCES OF YOUR ACTIONS. IF YOU ARE UNWILLING TO DO SO, STOP READING HERE!

Hardware Requirements. Here’s what you’ll need. First, purchase a netTALK device. You have several choices. The netTALK DUO is still available for under $50 and includes a full year of unlimited calling in the U.S. and Canada. The netTALK DUO II is the newer model (with the same feature set). It sells for about $30 but only includes three months of free calling. The netTALK DUO WiFi is about $60 and adds WiFi support. Additional years of free calling in the U.S. and Canada are $29.95 with a guarantee of no price escalation as long as you continue the service without interruption. You can add free calling to 60+ countries for an additional $10 a month. Unlimited SMS messaging in the U.S. and Canada is an additional $2.50 a month. AT&T charges $20 a month for unlimited SMS messaging, and it only works on a single cell phone.

In addition to your Asterisk server, the other piece for today’s puzzle is OBiHai’s OBi110, a terrific analog telephone adapter that we’ll use to connect the netTALK adapter to your Asterisk server. If you want to connect a Google Voice account for a few more months, it can do that as well. It also supports a connection to another SIP provider of your choice for redundancy. For today, our focus is getting a Google Voice replacement service in place for your Asterisk server. You can scour the Internet to add the other pieces. The OBi110 is available through Amazon for under $50.1

Installing and Configuring the netTALK Duo

Before your netTALK Duo will work, it has to be registered on the netTALK web site. Locate your temporary username and password for the NetTalk DUO inside the box. Log into the web site and click Start Activation. Plug in your credentials and click LOGIN. Fill out the registration information and create a username and password for your new account. Then press CONTINUE. Complete the E911 information and click SAVE. Select a phone number and ASSIGN it to your account. Now plug a plain-old phone into your netTalk Duo, connect the device to your LAN, and then connect the power adapter. Some routers are problematic. Be sure SIP ALG is disabled on your router. It took about 5 minutes for ours to change from alternating green and red lights to a solid green light and the one-ring call indicating that the device is operating properly. Once you get the solid green light, make a call to the device and from the device. Nothing else works if the netTALK can’t make calls! Once it’s working, you can unplug the phone and use it to configure the OBi110 in the next section.

Installing and Configuring the OBi110

There are a number of steps to the OBi110 setup, but it isn’t difficult. If you can handle slice-and-bake cookies, you can do this. Just follow the recipe and don’t skip any steps. We’ll be configuring the OBi110 in two phases using the OBiTalk web site first and then using the OBi110′s built-in web server. Plug the OBi110 into your LAN and then attach the power adapter. Plug a POTS phone into the PHONE port of your OBi110. Once the OBi110 has booted, pick up the phone and make sure you have a dial tone. Then hang up.

IMPORTANT: Make sure that you restore the OBi to its factory default settings if you have previously used the device! ALWAYS keep your OBi110 behind a hardware-based firewall with NO Internet port exposure!

Now head over to the OBi web portal and set up an account if you don’t already have one. From the OBi Dashboard, click ADD DEVICE. Uncheck the box to set up a Google Voice account. You can do that later if desired. Now pick up the phone connected to the OBi110 and dial **5 plus the 4-digit number shown in your browser. This will identify your device to OBiTalk. Your OBi110 will appear in a dialog box for confirmation. Click CONFIRM promptly, or start over.

In the Device Configuration window that appears, add a Device Display Name, Webpage Admin PW, OBi Attendant PIN, and your TimeZone. SAVE your settings. The OBi110 should now appear in the OBi Dashboard with its assigned OBi number and speed dial number together with a Green status icon signifying it’s working.

Now is a good time to download the OBiON app to your iOS device or Android phone. Launch the app and login with your OBiTalk account information. In the OBi Dashboard, you will note that your softphone now has appeared and was assigned a 9-digit OBiTALK number. Write it down. You’ll need it in a minute to complete the OBi110 setup. Click on the Edit icon for the softphone and assign your OBi110 as the OBi Voice Gateway. SAVE your settings.

For the remainder of the OBi110 setup, we’ll be using the web interface built into the OBi110. If you don’t know the IP address of your OBi110, pick up the phone connected to your OBi and dial ***1.

1. Use your browser to log into the OBi110′s web interface. Log in with admin:admin as the username:password.

2. Once you’re logged into your OBi110′s web interface, the Setup Wizard will display. Expand the first five headings in the left column by clicking on the + icons for Status, System Management, Service Providers, Voice Services, and Physical Interfaces. Then expand ITSP Profile B under Service Providers.

3. Download the latest firmware from here to your desktop. Currently it’s 1.3.0 (Build: 2824). Install it on your device: Device Update -> Firmware Update. Your OBi110 will restart after loading the new firmware.

4. Disable ALL AutoProvisioning: Auto Provisioning -> Firmware Updates, ITSP Provisioning, OBiTalk Provisioning. Then Submit and Reboot.

This keeps external forces from stepping on your setup once it’s working. If something breaks down the road, you can manually provision your device once you know what’s broken.

5. While not absolutely necessary, we recommend you set a static IP address for your OBi110: Network Settings -> Internet Settings. Submit and Reboot. Using your browser, log back into the new IP address.

Another alternative is to permanently lock the DHCP-assigned IP address to the OBi110 using the web interface of your router.

6. Open the SIP profile under ITSP Profile B. Here you’ll need to insert the IP address of your Asterisk server in BOTH the ProxyServer and X_AccessList fields. Also add a check mark for X_SpoofCallerID. Before you can add these entries, you’ll need to uncheck the Default checkbox beside each entry. This applies to all further steps as well. After making the three entries, click Submit and Reboot.

7. Open the SP2 Service window. For X_ServProvProfile and X_CodecProfile, change the settings to B. Change X_InboundCallRoute to LI. Add a check mark for X_KeepAliveEnable. Change X_KeepAliveServerPort and X_UserAgentPort to 5061.

In the SIP Credentials section, change AuthUserName to obitrunk. Make up a secure password and insert it in the AuthPassword field. Remember the password! We’ll need it to configure your Asterisk trunk in a minute. For the URI entry, use the following with the actual IP address of your Asterisk server: obitrunk@192.168.0.82. Double-check all nine entries carefully and then click Submit and Reboot.

8. In the OBiTalk Service Settings window, change the InboundCallRoute to an entry that looks like this: {pp(ob290999999),li}. We recommend you cut-and-paste our example and then replace 290999999 with the 9-digit OBiTalk number that was assigned to your softphone above. A punctuation error here will block your softphone from ever working. Click Submit and Reboot.

9. Finally, we need to configure the LINE Port. For the InboundCallRoute, insert the following using the 10-digit phone number assigned to your netTALK Duo: SP2(6781234567). For the SilenceTimeThreshold, set the number of seconds you want the OBi110 to wait before disconnecting a call where nobody at the other end of the call says anything. We recommend 600 which is 10 minutes. Click Submit and Reboot.

10. Now it’s time to connect your netTALK Duo to your OBi110. Unplug any phone connected to the netTALK Duo. Using a telephone cable, connect the PHONE port of the netTALK Duo to the LINE port of the OBi110. Never plug the netTALK Duo into the PHONE port of the OBi110, or your OBi is (burnt) toast!!!

11. Test your configuration. Pick up the phone that’s still connected to the OBi110 and dial either a 10-digit or 11-digit number of someone you love: 8005551212 or 18005551212. Do the same thing using the OBiON app on your cellphone or tablet. Be patient! OBiON connections are not instantaneous. Your connections have to be authenticated through OBiHai’s servers before they go through.

Interconnecting Asterisk with the OBi110

There basically are three pieces you need to add to Asterisk so that it can communicate with your netTALK Duo and OBi110. You need a Trunk to which the OBi110 will register. You need an Inbound Route to tell Asterisk how to handle incoming calls from the netTALK Duo phone number. And you need an Outbound Route to tell Asterisk which outgoing calls should be routed out through the netTALK Duo. We’re assuming you will be using the netTALK Duo as your primary trunk for outbound AND emergency calls. We’re also assuming you will not be making international calls. Finally, we’re assuming you are using FreePBX 2.11 with either PBX in a Flash or with one of the Incredible PBX builds on the CentOS 6.5, Raspbian, or Ubuntu platforms. Other FreePBX 2.11 setups should work in much the same way. If any of these assumptions don’t apply, you’ll obviously need to make the necessary adjustments for your environment.

Trunk Configuration. To set up the obitrunk under FreePBX 2.11, log into FreePBX and choose Connectivity -> Trunks -> Add SIP Trunk. For the Trunk Name, use obitrunk. For Outbound Caller ID, enter the 10-digit phone number assigned to your netTALK Duo. For Maximum Channels, use 1. For Dialed Number Manipulation Rules, add the following Match Patterns: 1NXXNXXXXXX, NXXNXXXXXX, and 911.

In Outgoing Settings, use obitrunk for Trunk Name and enter the following PEER Details:
type=peer
host=dynamic
port=5061
disallow=all
allow=ulaw
dtmfmode=rfc2833

In Incoming Settings, enter your actual 10-digit netTalk phone number in the User Context field: 6781234567. Enter the following USER Details replacing mypassword with the password you set up in OBi110 step #7 SIP credentials above and adjusting the permit entry to match your LAN subnet:
type=friend
secret=mypassword
host=dynamic
context=from-trunk
canreinvite=no
nat=yes
port=5061
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=ulaw
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/255.255.255.0

Click Submit Changes and Apply Config to save your entries.

Inbound Route Configuration. If you already have a default inbound route on your Asterisk server, then you can skip this step unless you want incoming calls from the netTALK DID routed in a special way. To create an inbound route for the netTALK phone number, choose Connectivity -> Inbound Routes -> Add Incoming Route. For the Description, enter netTALK-OBi110. For the DID Number, enter your 10-digit netTALK phone number. For CID Lookup Source, choose CallerID Superfecta if you’re using this module. For Set Destination, choose how you want FreePBX to route the incoming calls, i.e. an extension, ring group, IVR, etc.

Click Submit and Apply Config to save your entries.

Outbound Route Configuration. If you want all 10-digit, 11-digit, and 911 calls placed from your Asterisk server to be routed out through the netTALK Duo, then you’d Add a Route under Connectivity -> Outbound Routes that looks something like the following. Don’t forget to move this Outbound Route (in the right column) to the TOP of your list of Outbound Routes to make certain it is processed first by FreePBX.

For Route Name, use obiout. For Dial Patterns, use the same ones you used in your Trunk setup above: 1NXXNXXXXXX, NXXNXXXXXX, and 911. For Trunk Sequence, select obitrunk.

Click Submit Changes and Apply Config to save your entries.

While still in Outbound Routes, drag obiout to the top of the outbound routes list in the right column. Then click Apply Config again to save your trunk processing sequence.

Verifying Connectivity. Let’s be sure everything works. First, log back into the IP address of your OBi110 and verify that System Status -> SP2 Service Status shows the OBi110 is registered to your Asterisk server. Next place a 10-digit call using an extension on your Asterisk server and monitor the Asterisk CLI to make certain that the call went out using the netTALK Duo trunk and was completely successfully. Finally, use your cellphone to call the number assigned to your netTALK Duo. The call should ring on the devices you configured in the Inbound Route above. Enjoy your new freedom from Google Voice!

Special Thanks. We want to express our appreciation to ObiHai for an excellent Administrator’s Guide and to the numerous individuals who have wrestled with the OBi110 setup over the years. This includes Adrian Li, Ad_Hominem and MichiganTelephone on the OBiTalk Forum as well as the reference articles which now are available here.

Originally published: Tuesday, January 7, 2014




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

  1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

IVR 101: Six Quick Steps to Building Incredible IVRs for Asterisk with FreePBX

As more and more Asterisk® platforms enter the open source community, it seems as if we spend a lot of energy covering the basics of getting those new systems into place, and there’s little time left for tutorials that really make the difference in a great telephony system and one that just makes calls. So our New Year’s Resolution is to try to devote a column every month to smelling the roses and pushing out some information that actually helps newbies in the VoIP community learn something while getting them up to speed on creating important pieces of a PBX themselves.

For today, IVR 101 tackles Interactive Voice Response systems (IVRs) and AutoAttendants. These are the tools that let callers interact with a PBX without assistance from a receptionist. What’s the difference in an IVR and AutoAttendant? Both offer unattended call processing, but an IVR is more sophisticated typically offering much more than a menu tree of connection options to the caller. For example, some of the options in today’s demo IVR let the caller interact directly with the computer to retrieve customized responses. Call by Name lets the caller speak the name of a person or company to dial, Weather by City lets the caller choose the City and State, Province, or Country of a weather forecast to retrieve, and Wolfram Alpha lets the caller ask about almost anything you’d find in your favorite almanac. Twenty years ago, companies were spending $100,000+ to get this functionality from the Bell Sisters and companies like Nortel. Today you can do it with a Raspberry Pi or BeagleBone Black running Incredible PBX for less than $50. Much has been written about IVR Hell and how to build effective IVRs that don’t drive callers crazy. We’ll leave that one for you to explore on your own. But we can’t stress enough how important this really is. It can make or break a company! If you’re unwilling to invest the time in the IVR design, there are companies such as CallFire that will do it for you. For do-it-yourselfers, you’ll want to start with Allison’s 15 Commandments (for ease of reference, we have linked to the individual articles on Digium’s site below) and then do a little Googling on your own. There’s a wealth of information on the topic.

Allison’s 15 Commandments of IVR
 
1. Don’t Overestimate Your Listener’s Attention Span
2. Thou Shalt Not Create Fake Mailboxes
3. Keep Things Simple
4. Always Give Callers an Opt-”In”
5. Front-Load Important Information
6. Understand What Constitutes a “Prompt”
7. Understand The Effects of Proper Punctuation in Concatenation
8. Thou Shalt Not Give Directions To Your Office/Facility
9. Give a Pronunciation Guide for Proper Names and Place Names
10. Name Your Company Something That Needs No Special Instruction
11 Don’t Go Overboard with Niceties
12. Read The Copy Out Loud
13. Be Clear on Your Company’s Vision/Image — And Be Able To Explain That To Me
14. Don’t Front-Load Too Much Information in The Opening Greeting
15. Write in a Conversational Tone

Step #1: Documenting What You Want Your IVR to Do

Our task today is to cover the mechanics of building an effective IVR. That, of course, starts with a pencil and paper. Before you can build anything, you need a blueprint for what you’re trying to accomplish and how we go about getting there. What choices do you want to give callers that dial into your PBX? Do you want all of these options announced to every caller, or should some of them be left hidden (perhaps behind passwords) that let certain users interact with your PBX in ways that casual callers won’t know about. Keep in mind that the bad guys have telephones, too. So, even though an IVR option may not be mentioned, that doesn’t mean that the curious caller won’t push buttons you didn’t describe as available. Unless you have deep pockets, for example, you probably wouldn’t want to make a DISA call-out option available, whether hidden or otherwise, without protecting it with a very secure password. Similarly, an IVR option that lets anybody schedule a reminder to any phone number of their choice is not too smart.

Rule #1: The very first question you need to ask yourself with every IVR option is “Can this function end up costing me money?” If the answer is “yes” then you need a very secure password before any caller can access that feature.

For today, we’re going to build a call tree that shows off some of the features included in Incredible PBX. When a caller dials into a certain number on your PBX, we’ll play a message that describes the available options. Then we’ll let the caller play with the Incredible PBX feature set. You probably would want to set this system up on a phone number that supports unlimited inbound calls at no additional cost. In short, ask yourself: “Do thousands of 30-minute calls to my demo IVR end up costing me money?” If the answer is “yes” then don’t build a non-essential IVR without first securing a DID that doesn’t cost you by the minute. There are lots of choices including Google Voice which happens to still be free and available until May 15, 2014. There’s also IPkall that still gives out free DIDs in the Seattle area to anyone with a SIP URI. If you haven’t already guessed, we’re trying to get you in the mindset of always assuming the worst case from every potential caller. After all, it’s your phone bill.

We started with our pencil and paper and sketched out what we wanted to include in our Demo IVR. And, by the way, you would never want to position “speak to a real person” as the last option in a real IVR unless you just love pissing off your customers. Today’s IVR wasn’t designed to let you speak to a real person… other than Lenny. :wink:

Test Drive: Demo IVR with Incredible PBX on the $45 BeagleBone Black RasPBX

Step #2: Recording the Voice Prompt for the Demo IVR

When people call your phone number, they expect someone to answer the call. In the case of an IVR or AutoAttendant, you’ll need a voice prompt to tell callers what options are available. The options need to be concise keeping in mind that the average attention span of callers is about 30 seconds. You don’t want callers hanging up before they’ve even reached the end of your schpeel. You also don’t want callers to have to listen to a dozen options when the option they wanted was #1. We’re going to be using FreePBX® to create the IVR so it will automatically permit callers to interrupt the talking head by pressing a button. If you’re doing this with Asterisk dialplan code, make sure you use the Background function to play your voice prompt rather than Playback which forces callers to listen to the entire recording before making a choice.

In recording voice prompts, you have a number of options. The most professional is to hire Allison to record the prompts for you. Then it matches all of the other prompts on your Asterisk system. You can do this through Digium’s web site, and the cost is quite reasonable. For bigger projects, contact Allison directly through her web site. Another alternative is to record the prompt yourself. This can be done with professional recording equipment or using an ordinary phone with FreePBX: Admin -> System Recordings -> Extension Number. Who knows? You may want to break into the voice-over business yourself.

The other alternatives involve use of a text-to-speech engine to create the voice prompts. A synthesized “Allison voice” is available from Cepstral®; however, due to a change in licensing, you now will need three different licenses in order to record voice prompts. If you want on-the-fly prompts using Cepstral, you also will need additional licenses for each simultaneous caller. Other than in the corporate environment, we can no longer recommend Cepstral. And, even for business use, Allison’s custom recordings are far superior to the TTS renditions in our opinion.

Two free text-to-speech alternatives are available on Incredible PBX platforms. Flite sounds much like Herman Munster. You can understand him. That’s about it. GoogleTTS is a female voice that actually does a good job. For demo projects, we typically use GoogleTTS although you won’t have to today. GoogleTTS voice prompts can be created from the command line by logging in as root. The following command would build an ivr.wav voice prompt for this demo IVR that is suitable for use on all Asterisk-based systems:

googletts-cli.pl -t "Hi: Thank you for calling. To call by name, press 1: To join the conference, press 2: For Wool From Alpha: press three: To speak to Lenny: press four: For today's news headlines, press 5: For today's weather forecast, press 6. For today in history, press 7. Or press 8 for the house phones and speak to a real person." -r 8000 -o ivr.wav

As a Christmas present to all of us, Allison has actually recorded the voice prompt for this demo IVR, and you are more than welcome to download it and use it in building a Demo IVR for your own computer. It provides a great example of the quality of Allison’s recordings. Night and day pretty much sums up the difference between Allison’s recording and the GoogleTTS version, but you can judge that for yourself. Here’s the download link for the ivr-Allison.wav prompt. And here’s the download link for the GoogleTTS ivr.wav prompt. Just import the files into FreePBX as outlined below.

Step #3: Importing the Voice Prompt into FreePBX

Before we actually create our IVR application in FreePBX, we first need to get our two voice prompts from Allison and GoogleTTS imported so that they can be used as part of the FreePBX system. There are two ways to do this. The first is to import a file from your desktop PC using the FreePBX GUI. We’ll use this to grab the Allison prompt you downloaded to your desktop above. Choose Admin -> System Recordings. Then Choose File -> ivr-Allison.wav -> Upload. Now Name the file: ivr-Allison and click Save.

The second option is to create a dummy IVR voice prompt in FreePBX and then replace the dummy ivr.wav file with your actual recording. Let’s create a dummy recording just to show you the procedure to use for GoogleTTS prompts. Choose Admin -> System Recordings. Enter an extension number that is connected to your PBX: 701 then click Go button. Using extension 701, dial *77 and record a few words of gibberish. Press # and hang up. Give the recording the same name as the file we wish to upload (without the extension): ivr. Click the Save button. Finally, from the directory on your Incredible PBX server where you recorded your GoogleTTS ivr.wav file in Step #2 above, move the ivr.wav file to its permanent location: mv ivr.wav /var/lib/asterisk/sounds/custom

Step #4: Creating the IVR in FreePBX

To create the IVR in FreePBX on the Raspberry Pi or BeagleBone Black platform, choose Applications -> IVR -> Add IVR and then fill in the blanks to match this template clicking the + button to add the necessary number of IVR options, SUBMIT your entries, and APPLY CONFIG to reload FreePBX. You will note that, for each of the applications, we already have created a Misc Destination within FreePBX so that it can be used as part of a FreePBX-generated IVR. If you’ve created your own dialplan or AGI applications, you would need to complete this step before creating your IVR. To use Allison’s prompt instead of the GoogleTTS prompt, simply change the top Announcement entry below from ivr to ivr-Allison. Then, Allison’s prompt will play when a call is first answered, and the GoogleTTS version will play for invalid, timeout, and repeat announcements. That makes it easy for you to compare the two alternatives.

Step #5: Linking the IVR to an Incoming DID in FreePBX

Finally, you’ll need a DID that folks can call to reach your IVR. We’ll assume you’ve already set that up on your PBX so all we need to do in FreePBX is create an Inbound Route to pass incoming calls to that phone number. Choose Connectivity -> Inbound Routes -> Add Incoming Route and fill in the blanks using the template below and the actual number of your DID. Click Submit and Apply Config to complete the process.

Step #6: Taking the Demo IVR for a Test Drive

This is a really important final step. ALWAYS try out every option on your IVR immediately after creating it. Be sure you call the IVR twelve times and press every button on your phone to make certain the results match what you expected to create. If not, edit the IVR in FreePBX and then try your calls again. As obvious as this sounds, you probably already know that many “professionally-built” IVR creations seem to have forgotten this step. We couldn’t begin to tell you the number of IVRs we have encountered with dead links, looping menus, and on and on. Do your callers a favor. Test your stuff before you put it in production.

Test Drive: Demo IVR with Incredible PBX on the $45 BeagleBone Black RasPBX



Another Banner Year at Nerd Vittles. As 2013 comes to a close, we want to thank our 500,000+ unique and very special visitors this year from 218 countries around the globe! With an average 5 million page views every month, it’s heartening to see the VoIP story spreading like wildfire. Are you listening VoIP merchants? We wish all of you a very Happy and Prosperous New Year and hope you will join us again in 2014 as the VoIP revolution marches on.

Originally published: Monday, December 30, 2013




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

Twofer Tuesday: Incredible PBX for RasPBX on BeagleBone Black and Raspberry Pi


We never were big fans of unfinished projects. And with Festivus behind us and Christmas tomorrow, it seemed only fitting to celebrate with a Twofer Tuesday Encore. Whether you like ‘em or hate ‘em, Google’s free text-to-speech engine is a big deal. It’s as close to perfect as any commercial product you can buy. So getting it to work with the BeagleBone® Black was really important for those of us that believe the BeagleBone Black is a near perfect telephony platform for home users and SOHO businesses. With this week’s release of Incredible PBX™ 4.11.3 for the RasPBX™, the GoogleTTS engine finally is available in all its glory on both the Raspberry Pi® and BeagleBone Black platforms. At $45 and sporting a “Made in the USA” moniker, the BeagleBone’s only real competition is the Raspberry Pi which has roughly a third the performance for VoIP-related tasks. Finding a BeagleBone Black has not been the easiest thing to accomplish either. They have sprung up five or six times over the past two weeks only to be snarfed up in a couple of hours. We have a PIAF Forum thread that will keep you apprised of the latest sightings or just follow us on Twitter. As with the early days of the Raspberry Pi, price gouging is alive and well so we’ll leave it to you to decide what your budget can tolerate. Our recommendation is hold your nose and pay the extra $15. The BeagleBone Black is worth it!

There’s more Black news this week as well. PIAF-Black™ now ushers in the next generation of Asterisk® with the official release of Asterisk 12.0.0. You can download the latest 32-bit or 64-bit PIAF™ ISOs from SourceForge. Then pick your favorite flavor of Asterisk to install. It’s that easy! New torrents were released this week as well thanks to our good friend, Isaac McDonald. Torrents are available for the latest PIAF 2.0.6.5.0 ISOs as well as two virtual machine builds for PIAF-Green™ with FreePBX™ 2.11 and Incredible PBX 11. Just visit the PIAF web site to grab your favorite torrent. Merry Christmas everybody!

For long time Nerd Vittles readers, you may recall that we built the original Incredible PBX™ for Raspberry Pi® (aka Incredible Pi) using much of the development platform pioneered by Gernot Bauer of RasPBX™ fame. In the early days of Gernot’s project, we just couldn’t get the necessary pieces in place on his platform to support Incredible PBX so we temporarily forked his terrific work in order to get Incredible Pi out the door quickly. That was then, and this is now as they say. RasPBX has grown in popularity because of the untiring efforts of Gernot & Co. in continually improving the platform. And six months ago, RasPBX was ported to the BeagleBone Black. Don’t be misled by its tiny footprint. The BeagleBone Black1 provides nearly triple the performance of a $35 Raspberry Pi for an extra $10 to $25 hardware investment depending upon where you buy the board. The rainbow case is a few cents more. :wink:

Let us cut to the chase. Run, don’t walk, to buy a BeagleBone Black! It’s that good. If Amazon is sold out, here is a link to other suppliers. See also this thread on the PIAF Forum for the latest availability news. In terms of performance, we would be hard-pressed to distinguish the BeagleBone Black’s performance from an identical Asterisk® and FreePBX®-based system running on the Intel® Atom® platform. The performance boost is that dramatic. So a few weeks ago we decided to take another look at the RasPBX platforms with the goal of porting Incredible PBX in much the same way that we currently provide the add-on for PBX in a Flash™ builds. The advantage for us is that it gets us out of the hardware business and lets us concentrate on building better VoIP application software. The advantage for you is it gives you additional choices, and they’re all still free!


UPDATE: Good News and More Good News. Everything covered below works flawlessly on the Raspberry Pi and BeagleBone Black platforms. On the Beaglebone Black hardware, everything works except GoogleTTS, and our friend, Lefteris Zafiris, will have a fix soon. GoogleTTS goes through the motions of converting text to speech, but the output is a constant high-pitched beep. For the short term, on the BeagleBone Black, we’ve substituted Flite for GoogleTTS until there is a fix. Soon with a little luck! We’ve also added an experimental IPtables Firewall WhiteList to the BeagleBone Black platform. Please read this thread on the PIAF Forum for details and keep us apprised of your progress. The complexity of the GoogleTTS fix for the BeagleBone Black made it an unsuitable candidate for the automatic update utility. Our apologies. We’ve set up a demo IVR application so you can check out the performance of Incredible PBX on the BeagleBone Black for yourself.

Nerd Vittles Demo IVR Options
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference (password is 1234)
3 – Wolfram Alpha (say “What planes are overhead?”)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (say the city and state, province, or country)
7 – Today in History
8 – Speak to a Real Person (or maybe just voicemail if we’re out)

Overview of Incredible PBX for RasPBX. Let’s quickly run down the new feature set for Incredible PBX 4.11.3 on the RasPBX platform. With the demise of Google Voice less than six months away, we thought it was important to begin offering some additional choices. With this build, you’ll have a dozen preconfigured VoIP trunks from the best providers in the business to choose from. Most offer outbound calls in the U.S. and Canada for a penny or less per minute. And many offer DID trunks with unlimited inbound calls for under $5 a month. Several offer free SIP URIs, or free U.S. DIDs, or free iNum DIDs for unlimited free calling worldwide. You’ll find lots of tips and suggestions in the Providers section of the PIAF™ Forum. Once you’ve signed up with one or more providers, all you have to do is plug in your credentials and enable the desired trunks in FreePBX. It only takes a few seconds.

We also wanted to provide a robust collection of Asterisk applications that let you bring up a fully-functional, feature-rich VoIP platform in a matter of minutes. As with all Incredible PBX builds, this release activates the Flite text-to-speech engine as well as Google’s TTS and STT interfaces. The Baker’s Dozen VoIP applications we’ve chosen for this initial release include free CallerID Name lookups for incoming calls, Voice Dialing with speech-to-text (STT) capability as well as Speed Dials, Yahoo News and Weather reports with text-to-speech (TTS) translation of the Yahoo news feeds, Weather Reports by ZIP code from the National Weather Service, MeetMe conferencing by simply dialing an extension, Telephone Reminders and Hotel-Style Wakeup Calls (both accessible by phone or via FreePBX GUI), Today in History, SMS messaging, Wolfram Alpha, and our versatile AsteriDex contacts database. We’ve also integrated the Incredible PBX automatic update service into the RasPBX build. Just log into your server once in a while, and the rest is automagic. You also get email delivery of voicemails in MP3 format so that you can play back your messages with almost any email client. Finally, there’s a new status application to tell you everything you want to know about your RasPBX server in a single screen.

Getting Started. Incredible PBX for RasPBX is basically a scripted installer. It assumes you already have a functioning RasPBX device. The only gotcha is your RasPBX system needs to be freshly created with no customization. This is important because, as part of the installation procedure, Incredible PBX loads a 15MB image snapshot that overwrites all of your Asterisk, FreePBX, and MySQL configurations. If you have previously customized your setup or added features such as faxing, those will get wiped out during the Incredible PBX installation process. Bottom Line: Start by creating a new RasPBX SD image for use with Incredible PBX. Boot RasPBX and log in as root. Download and run the Incredible PBX installer. Once the Incredible PBX install is complete, customize your new system as desired. While nothing is 100% bullet-proof, we’ve taken pains to design Incredible PBX in such a way that it can coexist with future updates to RasPBX deployed through the raspbx-upgrade utility. And Incredible PBX has its own update utility, update-my-raspbx, which is run automatically when you log into your server as root. Finally, we are confident that this new Incredible PBX release is stable; however, it is version 1.0 software and should be treated as such at least through the end of 2013. Please report any bugs you discover on the PIAF Forum, and we will attempt to provide timely fixes.

Installing Incredible PBX. As noted, we’re assuming you already have created a fresh SD card with your RasPBX image. If not, start with the first four steps only of the excellent tutorials for the Raspberry Pi or BeagleBone Black. Next, boot your system from the SD card and log in with username root and password raspberry or beaglebone depending upon your hardware platform. Be sure you have a working Internet connection for your hardware. Then proceed with the Incredible PBX installation procedure below:

cd /
wget http://incrediblepbx.com/incrediblepbx11-raspbx.gz
gunzip incrediblepbx11-raspbx.gz
chmod +x incrediblepbx11-raspbx
./incrediblepbx11-raspbx

Hang around for the first couple minutes of the install. You’ll be prompted to type a Y as part of the raspbx-upgrade procedure. Once you get past that prompt, you can go have a cup of coffee while the installation procedure continues. It takes about 15-30 minutes to complete depending upon the speed of your Internet connection. Once the base install finishes, the update-passwords script will be launched. It’s imperative that you reset all of your passwords with very secure passwords immediately. This includes the root password, the FreePBX and ARI admin passwords, the extension 701 password, the extension 701 voicemail password, the email delivery address for extension 701, and the telephone reminders password for scheduling reminders by phone. Just fill in the blanks, and the script will do the heavy lifting.

Asterisk Security. Once the Incredible PBX install completes, what you still have is an Incredibly Insecure PBX. Unless you’ve already done so, make certain that Incredible PBX is repositioned behind a hardware-based firewall with no Internet port exposure! This is very important. Neither Asterisk nor FreePBX was designed for direct exposure to the Internet. Before you do anything else, read our Primer on Asterisk Security. Remember, it’s your phone bill.

UPDATE: Travelin’ Man 3 Now Implemented. Beginning with Incredible PBX 4.11.3, IPtables WhiteList security was added to the RasPBX BeagleBone Black platform. And version 4.11.4 released on 1-4-14 added it to the Raspberry Pi edition of RasPBX as well. For the nuts and bolts of how the IPtables firewall and WhiteLists work, read the Travelin’ Man 3 tutorial. Do NOT install the application! It’s already there. We still recommend that you always run your server behind a hardware-based firewall. Travelin’ Man 3 just adds an extra layer of protection. Think of it as a second condom without the pain. :wink:

As initially configured, IPtables is set up to allow all incoming and outgoing traffic. It will display as DN in the status display. You have a couple of options. If you only want to allow incoming traffic from phones and users on your private LAN while permitting registered SIP and IAX trunk connections from anywhere, then log into your server as root and execute this command:

cp /root/iptables.lanonly /etc/network/iptables

If you want to further lock down your server and manage all external connections from outside your LAN, run: /root/secure-iptables. As configured, IPtables never blocks internal LAN traffic. By running secure-iptables, you get to set one “safe” external IP address for access to your server in addition to automatically configuring the safe IP addresses of a dozen SIP providers. You then can add additional IP addresses to your WhiteList by running /root/add-ip or /root/add-fqdn. You can delete providers with /root/del-acct. Check the status of your IPtables setup at any time with this command: iptables-status. Restart/reload IPtables settings using only this command: iptables-restart. If you use the traditional IPtables reload procedure, you will permanently erase any fully-qualified domain names in your IPtables configuration and convert them (permanently) to IP addresses. Don’t do it! Always use iptables-restart. Never erase files in /root with the .iptables extension. This is how Travelin’ Man 3 keeps track of your WhiteList entries so that you can delete as desired. For further details, read the Travelin’ Man 3 article.

Overclocking the Raspberry Pi. On the Raspberry Pi platform only, to enable overclocking at your own risk, run: raspi-config. Overclocking works for us. YMMV! The key is a good power supply. Even though the kernel now monitors CPU temperature and manages overclocking, it’s always nice to see for yourself. To monitor the CPU temperature, just run the status program which provides a current snapshot anytime.

Resizing an SD Card. On both the BeagleBone Black and Raspberry Pi platforms, you can resize (expand) the default partition to accommodate a larger SD card. On the Raspberry Pi, the default partition is 4GB. On the BeagleBone Black, it’s only 2GB. To resize the partition to make use of a larger SD card on a Raspberry Pi, choose the resize option after running raspi-config. Then reboot. The BeagleBone Black is a different beast. While we don’t recommend it, you can actually run Incredible PBX using the internal 2GB eMMC memory board rather than an external Micro SD card. Gernot’s documentation will walk you through how to do it. While it is screaming fast compared to an SD card, you’ll only have 371MB of breathing room so it means constant monitoring of your log files and minimal use of functions that consume disk space. Or you could create a cron job to run daily and use a script like ours:
#!/bin/bash
cd /var/log/asterisk
touch empty.log
chmod 664 empty.log
chown asterisk:asterisk empty.log
cp empty.log freepbx_dbug
cp empty.log freepbx_debug
cp empty.log freepbx.log
cp empty.log full
cd ..
rm *.0*
rm *.1*
rm /tmp/ggl*

We much prefer at least an 8GB Type 4 SD card for Incredible PBX. On the BeagleBone Black, we’ve added the resize-partition script in the /root folder. Just run it after booting from your Micro SD card.

Setting Up Google Voice. If you want free calling in the U.S. and Canada for the next five months, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible PBX, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice will cease to function on May 15, 2014. Read all about it here.

  • Register for Google Voice account (no funky characters in your password!)
  • Enable Google Chat as Phone Destination
  • Configure Google Voice Calls Settings:
    • Call ScreeningOFF
    • Call PresentationOFF
    • Caller ID (In)Display Caller’s Number
    • Caller ID (Out)Don’t Change Anything
    • Do Not DisturbOFF
    • Call Options (Enable Recording)OFF
    • Global Spam FilteringON

  • Place test call in and out using GMail Call Phone

Accessing Incredible PBX By GUI. You don’t have to be a Linux guru to use Incredible PBX. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish a few more steps below. Most of your configuration of Incredible PBX will be performed using the FreePBX Web GUI.

If you’re new to Asterisk and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop. Phones connect to extensions in FreePBX to work with Incredible PBX. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road.

Let’s get started. Using a browser, enter the IP address of your server or just use http://raspbx.local as the address. Choose FreePBX Administration. When prompted for a username and password, use admin for the username and whatever FreePBX password you set up when you initially configured your server above. If you ever forget your credentials, just run /root/update-passwords again to reset them.

Changing FreePBX admin Password and Default Email. From the main FreePBX GUI, click Admin => Administrators. Click on admin user in the far-right column. Enter a new Password and click Submit Changes button. We did this in update-passwords, but now you’ll know how to do it from with the FreePBX GUI as well. Click Apply Config button. Be sure to set your default email address in the right margin of Admin -> Module Admin and save your entry. By doing this, you’ll get periodic notices of FreePBX updates. It’s a good idea to stay current with these. They are generally well tested before release.

Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

There’s one more step or your Google Voice account won’t work reliably with Incredible PBX! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

Setting a Destination for Incoming Calls. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension such as 700 which we’ve already set up for you. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system.

By default, Incredible PBX is configured to route all incoming calls to extension 701. You can change this whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to your desired destination for the incoming calls. Then click Submit and Apply Config.

Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

We’ve already made these changes using update-passwords, but here’s how to do it in the FreePBX GUI. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing passwords with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible PBX to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

Finally, you need to insert your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of an SDHC card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails for extension 701 by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. And you can leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

Setting Up a Desktop Softphone. Incredible PBX supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to “real phones” once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

As we mentioned, the easiest way to get started with Incredible PBX is to set up a YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible PBX, 701 for your account name, and whatever password you created for the extension. Click OK.

Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

Incredible Trunks. When you’re ready to try some other SIP providers, we’ve done the hard work for you by providing the setups for a dozen terrific providers. All you have to do is sign up for service on their sites, enable the desired Trunks in FreePBX, and plug in your credentials. Here is a quick Cheat Sheet courtesy of Kristian Hare, who translated the Incredible PBX setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.

Adding WiFi Support. This is covered on Gernot’s web site, but we’ll address it just for ease of reference. The most important detail is don’t get creative with your choice of USB WiFi adapters. The Edimax EW-7811Un works so use it. It’s about $10 from Amazon with free 2-day Prime shipping. Next, edit /etc/network/interfaces and add the following lines using the name of your WiFi network as well as your password “in quotes”:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid your-ssid-here-no-quotes
wpa-psk "your-passphrase-here-with-quotes"

Next, reboot your server and login as root. Your USB WiFi adapter should be lit. Running ifconfig should display an IP address for wlan0. ifdown eth0 will shut down your wired connection. Then restart Asterisk to switch to WiFi: amportal restart.

Shutting Down Your Server. Last but not least, never just pull the plug when you want to shut down your server, or you may end up with corrupted MySQL databases. Then nothing will run. Instead, log into your server as root, and issue the following commands: amportal stop and then shutdown -h now.

The Incredible PBX 4.11.3 Software Collection

Now for the fun stuff. For most folks getting started with Asterisk and FreePBX, the steepest learning curve is moving from a functioning system to one that can actually do cool stuff. Text-to-speech and speech-to-text applications and IVRs and call management and conferencing and click to dial and SMS messaging and faxing are what separate the men from the boys on the Asterisk playing field. And that’s where Incredible PBX really shines. You don’t have to do anything but choose the apps you want to deploy for yourself or your users. Everything is already in place. If you don’t use it, it doesn’t consume any computing resources. So it’s not like the bloatware of decades ago that was always sitting in memory wasting your computing cycles. Here’s a quick thumbnail on each of the applications that’s included in Incredible PBX for RasPBX. You can include almost all of these applications in your IVRs so that callers can make a selection from a list of menu choices. We’ve included the appropriate FreePBX links below. On many of the apps, we’ve also included links to Nerd Vittles or PIAF Forum tutorials for more detailed documentation when you need it.

News Headlines from Yahoo

How It Works. Dial 951. Listen to latest news headlines from Yahoo.

Prerequisites: Uses preconfigured Google TTS.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> News Headlines

Worldwide Weather Forecasts by City from Yahoo

How It Works. Dial 949. Say the name of a city and state/country for weather report desired. Press #. Listen.

Prerequisites: Uses preconfigured Google STT for query and Google TTS for playback.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Weather by City

Worldwide Weather Forecasts by City from Weather Underground

How It Works. Dial 949. Say the name of a city and state/country for weather report desired. Press #. Listen.

Prerequisites: Requires free Weather Underground API key. Uses preconfigured Google STT for query and Google TTS for playback.

Setup Required: Obtain free Weather Underground API key. In /var/lib/asterisk/agi-bin, insert your API key in $apikey of nv-weather-underground.php. Copy nv-weather-underground.php to nv-weather-google.php. Replaces Yahoo Weather by City and provides best available free weather reports.

Limitations. Free account supports up to 10 calls per minute and up to 500 calls per day.

IVR/Dialplan Integration: Misc Destination -> Weather by City

U.S. Weather Forecasts by ZIP Code from National Weather Service

How It Works. Dial 947 (Z-I-P). Enter 5-digit ZIP code for weather report desired. Listen.

Prerequisites: Uses preconfigured Flite TTS to deliver weather report.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Weather by ZIP

Today in History from HistoryOrb.com

How It Works. Dial 86329 (T-O-D-A-Y). Listen to today’s important events in history.

Prerequisites: Uses preconfigured Flite and Google TTS to deliver report.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Today in History

Schedule Reminders by Phone and Web

How It Works. Dial 123. Enter password. Schedule a reminder or recurring reminder.

Web Interface. FreePBX -> Other -> Reminders to schedule, review, or delete existing reminders.

Prerequisites: Requires configuration of password with /root/update-passwords.

Setup Required: None. Complete tutorial available here.

IVR/Dialplan Integration: Misc Destination -> Reminders

Hotel-Style Wakeup Calls

How It Works. Dial *68. Schedule a wakeup call just like in the hotel.

Web Interface. FreePBX -> Applications -> Wake Up Calls to schedule and configure wakeup calls.

Prerequisites: None.

Setup Required: None. Complete tutorial available here.

IVR/Dialplan Integration: Misc Destination -> Wakeup Calls

Time of Day

How It Works. Dial *61. Check the time just like in the Ma Bell era.

Prerequisites: None.

Setup Required: None.

IVR/Dialplan Integration: Misc Destination -> Time of Day

AsteriDex Phone Book and RoboDialer

How It Works. Open AsteriDex. Populate entries. Set click-to-dial extension. Click on person/company to call. Answer ringing call on your designated click-to-dial extension. Wait for called party to be connected.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call.

Setup Required: Complete tutorial for AsteriDex is available here. Import Google Contacts. Import Outlook Contacts. Import from Exchange Server. Import Mac Address Book or CSV Contacts.

AsteriDex Voice Dialer

How It Works. Dial 411. Say the name of person or company to call. Entry is looked up from AsteriDex and called.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call. Uses Google STT.

Setup Required: None. Complete tutorial for AsteriDex is available here.

IVR/Dialplan Integration: Misc Destination -> Voice Dialer

AsteriDex Speed Dialing Duo

How It Works. Dial 412. Enter Speed Dial code of person/company. Entry is looked up from AsteriDex and called.

Alternative. Dial 000 + Speed Dial code. Entry is looked up from AsteriDex and called.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call. Include a DialCode for speed dial.

Setup Required: None. Complete tutorial for AsteriDex is available here.

IVR/Dialplan Integration: Misc Destination -> Call by Code

SMS Dictator

How It Works. Dial 767 (S-M-S). Say either the name of an AsteriDex entry or enter an SMS phone number to call. Dictate a message to be sent via Google SMS. Your message is converted to text and delivered via Google SMS.

Prerequisites: Requires Google Voice account and SMS Dictator setup. Uses preconfigured Google STT.

Setup Required: Before first use, sign up for a Google Voice account that can be dedicated to Incredible PBX use. Run install-smsdictator.sh in /root to configure SMS Dictator with your credentials. Complete documentation available here. May cease to function on May 15, 2014.

IVR/Dialplan Integration: Misc Destination -> SMS Dictator

SMS Message Blasting

How It Works. Run the smsblast script in /root to deliver an SMS text message stored in smsmsg.txt to all of the SMS recipients configured in smslist.txt.

Prerequisites: Requires Google Voice account and SMS Blaster setup.

Setup Required: Before first use, sign up for a Google Voice account that can be dedicated to Incredible PBX use. Untar smsblast.tgz in /root: tar zxvf smsblast.tgz. Edit smsblast and insert your Google Voice credentials. Edit smsmsg.txt and type your SMS message to be sent. Edit smslist.txt and prepare your SMS message recipient list. Then run smsblast to deliver your messages. May cease to function on May 15, 2014.

Wolfram Alpha

How It Works. Dial 4747. Say your query for Wolfram Alpha. Examples here. Listen to results.

Prerequisites: Requires free Wolfram Alpha account and setup. Uses preconfigured Google STT and Flite.

Limitations: Free account restricted to 2,000 queries per month.

Setup Required: Before first use, sign up for a Wolfram Alpha account and obtain AppID. Then configure Wolfram Alpha with your credentials by running install-wolframalpha.sh in /root. Complete documentation available here.

IVR/Dialplan Integration: Misc Destination -> Wolfram Alpha

MeetMe Conferencing

How It Works. Dial 2663 (C-O-N-F). Enter user or admin PIN for conference room. Participate in conference call.

Prerequisites: None.

Setup Required: Configure your participant and admin PINs: FreePBX -> Applications -> Conferences -> 2663

IVR/Dialplan Integration: Conferences -> 2663

Telemarketers and Old Girl Friends: Meet Lenny

How It Works. Dial 53669 (L-E-N-N-Y). An entertaining solution for SPAM calls. Also configured as destination for callers on your BlackList.

Prerequisites: None. Read all about Lenny here.

Setup Required: Add 10-digit numbers of spammers to Admin -> Blacklist or dial *32 to BlackList your last caller.

IVR/Dialplan Integration: Extension -> 53669

HylaFax/AvantFax Fax Server

How It Works. Dial 329 (F-A-X). Faxing already is available as a module in RasPBX. You can send faxes to Incredible PBX using almost any SIP or Google Voice DID that you’ve dedicated to faxing.

Prerequisites: Read the Fax Gateway tutorial on Gernot’s web site.

Setup Required: After installing Incredible PBX, run the install-fax script to set up the HylaFax/AvantFax servers. When prompted whether to add an extension, type Y. We recommend 329 for the extension number. It spells F-A-X and makes it easy for everyone to remember the dedicated fax extension on your system. Specify an email address for delivery of the incoming faxes. Switch to FreePBX and add an Incoming Route for the DID that you’ve dedicated to incoming faxes. Specify 329 as the destination. To add additional fax numbers with additional email destinations, run add-fax-extension.

IVR/Dialplan Integration: Extension -> 329

Bluetooth Proximity Detection

Finally, if you really want to impress your friends, buy yourself a cheap Bluetooth adapter and set up a Proximity Detection System that will forward your Asterisk calls to your cellphone when you’re away from your desk. This Nerd Vittles article will walk you through the quick setup process. Before you begin, just install bluez on your Raspberry Pi or BeagleBone Black: apt-get install bluez.

A Word About Flite TTS

We’ve included FLITE as the generic text-to-speech engine for Asterisk. The quality of Google TTS is much better, but we never know how long Google apps will continue to function. Because FLITE is actually integrated into Asterisk, it is susceptible to breakage if a RasPBX upgrade installs a new release of Asterisk. If this happens, you’ll know when FLITE goes silent. You can also run the following command from the Linux command prompt to check it. If you don’t get a page of FLITE information, it’s broken. :-)

asterisk -rx "core show application like flite"

Don’t fret if FLITE breaks. Here’s how to fix it:

cd /usr/src/flite
make clean
make
make install
amportal restart

A Word About MySQL

To eliminate the need to maintain separate versions of Incredible PBX for RasPBX on the Raspberry Pi and BeagleBone Black platforms, we’ve changed the MySQL password on both platforms to raspberry. Originally, beaglebone was the assigned password on the BeagleBone Black RasPBX implementation.


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won’t have to wait long for a courteous response.

Originally published: Tuesday, December 10, 2013    Updated: Tuesday, December 24, 2013



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this 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 and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

Ringbinder theme by Themocracy