Here's a step-by-step guide to get PBX in a Flash™
up and running with Asterisk® 1.8. With this installation technique, your server can sit safely behind a hardware-based firewall with no port exposure to the Internet. In other words, it's SAFE!Atom-based PC Platform.
You need a dedicated server to run PBX in a Flash unless you elect to run PIAF on a virtual machine. We'll cover that in a separate tutorial. For the least expensive, dedicated hardware alternative, pick up an Atom-based PC, preferably not an EEE PC because of the network driver incompatibility with CentOS. The refurbished Acer Aspire Revos work great and can easily support a small business with dozens of phones: http://nerd.bz/nm1U7g PIAF ISO Setup.
Once you have your hardware connected to a reliable Internet source, you'll need to choose the appropriate ISO for your hardware install. If you have a CD-ROM or DVD drive on your server, we'd recommend the latest 32-bit PIAF 188.8.131.52 ISO. Just download it from http://pbxinaflash.sourceforge.net
or from one of our PIAF mirror sites: http://pbxinaflash.com/downloads
. Then burn the ISO to a CD: http://www.petri.co.il/how_to_write_iso_files_to_cd.htm
. Now you're ready to boot your server from the CD.
If your server lacks a CD-ROM and DVD drive, then download the 32-bit PIAF 184.108.40.206 FlashDrive ISO from SourceForge and copy it to a 1GB or larger thumb drive following the instructions in this Nerd Vittles tutorial: http://nerd.bz/p8IOTY
. Then boot your server from the thumb drive. You'll find OpenVZ and VMware templates on our download mirrors as well.PIAF Installation.
Once you've booted the PIAF installer, you'll be prompted to choose an installation method. For most users, simply pressing the Enter key will get things started. Depending on the performance of your server and the speed of your Internet connection, the installation process normally takes 15-60 minutes.
Choose a keyboard and time zone when prompted and then enter a very secure root password for your new server. The installer then will load CentOS 5.7 onto your server. When complete, your server will reboot. Remove the CD or Flash Drive during the reboot! Next you'll be prompted to choose the version of Asterisk to install. We recommend PIAF-Purple which loads the latest, stable release of Asterisk 1.8. During the final phase of the install, you will be prompted to choose a master password for FreePBX® and the other VoIP web utilities included in PBX in a Flash. You can either make up a very secure one or let the installer choose one for you.
Once your server reboots, log into the Linux CLI using your root password and write down the IP address of your server from the status
Most of your life with PBX in a Flash will be spent using the FreePBX web GUI and your favorite browser. To access the FreePBX GUI, point your browser to the IP address of your server. Always read the RSS Feed in the PIAF GUI for late-breaking security alerts. Then click on the <em>Users</em> button which will toggle to the <em>Admin</em> menu. Now click the FreePBX icon. When prompted for your username and password, the username is maint
. The password will be the FreePBX master password you chose in completing the PIAF install.
To get a minimal system functioning, here's the 5-minute drill. You'll need to set up at least one extension with voicemail, configure a free Google Voice account for free calls in the U.S. and Canada, configure inbound and outbound routes to manage incoming and outgoing calls, and plug your maint
password into CallerID Superfecta so that names arrive with your incoming calls. Once you add a phone with your extension credentials, you're done.Extension Setup.
Now let's set up an extension to get you started. A good rule of thumb for systems with less than 50 extensions is to reserve the IP addresses from 192.x.x.201 to 192.x.x.250 for your phones. Then you can create extension numbers in FreePBX to match those IP addresses. This makes it easy to identify which phone on your system goes with which IP address and makes it easy for end-users to access the phone's GUI to add bells and whistles. To create extension 201 (don't start with 200), click Setup, Extensions, Generic SIP Device, Submit
. Then fill in the blanks USING VERY SECURE PASSWORDS and leaving the defaults for all of the fields except User Extension
(201), Display Name
(a very secure extension password), Voicemail
(Enabled), and VoiceMail Password
(a secure numeric password). If you want notification of new voicemails by either email or pager, fill in those fields as well and check the appropriate boxes. Write down these passwords. You'll need them to configure your phone!
In addition to making up secure passwords, the installed version of FreePBX lets you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit
field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 192.168.1.142/255.255.255.255
. If most of your phones are on a private LAN, you may prefer to use a subnet entry in the permit field like this: 192.168.1.0/255.255.255.0
. Use your actual subnet obviously.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 one 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 this year. 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 Google Voice credentials in hand.Signing Up for Google Voice.
You'll need a dedicated Google Voice account to support PBX in a Flash. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!
We've tested this extensively using an existing Gmail account rather than creating a separate account. Take our word for it. Inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So... set up a dedicated Gmail and Google Voice account, and use it exclusively with PBX in a Flash. Google Voice no longer is by invitation only. If you're in the U.S. or have a friend that is, head over to http://google.com/voice
and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up: http://www.clazh.com/unlimited-free-international-calls-after-activating-google-voice-outside-us
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
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, the account won't work with PIAF.
While you're still in Google Voice Settings
, click on the Calls
tab. Make sure your settings match the following:
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 when you never heard the phone ring will be a big hint that something has come unglued.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... Your 10-digit Google Voice number
Username... Your Google Voice account name email@example.com
Password... Your Google Voice password
Be sure to check all three boxes below the above entries: Add trunk
, Add routes
, and Agree to TOS
. Then click Submit Changes
and reload FreePBX when prompted. Down the road, you can add additional Google Voice numbers by clicking the Add GoogleVoice Account
option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum: http://nerd.bz/sdnZPr
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
in the FreePBX GUI, 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 scroll down to the Set Destination
section and choose Extensions
in the left pull-down and 201
in the extension pull-down. Now click Submit
to save your changes and reload FreePBX. Now your incoming Google Voice calls will be routed to extension 201.IMPORTANT Final Step.
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
.CallerID Superfecta Setup.
CallerID Superfecta needs to know your maint password in order to access the necessary modules to retrieve CallerID information for inbound calls. Just click Setup, CID Superfecta
, and click on Default
in the Scheme listings in the right column. Scroll down to the General Options
section and insert your maint password in the Password
field. You may also want to enable some of the other providers and adjust the order of the lookups to meet your local needs. Click Agree and Save
once you have the settings adjusted.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
to save your changes. Done!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) with a little device known as an ObiHai 110. It's under $50 on Amazon: http://nerd.bz/vmr7lJ
. This device also supports connection of your PBX to Google Voice, a standard office or home phone line as well as a telephone. 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. You'll find lots of recommendations on Nerd Vittles and in the PBX in a Flash Forum.
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 http://www.counterpath.com/x-lite-download.html
. 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. Click OK
when finished. Your softphone should now show: Available
Now you're ready to start calling with PBX in a Flash. Enjoy!