Home » Technology » Introducing PBX in a Flash: The Lean, Mean Asterisk Machine

The Most Versatile VoIP Provider: FREE PORTING

Introducing PBX in a Flash: The Lean, Mean Asterisk Machine

Well, it's Hammer Time at Nerd Vittles, time to put up or shut up. And we've never been accused of being a wallflower. If you've longed for the good ol' days of Asterisk@Home, welcome back to the new steroid-enhanced version. Today we're proud to introduce the first release of PBX in a Flash for Linux, Windows, and Macs. It's a lean, mean Asterisk® machine designed to meet the needs of hobbyists as well as business users. And you won't find the word "beta" in the rest of this article. Our extra special thanks go to Joe Roper, Tom King, and Tony Vincent for their untiring efforts in moving this project from a dream to reality. Just measure the 3 weeks of development work in this project against the years in some other projects, and you will have a good idea about the incredible contribution these guys have made! Nothing's ever perfect, but this is a good one folks. And you need to give it a try to see what we've all been missing this past year. Text-to-speech works, Bluetooth works, the platform is open, the install scripts are available for your use. We believe it is sufficiently reliable on Day 1 for a production environment. It may be two weeks past Halloween, but this is a real treat!

UPDATE: This article now qualifies as ancient. Click here for the latest and greatest.

Our design model differs from other Asterisk implementations. The .iso download gives you a rock-solid CentOS 5 Linux implementation which is designed for installation on a dedicated machine. Yes, your hard disk will be erased. Once Linux is installed, the system will reboot and fetch the latest, greatest collection of add-on's. Once the install completes, you'll have a high-performance turnkey Asterisk PBX that's easy to upgrade with a simple migration path to either managed PBX service or hosted PBX service. You never have to migrate if you don't want to, and the stand-alone product will always have virtually identical functionality minus the peace of mind that comes with managed or hosted PBX service. In short, the stand-alone product isn't ever going to be crippleware to entice you to migrate. We'll have more about the managed and hosted options in coming weeks. There also will be a script shortly to transform your system from a solid, lean run-time system into an Asterisk development platform. In the meantime, PBX in a Flash includes Asterisk 1.4.13, FreePBX 2.3.1, Apache, MySQL, PHP, phpMyAdmin, SendMail, Perl, Flite, and much more. Once we're sure we have a stable base platform (and we're pretty sure!), you'll be able to choose from dozens (if not hundreds) of scripts to add all of the Nerd Vittles goodie bag: AsteriDex, Weather Reports, News Feeds, Email by Phone, TeleYapper, Telephone Reminders, Podcasts by Phone, and on and on. There will also be fax support, turnkey phone scripts, hosting providers with free DIDs and minutes to get you started, and loads of new stuff from developers who already are working on compatible add-on's. You add features when you need additional functionality. Otherwise, you skip the bloatware. And you can add your own feature requests to the growing Wish List on the Nerd Vittles Forum. Visit today and sign up. Just like everything else at Nerd Vittles, it won't cost you a dime.

For those that don't have a dedicated Linux machine, we've got a VMware version of PBX in a Flash for you today as well. It'll run on almost any fairly new Windows XP or Vista Desktop as a virtual Linux server. Just download and install the free VMware Player. For Mac users, you'll have to buy and install VMware Fusion. Then download and unzip pbxinaflash.zip (4K) into C:\pbxinaflash. The directory name is important, or nothing will work! Next, download the pbxinaflash.iso into C:\pbxinaflash from your favorite download site. Now open Windows Explorer and double-click on the .vmx file in your C:\pbxinaflash folder. And presto! You've got a PBX in a Flash... about 30 minutes to be exact. That wasn't too hard, was it?

For those with a dedicated Linux machine, our goal today is to get everyone off on the right foot with a clean, reliable install. If you have problems with the install or spot a bug, post your questions and suggestions on the Nerd Vittles Forum. We can't stress strongly enough that this is a collaborative adventure, and you are cordially invited to participate as not only a user but also a contributor. Whether that contribution takes the form of developing scripts or merely contributing bandwidth for .iso downloads, all of us will appreciate your efforts! Nerd Vittles is donating the first ten terabytes of download bandwidth each month. After that, we need some help. Send us an email with your location if you would be willing to co-host the pbxinaflash.iso. Money donations through the PayPal link at the top of this page also buy bandwidth. We average over 50,000 visitors a week so we're going to need some help to keep the lights on. Ultimately, we hope to let others host the ISO downloads. That will free up our bandwidth to maintain and host the PBX in a Flash script collection. All ISO images will include a checksum to make it easy for you to verify that you have The Real McCoy. At the initial installation prompt, simply type linux mediacheck and press the <Enter> key. The size of the ISO image is 658,966,528 bytes.

Our Apologies. We want to apologize for the difficulties some of you are experiencing downloading our new baby. Apparently, a few others are equally excited about its release. Here's the problem. There are LOTS of you! Our download site, pbxinaflash.net, originally was used not only for ISO downloads, but it also provided the VMware modules and install scripts that bring PBX in a Flash to life for everybody. Without access to pbxinaflash.net, no one could complete the install process. Because of the hammering the site was taking with all of the huge ISO downloads, it meant that even those that got the ISO could not complete the install because, by then, they probably lost access to the site. Don't worry. You can reboot later to finish the installation. In fairness to everyone, we took the following steps. We now have five download sites in operation with more to come. You also can obtain a free torrent as well as the VMware modules and install scripts from pbxinaflash.net and most of the other sites. If all of the free download sites are busy, we have put up a pay-as-you-go download site as well. The way this works is that you pay $5 with a credit card to download the ISO. You then can email the link to a friend who pays nothing for the download. When that friend releases the link that is provided, you can give it to another friend at no cost. Only the original download is not free, but it is dirt cheap and provides lots of backup bandwidth. So, if you get in a crunch, spring for the $5. Otherwise, check back at a different time of day and try again. Or better yet, use the torrent. You'll have it by morning. The more torrents that are seeded, the easier this will be for everyone during the mad rush. Our apologies!!

Getting Started with PBX in a Flash. Just like all the other offerings, you need to begin this adventure by downloading the ISO image for PBX in a Flash (628.44 MB). As new locations for ISO downloads come on line, we will add them to the download list. Just click on the location nearest to you. Once you've got the image in hand, use your favorite tool to burn it to a bootable CD. You're going to need a dedicated PC for this installation unless you're using VMware to run PBX in a Flash on your Windows or Mac desktop. A current PC in the $200-$300 price range from your favorite Big Box store should perform nicely as a dedicated Linux machine. We recommend at least 512MB of RAM and more won't hurt. And, remember, your hard disk will first be erased by this install. You've been warned... twice.

On the machine you wish to use for your new PBX in a Flash system, insert the CD containing the pbxinaflash.iso and then reboot. After reading the initial prompts and warnings, press the Enter key to begin the installation. Or, if you want to first check the media for corruption, type linux mediacheck and then press the <Enter> key. For Windows users, be sure you're doing this in the VMware window on your Desktop and not on the main screen of your PC! Erase the existing partition and accept the default for the partition layout when prompted. Then choose your time zone and leave the UTC system clock option unchecked. Next choose a root password for your new system. Make it secure, and write it down. We plan to use this password for virtually everything on your new system. The install process begins. This includes MySQL, Apache, PHP, CUPS, Samba, WebMin, Subversion, SendMail, Yum, Bluetooth support, SSL, Perl, Python, the kernel development package, and much more. In about 15 minutes depending upon the speed of your PC, the system will reboot. Be sure you eject the CD, or it will get installed again, and again. HINT: Hang around your machine at about the 15 minute mark. After reboot, the system will start up with CentOS 5, then download and install Asterisk and FreePBX, and search for the necessary installation scripts in the /scripts folder on pbxinaflash.net. If you don't have Internet connectivity, then the installation cannot complete. When the installation finishes, reboot your system and log in as root. The IP address of your PBX in a Flash system will also be displayed once you log in. Write it down, too. We'll need it in a minute.

Now that you've logged in a root, you should see the IP address displayed with the following command prompt: root@pbx:~/. If instead you see bash displayed as the command prompt and it's not green, then the installation has not completed. This is probably due to network problems. Fix these, then reboot and watch for the eth0 connection to complete. Assuming it doesn't fail the second time around, the installation will continue. Likewise, if you do not have DHCP on your network, the installation will fail because the PBX will not be given an IP address. Simply type netconfig, fill in the blanks and reboot. The install will recommence. You can obtain the IP address of your server at any time by issuing the ifconfig command.

There are three important things to do to complete the installation. First, from the command prompt, run genzaptelconf. This sets up your ZAP hardware as well as a timing source for conferencing. Second, decide how to handle the IP address for your PBX in a Flash server. The default is DHCP, but you don't want the IP address of your PBX changing. Phones and phone calls need to know how to find your PBX, and if your internal IP address changes because of DHCP, that's a problem. You have two choices. Either set your router to always hand out the same DHCP address to your PBX in a Flash server by specifying its MAC address in the reserved IP address table of your router, or run netconfig at the command prompt and assign a permanent IP address to your server. If you experience problems with the process, see this message thread on the forum. The third configuration requirement probably accounts for more beginner problems with Asterisk systems than everything else combined. Read the next section carefully and do it now!

Getting Rid of One-Way Audio. There are some settings you'll need to add to /etc/asterisk/sip_custom.conf if you want to have reliable, two-way communications with Asterisk: nano -w /etc/astersk/sip_custom.conf. The entries depend upon whether your Internet connection has a fixed IP address or a DHCP address issued by your provider. In the latter case, you also need to configure your router to support Dynamic DNS (DDNS) using a service such as dyndns.org. If you have a fixed IP address, then enter settings like the following using your actual public IP address and your private IP subnet:

localnet=      (NOTE: The first 3 octets need to match your private IP addresses!)

If you have a public address that changes and you're using DDNS, then the settings would look something like the following:

localnet=      (NOTE: The first 3 octets need to match your private IP addresses!)

Once you've made your entries, save the file: Ctrl-X, Y, then Enter. Reload Asterisk: amportal restart. If you assigned a permanent IP address, reboot your server: shutdown -r now.

Activating Email Delivery of Voicemail Messages. We've previously shown how to configure systems to reliably deliver email messages whenever a voicemail arrives unless your ISP happens to block downstream SMTP mail servers. Here's the link in case you need it. As it happens, you really don't have to use a real fully-qualified domain name to get this working. So long as the entry (such as pbx.dyndns.org) is inserted in both the /etc/hosts file and /etc/asterisk/vm_general.inc with a matching servermail entry of vm@pbx.dyndns.org (as explained in the link above), your system will reliably send emails to you whenever you get a voicemail if you configure your extensions in freePBX to support this capability. You can, of course, put in real host entries if you prefer. For 90% of the systems around the world, if you just want your server to reliably e-mail you your voicemail messages, make line 3 of /etc/hosts look like this with a tab after and spaces between the domain names:     pbx.dyndns.org pbx.local pbx localhost.localdomain localhost

And then make line 6 of /etc/asterisk/vm_general.inc look like the following:


Now issue the following two commands to make the changes take effect:

service network restart
amportal restart

The command "setup-mail" can be used from the Linux prompt to set the fully-qualified domain name (FQDN) of the mail that is sent out from your server. This may help mail to be delivered from the PBX. One of things mail servers do to reduce spam is to do a reverse lookup on where the mail has come from, checking that there is actually a mailserver at the other end. You can only do this if you have set up dynamic DNS or if you have pointed a hostname at your fixed IP address. Once you have done this, and assuming your ISP is cooperative, then you will receive your voicemails via email if you wish (this is set within FreePBX),and your PBX will email you when FreePBX needs an update. You set this feature in FreePBX General Settings.

If your hosting provider blocks downstream SMTP servers to reduce spam, here's a link on the PBX in a Flash forum to get you squared away.

Setting Passwords and Other Stuff. While logged into your server as root, you can configure many of the 'lesser' passwords on your system (i.e. those passwords with less than root privileges) as well as phones, ZAP hardware, and other goodies. The only command you have to remember is help-pbx. Be aware that there are four different usernames and passwords that are enforced in the web interface to your PBX:

maint... to go everywhere
wwwadmin... for users needing FOP and MeetMe access
meetme... for users needing only MeetMe access
FreePBX... default username:password for admin access is admin:admin

There also is an Administration password which can be set in the KennonSoft UI which appears when you point a browser at the IP address of your server. Do NOT use the same Admin password here that you use elsewhere because this one is not overly secure.

Configuring WebMin. WebMin is the Swiss Army Knife of Linux. It provides TOTAL access to your system through a web interface. Search Nerd Vittles for webmin if you want more information. Be very careful if you decide to enable it on the public Internet. You do this by opening port 9001 on your router and pointing it to the private IP address of your PBX in a Flash server. Before using WebMin, you need to set up a username and password for access. From the Linux prompt while logged in as root, type the following command where admin is the username you wish to set up and foo is the password you've chosen for the admininstrator account. HINT: Don't use admin and foo as your username and password for WebMin unless you want your server trashed!

/usr/libexec/webmin/changepass.pl /etc/webmin admin foo

To access WebMin on your private network, go to where is the private IP address of your PBX in a Flash server. Then type the username and password you assigned above to gain entry. To stop WebMin: /etc/webmin/stop. To start WebMin: /etc/webmin/start. For complete documentation, go here.

Updating and Configuring FreePBX. FreePBX is installed as part of the PBX in a Flash implementation. This incredible, web-based tool provides a complete menu-driven user interface to Asterisk. The entire FreePBX project is a model of how open source development projects ought to work. And having Philippe Lindheimer's as the Captain of the Ship is just icing on the cake. All it takes to get started with FreePBX is a few minutes of configuration, and you'll have a functioning Asterisk PBX complete with voicemail, music on hold, call forwarding, and a powerful interactive voice response (IVR) system. There is excellent documentation for FreePBX which you should read at your earliest convenience. It will answer 99% of your questions about how to use and configure FreePBX. For the one percent that is not covered in the Guide, visit the FreePBX Forums which are frequented regularly by the FreePBX developers. Kindly post FreePBX questions on their forum rather than the PBX-in-a-Flash Forum. This helps everybody. Now let's get started.

NOTE: PBX in a Flash comes with the IPtables firewall enabled on your system. If this causes problems with access to the FreePBX repository (for loading the FreePBX updates below), you can easily (and temporarily) turn off the firewall. Type help-pbx for assistance. Don't forget to restart the firewall especially if your system has any Internet exposure!

Now move to a PC or Mac and, using your favorite web browser, go to the IP address you deciphered above for your new server. Be aware that FreePBX has a difficult time displaying properly with IE6 and IE7 and regularly blows up with older versions of Safari. Be safe; use Firefox. From the PBX in a Flash Main Menu in your web browser, click on the Administration link and then click the FreePBX button. The username and password both default to admin. Click Apply Configuration Changes, Continue with Reload, and then Refresh your browser screen. Now click the Module Administration option in the left frame once FreePBX loads. Now click Check for Updates online in the upper right panel. Next, click Download All which will select every module for download and install. The important step here is to move down the list and Deselect Speed Dials and PHPAGI from the download and install options. You may also want to deselect Zork. Once these apps have been deselected, scroll to the bottom of the page and click Process, then Confirm, then Return once the apps are downloaded and installed, then Apply, then Continue with Reload. Now repeat the process once more and do not deselect the two applications, then Process, Confirm, Return, Apply Config Changes, and Continue with Reload. Finally, scroll down the Modules listing until you get to the Maintenance section. Click on each of the following and choose Install: ConfigEdit, Sys Info, and phpMyAdmin. Then click Process, then Confirm, then Return once the apps are downloaded and installed, then Apply, then Continue with Reload. All three of these tools now are installed in the Maintenance section of the Tools tab of FreePBX. You now have an up-to-date version of FreePBX. You'll need to repeat the drill every few weeks as new updates are released. This will assure that you have all of the latest and greatest software. To change your Admin password, click on the Setup tab in the left frame, then click Administrators, then Admin in the far right column, enter a new password, and click Submit Changes, Apply Configuration Changes, and Continue with reload. We're going to be repeating this process a number of times in the next section so... when instructed to Save Your Changes, that means "click Submit Changes, Apply Configuration Changes, and Continue with reload."

Choosing Internet Telephony Hosting Providers for Your System. Before you can place calls to users outside your system or to receive incoming calls, you'll need at least one provider (each) for your incoming phone number (DID) and incoming calls as well as a provider for your outbound calls (terminations). We have a list of some of our favorites here, and there are many, many others. Within a few weeks, we also will have some providers that will offer you some free minutes for trying their service with PBX in a Flash. You basically have two choices with most providers. You can either pay as you go or sign up for an all-you-can-eat plan. Most of the latter plans also have caps on minutes, and there are none of the latter plans for business service. In the U.S. market, the going rate for pay as you go service is about 1.5¢ per minute rounded to the tenth of a minute. The best deal on DIDs is from les.net. They charge $3.99 a month for a DID with unlimited, free incoming calls. We will have a free offer from les.net for PBX in a Flash users shortly. Another new provider with excellent service and per minute rates is Aretta Communications out of Atlanta. They also have agreed to co-host our ISO downloads for the U.S. East Coast. Thanks, Aretta! WARNING: Before you sign up for any all-you-can-eat plan, do some reading about the service providers. Some of them are real scam artists with backbilling and all sorts of unconscionable restrictions. You need to be careful. Our cardinal rule in the VoIP Wild West is never, ever entrust your entire PBX to a single hosting provider. As Forrest Gump would say, "Stuff happens!" And life's too short to have dead telephones, even if it's a rarity. NEWS FLASH: Here's a link to an AxVoice offer of free setup, a free DID in your choice of area codes, and a month's free minutes to get you started in the U.S. and Canada.

Setting Up FreePBX to Make Your First Call. There are four components in FreePBX that need to be configured before you can place a call or receive one from outside your PBX in a Flash system. So here's FreePBX for Dummies in less than 50 words. You need to configure Trunks, Extensions, Outbound Routes, and Inbound Routes. Trunks are hosting provider specifications that get calls delivered to and transported from your PBX to the rest of the world. Extensions are internal numbers on your PBX that connect your PBX to telephone hardware or softphones. Inbound Routes specify what should be done with calls coming in on a Trunk. Outbound Routes specify what should be done with calls going out to a Trunk. Everything else is basically fluff.

Trunks. When you sign up with most of the better ITHP's that support Asterisk, they will provide documentation on how to connect their service with your Asterisk system. If they have a trixbox tutorial, use that since it also used FreePBX as the web front end to Asterisk. Here's an example from les.net. And here's the Vitelity support page although you will need to set up an account before you can access it. We also have covered the setups for a number of providers in previous articles. Just search the Nerd Vittles site for the name of the provider you wish to use. You'll also find many Trunk setups in the trixbox Trunk Forum. Once you find the setup for your provider, add it in FreePBX by going to Setup, Trunks, Add SIP Trunk. Our AxVoice setup (which is all entered in the Outgoing section with a label of axvoice) looks like this with a Registration String of yourusername:yourpassword@sip.axvoice.com:


And our Vitelity Outbound Trunk looks like the following (labeled vitel-outbound) with no registration string:


Extensions. Now let's set up a couple of Extensions 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 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 ... 1234
dtmfmode ... rfc2833
Voicemail & Directory ... Enabled
voicemail password ... 1234
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

Now create several more extensions using the template above: 202, 203, 204, and 205 would be a good start. Keep the passwords simple. You'll need them whenever you configure your phone instruments.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. We're going to skip that tutorial today. You can search the site for lots of information on choosing providers. Assuming you have only one or two for starters, let's just set up a default outbound route for all your calls. Using your web browser, access FreePBX on your server and click Setup, Outbound Routes. Enter a route name of Everything. Enter the dial patterns for your outbound calls. In the U.S., you'd enter something like the following:


Click on the Trunk Sequence pull-down and choose your providers in the order you'd like them to be used for outbound calls.Click Submit Changes and then save your changes. Note that a second choice in trunk sequence only gets used if the calls fails to go through using your first choice. You'll notice there's already a 9_outside route which we don't need. Click on it and then choose Delete Route 9_outside. Save your changes.

Inbound Routes. We're also going to abbreviate the inbound routes tutorial just to get you going quickly today. 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 recommend you first build a Ring Group with all of the extension numbers you have created. Once you've done that, choose Inbound Routes, leave all of the settings at their default values and move to the Set Destination section and choose your Ring Group as the destination. Now click Submit and save your changes. That will set up a default incoming route for your calls. As you add bells and whistles to your system, you can move the Default Route down the list of priorities so that it only catches calls that aren't processed with other inbound routing rules.

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!

A more detailed tutorial complete with screenshots is under development and will be available shortly, but we wanted to provide those just getting started with Asterisk sufficient information today to get a working system.

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) if you purchase a little device (the size of a pack if cigs) known as a Sipura SPA-1001. It's under $60. Be sure you specify that you want an unlocked device, meaning it doesn't force you to use a particular service provider. Once you get it, plug the SPA-1001 into your LAN, and then plug your phone instrument into the SPA-1001. Your router will hand out a private IP address for the SPA-1001 to talk on your network. You'll need the IP address of the SPA-1001 in order to configure it to work with Asterisk. After you connect the device to your network and a phone to the device, pick up the phone and dial ****. At the voice prompt, dial 110#. The Sipura will tell you its DHCP-assigned IP address. Write it down and then access the configuration utility by pointing your web browser to that IP address.

Once the configuration utility displays in your web browser, click Admin Login and then Advanced in the upper right corner of the web page. When the page reloads, click the Line1 tab. Scroll down the screen to the Proxy field in the Proxy and Registration section of the form. Type in the private IP address of your Asterisk system which you wrote down previously. Be sure the Register field is set to Yes and then move to the Subscriber Information section of the form. Assuming your extensions were set up starting with 201, do the following. Enter House Phone as the Display Name. Enter 201 as the User ID. Enter 1234 as the Password, and set Use Auth ID to No. Click the Submit All Changes button and wait for your Sipura to reset. In the Line 1 Status section of the Info tab, your device should show that it's Registered. You're done. Pick up the phone and dial 1234# to test it out.

Downloading a Free Softphone. Unless you already have an IP phone, the easiest way to get started and make sure everything is working is to install an IP softphone. You can download a softphone for Windows, Mac, or Linux from CounterPath. Or download the pulver.Communicator or the snom 360 Softphone which is a replica of perhaps the best IP phone on the planet. Here's another great SIP/IAX softphone for all platforms that's great, too, and it requires no installation: Zoiper 2.0 (formerly IDEfisk). All are free! Just install and then configure with the IP address of your PBX in a Flash server. For username and password, use one of the extension numbers and passwords which you set up with freePBX. Once you make a few test calls, don't waste any more time. Buy a decent SIP telephone. We think the best value in the marketplace with excellent build quality and feature set (but probably not the best sound quality) is the $79 GrandStream GXP-2000. It has support for four lines, speaks CallerID numbers, has a lighted display, and can be configured for autoanswer with a great speakerphone. Some other great choices are the Aastra 9133i and the Siemans Cordless Dect phone. Do some reading before you buy. The Voxilla forums are a good place to start.

A Word About Ports. For the techies out there that want "the rest of the story" to properly configure firewalls, here's a list of the ports available and used by PBX in a Flash:

TCP 9080 - Duplicate HTTP
TCP 22 - SSH
TCP 9022 - Duplicate SSH
TCP 9001 - WebMin
UDP 10000-20000 - RTP
UDP 5004-5082 - SIP
UDP 4569 - IAX2
UDP 2727 - Media Gateway

A2Billing Installation. Our first example of how we plan to build up PBX in a Flash systems is the installation script for A2Billing. If you want A2Billing installed on your system, then log in as root and type install-a2billing. If you don't want A2Billing, then you don't download or run the script. When you return to the main web page for your server after installing A2Billing, you will have two new links for A2Billing customers and A2Billing admin. You will have to install the callback funtionality manually from the docs supplied in the install. A2Billing was created by Areski, who some of you may know was responsible for Web MeetMe, ConfigEdit, and the CDR reports included with FreePBX. A2Billing is sufficiently comprehensive that it warrants an article on its own, so we will save that for another day. Some of the projects we will be looking into are how to pass calls from FreePBX to A2Billing for least-cost routing, departmental billing services, building a calling card server, and a VoIP termination platform. Then you can change your name to Ma Bell and start selling minutes to all the people for whom you have installed PBX-in-a-Flash. If you can't wait, visit asterisk2billing.org.

Nerd Vittles Coming Attractions. First, we will have a new script repository up and running in a few days at pbxinaflash.org. Tom King, the ultimate scripting guru will be managing that site. So check it often. And now that PBX in a Flash is out the door, we're chomping at the bit to get all of the Nerd Vittles Goodies ported over. If you want to try one yourself, start with Weather by Airport Code which installs in under 5 minutes. Put your dialplan code in extensions_custom.conf, and be sure to heed the Asterisk 1.4 mod which is explained in the article. Hold off on AsteriDex because we have an updated version of that one for you within the next few weeks. If you still have a DBT-120 Bluetooth adapter, you'll be happy to learn that it works out-of-the-box with both the Linux and Windows versions of PBX in a Flash. Just take a look at our recent iPhone article on Proximity Detection, and you can configure your system to transfer your phone calls to your cellphone when you leave the house carrying your Bluetooth cellphone in about 5 minutes. Now spend some time reading up on FreePBX and enjoy your new toy. Santa came early this year!

Bug Fixes. There's only been one reported bug (horrors!) in PBX-in-a-Flash, but we wanted to provide a way to report them and to address them. So there's a new PBX-in-a-Flash forum dedicated to bug reporting and fixes. Be sure to visit once in a while just to keep your system current.

Some Recent Nerd Vittles Articles of Interest...


  1. great! Congratulations on your first release!
    I will be installing this in a few minutes, as soon as it finishes downloading. I plan on using it within a vmware machine inside of vista. My only intention is to use the DISA function. Hopefully it works this time. It did not work with the previous vmware version (1.2.3 I think it was).
    If I use VMWare server would I be able to run it as a service so that it boots up automatically after the host vista machine boots?

  2. Thank you, Thank you, Thank you, I have been waiting anxiously for the release, I installed the sneak peak without one issue and I can’t say that about any of the "other" versions out there I’ve tried, I’m glad you are not calling this a beta, it seems initially more stable than most of the final releases I’ve dealt with, I can’t thank you enough for all your hard work, you guys are the best.

  3. …And…… Here we go!!! Let’s start testing, testing and testing this release… let’s try everything!

    Thanks to all of the people involved in this new project!!!!

  4. Thanks a million to Ward and friends. The efforts of all contributors are greatly appreciated!!! Can’t wait for the download to finish and start playing.

  5. Looks like this puppy is popular. I can’t install because of a 503 service unavailable response from the server… must be getting hammered!

    [WM: Yeah. We’re getting hammered at the moment. Once you have the ISO installed, you can just reboot to try the download link for the script data again. For short-term workarounds, see this thread.]

  6. Excellent work! Bittorrent was my friend today. I haven’t gotten the scripts yet, but the base install went perfectly on my Parallels virtual machine. Once I’ve put it through its paces, I will be installing on a dedicated machine. It looks great!

    [WM:Bittorrent is a great product. Wish more folks would use it. We’ve moved the ISO off of pbxinaflash.net so you should be able to complete your install now.]

  7. Thanks Uncle Ward, Uncle Tom and the Nerdvittles Team!
    I can’t wait to start learning again so that I may contribute back.
    See you in the forums…


  8. Great work – looking forward to the hosted option and flexibility to move to that and then possibly back to internal hosting if needed. Any more info on timing or whatever for that provider/service you mentioned in your first post about this new system?

  9. I am not being sarcastic when I am saying it is great that all the custom graphics look, well, ordinary. Too much about Trixbox is how flashy and pretty is all looks, when it would be really nice if they just focussed on getting something that works!!! There will be plenty of time for fancy graphics later, that is the beauty of open source, some graphic designer out there I am sure will come to the party…

    Well done Uncle Ward & Team, I know how hard you guys must have worked on this one.

    [WM: Credit also goes to Joe Roper for the heavy lifting. And a graphic designer already has volunteered to assist. As you can tell, that’s not where the initial energy was focused.]

  10. Has the forum been hacked?.. get this when I got nerdvittles.com/forum : ooooooops your sit owne3d by djekmani4ever home:www.sec-evil.com

    [WM: Looks like vBulletin’s latest release 3.6.8 Patch Level 2 still has a hole. We’re on it. Thanks.]

  11. the torrent completed downloading for me in <12 minutes, in case anyone was wondering.

    [WM: Yeah. This may be The PBX That Torrent Built. The torrent downloads are running neck in neck with the free http downloads.]

  12. The Install is Graphical by default. Is this correct – or am I doing something wrong. It’s installing right now.

    [WM: Just the install is graphical. Ain’t it pretty! Enjoy.]

  13. consolidated my mini asterisk (running on NSLUG) and the big one (running on gentoo) onto a dedicated machine.. very nice installer, can’t wait to mess around with the scripts! Now to figure out what all those default thingies in the dialplan do (I’ve always compiled asterisk from scratch, build ‘very basic’ dialplans myself too). Your extensions_*.conf looks like magic 🙂 Cudoz on all the great work, guys !!!!!

  14. For Nerd Vittles users, AxVoice has extended an offer of a free DID and free U.S. and Canada service for the next month. You can read about it in the forum. Here are the Trunk settings that you will need to get your new service running smoothly:

    TRUNK NAME: axvoice


    Register String:

  15. AxVoice is no longer offering the free month.
    "Thank you for your interest in the service. We have reached our limit of Beta test accounts." -AxVoice website

  16. Is it possible to install pbx in a flash entirely remote? Even the ISO?

    Can it then be configured and managed remotely?

    [WM: There’s no remote network install… yet. It can certainly be configured and managed remotely with a number of tools: ssh, FreePBX with a browser, WebMin, etc.]

  17. Hello!
    I have a Cisco Call Manager Express (runs on a router), and some 7940 phones. I’m wondering if I could use PBX in a Flash/Asterisk for voice mail, auto-attendent, etc. applications, but leave my phones controlled by the CCME. I’m assuming that Asterisk has to control the phones directly (via SIP, obviously), for basic things like key presses to be recognized properly. Is that right? Any options/workarounds you can think of would be greatly appreciated!

    Many thanks,

  18. I am soooo sooo eXcited to try this baby out, but before I do I have laundry of questions:
    1. I run VMware ESXi v4 on a Dell PowerEdge. Any gotchas w/ running PiaF?
    2. Contemplating running PiaF on dedicated appliance/mini-pc.
    Recommendations? Following are my requirements:
    A) Support up to 5 simultaneous calls
    B) Would like RAID 1 or 5 support
    Instead of minimal configuration recommendations, I am looking for rather optimal configuration. Ideally, just like a turnkey PiaF, I would like to get recommendations on a "turnkey" appliance to host PiaF.

Comments are closed.