Home » Technology » Closing the Book on CentOS: Introducing PBX in a Flash 3 with PIAF OS

The Most Versatile VoIP Provider: FREE PORTING

Closing the Book on CentOS: Introducing PBX in a Flash 3 with PIAF OS

Over the past few weeks, we’ve attempted to document some of the issues that have arisen as a result of what Red Hat claims it has been assigned from a few of the current CentOS developers. The CentOS trademark issues boil down to these: (1) ownership, (2) prior assignments and licenses, (3) dilution, and (4) GPL2. You can only sell that which you own. You can’t undo licenses that previously have been issued and relied upon. Generic use of a term over a lengthy period of years raises a strong presumption of genericide particularly when there has never been any attempt to protect the mark. And you can’t breathe a trademark exemption into GPL2 just because you’d like it to be a GPL3 license.

These issues obviously aren’t going to be settled overnight. Indeed, there are "the usual suspects" that put a not in front of virtually anything we suggest. That’s perfectly fine. We all have the right to our own opinions. But, absent some flexibility from Red Hat, these issues will work their way through a very cumbersome legal process over many years regardless of the views of the armchair quarterbacks. We’ll be watching and, if it becomes necessary, participating. There’s almost a decade of history on CentOS that some appear to have forgotten or perhaps never knew. Suffice it to say, CentOS has had a bit of a checkered past. We’ll cover some of it in coming months to give everyone a better appreciation of the issues that are at stake. In the meantime, PBX in a Flash has a loyal following, and we owe it to our users and supporters to remove the CentOS distraction and move on.

Today we are pleased to introduce PBX in a Flash 3 with an all-new GPL2 operating system, our own. It is compatible with the LAAMP stack that has been deployed by all of the Asterisk aggregations over the past decade including PBX in a Flash, Asterisk@Home, trixbox, Elastix, AsteriskNOW, and the FreePBX Distro. Simply stated, nothing has changed except the removal of the items to which Red Hat now asserts some ownership interest.

We’re rolling PIAF3 out in three stages, two of which we’re introducing today. There are new 32-bit and 64-bit virtual machine images. There are migration scripts to transform a PIAF2 server into PIAF3. And there will be new ISO images down the road a bit. The PIAF Dev Team is a group of individuals that do this for fun, not for profit. So eating comes first. Then we work on PBX in a Flash as time permits. No, we haven’t gotten filthy rich from donations and advertising. And, yes, we have sufficient resources to maintain the infrastructure necessary to continue to support the project indefinitely. If you’d like to volunteer to assist, by all means do so. The more, the merrier!

Movin’ On Up: Migrating Your PIAF2 Server to PIAF3

We’ve documented a simple procedure on the PIAF Forum to convert your PIAF2 server into a PIAF3 server. We fully appreciate that some may need a little hand-holding even though the scripts are provided and are in plain text. If you’d like to perform the procedure, set aside about an hour when your server is not in use AND only after you have made a full backup of your current system. For backup tips, go here and here and here. Then follow this link to begin. If you run into issues, just post your question on the forum. We have hundreds of gurus that stand ready to help you… cheerfully.

The Ultimate VoIP Appliance: PIAF3 Virtual Machine for VirtualBox

Today brings us to a new plateau in the virtual machine development era. We’re pleased to introduce a new product that can be installed in under 5 minutes and will run on any Windows PC, Mac, or Linux machine as well as Solaris. And, unlike the dedicated machine platforms and OpenVZ compromises of years past, today’s PIAF-Green Virtual Machine is state-of-the-art giving you everything a bare metal install from source code would have provided. Most importantly, the components are truly portable. They can be copied to a 4GB flash drive1 for the price of a good hamburger and installed from there onto any type of machine that happens to be in front of you. Five minutes later, you have a fully functional Asterisk server with FreePBX and exactly the same feature set and source code that you would have had doing a bare metal PIAF install to a dedicated server. And we’ve built 32-bit and 64-bit production-ready PIAF-Green Virtual Machines with Asterisk 11.7 and FreePBX 2.11. No Internet access required to perform the install. Sound too good to be true? Keep reading or, better yet, try the PIAF appliance for yourself. The install process is simple:

  1. Download and install VirtualBox onto a Desktop Machine of your choice
  2. Download and double-click on the PIAF-Green Virtual Machine to import it into VirtualBox
  3. Select the PIAF-Green Virtual Machine in VirtualBox Manager Window and click the Start button

Introducing Oracle VM VirtualBox

We’re late to the party, but Virtual Box®, Oracle’s virtual machine platform inherited from Sun, is really something. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of any desktop operating system. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 is to download one or more of the VirtualBox installers from VirtualBox.org or Oracle.com. As mentioned, our recommendation is to put all of the 100MB installers on a 4GB thumb drive. Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, simply install it onto your favorite desktop machine. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.

Installing the PIAF3 Virtual Machine

Step #1 is to download the PIAF-Green Open Virtualization Appliance (.ova) of your choice from SourceForge. If you prefer torrents, they are there as well thanks to the work of Isaac McDonald.

Step #2: Verify the checksums for the .ova appliance to be sure everything got downloaded properly. To check the MD5/SHA1 checksums in Windows, download and run Microsoft’s File Checksum Integrity Verifier.

For Mac or Linux desktops, open a Terminal window, change to the directory in which you downloaded the .ova file and type the following commands:

md5 PIAF-Green-3.6.5.-32.ova (use md5sum for Linux)    MD5: a0562d213a31ace848b8a00bfb3d9218
openssl sha1 PIAF-Green-3.6.5-32.ova    SHA1: 7aa74ffdc6a0f2b5a2ec0557c7bb78f8fe9cfb23

md5 PIAF-Green-3.6.5.-64.ova (use md5sum for Linux)    MD5: d146ce1381b58effcaaaf3ef095806ab
openssl sha1 PIAF-Green-3.6.5-64.ova    SHA1: 19a9981094047eb25d585f9a2d0198a056d56a98

Step #3: Double-click on the downloaded .ova file which will begin the import process into VirtualBox. It only takes a couple minutes, and you only do it once. IMPORTANT: Be sure to check the Reinitialize the Mac address of all network cards box before clicking the Import button.

Once the import is finished, you’ll see the new PIAF-Green virtual machine in the VM List of your VirtualBox Manager Window. You’ll need to make a couple of one-time adjustments to the VM configuration to account for differences in sound and network cards on different host machines.

Click on the PIAF-Green Virtual Machine in the VM List. Then click Settings -> Audio and check the Enable Audio option and choose your sound card. Save your setup by clicking the OK button. Next click Settings -> Network. For Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. On some VM platforms in order to successfully boot the VM, you may need to manually enable PAE/NX support under System -> Proccessor. On most platforms, it’s enabled by default. That’s all the configuration that is ever necessary for your PIAF-Green Virtual Machine. The rest is automagic.

Running the PIAF-Green Virtual Machine in VirtualBox

Once you’ve imported and configured the PIAF3 Virtual Machine, you’re ready to go. Highlight PIAF3 Virtual Machine in the VM List on the VirtualBox Manager Window and click the Start button. The PIAF3 boot procedure will begin just as if you had installed PBX in a Flash on a standalone machine. You’ll see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your PIAF VM.

Here’s what you need to know. To work in the PIAF3 Virtual Machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. For other operating systems, read the dialogue boxes for instructions on moving around. Always shut down PIAF gracefully! Click in the VM window with your mouse, log in as root, and type: shutdown -h now.

Run the PIAF3 Virtual Machine behind a hardware-based firewall with no Internet port exposure!

To begin, position your mouse over the VM window and left-click. Once the PIAF VM has booted, log in as root with password as the password. Change your root password immediately by typing passwd at the command prompt. Now set up a secure maint password for FreePBX as well. Type passwd-master. If you’re not in the Eastern U.S. time zone, then you’ll want to adjust your timezone setting so that reminders and other time-sensitive events happen at the correct time. While logged into your server as root, issue this command:


Next, use a browser to log into your PIAF3 server by pointing to the IP address of the PIAF3 VM that’s displayed in the status window of the CLI. Click on the User button to display the Admin choices in the main PIAF3 Menu. Click on the FreePBX option to load the FreePBX GUI. You will be prompted for an Apache username and password. For the username, use maint. For the password, use whatever password you set up with passwd-master.

Now read the latest PIAF Quick Start Guide and begin your VoIP adventure. Then you’ll want to do some reading on VirtualBox. We’ve barely scratched the surface. Setting up Headless VMs that run in the background on any server is a breeze. From the command line, here’s an article to get you started. But you also can start Headless VMs from within the GUI by highlighting the VM and clicking Shift->Start. Always shut down VMs gracefully: Close->ACPI Shutdown. You’ll find more great tips at virtualbox.org and GitHub.

One of the real beauties of VirtualBox is you don’t have to use a GUI at all. The entire process can be driven from the command line. Other than on a Mac, here is the procedure to import, configure, and run the PIAF-Green Virtual Machine:
VBoxManage import PIAF-Green-3.6.5-32.ova
VBoxManage modifyvm "PIAF-Green-3.6.5-32" --nic1 nat
VBoxManage modifyvm "PIAF-Green-3.6.5-32" --acpi on --nic1 bridged
VBoxHeadless --startvm "PIAF-Green-3.6.5-32" &
# Wait 1 minute for PIAF-Green-3.6.5-32 to load. Then decipher IP address like this:
VBoxManage guestproperty get "PIAF-Green-3.6.5-32" /VirtualBox/GuestInfo/Net/0/V4/IP
# Now you can use SSH to login to PIAF-Green-3.6.5-32 at the displayed IP address
# Shutdown the PIAF-Green-3.6.5-32 Virtual Machine with the following command:
VBoxManage controlvm "PIAF-Green-3.6.5-32" acpipowerbutton

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

Adding Incredible PBX 11 and Incredible Fax

You can read all about the Incredible PBX 11 and Incredible Fax feature set in our recent Nerd Vittles article. If you decide you’d like to add one or both to your PIAF-Green Virtual Machine, just log into your server as root and issue the following commands. NOTE: You must install Incredible Fax after installing Incredible PBX, or you will lose the ability to install Incredible PBX at a later time. With Incredible Fax, there are a number of prompts during the install. With the exception of the prompt asking for your local area code, just press Enter at every other prompt.

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

The Incredible PBX 11 Inventory. For those that have never heard of The Incredible PBX, here’s the current 11.0 feature set in addition to the base install of PBX in a Flash with PIAF, Asterisk 11, FreePBX 2.11, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Incredible Fax, NeoRouter and PPTP VPNs, and all sorts of backup solutions are still just one command away and may be installed using the scripts included with Incredible PBX 11 and PBX in a Flash 3. Type help-pbx and browse /root for dozens of one-click install scripts.

Originally published: Friday, February 21, 2014

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


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. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []


  1. I went to Scale 12 today. I talked to the CentOS person there. He said Scientific Linux will be joining CentOS when 7 comes out.

    [WM: That has been the scuttlebutt for a while. We’ll see what we see.]

  2. Ward,

    Rolling your own distro with your own marks was the correct solution, and definitely the cleanest one, even if it is more labor-intensive.

    I was around when CentOS formed (and prior, having run RHL since 4.0 days), and I rolled a C3 on top of what had been a White Box EL 3 install.

    In any case, all the best with PIAF3.

  3. If the need is to have a very basic CentOS install on top of which the PIAF-required packages are added via kickstart and post-install scripts, would it be possible to utilize either the ServerInstall or NetInstall official CentOS ISOs instead?

    Even if some work was required to migrate to this methodolody, it should be a fraction of the work needed to maintain a CentOS derivative distro.

    Personally, I think NetInstall would be a bad fit as it has the major drawback of a much longer install time due to remote retrieval of all installed packages. However, the ServerInstall ISO is designed as a minimal install for servers which keeps its image size small while still providing most if not all of the CentOS packages that would be needed for the foundation to build PIAF on top of:

    The x86_64 6.5 ISO is only 394 MB.
    The 32-bit 6.5 ISO is only 324 MB.



    Even if a few RPMs are being REMOVED, this could easily be done via kickstart’s %post-install portion, at the same time other package pulls are being performed. Kickstart even supports launching the ncurses-based network configuration process as part of %pre, which would allow the end-user to set up _either_ DHCP or static IP networking at the beginning of the install process if network connectivity is desired for the kickstart process.

    End result: use of an unaltered CentOS distro thereby negating the need to roll-your-own?

    [WM: Great suggestion. We will have a look. Thanks. The only potential wrinkles that I see are (1) CentOS by default does not enable DHCP on eth0 and (2) there is no ability to embed our own kickstart file (e.g. rc.local) for automatic continuation after reboot and root login.]

  4. Good point…you would at the very least have to extract the ISO, add the kickstart file to the root directory, and then alter the boot config file to reference the kickstart file (DHCP can be trivially enabled on any interface in the kickstart config), and then make it back into an ISO.

    I assume this would be considered alteration of CentOS (?) since the ISO would obviously fail the checksum after these changes. Not sure however — would this be just using their provided tools to automate an installation via a supported process, not altering any source code or packages? The new ISO would fail checksum check of course, so maybe not.

    Unless there is a tool available that would allow the ISO to be wrapped in a separate booter (e.g. just on disk, not bootable) that could utilize the kickstart file and simple reference the ISO file as the repo source, it might not get around the current issue.

    * On a side note, I did notice when looking the at the SIG mailing list archives earlier today that there is some chatter regaridng the creation of a VOIP SIG for CentOS. Perhaps this has potential.

  5. Just to follow up, the minimal install works flawlessly with our (soon to be released) PIAF-Installer once the network is enabled. Perhaps we can reach a compromise with Red Hat. And perhaps not. 🙂 I would hate to be the lawyer arguing that enabling of a network interface was sufficient to require relabeling and removal of marks and copyrighted artwork especially with all of the GPL2 hurdles that already have been noted.

  6. So I am sitting here with a PIAF purple VMware system I built 4 years ago and wanting to update so I can run a commercial endpoint manager that I can not seem to be able to install in centos 5.x with php 5.1 so I can play with my 4 new T45G phones but I am now officially lost as to what is best to install.

    I see new releases of VMWare images that look very interesting but they are not running this OS I presume so if I update will I be at yet another dead end?

    I guess I would love to know before I spend many hours moving everything from my production system so I dont end up having to scrap it all in a few months.

    Not to get into an OS war I would not use Centos and RH if I had a choice and will stick with Ubuntu for workstations and servers. They wont be knocked off the top ranking at distrowatch in the next 10 years for many good reasons. I am not so sure about how well the patching issues will be managed with this OS choice but as long as its being managed long term its all good with me.

    [WM: Our recommendation in your case would be to hold off for just bit until either our new ISOs are released or at least until the PIAF stand-alone installer is available. With PIAF-Install, you can choose either the base CentOS platform or the base Scientific Linux platform and have a current, updatable PIAF-Green server for many years.]

  7. Thinking back to your comments about the separation of installer vs installed product, and that there is actually have some legal precedent that backs this up…

    Could PIAF re-roll and relabel JUST the installer (PIAFconda?) as it too is Open Source, and thereby avoid having to roll-your-own full distro? Tweak the installer in order to point to the kickstart file, bring up networking, and point to the secondary partition on a multi-partition ISO (the second partition would be the unaltered CentOS min install ISO)?

    It sounds like all you *really* need is the ability to pass a boot-time kernel argument pointing to the kickstart file. The kickstart configuration could bring up the network interface in conjunction with completing the remainder of the custom install process.

    Heck, if a multi-partition image file is doable, might not even need to RYO installer at all. If you can get the ks.cfg file in the root directory of the primary partition, you’re golden.

  8. First off, thank you Ward for the Incredible! PBX.
    sorry if this is redundant, but I am a little bit confused, with the new release of Scientific Linux and etc.

    I already have a VMware environment and I would like to migrate our very old Asterisk PBX physical box to our VMware environment (ESXi)

    should I try the newly released PIAF3 installer over Scientific Linux or CentOS or wait for a previously mentioned VMware appliance to be released very soon? Any ETA on the release?

Comments are closed.