Time to Celebrate: Incredible PBX for Raspberry Pi Turns 21

If you had asked us a year ago whether it was possible to run a full-featured PBX on a computer the size of a credit card, we would have laughed and told you to move along. Well, that was then. In the last 21 days, we’ve not only gotten through the proof-of-concept phase of porting Incredible PBX to the Raspberry Pi but, thanks to a lot of hard work from Gernot and his Asterisk® for Raspberry Pi™ project, we now have an incredibly powerful PBX alternative for home and SOHO users with free calling in the U.S. and Canada and a price tag of $50 with the hardware. To celebrate the 21st birthday of Incredible PBX for the Raspberry Pi (that’s days not years), today we introduce two very refined editions of Incredible Pi for both the Debian 6 “Squeeze” and Debian 7 “Wheezy” platforms. For the pioneers, there’s version 2.0 with Wheezy. For those that like stable, we’ve got 1.7 on Squeeze. The feature set is identical. And you can’t beat the price. They’re both FREE!

Call our Raspberry Pi (1-843-284-6844) and check out the Incredible Pi Smörgåsbord for yourself.

New Incredible Pi Tutorials: 35 Free Incredible PBX Apps for the $35 Raspberry Pi and Version 3.1 Quick Start Guide

We’ve written some very detailed documentation for Incredible Pi, and you can read it at your leisure. Today, we wanted to put together an abbreviated tutorial for those that just want to get a barebones system 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. If you prefer detail, then have at it. For everyone else, keep reading.

What to Buy. Here’s everything you need to get started. 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

HINT: While you’re waiting, you can read about all the latest changes and additions to Incredible Pi 2.1 here.

Your First Bite of Incredible Pi. If you’re not using a monitor and will be using SSH to access Incredible Pi, then you need to plug in some earbuds when the bootup process begins. Listen for the Incredible Pi to tell you its IP address when the boot procedure completes. Then login to that IP address with SSH as outlined below.

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

There also are a few setup steps to complete once your Incredible Pi finishes the bootup process:

  • Login to Incredible Piusername: pi   pw: raspberry
  • Change password for pipasswd
  • Change password for rootsudo passwd root
  • Logout as user pilogout
  • Login as root userusername: root    pw:your-new-password
  • Set Linux timezonedpkg-reconfigure tzdata
  • Set PHP timezonenano -w /etc/php5/apache2/php.ini (Ctl-W, Ctl-T, 876)
  • Restart web serverservice apache2 restart
  • Replace SSH keysrm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server
  • Set Up WiFi Credentials (optional)nano -w /etc/wpa.conf
  • Set Primary and (optional) Secondary NICnano -w /etc/pbx/.nic
  • Reboot Your Serverreboot

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. 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 at the bottom of Settings -> General Settings. Repeat the procedure above to 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 Other -> Google Voice from the FreePBX GUI. The following blank form will appear:

Fill in the blanks with your information and check all 3 boxes. If your Google Voice account name ends in @gmail.com, you can 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.

Once you’ve done some exploring, take a few minutes to read the more detailed Nerd Vittles tutorials on Incredible Pi and Incredible PBX. We now have a complete tutorial on all 35 Incredible PBX applications that are included in the build. Take a quick look at your convenience. 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: Tuesday, September 11, 2012


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 a thread dedicated to support of Incredible 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.

Bug Fixes. A few bugs are to be expected. If you’re using Incredible Pi, please review these on the PIAF Forum at your convenience.



Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.




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…

R.I.P. Googlicious: Weather, Weather, Everywhere… Except From Google

For at least the last four years, Google has maintained a not-so-secret Weather API that let hobbyists and people like us build weather applications for the rest of the world to use. Google never provided a word of documentation nor even a comment about the Weather API other than obscure mentions by a few Google employees. Google, of course, is not stupid. They know everything there is to know about analytics, and it was no secret that the Weather API had an enormous following worldwide. It was the one and only source of worldwide weather information that didn’t require an API key for access. Most API keys translate into restrictions and monthly fees.

Without a word of warning or comment, Google shut down the Weather API last week. Still no comment a week later despite the howls of righteous indignation from the developer community. Just for the record, this is no way to run a railroad. Of course, Google had no obligation to continue a service that cost them money except for the fact that it earned them enormous goodwill from those around the globe using their service. Earth to Google: these are the same people that have made your company one of the wealthiest in the technology industry! Some have argued that this was a “private service” that was never intended for use by the public. That, of course, is pure horse #2. Google was well aware of the usage by millions of people worldwide. Does anyone think for a moment that Google lacked the necessary skills to secure the Weather API if they had not wanted people to use it? So let’s get real. Like its fruity corporate neighbor, Google loves to introduce “almost secret” technology and rely upon Buzz (remember that one?) to make it a household word. The Weather API was no secret by any stretch.

And there’s another downside, Google. At a time when you’re supposedly encouraging the notion of Cloud Computing, it does the technology little good when you reaffirm how fragile an organization would be if it chose to actually put all its eggs in one basket and rely upon Google infrastructure. What company in its right mind would consider moving to a platform such as Google Apps for Business after observing this sort of corporate behavior? Electing to begin charging for a service is one thing. Phasing out a service after fair notice to those using it was also an option. But blowing a heavily-used service completely out of the water without warning to those relying upon the service is really unacceptable corporate conduct. Makes one wonder what lies just over the horizon with Google Voice, doesn’t it? We’re big fans of Google. But this time around, I’m sorry. Google gets a well-earned D- in our book.

So the question becomes how do we minimize the carnage and put Humpty back together again for those that foolishly relied upon the Nerd Vittles text-to-speech Worldwide Weather app and its underlying Google Weather API. Fortunately for all of us, there are other players in the Weather API marketplace. Here’s a list of 26 of them. One vendor really stands out from the pack. In fact, many believe that Google itself was using its services to power Google’s own weather API. That service is Weather Underground.

What we’ve done is rework the existing Worldwide Weather application in such a way as to minimize the upgrade hassle for those of you already using the broken one. If you’re just getting started, we’ll put all the working pieces in place so there is no patch required. So choose whether to upgrade or install from scratch from the options below, and we’ll have you up and running in a couple minutes.

Regardless of whether you’re just getting started or upgrading, what you will need (that’s new) is a free Weather Underground API key. This lets you issue up to 10 queries a minute and 500 queries a day against Weather Underground’s weather data. Because current conditions and forecasts are separated into separate queries, it means you can actually dial up 5 queries a minute and 250 queries a day without expense. If your needs are more extravagant, Weather Underground has very reasonable rates. Just follow this link to sign up for your Weather Underground API key. Write it down. You’ll need it in a minute.

Upgrading Existing Worldwide Weather App. If you’re currently using Nerd Vittles’ Google News, Weather, Stocks & Dictionary app or Incredible PBX 4, or Incredible Pi, you can upgrade the included Worldwide Weather component by logging into your server as root and issuing the following commands:

cd /var/lib/asterisk/agi-bin
mv nv-weather-google.php nv-weather-google-old.php
wget http://incrediblepbx.com/wunderground.tgz
tar zxvf wunderground.tgz
rm wunderground.tgz
nano -w nv-weather-google.php
nano -w nv-weather-wunderground.php

When the new weather script displays in the nano editor, cursor down to line 21 and replace 12345 with your actual Weather Underground API key. Be sure to preserve the quotes. Then save your change: Ctrl-X, Y, then Enter. That’s it. You’re back in business. Dial 9-4-9 to obtain a spoken weather report for almost any city in the world.

Installing the New Worldwide Weather App. If you’re new to all of this and would like to use either Incredible PBX 4.0 or just the News, Weather, Stocks & Dictionary app, start by reading all about them at the links above. Once you’ve installed either application, log into your server as root and issue the following commands to insert your new API key:

cd /var/lib/asterisk/agi-bin
nano -w nv-weather-google.php

When the new Worldwide Weather script displays in the nano editor, cursor down to line 21 and replace 12345 with your actual Weather Underground API key. Be sure to preserve the quotes. Then save your change: Ctrl-X, Y, then Enter. Now you’re ready to go. Now you can dial 9-4-9 to obtain a spoken weather report for almost any city in the world.

Test Drive. Want to try the new service out for yourself? We’ve set up a Raspberry Pi with Incredible PBX to demonstrate how easy all of this can be with a $35 computer. Just place a call to 1-843-284-6844, choose option 2, and say the name of the city and state or country for an instantaneous Worldwide Weather Report. Enjoy!

Originally published: Tuesday, September 4, 2012



Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.




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