Today we're delighted to introduce the ultimate Asterisk® platform. It's the all new PBX in a Flash 2™ featuring CentOS® 6.2 and your choice of Asterisk 1.8.8.0 or 10 plus FreePBX® 2.8, 2.9, or 2.10. No other platform gives YOU the flexibility to design a telephony platform that meets your unique requirements. And, of course, no other platform includes any version of CentOS 6, much less 6.2.

Featuring superior scalability, improved performance, better resource management, and unmatched device support, PBX in a Flash 2.0.6.2 brings you the most versatile Asterisk platform on the planet with the latest and greatest releases of virtually every major open source product in the marketplace. And you can choose either the 32-bit or 64-bit platform. For those needing additional Asterisk customization, PIAF2 also provides direct access to Asterisk's menuconfig system which lets you tailor the selection of Asterisk modules you wish to deploy. And, of course, PIAF2 continues to provide the only turnkey Google Voice solution providing immediate free calling throughout the U.S. and Canada. We'll walk you through the 2-minute drill to deploy Google Voice for inbound and outbound calling with FreePBX. And, yes, Incredible PBX 2.9 is fully compatible with the 32-bit release of PIAF 2.0.6.2!

Our special tip of the hat again goes to Tom King, who has spent the better part of four months integrating PIAF2 into the new CentOS 6 releases, three of them to be exact. To suggest that this was not a job for mere mortals doesn't begin to paint the picture of this long and winding road. The good news is we think you'll be delighted with the results. The PBX in a Flash install process now has been streamlined into three distinct components.

After downloading the ISO and burning a CD (32-bit) or DVD (64-bit) to install your new server, here's how it works. First, you get to choose the file system for your new CentOS server. The PIAF2 installer will whir away for about 15 minutes installing CentOS 6.2. When your system reboots, remove the install disk and Phase 2 begins. Here you get to choose your flavor of Asterisk to deploy. We continue to recommend PIAF2-Purple as the stable product for all but pioneers, but Asterisk 10 is out of beta, and we offer you the option of installing it if you wish.

By default with PIAF2, you get your choice of Asterisk 1.8.8.0 or 10.0.0 as well as FreePBX 2.8, 2.9, or 2.10. With the standard PIAF2 ISO installer, you also have the option of exiting to the Linux command prompt to compile a network driver or to select from a broad selection of newer Asterisk releases. If you choose this option, you'll be prompted to log into your server as root with the root password you chose initially. Once logged in, you can execute any series of Linux commands or issue one of the following commands to choose a specific release of Asterisk:

piafdl -p beta_1880_purple (loads Asterisk 1.8.8.10)

piafdl -p beta_1881_purple (loads Asterisk 1.8.8.1)

piafdl -p beta_1882_purple (loads Asterisk 1.8.8.2)

piafdl -p beta_1890_purple (loads Asterisk 1.8.9.0)

piafdl -p beta_1891_purple (loads Asterisk 1.8.9.1)

piafdl -p beta_1892_purple (loads Asterisk 1.8.9.2)

piafdl -p beta_1893_purple (loads Asterisk 1.8.9.3)

piafdl -p beta_1001_red (loads Asterisk 10.0.1)

piafdl -p beta_1010_red (loads Asterisk 10.1.0)

piafdl -p beta_1011_red (loads Asterisk 10.1.1)

piafdl -p beta_1012_red (loads Asterisk 10.1.2)

piafdl -p beta_1013_red (loads Asterisk 10.1.3)

WARNING: Asterisk 10.1.x releases reportedly break Google Voice! The good news is that the new PIAF deployment policy for Asterisk releases is working. We no longer incorporate the latest Asterisk releases as the default PIAF install before independent testing. You, of course, are free to load and test any of the releases you wish using the commands outlined above.

If you compiled a network driver and wish to resume the installation process, just reboot the server. If you chose a specific flavor of Asterisk, simply accept the license agreement and the customized PIAF2 install will continue.

Within a minute or so, your chosen Asterisk installer will load. In Phase 3 (the Config Module), you'll pick your flavor of FreePBX and choose a password for access, set your time zone, and decide whether you want to further customize Asterisk using menuconfig.

If you want to also install Incredible PBX 2.9, be sure to use the 32-bit PIAF2 ISO and choose Asterisk 1.8 and FreePBX 2.9.

Otherwise, the choices are up to you. Once you've made your selections, everything else installs on autopilot unless you opted to use menuconfig. If so, come back in 15 minutes and tailor away. Then press x to save your settings and finish the install. Depending on the speed of your server or virtual machine, the complete install usually takes 30-60 minutes. It's not the fastest Asterisk install on the planet. But, as you learned in high school, faster isn't always better. With PIAF2, you get a fully customized Asterisk environment with the very latest CentOS 6.2 updates.

After the final reboot, you'll have a working PIAF2 server. Open up FreePBX with a browser, enter your Google Voice credentials, create an extension, link an inbound route to that extension to accept calls, restart Asterisk from the command prompt, and you'll have a fully operational PBX in less than 2 minutes.

Creating a PIAF2 Install Disk. To get started, download the PIAF2 ISO of your choice from SourceForge.

Once you have the ISO image in hand, the next step is to burn the ISO image to a DVD. The 32-bit ISO still will fit on a CD if you prefer. If you've never done it before, here's a DVD tutorial that will show you how on either a Windows machine or a Mac. If your machine lacks a CD/DVD drive, there's now a simple procedure for building a USB Flash Drive installer.

Using PIAF2 with Proxmox. For those using Proxmox to host PIAF2 virtual machines, the easiest approach is to log into your server as root, change to the /var/lib/vz/template/iso directory, and issue a wget command to download the SourceForge image of your choice. In building KVM virtual machines with Proxmox, you'll need to allocate at least 768MB of RAM (1024MB recommended) for each image. CentOS 6 has a much larger memory footprint than CentOS 5. Reminder: Be absolutely sure Proxmox is sitting behind a secure hardware-based firewall. It is NOT secure on the open Internet!

Atom-based PC Platform. Unless you're using PIAF2 on a virtual hosting platform, you'll need a dedicated PC. For the least expensive hardware alternative, pick up an Atom-based PC. We previously have recommended against an EEE PC because of the network driver incompatibility with CentOS 5. We'll have to leave it to the pioneers to tell us whether this still applies with CentOS 6. We do know that the refurbished Acer desktops work fine. Someone has actually tested them! And they can easily support a small business with dozens of phones. See these performance benchmarks for details.

FreePBX Setup. After the PIAF2 install finishes, your server will reboot once again. Log into the Linux CLI as root using your root password. Write down the IP address of your server from the status display and verify that everything installed properly. Note that Samba is disabled by default. If you want to use it for Windows Networking, run configure-samba once your server is up and running.

Most of your life with PBX in a Flash will be spent using the FreePBX web GUI and your favorite browser. Just point your browser to the IP address of your server and review the PIAF RSS Feed (as shown above). We recommend checking this RSS Feed daily by pointing your browser to the IP address of your server. The RSS Feed is displayed in the left column of the GUI and will alert you to any newly discovered security vulnerabilities in CentOS, Asterisk, FreePBX, or PIAF2. Click on the Users tab to change to the Admin panel, and then select FreePBX to load the FreePBX GUI.

You also can access the FreePBX GUI directly by pointing your browser to the IP address of your PIAF2 server: http://ipaddress/admin. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose in Phase 3 of the PIAF install.

To get a minimal system functioning to make and receive calls, here's the 2-minute drill. You'll need to set up at least one extension with voicemail and configure a free Google Voice account for free calls in the U.S. and Canada. Next, configure inbound and outbound routes to manage incoming and outgoing calls. Finally, add a phone with your extension credentials, and you're done.

A Word About Security. PBX in a Flash has been engineered to run on a server sitting safely behind a hardware-based firewall with NO port exposure from the Internet. Leave it that way! It's your wallet and phone bill that are at stake.

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 following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

Write down the passwords. You'll need them to configure your SIP phone.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won't protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password if your SIP or IAX ports happen to be exposed to the Internet.

In addition to making up secure passwords, the latest versions of FreePBX also let 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: 192.168.1.142/255.255.255.255. If most of your phones are on a private LAN, you may prefer to use a subnet entry in the permit field like this: 192.168.1.0/255.255.255.0 using your actual subnet.

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 the same 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 2012. 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 credentials.

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 the Google Voice site 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. 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 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, it won't work with PIAF.

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

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 will be a big hint that something has come unglued on your PBX.

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 is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don't use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. Down the road, you can add additional Google Voice numbers by clicking 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, 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 move to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit and save your changes. That will assure that incoming Google Voice calls are routed to extension 201.

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

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, and save your changes. Done!

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 such as the $50 Nortel color videophone we've recommended previously. You'll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you're like us, we want to make damn sure this stuff works before you shell out any money. So, 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 this link. 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 instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Enabling Google Voicemail. Some have requested a way to retain Google's voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you'll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

But I Don't Want to Use Google Voice. If you'd prefer not to use Google Voice at all with PBX in a Flash, that's okay, too. Here's how to disable it and avoid the chatter in the Asterisk CLI. Log into your server as root and edit /etc/asterisk/modules.conf. Change the first three lines in the [modules] context so that they look like this. Then restart Asterisk: amportal restart.

autoload=yesnoload => res_jabber.sonoload => chan_gtalk.so

There's now a patch that automatically adjusts Asterisk to accommodate Google Voice whenever you have added Google Voice extensions to your system. To download and install the patch, visit the PIAF Forum.

Incredible PBX 2.9. If you want all of the awesome Asterisk apps in one easy-to-install package, then Incredible PBX 2.9 is for you. Here's a link to the Nerd Vittles article explaining the 5-minute drill. Enjoy!

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.

Special Thanks to Our Generous Sponsors

FULL DISCLOSURE: 3CX, RentPBX, Amazon, Vitelity, DigitalOcean, Vultr and others provide financial support to Nerd Vittles and our open source projects through advertising or referral revenue. We’ve chosen these providers not the other way around. Our decisions were based upon their corporate reputation and the quality of their offerings and their pricing. Our technology recommendations are reached independently of financial considerations except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you're seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity's DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here's a deal you can't (and shouldn't) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won't get the special pricing! Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.

This article has 2 comments

On a few systems, keyboard issues have been reported during the second phase of the install. If you experience the problem, reboot. When the first screen reappears, press the Right Arrow key which should drop you down to the login prompt. Login with your root password and type: piafdl -txt to proceed.