Home » Technology » The 5-Minute PBX: PIAF-Green Virtual Machine for Windows, Mac, or Linux

The Most Versatile VoIP Provider: FREE PORTING

The 5-Minute PBX: PIAF-Green Virtual Machine for Windows, Mac, or Linux

In our never-ending trek to build the Perfect PBX™, we have another installment for you today featuring the just released PBX in a Flash™ with a CentOS® 6.4 LAMP stack (32-bit or 64-bit), Asterisk® 11.3, and FreePBX® 2.11. Once you download the image, you can have a turnkey PBX running under VirtualBox® on almost any desktop computer in less than 5 minutes. We’re not talking about a crippled telephony platform with limited functionality. What you’ll have is the same platform that hundreds of thousands of organizations use to run their corporate phone systems. And, if you want the Incredible PBX™ feature set with literally dozens of open source telephony applications including news, weather, stocks, tide reports, SMS messaging, free faxing with Incredible Fax™, telephone reminders, wakeup calls, and more then just add a couple minutes to run two one-click installers. Welcome to the world of open source!

The real beauty of PBX in a Flash has not been that someone with sufficient expertise couldn’t assemble something just as good or even better. Watch the AstriCon presentations from last year if you have any doubts. The beauty of PIAF is it puts this technology down where the goats can get it. It provides a toolset that encourages further development by simplifying the learning curve for a broad cross-section of the VoIP community while not compromising functionality or flexibility. The source code for the major components is included in the build so you can customize and recompile Asterisk or load a new version of Asterisk or any additional Linux app in minutes without losing your existing setup.

As many of you know, we have literally hundreds of gurus on the PIAF Forum. That doesn’t mean any particular person or group knows everything. It’s merely a designation that a particular individual is an expert at something. The collective wisdom of the group is what makes PBX in a Flash as a project better because we’ve put in place a platform that experts from many different disciplines can build upon without needing to learn everything about everything. Simply stated, you can be a terrific chef without knowing how to build a stove!

Turning to Asterisk® 11 and FreePBX® 2.11, from everything we’re seeing, these new releases are shaping up to be a remarkable step forward both in terms of toolset and in the new mindset of the development community. That’s a good thing. For our part, we want to get our latest preview release of PBX in a Flash with CentOS 6.4, Asterisk 11.3 and the latest FreePBX 2.11 beta into as many hands as possible with a near zero investment in hardware and setup time.

The Ultimate VoIP Appliance: PIAF Virtual Machine for VirtualBox

Today brings us to a new plateau in the virtual machine development era. Thanks to the masterful work of Tom King on PBX in a Flash, 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 both 32-bit and 64-bit production-ready PIAF-Green Virtual Machines with Asterisk 11.3 and FreePBX 2.11. The choice is yours. 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 PIAF Virtual Machine

Step #1 is to download the PIAF-Green Open Virtualization Appliance (.ova) of your choice from SourceForge.

Step #2: Verify the checksums for the 32-bit or 64-bit .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 of your choice, and type the following commands (substitute 64 for 32 obviously if you’re using the 64-bit appliance):

md5 PIAF-Green-32.ova (use md5sum for Linux)
openssl sha1 PIAF-Green-32.ova

The correct MD5 checksum for PIAF-Green-32.ova is 7691127afd065412e40429cee49a4738. The correct SHA1 checksum for PIAF-Green-32 is 9b3828649dc9644d046ef83cb227aea4c1473c65.

The correct MD5 checksum for PIAF-Green-64.ova is 460ed99c5d57ef553b7a3df7118daaa6. The correct SHA1 checksum for PIAF-Green-64 is e2120eb692431482817d35bcf316c6b949fc2d9f.

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 a new PIAF virtual machine in the VM List of your VirtualBox Manager Window. You’ll need to make a couple of one-time adjustments to the PIAF-Green Virtual Machine 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. That’s all the configuration that is ever necessary for your PIAF-Green Virtual Machine. The rest is automagic.

Running the PIAF Virtual Machine in VirtualBox

Once you’ve imported and configured the PIAF Virtual Machine, you’re ready to go. Highlight PIAF Virtual Machine in the VM List on the VirtualBox Manager Window and click the Start button. The PIAF boot procedure with CentOS 6.4 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 PIAF 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 PIAF 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 these commands to download and run the timezone-setup script:

cd /root
wget http://pbxinaflash.com/timezone-setup.tar.gz
tar zxvf timezone-setup.tar.gz

Next, use a browser to log into your PIAF server by pointing to the IP address of the PIAF VM that’s displayed in the status window of the CLI. Click on the User button to display the Admin choices in the main PIAF 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-32 Virtual Machine:
VBoxManage import PIAF-Purple.ova
VBoxManage modifyvm "PIAF-Green-32" --nic1 nat
VBoxManage modifyvm "PIAF-Green-32" --acpi on --nic1 bridged
VBoxHeadless --startvm "PIAF-Green-32" &
# Wait 1 minute for PIAF-Green to load. Then decipher IP address like this:
VBoxManage guestproperty get "PIAF-Green-32" /VirtualBox/GuestInfo/Net/0/V4/IP
# Now you can use SSH to login to PIAF-Green at the displayed IP address
# Shutdown the PIAF-Green Virtual Machine with the following command:
VBoxManage controlvm "PIAF-Green-32" acpipowerbutton

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

Fail2Ban Bug. A bug has been reported in the current Fail2Ban implementation that keeps it from blocking IP addresses of intruders attempting to gain brute-force access to your Asterisk accounts. An interim bug fix that restores proper Fail2Ban functionality is available on the PIAF Forum.

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 the CentOS 6.4, 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. Type help-pbx and browse /root for dozens of one-click install scripts.

Originally published: Thursday, April 4, 2013   Updated: Monday, April 15, 2013

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. If this VM is an OVA file, is there any reason it couldn’t be loaded into a VMWare ESXi system? Obviously OSS & VirtualBox are great 🙂 and perfect for many situations, but some participants may be more comfortable with a VMWare hypervisor.

    [WM: We have some VMware images for previous builds on SourceForge. Just haven’t gotten that far on this one.]

  2. Was wondering if you had considered removing the boot filesystem? it’s no longer necessary as grub supports ext4. This also means that the disk does not have to be partitioned (unless you want a separate partition for swap).

    Would you consider adding consoleblank=0 to the kernel boot string in the virtual appliance images?

    Does it makes sense to make the default network adapter be the lower-overhead virt-io instead of the emulated ethernet hardware?

    Wouldn’t it be faster to "use the host I/O cache" under storage as a virtualbox VM is likely to be running on a machine with a lot of RAM?

    Should the serial ports be disabled entirely?

    Should the floppy and CD-ROM boot options be un-checked to speed boot?

Comments are closed.