Profile cover photo
Profile photo
PBX in a Flash
Your own Linux-based PBX
Your own Linux-based PBX

PBX in a Flash's posts

Post has attachment
Free at last! PBX in a Flash 5 is here and better than ever! Now powered by 3CX and with a new Debian ISO, installation is a walk in the park.

Find out more on our forum:

Post has attachment
The PIAF forum is back! We have updated to the latest version of XenForo and installed a new mobile-friendly theme.

Post has attachment
The PIAF Forum is back!

We managed to recover about 85% of the content but lost the last 15 months. Come visit and help us bring everything current.

Post has attachment
Google Voice Stops Working

Users report that, with Asterisk 11 and FreePBX 2.11 running PIAF-Green, Google works for a while and then stops. The likely suspect is a keep-alive problem in the Asterisk 11 xmpp module. +Andrew Nagy released the following patch to address the issue.

Log into your server as root, download and untar the patch, and then run the script to update Asterisk 11.

Post has attachment
The original PIAF Forum was destroyed in a catastrophic 2-disk RAID failure. We've managed to salvage the 100,000+ postings and message threads from the old forum, but the posters' names have been lost. You can download all of the previous content in a single PDF file for reference purposes from SourceForge.

Post has attachment
Introducing the temporary home of the PIAF Forum.

Click About to join the community.

Post has attachment
Trunk Failure Email Alerts

Not sure why we've never had this before, but now we do. Here's a simple way to monitor your SIP, IAX2, and Google Voice trunks for failures. You'll get an email alert whenever a service goes down for more than an hour. 

Prerequisites: Should work on all PIAF systems with any Asterisk flavor including PIAF-Green with Asterisk 11 and Motif

Installation: Download the tarball, unzip it into /root, insert your email notification address into, and add an hourly entry to /etc/crontab:

5 * * * * root /root/ > /dev/null 2>&1

Post has attachment
Lessons Learned: An Update on Our Server Outage

It’s been a busy couple of days following the double whammy of two RAID drive failures on Wednesday morning. We wanted to provide an interim update on where things stand. We share a dedicated server with a couple of other folks. The server is managed and maintained by WestNIC out of New York but physically resides in a data center in Dallas. Even with state-of-the-art hardware, things go wrong. And a dual drive failure made things worse, much worse.

The server runs cPanel and includes weekly onsite backups to a separate server as well as monthly off-site backups to New York. At least that’s what we had been told. It turns out that cPanel apparently chokes on account backups larger than 10GB so our provider had set a size limit on the accounts that qualified for backups in order to assure that the backups were reliable. Not a bad idea… if only we had known. Then we would have made our own backups of some of the one-of-a-kind data such as the PIAF Forum. Woulda, coulda, shoulda unfortunately doesn’t help at this juncture.

Our sites include Nerd Vittles, PBX in a Flash (.org and .com), and Incredible PBX as well as some other smaller domains. Luckily, Nerd Vittles escaped the 10GB limitation although it turned out the weekly backup was damaged. But a restore from New York retrieved all of our content except for the last three articles. Thanks to Google, those three articles still were sitting in Google’s cache. So Nerd Vittles is almost back to normal except where there were links to content or images on or By yesterday, we had Nerd Vittles fully operational once again. Incredible PBX was much the same story, and it’s once again among the living.

Both the .org and .com sites for PBX in a Flash didn’t fare as well. They both were larger than 10GB which meant there were no cPanel backups anywhere. Most of the static content on both sites is readily available elsewhere for restoration. Unfortunately, the .com site also hosts the PIAF Forum which now includes over 100,000 messages covering VoIP.everything for the past six or seven years. Luckily (we hope), the raw data in the form of static files still exists on the damaged drives. So today we will be moving the raw data for the .org site back into place on the new server. We’re keeping our fingers crossed that the test will go smoothly. That turned out to be 11GB of data.

The more problematic site is That involves 50GB of data. While most of it is static content that can easily be restored, the PIAF Forum is still a question mark because it includes very fluid MySQL tables running under XenForo. The MySQL databases are also static files under Linux; however, recovery of the data is unknown at this juncture because we don’t know the type of MySQL tables that were in use. If they’re MyISAM, you can basically shut off MySQL momentarily, copy the files over, and restart MySQL with no problems. If the tables use the newer innoDB format then things get more complicated. We think, although we haven’t been able to verify it yet, that we have a XenForo backup in place from several weeks ago. Loss of a few week’s postings would obviously be a godsend when one considers the other alternative. We’ll keep you posted on our progress.

Should you find any glaring issues with the Nerd Vittles site, please post a comment and let us know. We appreciate your understanding during this difficult time for all of us.

-- Reprinted from Nerd Vittles:

Post has attachment
Here's a step-by-step guide to get PBX in a Flash™ up and running with Asterisk® 1.8. With this installation technique, your server can sit safely behind a hardware-based firewall with no port exposure to the Internet. In other words, it's SAFE!

Atom-based PC Platform. You need a dedicated server to run PBX in a Flash unless you elect to run PIAF on a virtual machine. We'll cover that in a separate tutorial. For the least expensive, dedicated hardware alternative, pick up an Atom-based PC, preferably not an EEE PC because of the network driver incompatibility with CentOS. The refurbished Acer Aspire Revos work great and can easily support a small business with dozens of phones:

PIAF ISO Setup. Once you have your hardware connected to a reliable Internet source, you'll need to choose the appropriate ISO for your hardware install. If you have a CD-ROM or DVD drive on your server, we'd recommend the latest 32-bit PIAF ISO. Just download it from or from one of our PIAF mirror sites: Then burn the ISO to a CD: Now you're ready to boot your server from the CD.

If your server lacks a CD-ROM and DVD drive, then download the 32-bit PIAF FlashDrive ISO from SourceForge and copy it to a 1GB or larger thumb drive following the instructions in this Nerd Vittles tutorial: Then boot your server from the thumb drive. You'll find OpenVZ and VMware templates on our download mirrors as well.

PIAF Installation. Once you've booted the PIAF installer, you'll be prompted to choose an installation method. For most users, simply pressing the Enter key will get things started. Depending on the performance of your server and the speed of your Internet connection, the installation process normally takes 15-60 minutes.

Choose a keyboard and time zone when prompted and then enter a very secure root password for your new server. The installer then will load CentOS 5.7 onto your server. When complete, your server will reboot. Remove the CD or Flash Drive during the reboot! Next you'll be prompted to choose the version of Asterisk to install. We recommend PIAF-Purple which loads the latest, stable release of Asterisk 1.8. During the final phase of the install, you will be prompted to choose a master password for FreePBX® and the other VoIP web utilities included in PBX in a Flash. You can either make up a very secure one or let the installer choose one for you.

Once your server reboots, log into the Linux CLI using your root password and write down the IP address of your server from the status display.

FreePBX Setup. Most of your life with PBX in a Flash will be spent using the FreePBX web GUI and your favorite browser. To access the FreePBX GUI, point your browser to the IP address of your server. Always read the RSS Feed in the PIAF GUI for late-breaking security alerts. Then click on the <em>Users</em> button which will toggle to the <em>Admin</em> menu. Now click the FreePBX icon. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose in completing the PIAF install.

To get a minimal system functioning, here's the 5-minute drill. You'll need to set up at least one extension with voicemail, configure a free Google Voice account for free calls in the U.S. and Canada, configure inbound and outbound routes to manage incoming and outgoing calls, and plug your maint password into CallerID Superfecta so that names arrive with your incoming calls. Once you add a phone with your extension credentials, you're done.

Extension Setup. Now let's set up an extension to get you started. A good rule of thumb for systems with less than 50 extensions is to reserve the IP addresses from 192.x.x.201 to 192.x.x.250 for your phones. Then you can create extension numbers in FreePBX to match those IP addresses. This makes it easy to identify which phone on your system goes with which IP address and makes it easy for end-users to access the phone's GUI to add bells and whistles. To create extension 201 (don't start with 200), click Setup, Extensions, Generic SIP Device, Submit. Then fill in the blanks USING VERY SECURE PASSWORDS and leaving the defaults for all of the fields except User Extension (201), Display Name (Home), Secret (a very secure extension password), Voicemail (Enabled), and VoiceMail Password (a secure numeric password). If you want notification of new voicemails by either email or pager, fill in those fields as well and check the appropriate boxes. Write down these passwords. You'll need them to configure your phone!

In addition to making up secure passwords, the installed version of FreePBX lets you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: If most of your phones are on a private LAN, you may prefer to use a subnet entry in the permit field like this: Use your actual subnet obviously.

Adding a Google Voice Trunk. There are lots of trunk providers, and one of the real beauties of having your own PBX is that you don't have to put all of your eggs in one basket... unlike the AT&T days. We would encourage you to take advantage of this flexibility. With most providers, you don't pay anything except when you actually use their service so you have nothing to lose.

For today, we're going to take advantage of Google's current offer of free calling in the U.S. and Canada through the end of this year. You also get a free phone number in your choice of area codes. PBX in a Flash now installs a Google Voice module for FreePBX that lets you set up your Google Voice account with PBX in a Flash in just a few seconds once you have your Google Voice credentials in hand.

Signing Up for Google Voice. You'll need a dedicated Google Voice account to support PBX in a Flash. 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 rather than creating a separate account. Take our word for it. 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... set up a dedicated Gmail and Google Voice account, and use it exclusively with PBX in a Flash. Google Voice no longer is by invitation only. If you're in the U.S. or have a friend that is, head over to and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up:

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work... in either direction. 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 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.

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 PBX in a Flash to function with Google Voice! Otherwise, inbound and/or 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 and enable it. Be sure to try one call each way from Google Chat in Gmail. Then disable Google Chat in GMail for this account. Otherwise, the account won't work with PIAF.

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

Call Screening... OFF
Call Presentation... OFF
Caller ID (In)... Display Caller's Number
Caller ID (Out)... Don't Change Anything
Do Not Disturb... OFF
Call Options (Enable Recording)... OFF
Global Spam FIltering... ON

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 when you never heard the phone ring will be a big hint that something has come unglued.

Configuring Google Voice Trunk in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize PBX in a Flash to meet your specific needs. Click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number... Your 10-digit Google Voice number
Username... Your Google Voice account name
Password... Your Google Voice password

Be sure to check all three boxes below the above entries: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX when prompted. Down the road, you can add additional Google Voice numbers by clicking the Add GoogleVoice Account option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum:

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. It also provides redundancy which costs you nothing if you don't use the backup providers. The Google Voice module actually configures an Outbound Route for 10-digit Google Voice calling as part of the automatic setup. If this meets your requirements, then you can skip this step for today.

Inbound Routes. An Inbound Route tells PBX in a Flash how to route incoming calls. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we'll build a simple route that directs your Google Voice calls to extension 201. Choose Inbound Routes in the FreePBX GUI, leave all of the settings at their default values except enter your 10-digit Google Voice number in the DID Number field. Enable CallerID lookups by choosing CallerID Superfecta in the CID Lookup Source pulldown. Then scroll down to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit to save your changes and reload FreePBX. Now your incoming Google Voice calls will be routed to extension 201.

IMPORTANT Final Step. Before Google Voice calling will actually work, you must restart Asterisk from the Linux command line interface. Log into your server as root and issue this command: amportal restart.

CallerID Superfecta Setup. CallerID Superfecta needs to know your maint password in order to access the necessary modules to retrieve CallerID information for inbound calls. Just click Setup, CID Superfecta, and click on Default in the Scheme listings in the right column. Scroll down to the General Options section and insert your maint password in the Password field. You may also want to enable some of the other providers and adjust the order of the lookups to meet your local needs. Click Agree and Save once you have the settings adjusted.

General Settings. Last, but not least, we need to enter an email address for you so that you are notified when new FreePBX updates are released. Scroll to the bottom of the General Settings screen after selecting it from the left panel. Plug in your email address, click Submit to save your changes. Done!

Adding Plain Old Phones. Before your new PBX will be of much use, you're going to need something to make and receive calls, i.e. a telephone. For today, you've got several choices: a POTS phone, a softphone, or a SIP phone. Option #1 and the best home solution is to use a Plain Old Telephone or your favorite cordless phone set (with 8-10 extensions) with a little device known as an ObiHai 110. It's under $50 on Amazon: This device also supports connection of your PBX to Google Voice, a standard office or home phone line as well as a telephone.

Configuring a SIP Phone. There are hundreds of terrific SIP telephones and softphones for Asterisk-based systems. Once you get things humming along, you'll want a real SIP telephone. You'll find lots of recommendations on Nerd Vittles and in the PBX in a Flash Forum.

For today, let's download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using 201 for your extension and your actual password for extension 201. Then plug in the actual IP address of your PBX in a Flash server. Click OK when finished. Your softphone should now show: Available.

Now you're ready to start calling with PBX in a Flash. Enjoy!
Wait while more posts are being loaded