Posts tagged: fax

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. []

The 5-Minute PBX: Incredible PBX 11 and Incredible Fax Get a Facelift

With the release of PBX in a Flash™ 2.0.6.4.4 last week, it seemed only fitting to reintroduce our one-click wonder that takes advantage of the latest and greatest feature sets in both Asterisk® 11 and FreePBX® 2.11. Incredible PBX™ 11 gives you the best of all worlds plus all of the very best, preconfigured Asterisk applications we could find. And the installer together with all of the apps are pure open source so you can learn how to build a system like this for yourself if that happens to be your thing. Installation is a breeze. Set up a new PBX in a Flash™ 2.0.6.4.4 server with PIAF-Green and FreePBX 2.11, download the Incredible PBX 11 installer, and five minutes later you’re ready to begin your VoIP adventure. And it’s all FREE!
 

News Flash: Incredible PBX 11 and Incredible Fax also are available for the $35 Raspberry Pi.

So what’s included? Dozens of upgraded Asterisk Apps. 9-Layer Security. 20 Preconfigured VoIP Provider Trunks. 1-Click Installers for Asterisk.everything. Certified Asterisk support. All-new Google Voice connectivity with Asterisk Motif. Voice-enabled SMS messaging and script-based SMS message blasting. Incredible PBX Automatic Update Utility. Incredible Fax™ 11 delivers free faxing with HylaFax™ and AvantFax®. And Incredible PBX and Incredible Fax are now GPL2-licensed.

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 the CentOS 6.4, 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.

And then there’s the Incredible Freebie! As they say, “Never look a gift horse in the mouth.” What began as a kludgey, dual-call, dual-provider Google Voice implementation to take advantage of Google’s free PSTN calling in the U.S. and Canada with Asterisk 1.4 and 1.6 is now a zippy-quick, Gtalk-based calling platform that rivals the best SIP-to-SIP calls on the planet. The Incredible PBX Google Voice implementation provides virtually instantaneous PSTN connections to almost anybody, anywhere. Trust us! Except for the price which is still free, you’ll never know you weren’t connected via Ma Bell’s overpriced long-distance lines and neither will the Little Mrs.

To get started, download the latest PBX in a Flash 2.0.6.4.4 ISO from SourceForge, burn to then boot from the PIAF2 CD, choose the PIAF-Green option to load Asterisk 11, and pick FreePBX 2.11 when prompted. Take a look at the PIAF Quick Start Guide for step-by-step installation instructions. Once the PIAF2 install is completed, just download and run the new Incredible PBX 11 installer.

A Few Words About Security. Thanks to its Zero Internet Footprint™ design, Incredible PBX is different. It remains the most secure Asterisk-based PBX around. What this means is The Incredible PBX has been engineered to sit safely behind a NAT-based, hardware firewall with no Internet port exposure to your actual server. For those needing remote telephone support, Incredible PBX optionally loads Travelin’ Man 2 and 3 for you so your IPtables Linux Firewall can be either self-managed by end-users or set up with predefined IP addresses and FQDNs for all of your remote sites. Read about this Asterisk SIP vulnerability. Then you’ll understand why WhiteList-based server security has become absolutely essential. WhiteList Security means only those devices with a registered IP address in your WhiteList can get to your server’s resources. To the NSA and everyone else, your server doesn’t even exist. Their only way to connect to you is with a POTS telephone and your published phone number. Can you hear me now?

For those with multiple servers to interconnect, we’ve provided one-click installers for not one but two VPN solutions: NeoRouter and PPTP. Suffice it to say, Incredible PBX has Security in Spades™: customized IPtables Linux Firewall, Fail2Ban tweaked for Asterisk security monitoring, FreePBX Extension Lockdown by IP address, randomized FreePBX extension passwords, Travelin’ Man 2 and 3 WhiteList Security, multiple VPN solutions for encrypted server-to-server communications, plus a bottom-up design focused on flawless operation behind a hardware-based firewall. You won’t find a more secure Personal Branch Exchange™ at any price.

Here’s the Incredible PBX 9-Layer Security Model:

書呆子Vittles: Did we mention that all of this telephone goodness is still absolutely FREE!

Prerequisites. Here’s what we recommend to get started properly:

We’ve shifted gears on our recommended Atom platform for PIAF2 after excellent results with both the single-core and dual-core Atom kits manufactured by Foxconn (pictured on the left below). That’s the dLink Gaming Router on the right. Seems kinda silly to spend twice as much for a machine that you can build yourself in under 5 minutes. Basically you remove four screws, insert a Phillips screwdriver in one of the holes and gently pry the cover away from the box. Then you pop off the back by inserting a small flat-blade screwdriver, remove four more screws, slide in a solid-state drive (SSD) and a 4GB stick of notebook computer RAM, and you’re done in a couple minutes. Replace the screws and the cover, and you have a perfect PIAF2 platform with terrific performance and no moving parts for about $200. The link above will take you to the PIAF Forum thread for these machines. They go on sale almost weekly. See the right column of Nerd Vittles (just below our tweets) for this week’s special at Amazon. The dual-core Atom box typically is under $150. It could easily handle an office with 50+ employees sitting on a bookshelf with an Internet connection (wired or wireless!). No noise. Very little heat. Low power requirements. Perfect!

Installing Incredible PBX 11. The installation process is simple. Here are the 3 Easy Steps to Free Calling, and The Incredible PBX will be ready to receive and make free U.S./Canada calls immediately:

1. Install PIAF-Green with FreePBX 2.11 using PIAF2 ISO or PIAF-Green VM
2. Run Incredible PBX 11 installer
3. Configure Google Voice and a softphone or SIP phone

Configuring Google Voice. If you plan to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX 11. If you want to use the inbound fax capabilities of Incredible Fax 11, then you’ll need an additional Google Voice line that can be routed to the FAX custom destination using FreePBX. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We’ve tested this extensively using an existing Gmail account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX 11. It’s free at least through 2013. Google Voice no longer is by invitation only so, if you’re in the U.S. or have a friend that is, head over to the Google Voice site and register.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it’s over! You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don’t skip this step either. Just enter the provided 2-digit confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you’d like in Settings, Voice Setting, Phones. But…

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and outbound calls will fail. If you don’t see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings.

While you’re still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • 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

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Incredible PBX 11 Installation. Log into your server as root and issue the following commands to run The Incredible PBX 4 installer:

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

Now have a quick cup of coffee while the installer works its magic. While you’re waiting just make sure that you’ve heeded our advice and installed your server behind a hardware-based firewall. No ports need to be opened on your firewall to support Incredible PBX. Leave it that way!

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!


FINAL STEPS. Once the Incredible PBX 11 install completes, there are two optional steps for those that will have remote phones or users outside your firewall. Install both Travelin’ Man 2 and 3 for an ultra-secure system.

Logging in to FreePBX 2.11. Using a web browser, you access the FreePBX GUI by pointing your browser to the IP address of Incredible PBX 11. Click on the Users tab. It will change to Admin. Now click the FreePBX Admin button. When prompted for a username, it’s maint. When prompted for the password, it’s whatever you set up as your maint password when you installed PBX in a Flash. If you forget it, you can always reset it by logging into your server as root and running passwd-master.

Configuring Google Voice Trunks in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize your Incredible PBX to meet your specific needs. If you plan to use Google Voice, here’s how to quickly configure one or more Google Voice trunks within FreePBX. After logging into FreePBX with your browser, click the Connectivity tab and choose Google Voice/Motif. To Add a new Google Voice account, just fill out the form. Do NOT check the third box or incoming calls will never ring!

While you’re still in FreePBX, choose Applications, Extensions, and click on the 701 extension. Write down your extension and voicemail passwords. You’ll need them to configure a phone in a minute.

IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

Incredible Fax 11 Installation. If you want the added convenience of having your Incredible PBX double as a free fax machine, run /root/incrediblefax11.sh after the Incredible PBX 4 install completes. Plug in your email address for delivery of incoming faxes and enter your home area code when prompted. For every other prompt, just press the Enter key. If you’d like to also add the optional OCR utility, just choose it when prompted. For complete documentation, see this Nerd Vittles article. Don’t forget that a REBOOT OF YOUR SERVER is required when the install is finished, or faxing won’t work! Then log in through the PIAF GUI using maint:password. You’ll find the AvantFax GUI on the Admin menu.

Also be sure to set up a second, dedicated Google Voice number if you want support for inbound faxing. Once the Google Voice credentials are configured in FreePBX for the additional Google Voice line, simply add an Inbound Route for this DID to point to the Custom Destination: Fax (Hylafax). This comes preconfigured with Incredible PBX 11.

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. PBX in a Flash 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.

The easiest way to get started 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 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 your server, 201 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 PBX Test Flight. The proof is in the pudding as they say. So let’s try two simple tests. First, let’s place an outbound call. Using the softphone, dial your 10-digit cellphone number. Google Voice should transparently connect you. Answer the call and make sure you can send and receive voice on both phones. Second, from another phone, call the Google Voice number that you’ve dedicated to The Incredible PBX. Your softphone should begin ringing shortly. The call will be answered by the Nerd Vittles sample IVR. You can explore all of the preconfigured options at your leisure.

Learn First. Explore Second. Even though the installation process has been completed, we strongly recommend you do some reading before you begin your VoIP adventure. VoIP PBX systems have become a favorite target of the hackers and crackers around the world and, unless you have an unlimited bank account, you need to take some time learning where the minefields are in today’s VoIP world. Start by reading our Primer on Asterisk Security. We’ve secured all of your passwords except your root password and your passwd-master password. We’re assuming you’ve put very secure passwords on those accounts as if your phone bill depended upon it. It does! There’s loads of additional documentation on the PBX in a Flash documentation web site.

Incredible PBX 11 Automatic Update Utility. With Incredible PBX 11, we’ve introduced a new automatic update utility to assist in keeping your system current and secure. It runs each time you log into your server as root. The first ten updates are at no cost. You then can elect to continue the service by subscribing to the update service which is available for a modest $20 for the remainder of calendar year 2013. Whether you subscribe or not, new releases of PBX in a Flash and Incredible PBX will always be free! This simply is a way for us to recover our costs in providing a service that many of our users have asked for. We hope you like it.

Choosing VoIP Providers. Nothing beats free when it comes to long distance calls. But nothing lasts forever. And, in the VoIP World, redundancy is dirt cheap. So we strongly recommend you set up another account with Vitelity using our special link below. This gives your PBX a secondary way to communicate with every telephone in the world, and it also gets you a second real phone number for your new system… so that people can call you. Here’s how it works. You pay Vitelity a deposit for phone service. They then will bill you $3.99 a month for your new phone number. This $3.99 also covers the cost of unlimited inbound calls (two at a time) delivered to your PBX for the month. For outbound calls, you pay by the minute and the cost is determined by where you’re calling. If you’re in the U.S., outbound calls to anywhere in the U.S. are a little over a penny a minute. If you change your mind about Vitelity and want a refund of the balance in your account, all you have to do is ask. The trunks for Vitelity already are preconfigured with The Incredible PBX. Just insert your credentials using FreePBX and uncheck the Disable Trunk checkbox. Then add the Vitelity trunk as the third destination for your default outbound route. That’s it. Congratulations! You now have a totally redundant phone system.

Incredible PBX 11 includes preconfigured trunk setups for all of your favorite trunk providers. Just plug in your credentials and activate the trunks you need. In less than a minute, you’re done. Here’s the Incredible PBX Top 20 Trunk List with some reasons why these providers made our short list:

  • AxVoice ($14.99/mo. Business Plan; $16.58/mo. Unlimited Calls to 45 Countries)
  • CallCentric (Good International Calling Rates)
  • DIDforSale (20 channels per DID; unlimited DID calls for $8.99/mo.)
  • ENUM
  • FlowRoute (Good International Calling Rates)
  • FreeNum
  • Future-Nine (Supports CallerID Spoofing)
  • Google Voice (Free DIDs and free U.S./Canada calling)
  • IPkall (Free SIP/IAX DIDs)
  • Les.net (Supports CallerID Spoofing; very low rates)
  • LocalPhone (Dirt-cheap DIDs and calling rates worldwide; Free iNum DID)
  • Simon Telephonics (Free SIP-to-GoogleVoice Gateway)
  • SIPgate (Free residential DIDs sometimes)
  • Skype (Free Skype-to-Skype calls worldwide)
  • Teliax (Unlimited inbound DID $5/mo.)
  • Vitelity (Our supporter and the Best in the Business!)
  • VoIPms (CallerID spoofing; Free iNum calling; Very low rates)
  • VoIPMyWay (Residential Unlimited: $15.50/mo. Business Unlimited: $40/mo.)
  • VoIPStreet (Free DID)

Configuring Email. You’re going to want to be notified when updates are available for FreePBX, and you may also want notifications when new voicemails arrive. Everything already is set up for you except actually entering your email notification address. Using a web browser, open the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Then click Administration and choose FreePBX. To set your email address for FreePBX updates, go to Admin -> Module Admin and click on the shield on the right margin. To configure emails to notify you of incoming voicemails, go to Applications -> Extensions -> 701 and scroll to the bottom of the screen. Then follow your nose. Be sure to reload FreePBX when prompted after saving your changes.

A Final Word About Security. In case you couldn’t tell, security matters to us, and it should matter to you. Not only is the safety of your system at stake but also your wallet and the safety of other folks’ systems. Unless you subscribe to the new Automatic Update Utility, our only means of alerting you to security issues which arise is through the RSS Feed that we maintain for the PBX in a Flash project. This feed is prominently displayed in the web GUI which you can access with any browser pointed to the IP address of your server. Check It Daily! Or add our RSS Feed to your favorite RSS Reader. We also recommend you follow @NerdUno on Twitter. We’ll keep you entertained and provide immediate notification of security problems that we hear about. Finally, visit the PIAF Forums regularly. You’ll be surprised what you can learn in 10 minutes of browsing. Be safe!

Kicking the Tires. OK. That’s enough tutorial for today. Let’s play. Using your new softphone, begin your adventure by dialing these extensions:

  • D-E-M-O – Incredible PBX Demo (running on your PBX)
  • T-I-D-E – Get today’s tides and lunar schedule for any U.S. port
  • 4-1-1 – Phonebook lookup/dialer with AsteriDex
  • C-O-N-F – Set up a MeetMe Conference on the fly (PIN: 1234)
  • 1-2-3 – Schedule regular/recurring reminder (PW: 12345678)
  • 2-2-2 – ODBC/Timeclock Lookup Demo (Empl No: 12345)
  • 2-2-3 – ODBC/AsteriDex Lookup Demo (Code: AME)
  • 3-3-3 – Look up a definition for any word or term
  • 9-4-9 – Weather forecast for any city in the world
  • 9-5-0 – Retrieve stock report by stock symbol
  • 9-5-1 – Latest Google News headlines
  • Dial *68 – Schedule a hotel-style wakeup call from any extension

Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number.

Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Tuesday, June 18, 2013




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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 

We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. And, if you hurry, you also can take advantage of the early bird registration discount. Here’s the Nerd Vittles Discount Code: AC13NERD.


 
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…

Here We Go Again: Getting Ready for the Next Google Voice Train Wreck


Self-inflicted wounds are nothing new in the technology business, but Google spent much of last week working hard to take top honors for what is clearly one of the most selfish and short-sighted moves ever in the telecommunications marketplace. Less than a week after extolling the values of open source technology during Google I/O 20131, Google wasted little time performing a complete 180 by deep sixing further support of the open source XMPP protocol for messaging and VoIP communications. With one brief announcement, Google basically killed off years of Google Voice development and announced the upcoming demise of Google Voice, XMPP, and Jabber messaging as we know it. Never mind that literally millions of users have come to rely upon Google Voice and XMPP messaging as their primary sources of communications. Google now has declared XMPP too confining for their view of what the telecommunications world really needs. Instead, we get yet another proprietary communications protocol. So much for the Do No Evil ethos. With classic pot calling the kettle black ire, one of Microsoft’s leading cheerleaders wasted little time condemning the move.

So why the sudden change of heart at Google? Well, it had nothing to do with the needs of Google customers obviously. In the old days, Google at least labeled projects as beta (for years) to warn you that something might happen down the road, good or bad. That era is over. Now the carnage happens almost randomly. Remember Google knols? It was perhaps the greatest collection of medical and technical literature of all time. Poof! All gone. We won’t go through the entire litany. Suffice it to say, this is nothing new for Google. Every company is entitled to its New Coke moment. Google has had more than its fair share, and it should serve as a wakeup call to organizations and individuals that reliance upon Google infrastructure is a really bad idea.

The current train wreck turns out to be yet another turf war motivated by retribution against Microsoft’s recent decision to support XMPP in its Outlook.com unified messaging product, something most companies would have greeted with jubilation. Instead, Google is miffed that Microsoft was now supporting its messaging protocol while continuing to keep its own protocol proprietary. That meant Microsoft cellphones could chat with Android phones but not the other way around. The moral of the story for consumers is pretty simple. Don’t for a minute assume that any technology company has your best interests at heart. None of them do. It’s all about money and industry domination. Google viewed this as a brazen attempt by Microsoft to create a messaging platform that could speak Android while continuing to restrict access to the Microsoft messaging installed base. And Google chose to pick up its marbles and go home rather than hand Microsoft easy access to hundreds of millions of Android cellphone users. So we’re back to handing the Bell Sisters the unified messaging monopoly with SMS and MMS as the lowest common denominator. Welcome to Big Business!

What does all of this have to do with Google Voice? Well, it rides along on the same messaging platform as Google Talk, Microsoft Lync, and XMPP/Jabber-based solutions including Asterisk, FreeSwitch, Yate, Cisco Jabber, Openfire, and Avaya in addition to all of the Google Voice-compatible softphones and OBiHai devices. So expect a train wreck!

We’re all about VoIP communications so we’ll leave the cellphone messaging for others to sort out. The important question for those of us that depend upon Google Voice for VoIP communications is what can you do to insulate yourself from the upcoming disaster. You can bury your head in the sand and pretend this isn’t going to happen, and you’d be dead wrong for the reasons we’ve outlined above. And, remember, Google has served clear notice that XMPP is over as far as they are concerned unless Microsoft, Apple, and now Facebook blink. Of course, Google could always redeploy SIP for Google Voice calling. If you think any of that is likely to happen, you also might want to buy a lottery ticket which affords you about the same chance of seeing any of your dreams come true.

To keep things simple, let’s divide VoIP communications into four categories: inbound calling, outbound calling, messaging, and faxing. We’ll leave video for another day only because it remains a niche product. With the demise of Google Voice, we recommend not putting all of your eggs in one basket (again). Inbound calling is the most critical. That’s your phone number, and it’s how folks get in touch with you. If there are numbers (DIDs) that you don’t want to lose, now is the time to move them away from Google Voice before it’s too late. If Google elects to shut down Google Voice, your ability to port your numbers elsewhere is OVER! So don’t procrastinate on this one. Luckily, Vitelity (one of the primary supporters of Nerd Vittles and the PBX in a Flash projects) has provided an incredible deal to our fan club for many, many years. For $3.95 a month you get a DID with unlimited inbound calls. It’s not free, but it’s not expensive either. And the call quality and service reliability are as good or better than anyone else in the business. You can read all about the offer at the end of this article. Google charges $3 to port your number out of Google Voice to a new provider. The step-by-step tutorial is available in the PIAF Forum. Do it while you still can!

For outbound calling (terminations), the thought process is different. Unlike traditional analog telephony, there is no reason not to have multiple providers especially if you’re using Asterisk, PBX in a Flash, or Incredible PBX as your communications server. If one outbound path fails, your server can automatically send the calls out through another call path. So continue to cling to your Google Voice dream for outbound calling if you’re a Believer. But do a little advance planning while there’s no crisis. There are numerous termination providers and generally you get what you’re willing to pay for. If cheap is your primary objective and call quality is secondary, then Anveo Direct and VoIP.ms can’t be beat. Both allow you to spoof your CallerID to match a DID that you own so they work well with a service such as Vitelity that is being used to handle your inbound calls. We’ve written about both of them, and we use both of them with excellent results. There are many, many others. Visit the PIAF Forum for lots of additional recommendations.

SMS messaging is an evolving technology in the VoIP marketplace. Expect to see some terrific new services before the summer is over. If you’re in a hurry, the easiest current solution to implement is through Anveo Direct. Our recent article will walk you through the setup process to send and receive SMS messages with Asterisk.

Faxing remains a crap shoot using VoIP technology. If you want commercial quality, then choose one of Vitelity’s dedicated fax circuits. If you want analog faxing that usually works, then Anveo Direct and VoIP.ms are about as good as you can do. All versions of Incredible PBX for PBX in a Flash include a free faxing solution using the HylaFax/ AvantFax platform. A similar solution is provided on the Raspberry Pi platform. As we said, it’s not perfect but it usually works.

Continue reading Part II: Google Puts the Final Nail in the Google Voice Coffin

Originally published: Monday, June 3, 2013




Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource 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. Larry Page reportedly commented as follows: “I’ve personally been quite sad at the industry’s behavior around all these things. If you take something as simple as IM, we’ve had an open offer to interoperate forever. Just this week Microsoft took advantage of that by interoperating with us but not doing the reverse. Which is really sad and not the way to make progress. You can’t have people milking off of just one company for their own benefit…” []

The 5-Minute PBX: PIAF-Green Virtual Machine for Windows, Mac, or Linux

In our never-ending trek to build the Perfect PBX™, we have another installment for you today featuring the just released PBX in a Flash™ 2.0.6.4.3 with a CentOS® 6.4 LAMP stack (32-bit or 64-bit), Asterisk® 11.3, and FreePBX® 2.11. Once you download the image, you can have a turnkey PBX running under VirtualBox® on almost any desktop computer in less than 5 minutes. We’re not talking about a crippled telephony platform with limited functionality. What you’ll have is the same platform that hundreds of thousands of organizations use to run their corporate phone systems. And, if you want the Incredible PBX™ feature set with literally dozens of open source telephony applications including news, weather, stocks, tide reports, SMS messaging, free faxing with Incredible Fax™, telephone reminders, wakeup calls, and more then just add a couple minutes to run two one-click installers. Welcome to the world of open source!

The real beauty of PBX in a Flash has not been that someone with sufficient expertise couldn’t assemble something just as good or even better. Watch the AstriCon presentations from last year if you have any doubts. The beauty of PIAF is it puts this technology down where the goats can get it. It provides a toolset that encourages further development by simplifying the learning curve for a broad cross-section of the VoIP community while not compromising functionality or flexibility. The source code for the major components is included in the build so you can customize and recompile Asterisk or load a new version of Asterisk or any additional Linux app in minutes without losing your existing setup.

As many of you know, we have literally hundreds of gurus on the PIAF Forum. That doesn’t mean any particular person or group knows everything. It’s merely a designation that a particular individual is an expert at something. The collective wisdom of the group is what makes PBX in a Flash as a project better because we’ve put in place a platform that experts from many different disciplines can build upon without needing to learn everything about everything. Simply stated, you can be a terrific chef without knowing how to build a stove!

Turning to Asterisk® 11 and FreePBX® 2.11, from everything we’re seeing, these new releases are shaping up to be a remarkable step forward both in terms of toolset and in the new mindset of the development community. That’s a good thing. For our part, we want to get our latest preview release of PBX in a Flash with CentOS 6.4, Asterisk 11.3 and the latest FreePBX 2.11 beta into as many hands as possible with a near zero investment in hardware and setup time.

The Ultimate VoIP Appliance: PIAF Virtual Machine for VirtualBox

Today brings us to a new plateau in the virtual machine development era. Thanks to the masterful work of Tom King on PBX in a Flash 2.0.6.4.3, 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 both 32-bit and 64-bit production-ready PIAF-Green Virtual Machines with Asterisk 11.3 and FreePBX 2.11. The choice is yours. 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) of your choice from SourceForge.

Step #2: Verify the checksums for the 32-bit or 64-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 of your choice, and type the following commands (substitute 64 for 32 obviously if you’re using the 64-bit appliance):

md5 PIAF-Green-32.ova (use md5sum for Linux)
openssl sha1 PIAF-Green-32.ova

The correct MD5 checksum for PIAF-Green-32.ova is 7691127afd065412e40429cee49a4738. The correct SHA1 checksum for PIAF-Green-32 is 9b3828649dc9644d046ef83cb227aea4c1473c65.

The correct MD5 checksum for PIAF-Green-64.ova is 460ed99c5d57ef553b7a3df7118daaa6. The correct SHA1 checksum for PIAF-Green-64 is e2120eb692431482817d35bcf316c6b949fc2d9f.

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 a new PIAF virtual machine in the VM List of your VirtualBox Manager Window. You’ll need to make a couple of one-time adjustments to the PIAF-Green Virtual Machine configuration to account for differences in sound and network cards on different host machines.

Click on the PIAF-Green 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 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 CentOS 6.4 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 these commands to download and run the timezone-setup script:

cd /root
wget http://pbxinaflash.com/timezone-setup.tar.gz
tar zxvf timezone-setup.tar.gz
./timezone-setup

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-Purple.ova
VBoxManage modifyvm "PIAF-Green-32" --nic1 nat
VBoxManage modifyvm "PIAF-Green-32" --acpi on --nic1 bridged
VBoxHeadless --startvm "PIAF-Green-32" &
# Wait 1 minute for PIAF-Green to load. Then decipher IP address like this:
VBoxManage guestproperty get "PIAF-Green-32" /VirtualBox/GuestInfo/Net/0/V4/IP
# Now you can use SSH to login to PIAF-Green at the displayed IP address
# Shutdown the PIAF-Green Virtual Machine with the following command:
VBoxManage controlvm "PIAF-Green-32" acpipowerbutton

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

Fail2Ban Bug. A bug has been reported in the current Fail2Ban implementation that keeps it from blocking IP addresses of intruders attempting to gain brute-force access to your Asterisk accounts. An interim bug fix that restores proper Fail2Ban functionality is available on the PIAF Forum.

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 the CentOS 6.4, 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: Thursday, April 4, 2013   Updated: Monday, April 15, 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. As an added bonus for PIAF users, Vitelity is offering free porting of all domestic local and Toll Free DIDs through May 18. 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. []

Introducing The Eighth Wonder: Incredible PBX 3.11 for the $35 Raspberry Pi

It’s been a wild ride with the $35 Raspberry Pi®. In addition to our tens of thousands of Happy Campers around the world, we now have nearly a dozen friends in our little neighborhood using a Raspberry Pi as their primary phone system. Can you believe it? The Raspberry Pi Foundation has already sold more than a million of these devices. If you’re new to the party, imagine squeezing a 700 mHz ARM processor with 512MB of RAM, 2 USB ports, a 10/100 Ethernet port, an HDMI port, composite video, a separate audio jack, an SDHC card slot, and a micro USB port onto a motherboard the size of a credit card weighing 1.6 ounces.

Absolute perfection. Other than the slow write speeds to the sd card (you might add a warning note about that part), I had it swapped over to local extension numbers and trunked to existing asterisk servers in minutes… [I]t doesn’t get any cooler than this! — Scott P.

Trust us when we say the performance of this $35 computer is nothing short of amazing. Can it do everything a $300 dual-core Atom PC can do? No. Can it do 90% of everything for someone whose requirements do not exceed several simultaneous calls at a time but still wants a full-blown PBX for call routing, voicemail, IVRs, music on hold, and text-to-speech and speech-to-text apps for a home, a SOHO office, a Little League team, or a dorm room? Absolutely. As Scott mentioned, configuration changes may take you a few seconds longer than would normally be the case with an Atom-based PC and a hard disk. But, hey, you’re performing this magic on a $35 computer!

We’re now at the six-month mark with this project, and today we’re pleased to introduce Incredible PBX 3.11 for the Raspberry Pi featuring the very latest Asterisk 11 and FreePBX 2.11 versions for a near perfect telephony platform. Special thanks to the 300 pioneers that have given five iterations of this new release a healthy workout over the past few weeks.

What’s New in Incredible PBX 3.11. For those of you already running a previous version, here’s a quick thumbnail of the 3.11 feature set. As in the past, we’ve tried to mimic as much of the previous build functionality as possible. So you still get simple utilities to configure 1GHz overclocking and automatic expansion of the 3.11 image to run on any size SDHC card. But the major addition is implementation of Asterisk’s latest long-term support release, Asterisk 11, which provides a much more stable platform particularly for applications such as Google Voice. There’s also been major plumbing enhancements in FreePBX 2.11 to improve its stability and to enhance security. Of course, you still get Google Voice support for free calling in the U.S. and Canada as well as free faxing and SMS messaging plus most of the Incredible PBX feature set. If you’re one of the early pioneers that has an original 256MB Raspberry Pi, we would encourage you to plunk down another $35 for the 512MB version. The performance difference is amazing. And it makes a much more stable platform for Incredible PBX 3.11 and Incredible Fax.

UPDATE: As of 1 PM EDT on April 1, there’s new kernel and firmware support for the very latest Raspberry Pi boards.

Now for the bad news. There’s really no way to upgrade a previous Incredible PBX build to 3.11. There simply were too many under-the-covers modifications to make this feasible. Upgrading Asterisk alone is a 2+ hour knuckle drill on the Raspberry Pi, and we’ve made hundreds of additional tweaks to take advantage of the new platform. If your current system meets your needs, keep it. If you’re just getting started or like to tinker, move up to Incredible PBX 3.11.

Incredible PBX 3.5 and beyond added automatic detection and support of 512MB Raspberry Pi devices without touching anything. Beginning with version 3.7, we added an awesome fax server to Incredible PBX for those with a 512MB board. The complete tutorial is available here. update-my-pi in the /root folder of your server helps to safeguard your system by bringing it up to date with the latest fixes and enhancements. After running it the first time, it gets run automatically whenever you log in as root. For the safety of your server, don’t disable it! It’s free for the first ten updates, and then it’s just $20 a year. We have to eat, too. If you are philosophically opposed to ever spending a dime to support the open source movement, then feel free to load the latest version of Incredible PBX at no cost whenever you like. It will always be free! Then you can restore your settings using the backup and restore feature built into FreePBX.

To enable overclocking at your own risk, run: raspi-config. Overclocking works for us. YMMV! The key is a good power supply. If you’re using an SD card larger than 4GB, version 3.3 and beyond now can resize your partitions on the fly. Just choose the option in raspi-config and reboot. 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. Temperature data now is provided on the FreePBX Dashboard as well.

There’s more good news. Networking is much more stable; however, we’ve dropped support for the TP-Link WiFi adapters. If you still have one of these adapters, see this thread on the PIAF Forum for setup instructions. Otherwise you’ll need the recommended AirLink 101 N-150 if you want WiFi capability. In the 3.11 release, your server will automatically attempt to connect to any open WiFi network that it can find. We’ve also added two scripts in /root to let you restart either your wired or wireless network and designate it as the primary network: restart-eth0 and restart-wlan0. Time zone management was also a bit of mess with multiple file settings required to support both Linux and PHP. In the 3.11 release, you’ll be prompted to select your timezone when you first log in as root. The setup script will automatically apply your entry in all the right places. We’ve also replaced SendMail with Exim to simplify the process of using an SMTP mail gateway such as Gmail. We’ve documented the procedure for making the change here.

As part of the 3.11 migration, we’ve also eliminated the pi user account. Everything you need to do to configure Incredible PBX requires root permission. So goodbye sudo. Only the root user account is included, and the default password is raspberry. Change the password when you first log in. New SSH and DUNDI keys now are automatically generated when you first boot your server. The FreePBX Backup and Restore Utility is included in this new build. AsteriDex Speed Dialing has been enhanced for our friends across the Atlantic. Enter 3-digit Dial Codes in AsteriDex, and you can call by dialing 000nnn. In the 3.11 upgrade, Telephone Reminders again work.

X Windows is included in this build. This won’t work with SSH. For a demo slideshow, plug in a real monitor and log in as root. In the /root folder, enter the command: startx. To end the slideshow, press ESCape. To disable the slideshow: mv .xinitrc xinitrc. To add photos, copy .jpg images into /root/slideshow. No mouse is required for the slideshow but, if you run X Windows natively, you’ll need a USB mouse. The SMS Blasting app in /root now supports phone numbers (which use SMS) and email addresses (which use SendMail).

Last but not least, a sophisticated Conference Bridge has been added to Incredible PBX 3.11. If you route one of your inbound DIDs to the predefined IVR, users can press 0 and enter 1234 for the conference PIN to join the conference. Local extensions simply dial C-O-N-F. We’ve already tested a 9-person conference call with excellent results. But don’t take our word for it. Try it for yourself. Just call our demo Raspberry Pi AutoAttendant and take the Conference Bridge and a handful of other Incredible PBX™ apps for a test drive:

And here’s what the conference call looked like in the FreePBX Dashboard:

So you don’t have to jump around between articles, we’ve put together this Quick Start Guide that tells you everything you need to know to get up and running in about an hour. Most of that time will be consumed copying the Incredible Pi image to an SD card. So there’s plenty of time for lunch during the hour. Once your system is running and you’ve completed the setup steps below, then jump over to the application tutorial which explains how to use every one of the 35+ Incredible PBX Apps for the $35 Raspberry Pi.

What to Buy. Here’s everything you need to get started.1 The case is optional. Yes, you can run the Raspberry Pi sitting on your desk with no case. It’s only 5 volts. WiFi is also optional. There’s a 10/100 port on the Raspberry Pi that gives you all the networking you need. Here are the links to buy the pieces. You also need a CAT5 cable and either a spare PC or Mac with Putty or SSH and a pair of earbuds or an HDMI cable to connect to a TV or monitor and a USB keyboard.

Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible Pi, or it won’t work. Log out after setting up the new Google Voice account!

  • 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

Baking Your Incredible Pi. The disk drive for the Raspberry Pi is an SD card. So what you need to do is download Incredible Pi and copy the image onto an SDHC card. Mac and Linux installers are included. For Windows, just use Win32 Disk Imager. Here are the steps:

  1. Download the Incredible Pi package
  2. Decompress the tarball: tar zxvf incrediblepi-version.tar.gz
  3. Copy .img file to SDHC using image utility or script
  4. Insert SDHC card into Raspberry Pi
  5. Boot the Raspberry Pi from Incredible Pi SDHC card

Your First Bite of Incredible Pi. If you’re not using a monitor and keyboard, you can use SSH to gain root access to Incredible Pi. And you can use any web browser on your private network to access your server. There are a couple of hurdles. First, you need the network address of your new server. And, second you need an SSH client. With Incredible PBX 3.3 and beyond, you needn’t worry about the IP address. You now can access your server via SSH by logging in like this: root@incrediblepbx.local. And browser access to your server is available at the following address: http://incrediblepbx.local. You still can plug in some earbuds when the bootup process begins and listen for the Incredible Pi to tell you its IP address when the boot procedure completes (about 90 seconds). Then you can use that IP address instead of incrediblepbx.local. The latest releases of Incredible PBX also include a Java-based SSH client in the FreePBX web GUI: Admin -> Java SSH. Because of the almost weekly security problems with Java, we strongly recommend using a standalone SSH client such as Putty.

Here’s everything you need to know about security for Incredible Pi:

1. ALWAYS RUN INCREDIBLE PI BEHIND A SECURE HARDWARE-BASED FIREWALL/ROUTER
2. NEVER EXPOSE ANY INCREDIBLE PI PORTS DIRECTLY TO THE INTERNET
3. NEVER MAP INBOUND INTERNET PORTS FROM YOUR FIREWALL TO INCREDIBLE PI

Initial Setup. There also are a few setup steps to complete once your Incredible Pi finishes the bootup process. When you first login (username: root  password: raspberry), you’ll be prompted to change your root password and to set your default time zone. If you’re using either a wired network or an open WiFi network, then everything just works. If you’re using secured WiFi, then you’ll need to plug in your credentials in /etc/wpa.conf and reboot. The wired network always takes precedence so unplug the cable if you want WiFi to be your primary network. /root/update-my-pi runs automatically when you log in as root. It will bring your server up to current specs. Finally, now’s the time to repartition your SD card if you’re using a card larger than 4GB (highly recommended!). While you’re at it, bump up the performance of your Raspberry Pi by 50% by setting the overclocking to turbo mode. It works great for us. YMMV! The key is a rock-solid power adapter such as the one we’ve recommended. Just run raspi-config and follow your nose.

Accessing Incredible Pi By GUI. You don’t have to be a Linux guru to use Incredible Pi. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish the steps below. Most of your configuration of the 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 Pi. 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 incrediblepbx.local as the address. Choose FreePBX Administration. When prompted for a username and password, use admin for both. Here are the six steps you need to complete before making your first free call:

  1. Change FreePBX admin Password and Default Email
  2. Add Google Voice Account credentials
  3. Set Destination for Incoming Calls
  4. Change Extension 701 Passwords
  5. Eliminate Audio and DTMF Problems
  6. Install and Register a Softphone to Extension 701

1. 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. Then click the Apply Config button. Next, set your default email address in the right margin of Admin -> Module Admin and save your entry.

2. 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 Pi! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

3. 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. 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 (we’ve actually set one up for you to play with).

By default, Incredible Pi is configured to route all incoming calls to a demo IVR that shows off some of the applications that come with Incredible Pi. You can change whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to Extensions and then select 701 from the list. Then click Submit and Apply Config.

4. 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:

For now, we only need to make a few changes. First, you need a very secure password for both the extension itself and your voicemail account for this extension. 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 1234secret and 1234 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 Pi 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 plug in 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 by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. In addition to managing your voicemails, you’ll also be given the opportunity to either return the call to the number of the person that called or to transfer the voicemail to another extension’s voicemail box. And you can always 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.

5. 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.

6. Setting Up a Desktop Softphone. Incredible Pi 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 Pi 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 Pi, 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!

Monitoring Call Progress with Asterisk. That about covers the basics. We’ll leave you with a tip on how to monitor what’s happening with your PBX. There are several good tools within the FreePBX GUI. You’ll find them under the Reports tab. In addition, Asterisk has its own Command Line Interface (CLI) that is accessible from the Linux command prompt. Just execute the following command while logged in as root: asterisk -rvvvvvvvvvv.

Activating SAMBA for Windows Networking. SAMBA is included for transparent access using the Windows Networking Protocol from PCs, Macs, and other Linux machines. As delivered, SAMBA is deactivated. For obvious reasons, we recommend you never activate root login access to SAMBA without a very secure password. If you wish to enable SAMBA on your server, here are the steps while logged in as root:

  • 1. Set SAMBA password for user root: smbpasswd -a root
  • 2. Change Windows workgroup from WORKGROUP, if needed: nano -w /etc/samba/smb.conf
  • 3. Manually start SAMBA from command prompt: service samba start
  • 4. If desired, set SAMBA to start on boot: rcconf and activate SAMBA option

Activating the PPTP VPN Client. If you’ve followed the Nerd Vittles tutorial and previously set up a PPTP VPN Server for your devices, then it’s pretty simple to add Incredible Pi to the mix by activating its PPTP VPN client. You’ll need the FQDN or public IP address of your VPN server as well as a username and password for VPN access to your VPN server. Once you have those in hand, log into Incredible Pi as root.

Lest we forget to mention, you cannot log into your PPTP server from an IP address on the same private LAN so you’d only use the PPTP VPN when your Incredible Pi is at a remote location.

Edit the connection template: nano -w /etc/ppp/peers/my-pptp-server. Insert the following text and replace myfqdn.org with the FQDN of your PPTP server, replace myname with your PPTP username, and replace mypassword with your PPTP password. Then save the file: Ctrl-X, Y, then Enter.

To test it, issue the following command: /etc/init.d/pptp start. When you run ifconfig, you should now see a ppp0 entry:

ppp0 Link encap:Point-to-Point Protocol
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Remember, it won’t show an IP address if the Raspberry Pi and your PPTP VPN Server are on the same subnet (like ours). Once you install your Raspberry Pi in a remote location, you now can access it at the first IP address in your reserved PPTP IP address pool.

To permanently activate the PPTP VPN client on your Incredible Pi server, run rcconf. Scroll to the bottom of the list and highlight pptp. Press the space bar to select it for automatic startup when you boot your server. Then tab to OK and press Enter.

Activating Incredible Fax. With a 512MB Raspberry Pi, here are the 5 Simple Steps to activate Incredible Fax. The original tutorial is available here.

  1. Download and Install Incredible PBX 3.11
  2. Run the /root/fax-enable Script to Automatically Configure HylaFax
  3. Using FreePBX, Add Additional, Dedicated DID and Inbound Route to Handle Incoming Faxes
  4. Install Any Desktop HylaFax Client to Send Faxes via Print-to-Fax using any PDF
  5. Reboot Your Server and Enjoy

Incredible Trunks. When you’re ready to try some other SIP providers, here is a quick Cheat Sheet courtesy of Kristian Hare, who translated our original 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.

Configuring CallerID Superfecta. In order to match names with phone numbers, Incredible PBX includes a FreePBX application named CallerID Superfecta. Out of the box, Incredible PBX 3.11 will work fine if you remember to activate CallerID Superfecta whenever you create a new Inbound Route. The CNAM entries also will be displayed in your CDR reports. For those not in the United States, you may prefer to use a lookup source for your numbers other than the ones preconfigured in CallerID Superfecta. You will find all of the available modules on the POSSA GitHub site. Just download the ones desired into /var/www/html/admin/superfecta/sources and then activate the desired sources in Admin -> CID Superfecta -> Default. You can test your results and the performance using the Debug facility that’s built into the module.

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 command: shutdown -h now. Enjoy!

Where To Go Next. Once you’ve done a little exploring, take a few minutes to read the complete tutorial on all 35 Incredible PBX applications for Raspberry Pi. A few require a bit of configuration before you start using them. And then you’ll want to explore Interconnecting Asterisk Servers with Incredible PBX and the Raspberry Pi. Enjoy!


Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number.

Originally published: Monday, March 18, 2013


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! In fact, there is an entire forum dedicated to support of Incredible PBX for the Raspberry Pi. 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 an answer to your question.



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


 
A Terrific New Vitelity Special for PIAF Users. Vitelity has just announced a new and improved discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link plus more. 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. For PBX in a Flash users, here’s a deal you can’t refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls, free SMS messaging, free 911 alerts, and free in-network calling for only $3.99 a month. Better hurry! This won’t last forever. 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 offer! Vitelity’s rate for outbound calls in the U.S. is just 1.44¢ per minute. There is a $35 prepay when you sign up. This covers future usage. Any balance is fully refundable if you decide to discontinue service with Vitelity at any time.
 


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. []

The Next Plateau: VoIP Communications with Asterisk in Amazon’s EC2 Cloud


We’ve spent considerable effort exploring and enhancing the VoIP cloud offerings for our followers, and today we’re delighted to introduce another terrific service: Amazon’s Elastic Compute Cloud (EC2). This is one of several Amazon Web Service (AWS) offerings that provides resizable compute capacity in the cloud and is designed to make web-scale computing easier for developers. That’s the Amazon pitch for their service. Ours is a bit different. For anyone with mission-critical operations or that has ever given a moment’s thought to business continuity planning (THINK: hurricanes, tornados, earthquakes, blizzards, fires, floods, bombs), you need an EC2 backup plan for VoIP communications. It really doesn’t matter whether your organization uses a proprietary phone system, or Asterisk®, or good ol’ black telephones, the point is simply this. When your lights go out and you still need a communications system for your employees and your customers, what’s your plan? Staying home in bed isn’t a choice for most folks. So our focus is not to persuade anybody to move their primary communications platform to Amazon EC2 although it’s certainly worth considering. For today, let’s tackle emergency planning and Disaster Recovery 101 for that dreadful day when you really don’t have a choice. And D-Day is a really bad day to start thinking about communications alternatives. You’ll have plenty of other things to do.

We’re going to make this fun today and provide all the tools you’ll need to set up shop in Amazon’s EC2 Cloud. The good news is that EC2 is almost free for your first year so getting started isn’t going to be a financial burden. Once you have everything built, you can turn it off and hope you never have to use it. On the other hand, it’s dirt cheap for an entire year so enjoy yourself and learn why VoIP communications can revolutionize your business at a fraction of the cost of a proprietary communications system. For our Asterisk aficionados that have already discovered the beauty of free VoIP communications, we’ve got some additional goodies today, Incredible Backup and Incredible Restore, that will let you quickly move your communications platform back and forth between EC2 and a local server or virtual machine effortlessly.

For those just getting started, the real beauty of VoIP communications is that, once your server platform is operational, you can bring up communications services for your employees without any hardware investment. A notebook computer and a free SIP softphone will let you make and receive calls through your EC2 communications system. By adding trunks from Google Voice or any SIP service provider, you complete the communications circle to connect to any phone in the world. We do this for a living so, if your business needs some hand-holding to get started, drop us a note. We like to travel.

The Choice is Yours: PIAF-Purple with Asterisk 1.8 or PIAF-Green with Asterisk 11

Getting Started. For your communications platform, we’ve built two new versions of PBX in a Flash™ for Amazon EC2: PIAF-Purple and PIAF-Green. You can’t beat the price. Both are free! These two builds are based upon the two long-term support (LTS) releases of Asterisk: 1.8 and 11. In our testing, both are rock solid and production-ready. If tried and true is your cup of tea, then PIAF-Purple with Asterisk 1.8 and FreePBX 2.10 is your baby. If you want to get a jump on the future, then PIAF-Green with Asterisk 11 and FreePBX 2.11 is worth a careful look. But, to use either one, you first need to get set up with an Amazon EC2 account. So head over to Amazon and click on Sign Up Now. A word to the wise here. You don’t want the bad guys breaking into your account unless you have an unlimited budget. There are lots of non-free Amazon EC2 services that could max out your credit card quickly. So, in addition to signing up for your Amazon account, also activate Multi-Factor Authentication. It’s your bank account!

Once your account is activated, sign in to the Amazon Management Console. After entering both your passwords, the AWS Management Console will appear. Click on EC2 to bring up the EC2 Dashboard (shown above). This is home base in EC2. The Launch Instance button is used to start a new virtual machine. We’ll walk you through that process in a minute. In the left margin are the functions you’ll be using most often. Instances displays your existing virtual machines, both running and stopped. Volumes are the virtual hard disks associated with your virtual machines or instances in Amazon-speak. A volume gets created as part of the VM launching process. When you delete instances, it’s important to also delete the associated volume, or you get billed for it separately. Elastic IPs lets you assign an IP address to an Instance using Amazon’s DHCP servers. You access your virtual machines using SSH and, without an IP address, you can’t gain access. For SSH security, EC2 uses Key Pairs. As part of launching a new virtual machine, we’ll walk you through creating one. Amazon EC2 also has its own firewalls called Security Groups. Basically, all services are blocked until you open them up. We’ll also walk you through that process as well. Once you’ve created your Key Pair and Security Group, you can use them with multiple instances. Now you’re an expert so let’s Launch a New Instance.

Creating a New Virtual Machine. Click on the blue Launch Instance button in the EC2 Dashboard to begin. Choose Classic Wizard. You build a new instance by starting with one that someone else has already built. Be careful here. There are literally thousands to choose from and, unless you know the creator, use Name Brand, trusted instances only. Anybody can hide anything in an instance that they’ve made publicly available. Think of your worst Trojan Horse horror story, and there’s probably a public Amazon instance to match it. For our purposes, the magic number you need to know is 399149154715. That’s our Amazon EC2 account number, and it means any instances prefixed with that number or our mugshot were created by us. So click on the Cloud Market and search for PIAF. In about a minute, both PIAF2 AMIs will appear. Pick your favorite but be sure the file name displays our smiling face. Then click Select. For the Instance Type, make sure T1 Micro is chosen. That’s the only free option during your first year. Leave the Availability Zone at No Preference and Number of Instances set to 1. Click Continue. In Advanced Instance Options, accept all of the defaults and click Continue. For Storage Device Configuration, accept the defaults by clicking Continue. Next, you’ll be prompted to add Tags to your Instance. This is a short-hand description to help you distinguish one instance from another. For the Name Value, enter something like PIAF-Purple-64 or PIAF-Green-64 and click Continue. Next, you’ll be prompted to create a Key Pair to use with the instance. If you don’t already have one, click Create New Key Pair and Continue. Once the key pair is created, the .pem file will be downloaded to your desktop computer. Change the permissions on the .pem file to what SSH requires: chmod 700 mykey.pem. You’ll need this key file to log into your instance with SSH so move it to a safe place. Next, you’ll create or use an existing Security Group. This sets up the firewall rules to use with your instance. For PBX in a Flash, you’ll need at least the following Inbound Rules in your Security Group: TCP 22 (SSH), TCP 80 (Web), TCP 1723 (for PPTP VPN only), and TCP 9001 (for WebMin access). For VoIP services, you’ll need UDP 5060 (SIP), UDP 10000-20000 (RTP), UDP 4569 (IAX), and UDP 69 (TFTP, if desired). EC2 lets you lock down Security Group entries to individual IP addresses. We strongly recommend this for SSH, Web, SIP, IAX, and TFTP services. If you need access from multiple IP addresses, just add additional Security Group rules for each address and service. Finally, you’ll be shown a summary of all your selections. If everything looks OK, click Launch to start the instance. While it’s starting up, click Elastic IPs from the left column of the EC2 Dashboard. Choose Allocate New Address and then Associate Address to connect it with the instance that just launched. Write down the IP address. You’ll need it for SSH access. Finally, click Instances and wait for your virtual machine to come on line with a green check mark.

Your First Login. Now you can log into your EC2 instance via SSH using your key file and the IP address associated with the instance: ssh -i mykey.pem -v ec2-user@54.235.12.34. If you’re using a Windows machine with Putty, use PuttyGen.exe to convert your .pem key into something Putty can understand before attempting to log in. Once you’re logged in, you need to immediately change all the default passwords:

  • sudo passwd (to change your ec2-user password)
  • sudo passwd root (to change your root password)
  • su root (to switch to the root account with your new password)
  • passwd-master (to change your FreePBX and web passwords)
  • cd /root (to switch to the /root directory)

Keep in mind that PBX in a Flash is a little different than a standard Linux install. It has been designed for use as the root user only. So, whenever you log into a PIAF instance in EC2, always execute the following command: su root && cd /root. Most Linux and PBX in a Flash utilities will not work properly if you attempt to execute them as the ec2-user! For web access and management of your server, point your browser to the IP address of your EC2 instance. If you’re new to PBX in a Flash, stop here and read the PBX in a Flash 2.0.6.3 Quick Start Guide. It’ll tell you everything you need to know to get started with PBX in a Flash.

Installing Incredible PBX. We’ve got a few more surprises for you today. First, there are new, GPL2-licensed releases of Incredible PBX: version 10 for FreePBX 2.10 and version 11 for FreePBX 2.11. If you’re new to all of this, Incredible PBX provides some additional layers of security for your server while also giving you dozens of turnkey Asterisk applications including text-to-speech, speech-to-text, SMS messaging, news, weather, stocks, and tide reports, and much more. You can read the Incredible PBX tutorial here. To install Incredible PBX while logged into your EC2 instance as root, issue the following commands and plug in your passwd-master password when prompted. If you’re using the PIAF-Green AMI, replace incrediblepbx10 with incrediblepbx11 below.

cd /root
wget http://incrediblepbx.com/incrediblepbx10.gz
gunzip incrediblepbx10.gz
chmod +x incrediblepbx10
./incrediblepbx10

Installing Incredible Fax. Yes, there’s more. Incredible Fax also works just fine on the EC2 platform. If you want the added convenience of having your Incredible PBX double as a free fax machine, run install-incredfax2 after the Incredible PBX 10 install completes. For Incredible PBX 11, run /root/incrediblefax11.sh. Plug in your email address for delivery of incoming faxes and enter your home area code when prompted. For every other prompt, just press the Enter key. If you’d like to also add the optional OCR utility, just choose it when prompted. For complete documentation, see this Nerd Vittles article. Don’t forget that a REBOOT OF YOUR SERVER is required when the install is finished, or faxing won’t work! Then log in to AvantFax through the PBX in a Flash GUI using maint:password. Be sure to change your password!

Also be sure to set up a second, dedicated Google Voice number if you want support for inbound faxing. Once the Google Voice credentials are configured in FreePBX for the additional Google Voice line, simply add an Inbound Route for this DID to point to the fax destination. Just plug in your 10-digit Google Voice number and other entries shown in the form below. Save your setup and reload FreePBX. Done!

Introducing Incredible Backup and Restore. Last, but not least, we have new GPL2-licensed backup and restore utilities to simplify the task of moving PBX in a Flash setups between Amazon EC2 and other standalone or virtual machine platforms. To complement these new utilities, we’ve also released a new 64-bit PIAF-Purple Virtual Machine image for VirtualBox. PIAF-Purple-64.ova is a free download from SourceForge and will run under VirtualBox on any Windows, Mac, Linux, or Solaris desktop computer. Our VirtualBox tutorial is available here. You also have the option of downloading the current 64-bit PIAF-20631 ISO from SourceForge and building your own server or virtual machine. All three platforms (Amazon EC2 AMI, VirtualBox OVA, or PIAF 64-bit ISO) are 100% compatible with Incredible PBX, Incredible Fax, and the new Incredible Backup. Once you have matching platforms, you can backup your PIAF or Incredible PBX setup on one platform and then restore it to a different platform by simply copying the backup image to the new platform and running Incredible Restore. The entire procedure takes only a couple of minutes.

To install the backup and restore utilities on either of the platforms, simply issue the following commands:

cd /usr/local/sbin
wget http://incrediblepbx.com/incrediblebackup10.tar.gz
tar zxvf incrediblebackup10.tar.gz
rm incrediblebackup10.tar.gz

Because Incredible Backup shuts down Asterisk, MySQL, and Apache, do NOT run this when folks are using your PBX! To make a backup, log into your server as root and type: incrediblebackup.

The restore procedure essentially erases ALL of your existing FreePBX, Asterisk, TFTP, and web data. To restore a backup, copy the backup file to be restored to /tmp on the new server. Make sure the new server has Asterisk, FreePBX, and Incredible PBX versions that match what’s shown in the backup filename. There is NO error checking presently. To restore, log into your server as root, write down the filename of the backup file, and type: incrediblerestore /tmp/filename.tar.gz. If this is a new server and you’re still using your old one as well, then remove the DUNDI secret and secretexpiry entries from the Asterisk DB and restart Asterisk once the restore is completed:

asterisk -rx "database del dundi secret"
asterisk -rx "database del dundi secretexpiry"
amportal restart

For additional usage instructions and tips, see this thread on the PIAF Forum. Enjoy!

Originally published: Monday, February 11, 2013  Updated: Thursday, February 14, 2013


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 Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you.


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 new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 
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…

Ringbinder theme by Themocracy