Home » Technology » PIAF It’s PIAF-Brown with Certified Asterisk

The Most Versatile VoIP Provider: FREE PORTING

PIAF It’s PIAF-Brown with Certified Asterisk

Today we're delighted to take Asterisk® to the next plateau with an all-new release of PBX in a Flash™. Tom King's latest masterpiece gives you unparalleled flexibility with the ease of installation and security you've come to expect from all PIAF™ releases. Featuring CentOS® 6.2, this new release provides your choice of the most stable versions of Asterisk 1.8 or 10 and now includes the option to install the new Certified Asterisk release from Digium® featuring SLA support for the first time. Certified Asterisk also brings plug-and-play support for Digium Phones. And, of course, you still get your choice of FreePBX® 2.8, 2.9, or 2.10 as well as one-click installs for Incredible PBX and Incredible Fax. No other platform gives YOU this kind of flexibility to easily design a telephony platform that meets all your unique requirements.

We're also pleased to announce that, in addition to the one-of-a-kind PBX in a Flash Forum, we're adding what many of you have requested, a paid support service from the best folks in the business for organizations that truly need immediate technical assistance when something comes unglued. More details are coming in the next few weeks so stay tuned.

Featuring superior scalability, improved performance, better resource management, and unmatched device support, PBX in a Flash 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. With, we've included a new menu-driven installation option that lets you add network drivers for many of the latest and greatest network cards that are not yet supported in the Linux kernel. We've also updated the kernel to eliminate many of the bugs reported in the default CentOS 6.2 kernel. And, of course, PIAF2 continues to provide the only turnkey Google Voice solution providing immediate free calling throughout the U.S. and Canada with any of the default flavors of PIAF.

Here's how the new install works. Step #1 is downloading the ISO and burning a CD (32-bit) or DVD (64-bit) to install your new server. If your machine lacks a CD/DVD drive, there's now a simple procedure for building a USB Flash Drive installer. Once you boot your server using the installer you created, you first get to select the file system for your new CentOS server. For most folks, just press the Enter key. Next, you'll be prompted to create a very secure root password. Then the PIAF2 disk will whir away for about 15 minutes installing CentOS 6.2. As your system reboots, remove the install disk and the second phase of the install begins.

The PIAF2 Install Menu will display. It looks like this:

Adding a Network Driver. In addition to choices to select your flavor of Asterisk to install, the main install menu now includes an option to load Add-On network drivers. With Linux, network drivers have to be part of the Linux kernel to work. And you must have Internet connectivity to complete the Phase II install of PBX in a Flash. So this eliminates the chicken-and-the-egg problem. As new hardware appears, the latest drivers haven't yet made it into the kernel. So we now let you add the one you need from the Extra Drivers Menu. It's literally plug-and-play. Click the driver you need, and presto it's added. Reboot to return to the Install Menu and continue your install. By the way, if you don't know what type network card you have in your system, drop down to the Linux CLI, log in as root, and type: lspci. Then continue by entering the command: piafdl.

Unlike other distros, we build your server the old-fashioned way, from source, and then compile the various components. This gives you the flexibility to add new features and recompile your applications down the road when new additions become available that you'd like to include in your system. It also provides the flexibility to adjust your Asterisk setup to meet your specific requirements. In short, it's just as if you'd installed Asterisk manually from source code. Why? Because you have!

Choosing a Custom Version of Asterisk. From the Main Install Menu, you also have the option of exiting to the Linux command prompt to select from a broad list 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
  • piafdl -p beta_1881_purple (loads Asterisk
  • piafdl -p beta_1882_purple (loads Asterisk
  • piafdl -p beta_1890_purple (loads Asterisk
  • piafdl -p beta_1891_purple (loads Asterisk
  • piafdl -p beta_1892_purple (loads Asterisk
  • piafdl -p beta_1893_purple (loads Asterisk
  • piafdl -p beta_18101_purple (loads Asterisk
  • piafdl -p beta_18110_purple (loads Asterisk
  • piafdl -p beta_18111_purple (loads Asterisk
  • piafdl -p beta_18120_purple (loads Asterisk
  • piafdl -p beta_1811_brown (loads Asterisk 1.8.11-cert1)
  • piafdl -p beta_1000_red (loads Asterisk 10.0.0)
  • 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)
  • piafdl -p beta_1020_red (loads Asterisk 10.2.0)
  • piafdl -p beta_1021_red (loads Asterisk 10.2.1)
  • piafdl -p beta_1030_red (loads Asterisk 10.3.0)
  • piafdl -p beta_10311_red (loads Asterisk
  • piafdl -p beta_1040_red (loads Asterisk 10.4.0)

Be advised that Asterisk 10.1.x and later releases reportedly break Google Voice! The good news is that the new PIAF deployment methodology for newer Asterisk releases is working. We no longer incorporate the latest Asterisk release as the default PIAF install. Instead, you get a version that has undergone thorough independent testing by our gurus. So the base PIAF install of Asterisk 10 still gets you a version of Asterisk that reliably supports Google Voice.

Picking a Flavor of Asterisk. Many of you already know which branch of Asterisk you prefer to install, but some don't. If there's not a particular reason for choosing PIAF-Red with Asterisk 10, don't. The reason is that support for it ends within the year. PIAF-Purple with Asterisk 1.8 on the other hand will be supported with bug fixes for several more years. And, if you value an SLA (meaning reported bugs will get fixed) or you want to use Digium Phones, then PIAF-Brown is your only option at the moment. Even though it is new, it is based upon a stable version of Asterisk 1.8. We're running it with good results. YMMV!

The Config Module. Once you choose your flavor of Asterisk, the PIAF2 install will continue by loading the Config Module. Within this module, you do the following:

First, you get to choose whether to access the Asterisk menuconfig utility which lets you select which modules of Asterisk to install. Don't pick this option unless you know what you're doing and need something special. We've enabled all of the options that most folks need.

Second, you'll be prompted to choose your Time Zone. Choose from one of the options provided, and press Y to confirm your choice.

Third, you'll be prompted to choose your flavor of FreePBX to install: 2.8, 2.9, or 2.10. This choice is important. If you want to use Incredible PBX or Incredible Fax or both, then you must select either FreePBX 2.9 or 2.10. If you want to use the FreePBX Digium Phones module, then your only choice is FreePBX 2.10. While it's possible to upgrade FreePBX to a later version in place, it's not painless so make your selection carefully.

Fourth, you must assign a password for access to the FreePBX GUI and utilities. Make it secure or let the system pick one for you. It's your phone bill.

Finally, press Enter to confirm your selections. Then go have a cup of coffee. The install process will continue for 15-30 minutes depending upon the speed of your server and network connection. The necessary components that you've chosen will be downloaded and compiled. You'll also get an updated CentOS 6.2 system as all of the yum updates are applied for your server.

When the install finishes, your system will reboot a final time and then you'll have a working PIAF2 server.

What Next? Before you make any changes using FreePBX, you have a few decisions to make. If you plan to use Incredible PBX and/or Incredible Fax, you need to install them now in the order shown because they overwrite all of your FreePBX settings. Now would be a good time to read the Nerd Vittles article which explains the functionality and installation process for these two great products.

If you want to use Incredible PBX, install it first! Log in to the Linux CLI and issue the command: install-incredpbx3.

If you want free faxing support for your PIAF2 server, install it after Incredible PBX by issuing the command: install-incredfax2.

If you are using PIAF-Brown with FreePBX 2.10 and want to take advantage of the FreePBX Digium Phones module (shown above), now's the time to install it after the other two installs above:

Step #1: Obtain a free Digium DPMA license key for your server.

Step #2: Log in as root and issue the command: install-digiphones.

FreePBX Setup. Most of your time with PIAF2 will be spent using a browser and the FreePBX GUI. To get to it, you'll need the IP address of your server. Log into the Linux CLI as root using your root password. Write down the IP address of your server from the status display (below) and verify that everything installed properly. Note that Samba is disabled by default. If you want to use your server with Windows Networking, run configure-samba once your server is up and running.

Once you have the IP address of your server, just point your browser to that IP address to bring up the PIAF GUI (shown below). Review the PIAF RSS Feed. 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 the Config Module phase of the PIAF2 install above.

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. If you're running PBX in a Flash in a hosted environment with no hardware-based firewall, then immediately read and heed our setup instructions for Securing Your VoIP in the Cloud Server.

Extension Setup. Now let's set up an extension to get you started. If you installed Incredible PBX, you can skip this step. Your extensions are preconfigured with secure, random passwords. 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.

User Extension ... 201
Display Name ... Home
Outbound CID ... [your 10-digit phone number if you have one; otherwise, leave blank]
Emergency CID ... [your 10-digit phone number for 911 ID if you have one; otherwise, leave blank]

Device Options
secret ... 1299864Xyz [make this unique AND secure!]
dtmfmode ... rfc2833
Voicemail & Directory ... Enabled
voicemail password ... 14332 [make this unique AND secure!]
email address ... yourname@yourdomain.com [if you want voicemail messages emailed to you]
pager email address ... yourname@yourdomain.com [if you want to be paged when voicemail messages arrive]
email attachment ... yes [if you want the voicemail message included in the email message]
play CID ... yes [if you want the CallerID played when you retrieve a message]
play envelope ... yes [if you want the date/time of the message played before the message is read to you]
delete Vmail ... yes [if you want the voicemail message deleted after it's emailed to you]
vm options ... callback=from-internal [to enable automatic callbacks by pressing 3,2 after playing a voicemail message]
vm context ... default

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: If most of your phones are on a private LAN, you may prefer to use a subnet entry in the permit field like this: using your actual subnet.

Courtesy of wordle.net

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

;exten => s,n(regcall),Answer
;exten => s,n,SendDTMF(1)
exten => s,n(regcall),Set(DIAL_OPTIONS=${DIAL_OPTIONS}aD(:1))
exten => s,n,Goto(from-trunk,gv-incoming,1)

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.

noload => res_jabber.so
noload => 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.

Originally published: Monday, May 7, 2012

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.


Special Thanks to Our Generous Sponsors

FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation 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.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.

Some Recent Nerd Vittles Articles of Interest...

  1. You also can use a dedicated Googtle Apps account for Google Voice with the latest version of the FreePBX module. Don't use your regular Google Apps email address with Google Voice, or inbound calling will not work! []


  1. Excellent post, thank you so much for the attention to detail. My only request would be to have some more information on setting up Dahdi for a standard POTS line. Thanks again.

  2. what is the root password ? sorry i am new @ Linux..and one question more can i access the extension from other network and how if i have a static ip and port forward i know about them just tell what is the option and how do i ? i shift from 3CX windows based PBX i was using free version but not much options but that support this feature please guide me thanks

  3. Hi, on the last version of PIAF virtual applicance, adding a sip extension is made under "applications/extensions" menu, instead of "setup/extensions"…

Comments are closed.