Home » Search results for 'google voicemail transcription' (Page 4)

Search Results for: google voicemail transcription

The Most Versatile VoIP Provider: FREE PORTING

Triple Treat: Some Asterisk Utilities to Brighten Your Summer

[purehtml id=12]

If you live and breathe Asterisk® but don’t visit the PIAF Forum regularly, you’re missing one of the best VoIP resources on the Internet. To get everyone in the Independence Day mood, we thought we’d share a few of the new goodies that have appeared on the PIAF Forum since The Great Crash of 2013. Although each of these utilities was designed to support PBX in a Flash™ and Incredible PBX™ systems, with a little tweaking, they’ll work equally well on other CentOS 6-based Asterisk servers of any flavor so long as the base version of Asterisk is at least 1.8. They also run just fine with Incredible PBX for the Raspberry Pi.

Import Google Contacts into Asterisk Phonebook. For everyone still using Gmail after the NSA disclosures, this app is for you. Now you can share your Google Contacts with Asterisk as well as the NSA. The beauty of this utility is that it also makes your Google Contacts available as a CallerID Name lookup source for CallerID Superfecta. So all of those cellphone numbers in your contacts will now display real CallerID names when those folks call you. Our special tip of the hat to John Babb for producing the original script and to @raphou for finding it and sharing it with the PIAF community.

Before you can import your Google Contacts into the Asterisk Phonebook, you first need to install Google’s gdata Python client. Just log into your server as root using an SSH client and issue the following commands:

cd /root
mkdir Google
cd Google
wget https://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz
tar zxvf gdata*
cd gdata*
chmod +x setup.py
./setup.py install
wget http://pbxinaflash.com/googlecontacts.py
nano -w googlecontacts.py

Once the editor opens, you need make a couple changes in googlecontacts.py. NOTE: We’ve adjusted the original code for use in the United States. If you’re living elsewhere, then grab the original code on the PIAF Forum.

The code you downloaded looks like this (plus some required indentation):
#!/usr/bin/python
# googlecontacts.py v0.1
# By: John Baab
# Email: rhpot1991@ubuntu.com
# Purpose: syncs contacts from google to asterisk server
# Requirements: python, gdata python client, asterisk
#
# License:
#
# This Package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this package; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# On Debian & Ubuntu systems, a complete copy of the GPL can be found under
# /usr/share/common-licenses/GPL-3, or (at your option) any later version

import atom,re,sys,os
import gdata.contacts
import gdata.contacts.service

def main():
# Change this if you aren't in the US. If you have more than one country code in your contacts,
# then use an empty string and make sure that each number has a country code.
country_code = ""

gd_client = gdata.contacts.service.ContactsService()
gd_client.email = "yourname@gmail.com"
gd_client.password = "your_password"
gd_client.source = 'gcontact2ast'
gd_client.ProgrammaticLogin()
query = gdata.contacts.service.ContactsQuery()
query.max_results = 1000
feed = gd_client.GetContactsFeed(query.ToUri())

# delete all of our contacts before we refetch them, this will allow deletions
os.system("asterisk -rx \'database deltree cidname\'")

# for each phone number in the contacts
for i, entry in enumerate(feed.entry):
for phone in entry.phone_number:
# Strip out any non numeric characters
phone.text = re.sub('\D', '', phone.text)

# Remove leading digit if it exists, we will add this again later for all numbers
# Only if a country code is defined.
if country_code != "":
phone.text = re.sub('^\+?%s' % country_code, '', phone.text)

# Insert the number into the cidname database, reinsert the country code if defined.
os.system("asterisk -rx \'database put cidname %s%s \"%s\"\'" % (country_code,phone.text,entry.title.text))

if __name__ == "__main__":
main()

Before you save the script, you’ll need to make a few adjustments. First, insert your actual Gmail account name and password in lines 37 and 38. If you’re using 2-step authentication with your Google account, remember to generate and use an application-specific password. Your regular password won’t work! Second, if your Google Contacts include more than 1,000 phone entries, adjust the default setting on line 42. Now save the script: Ctrl-X, Y, then Enter. Then make the script executable: chmod +x googlecontacts.py.

Now you’re ready to import your Google Contacts. Just issue the following command: ./googlecontacts.py

You can check whether the import was successful by displaying a list of all the new entries in your Asterisk Phonebook. Here’s the command:

asterisk -rx "database show cidname"

Want to import entries from more than one Google account? It’s easy. Just make a duplicate of the script and repeat the setup process above with your new credentials. You’ll also need to comment out line 46 in the second script so that your previous import doesn’t get wiped out of the Asterisk Phonebook when you run the second script. Just make a mental note to run the scripts in the proper order whenever you wish to update your Asterisk Phonebook.

UPDATES: There’s now an Asterisk Phonebook app for Yealink T46G Color SIP phones. Once installed, you can look up and call numbers in your Asterisk Phonebook by pressing a button on your phone. Read all about it and download the app from the PIAF Forum.

For those using Google to host your own domain, there’s now a patch to let you import your Google Contacts into the Asterisk Phonebook as well. See this post on the PIAF Forum for the procedure.

If you’d like to keep your Asterisk Phonebook sync’d with your Google Contacts, then run the script every night by inserting the following line in /etc/crontab:

9 0 * * * root /root/Google/gdata-2.0.18/googlecontacts.py >/dev/null 2>&1

Now that you have your contacts imported, we need to adjust CallerID Superfecta so that incoming calls are scanned for a phone number match using the Asterisk Phonebook. Using a web browser, open FreePBX® and choose the CallerID Superfecta application. Modify CallerID Superfecta Lookup Sources in FreePBX to include Asterisk Phonebook. Make certain the Asterisk Phonebook entry appears near the top of the list so that it gets examined before any external lookup sources. This speeds up incoming call connections considerably.



Email Daily Call Log to Yourself. Many have requested a simple way to have a snapshot of your incoming daily calls emailed to the Asterisk administrator each day. Special thanks to @Boolah for the code. Using any PIAF system, simply create a file in /root called cdrlog.sh that looks like this:

#!/bin/bash
mysql -u root -ppassw0rd asteriskcdrdb -e 'SELECT calldate, clid FROM cdr WHERE DATE(calldate) = SUBDATE(CURDATE(), 1) AND did <> ""'

For Incredible PBX for the Raspberry Pi, the script should look like this:

#!/bin/bash
mysql -u root -praspberry asteriskcdrdb -e 'SELECT calldate, clid FROM cdr WHERE DATE(calldate) = SUBDATE(CURDATE(), 1) AND did <> ""'

Make the script executable: chmod +x /root/cdrlog.sh

Then run the script: /root/cdrlog.sh

If you’d like the listing of the previous day’s calls emailed to you each day, then add the following entry to /etc/crontab after inserting your actual email address:

8 0 * * * root /root/cdrlog.sh | mail -s "Daily Call Log" yourname@gmail.com >/dev/null 2>&1


Trunk Failure Email Alerts. One of the most frequently requested scripts on the PIAF Forum has been a utility which would alert you when one of your Asterisk trunks has failed. So here you go. This script monitors SIP, IAX2, and Google Voice trunks and sends you an email whenever one or more of the trunks fails. Just download the script, insert your email address at the top of the script, and add an entry to /etc/crontab to check the trunks as often as desired. The default setting is every 5 minutes.

cd /root
wget http://pbxinaflash.com/trunkcheck.tar.gz
tar zxvf trunkcheck.tar.gz
nano -w trunkcheck.sh
echo "5 * * * * root /root/trunkcheck.sh > /dev/null 2>&1" >> /etc/crontab


MP3 Playback of Voicemails with Optional Transcription. And we have a bonus application for you as well. By default, Asterisk voicemails that are delivered to your email address won’t play back on many computers and smartphones. This script fixes that while also providing the option to transcribe the first 15 seconds of the message into text. We’ve only tested this with PIAF-Green with Asterisk 11, but it also should work just fine with Incredible PBX 11 for the Raspberry Pi. To install it, log into your server as root and issue the following commands. If you want to activate the transcription feature, edit the downloaded script and change transcribe=0 to transcribe=1.

cd /root
wget http://pbxinaflash.com/installmp3stt.sh
chmod +x installmp3stt.sh
./installmp3stt.sh

Once you have run the installation script, you’ll need to make a couple of adjustments in the FreePBX GUI. Log into FreePBX 2.11 and choose Settings, Voicemail Admin, Settings and make the following changes:

format: wav|wav49
mailcmd: /usr/sbin/sendmailmp3

Now leave yourself a voicemail message after making certain that you’ve entered an email delivery address for the extension. Enjoy and Happy Fourth!


Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Wednesday, June 26, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. And, if you hurry, you also can take advantage of the early bird registration discount. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

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…

Googlicious: News, Weather, Stocks & Dictionary for Asterisk

Let’s face it. There are certain kinds of information you just don’t want to be without. And now a treasure trove of Google content is as close as your nearest Asterisk® telephone. Thanks to Google and Lefteris Zafiris, open source Asterisk text-to-speech (TTS) and speech-to-text (STT) tools are having a banner year. We wanted to join the party and offer a free collection of new Asterisk apps in conjunction with Lefteris’ new toolkits so you can take advantage of Google’s latest news, weather, and stock feeds as well as Google’s online dictionaries. Read all about the Google XML feeds here. As with most of Google’s experimental projects, there’s no guarantee that these feeds will work next year… or even next week.

With all of these new Nerd Vittles applications, you simply say what you want and leave the driving to us. To speed up the response time, just press # after saying what you’re looking for. For the weather application, get a current weather report and forecast for almost any city in the entire world. Just say the name of the city and the state, province, or country, e.g. Paris, France or Vancouver, British Columbia, or Huntsville, Alabama. You also can say the zip code or postal code for U.S. and Canadian cities if you prefer. And you can predefine 10 zip codes or postal codes for quick searches by just saying: "Number 2." We’ve predefined 0 through 9 for major Canadian cities to give you a head start. These can be changed in any way you like, including U.S. zip codes or even city and state (with no punctuation). And ignore the fact that the data array is named $canada. We were too lazy to change it to something more generic once we broadened the scope of the application. 🙄

But suppose you don’t want to choose a city and state or province. Instead you want to say a thorny Canadian mail code such as B2N 1X6. Well, now there’s a way to tell the software to let you do it phonetically. Just say: "phonetic bravo 2 nancy 1 xray 6" using any words that start with the same letters as the letters in the mail code.

The stock reports work in a similar way. Just say the name of the company’s ticker symbol and press #. Or you can predefine 10 companies to watch. Then quickly access the (almost) current trading price of your ten favorites by saying: "Number 9." We’ve predefined 10 stocks to watch to get you started. Change the entries to meet your needs by editing nv-stocks-google.php in /var/lib/asterisk/agi-bin.

What we’ve learned in building STT applications is that saying individual letters is not Google’s finest hour in speech-to-text transcription. The reason is that Google built their transcription service primarily to support conversational speech and voicemail transcription, and most folks don’t spell out words. They just say them. So… if you have problems getting good results by spelling out I-B-M, try this: "letter i, letter b, letter m." Or, better yet, just use the predefined stock option to set up your 10 favorite stocks. Then say "number 6″ whenever you want to retrieve the current trading price of Microsoft:

With the stock reports, we’ve also added the NATO phonetic alphabet to our bag of tricks. So, for I-B-M, you can simply say "India Bravo Mike" and the words will be converted to "IBM." If it’s been a while since your soldiering days, here’s a cheat sheet for you. Actually, the code is smart enough to understand any words that begin with the same letter as any particular character in the stock symbol so long as Google understands you. For example, saying "monkey smells furry things" would return the Microsoft (MSFT) stock report. Heh.

With the news headlines, you don’t have to do anything but dial the extension number and listen to the news. The number of news stories played can be adjusted by changing the 5 in line 6 of the 951 extension of /etc/asterisk/ extensions_custom.conf.

To access the online dictionaries, you have two choices. Either use Google’s own dictionary or you can open your search up to the entire web and take advantage of a much broader selection of information including Wikipedia, the Urban Dictionary, and the Free Encyclopedia. Just dial 333 and say one of the following: "define nerd" or "web define rocket scientist." You get the idea.

Prerequisites. There’s lots of Linux code necessary to make all of this work. Lucky for you, all of it comes preinstalled in the latest PBX in a Flash releases regardless of the flavor you’re running. You’ll also need activate at least one Google Voice account on your Asterisk server if you plan to use the dictionary application. If you’re using some other distribution, all we can suggest is that you peel our install script apart and attempt to install each piece. Linux is pretty good at telling you which dependencies are missing.

Installation. Installing these STT/TTS applications couldn’t be easier. It takes less than a minute on PBX in a Flash systems. Log into your server as root and issue the following commands:

cd /root
wget http://incrediblepbx.com/google-apps.tgz
tar zxvf google-apps.tgz
./install-google-apps

Using the STT/TTS Apps. From any telephone connected to your Asterisk server, just dial the following numbers to access the three Google STT/TTS applications:

  1. 333 – Dictionary
  2. 949 – Weather
  3. 950 – Stocks
  4. 951 – News Headlines

To meet your own needs, don’t forget to adjust the quick call entries in the weather and stocks AGI scripts. And remember to use the "letter" and "number" tricks to improve accuracy. There’s also some experimental code that you may wish to read about and take for a test drive.

Nerd’s Nugget: We’ve been wrestling with a new methodology to make it easy for folks to update Nerd Vittles apps by simply running the installer a second or third time. Today marks the beginning of this new approach. If you look at the dialplan code in extensions_custom.conf, you’ll see each TTS extension begins like this: ;# // BEGIN nv-weather-google. And the extension ends with a matching marker: ;# // END nv-weather-google. What this does is make it incredibly easy to remove the code using a single SED command:

sed -i ‘\:// BEGIN nv-weather-google:,\:// END nv-weather-google:d’ /etc/asterisk/extensions_custom.conf

We’ll post changes and additions for today’s scripts on the PIAF Forum. Join by clicking on the link below.

Originally published: Monday, May 14, 2012

Updated: Monday, May 28, 2012



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


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

PIAF 2.0.6.2.3: It’s PIAF-Brown with Certified Asterisk

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

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

Featuring superior scalability, improved performance, better resource management, and unmatched device support, PBX in a Flash 2.0.6.2 brings you the most versatile Asterisk platform on the planet with the latest and greatest releases of virtually every major open source product in the marketplace. And you can choose either the 32-bit or 64-bit platform. For those needing additional Asterisk customization, PIAF2 also provides direct access to Asterisk's menuconfig system which lets you tailor the selection of Asterisk modules you wish to deploy. With 2.0.6.2.3, we've included a new menu-driven installation option that lets you add network drivers for many of the latest and greatest network cards that are not yet supported in the Linux kernel. We've also updated the kernel to eliminate many of the bugs reported in the default CentOS 6.2 kernel. And, of course, PIAF2 continues to provide the only turnkey Google Voice solution providing immediate free calling throughout the U.S. and Canada with any of the default flavors of PIAF.

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

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

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

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

Choosing a Custom Version of Asterisk. From the Main Install Menu, you also have the option of exiting to the Linux command prompt to select from a broad list of newer Asterisk releases. If you choose this option, you'll be prompted to log into your server as root with the root password you chose initially. Once logged in, you can execute any series of Linux commands or issue one of the following commands to choose a specific release of Asterisk:

  • piafdl -p beta_1880_purple (loads Asterisk 1.8.8.0)
  • piafdl -p beta_1881_purple (loads Asterisk 1.8.8.1)
  • piafdl -p beta_1882_purple (loads Asterisk 1.8.8.2)
  • piafdl -p beta_1890_purple (loads Asterisk 1.8.9.0)
  • piafdl -p beta_1891_purple (loads Asterisk 1.8.9.1)
  • piafdl -p beta_1892_purple (loads Asterisk 1.8.9.2)
  • piafdl -p beta_1893_purple (loads Asterisk 1.8.9.3)
  • piafdl -p beta_18101_purple (loads Asterisk 1.8.10.1)
  • piafdl -p beta_18110_purple (loads Asterisk 1.8.11.0)
  • piafdl -p beta_18111_purple (loads Asterisk 1.8.11.1)
  • piafdl -p beta_18120_purple (loads Asterisk 1.8.12.0)
  • piafdl -p beta_1811_brown (loads Asterisk 1.8.11-cert1)
  • piafdl -p beta_1000_red (loads Asterisk 10.0.0)
  • piafdl -p beta_1001_red (loads Asterisk 10.0.1)
  • piafdl -p beta_1010_red (loads Asterisk 10.1.0)
  • piafdl -p beta_1011_red (loads Asterisk 10.1.1)
  • piafdl -p beta_1012_red (loads Asterisk 10.1.2)
  • piafdl -p beta_1013_red (loads Asterisk 10.1.3)
  • piafdl -p beta_1020_red (loads Asterisk 10.2.0)
  • piafdl -p beta_1021_red (loads Asterisk 10.2.1)
  • piafdl -p beta_1030_red (loads Asterisk 10.3.0)
  • piafdl -p beta_10311_red (loads Asterisk 10.3.1.1)
  • piafdl -p beta_1040_red (loads Asterisk 10.4.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Once you have the IP address of your server, just point your browser to that IP address to bring up the PIAF GUI (shown below). Review the PIAF RSS Feed. We recommend checking this RSS Feed daily by pointing your browser to the IP address of your server. The RSS Feed is displayed in the left column of the GUI and will alert you to any newly discovered security vulnerabilities in CentOS, Asterisk, FreePBX, or PIAF2. Click on the Users tab to change to the Admin panel, and then select FreePBX to load the FreePBX GUI.

You also can access the FreePBX GUI directly by pointing your browser to the IP address of your PIAF2 server: http://ipaddress/admin. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose in the Config Module phase of the PIAF2 install above.

To get a minimal system functioning to make and receive calls, here's the 2-minute drill. You'll need to set up at least one extension with voicemail and configure a free Google Voice account for free calls in the U.S. and Canada. Next, configure inbound and outbound routes to manage incoming and outgoing calls. Finally, add a phone with your extension credentials, and you're done.

A Word About Security. PBX in a Flash has been engineered to run on a server sitting safely behind a hardware-based firewall with NO port exposure from the Internet. Leave it that way! It's your wallet and phone bill that are at stake. If you're running PBX in a Flash in a hosted environment with no hardware-based firewall, then immediately read and heed our setup instructions for Securing Your VoIP in the Cloud Server.

Extension Setup. Now let's set up an extension to get you started. If you installed Incredible PBX, you can skip this step. Your extensions are preconfigured with secure, random passwords. A good rule of thumb for systems with less than 50 extensions is to reserve the IP addresses from 192.x.x.201 to 192.x.x.250 for your phones. Then you can create extension numbers in FreePBX to match those IP addresses. This makes it easy to identify which phone on your system goes with which IP address and makes it easy for end-users to access the phone's GUI to add bells and whistles. To create extension 201 (don't start with 200), click Setup, Extensions, Generic SIP Device, Submit. Then fill in the following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

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

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

Write down the passwords. You'll need them to configure your SIP phone.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won't protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password if your SIP or IAX ports happen to be exposed to the Internet.

In addition to making up secure passwords, the latest versions of FreePBX also let you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 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 using your actual subnet.

Courtesy of wordle.net

Adding a Google Voice Trunk. There are lots of trunk providers, and one of the real beauties of having your own PBX is that you don't have to put all of your eggs in the same basket... unlike the AT&T days. We would encourage you to take advantage of this flexibility. With most providers, you don't pay anything except when you actually use their service so you have nothing to lose.

For today, we're going to take advantage of Google's current offer of free calling in the U.S. and Canada through the end of 2012. You also get a free phone number in your choice of area codes. PBX in a Flash now installs a Google Voice module for FreePBX that lets you set up your Google Voice account with PBX in a Flash in just a few seconds once you have your credentials.

Signing Up for Google Voice. You'll need a dedicated Google Voice account to support PBX in a Flash. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We've tested this extensively using an existing Gmail account rather than creating a separate account. Take our word for it. Inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So... set up a dedicated Gmail and Google Voice account1, and use it exclusively with PBX in a Flash. Google Voice no longer is by invitation only. If you're in the U.S. or have a friend that is, head over to the Google Voice site and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work... in either direction. You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don't skip this step either. Just enter the provided confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you'd like in Settings, Voice Setting, Phones. But...

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That's the destination we need for PBX in a Flash to function with Google Voice! Otherwise, inbound and/or outbound calls will fail. If you don't see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings and enable it. Be sure to try one call each way from Google Chat in Gmail. Then disable Google Chat in GMail for this account. Otherwise, it won't work with PIAF.

While you're still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call Screening - OFF
  • Call Presentation - OFF
  • Caller ID (In) - Display Caller's Number
  • Caller ID (Out) - Don't Change Anything
  • Do Not Disturb - OFF
  • Call Options (Enable Recording) - OFF
  • Global Spam Filtering - ON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Configuring Google Voice Trunk in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize PBX in a Flash to meet your specific needs. Click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don't use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. Down the road, you can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. It also provides redundancy which costs you nothing if you don't use the backup providers. The Google Voice module actually configures an Outbound Route for 10-digit Google Voice calling as part of the automatic setup. If this meets your requirements, then you can skip this step for today.

Inbound Routes. An Inbound Route tells PBX in a Flash how to route incoming calls. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we'll build a simple route that directs your Google Voice calls to extension 201. Choose Inbound Routes, leave all of the settings at their default values except enter your 10-digit Google Voice number in the DID Number field. Enable CallerID lookups by choosing CallerID Superfecta in the CID Lookup Source pulldown. Then move to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit and save your changes. That will assure that incoming Google Voice calls are routed to extension 201.

IMPORTANT: Before Google Voice calling will actually work, you must restart Asterisk from the Linux command line interface. Log into your server as root and issue this command: amportal restart.

General Settings. Last, but not least, we need to enter an email address for you so that you are notified when new FreePBX updates are released. Scroll to the bottom of the General Settings screen after selecting it from the left panel. Plug in your email address, click Submit, and save your changes. Done!

Configuring a SIP Phone. There are hundreds of terrific SIP telephones and softphones for Asterisk-based systems. Once you get things humming along, you'll want a real SIP telephone such as the $50 Nortel color videophone we've recommended previously. You'll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you're like us, we want to make damn sure this stuff works before you shell out any money. So, for today, let's download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from this link. Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using 201 for your extension and your actual password for extension 201. Then plug in the actual IP address of your PBX in a Flash server instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Enabling Google Voicemail. Some have requested a way to retain Google's voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you'll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

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

But I Don't Want to Use Google Voice. If you'd prefer not to use Google Voice at all with PBX in a Flash, that's okay, too. Here's how to disable it and avoid the chatter in the Asterisk CLI. Log into your server as root and edit /etc/asterisk/modules.conf. Change the first three lines in the [modules] context so that they look like this. Then restart Asterisk: amportal restart.

autoload=yes
noload => res_jabber.so
noload => chan_gtalk.so

There's now a patch that automatically adjusts Asterisk to accommodate Google Voice whenever you have added Google Voice extensions to your system. To download and install the patch, visit the PIAF Forum.

Originally published: Monday, May 7, 2012



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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



Some Recent Nerd Vittles Articles of Interest...

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

Thumbs Up: A New Flash Drive Installer for PIAF2 + CentOS6

Original photo courtesy of Green House Co. Ltd.

With the advent of netbooks and the gradual disappearance of optical drives, it’s just a matter of time until USB thumb drives will be the only remaining physical installation method still available for most software. Look no further than Apple’s Lion OS if you don’t believe it. Of course, if Microsoft has its way, no installation of Linux will be available with some Windows 8 hardware… for your own safety, of course. We’ll leave that for the courts to sort out.

Since inception, one of the key goals of the PBX in a Flash™ project has been to provide an install option that works reliably with USB thumb drives. Thanks to the great work of bmore on the PIAF Forums, a USB Flash Drive installer was developed for PBX in a Flash 1.7.5.6.2. And today, we’re pleased to deliver a more flexible thumb drive installation method for 32-bit PIAF2™ installs running under CentOS™ 6.2. With this new thumb drive installer comes support for every current version of Asterisk® and FreePBX®.

With PIAF2, you get your choice of Asterisk 1.8.8.0 or 10.0.0 as well as FreePBX 2.8, 2.9, or 2.10. And, with the standard PIAF2 ISO installer, you also have the option of exiting to the Linux command prompt to compile a network driver or to select from a broad selection of newer Asterisk releases. If you choose this option, you’ll be prompted to log into your server as root with the root password you chose initially. Once logged in, you can execute any series of Linux commands or issue one of the following commands to choose a specific release of Asterisk:

  • piafdl -p beta_1881_purple (loads Asterisk 1.8.8.1)
  • piafdl -p beta_1882_purple (loads Asterisk 1.8.8.2)
  • piafdl -p beta_1890_purple (loads Asterisk 1.8.9.0)
  • piafdl -p beta_1891_purple (loads Asterisk 1.8.9.1)
  • piafdl -p beta_1892_purple (loads Asterisk 1.8.9.2)
  • piafdl -p beta_1893_purple (loads Asterisk 1.8.9.3)
  • piafdl -p beta_1001_red (loads Asterisk 10.0.1)
  • piafdl -p beta_1010_red (loads Asterisk 10.1.0)
  • piafdl -p beta_1011_red (loads Asterisk 10.1.1)
  • piafdl -p beta_1012_red (loads Asterisk 10.1.2)
  • piafdl -p beta_1013_red (loads Asterisk 10.1.3)

WARNING: Asterisk 10.1.x releases reportedly break Google Voice! The good news is that the new PIAF deployment policy for Asterisk releases is working. We no longer incorporate the latest Asterisk releases as the default PIAF install before independent testing. You, of course, are free to load and test any of the releases you wish using the commands outlined above.

If you compiled a network driver and wish to resume the installation process, just reboot the server. If you chose a specific flavor of Asterisk, simply accept the license agreement and the customized PIAF2 install will continue. Here’s a quick overview of what happens next.

The PIAF2 installer then syncs the time on your server to NTP, installs the latest yum updates for CentOS 6.2, installs the versions of Asterisk and FreePBX you selected (HINT: Incredible PBX requires FreePBX 2.9) and some other utilities including WebMin, Festival and Flite text-to-speech support for Asterisk, and, of course, the Google Voice GUI which lets you configure PIAF2 to make free calls in the U.S. and Canada in a matter of seconds. Finally the PIAF2 installer patches your system to activate the IPtables firewall for both IPv4 and IPv6 as well as adding Fail2Ban monitoring for Asterisk, SSH, and your Apache web server.

As part of the install procedure, you also will be prompted to choose a version and master password for FreePBX and the other VoIP web utilities. Once your server reboots, you can log into the Linux CLI using your root password to obtain the IP address of your server. Then you can access the PIAF2 web GUI with a browser pointed to the same IP address. To access the FreePBX GUI, choose that icon from the Admin menu. Just click on the User button to get there. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose during the PIAF2 install. We’ll walk you through the install steps once we get your USB thumb drive set up.

PBX on a Flash

Here’s the 5-minute drill to get a USB thumb drive loaded with the latest and greatest 32-bit PIAF2 ISO. Once you get that far, follow the PIAF2 install steps outlined below to get your system up and running. In less than an hour, you’ll have a fully functioning, rock-solid reliable PBX that can meet all of your telephony requirements. And, remember, it’s free and always will be™.

Prerequisites. To get everything installed on your USB Flash Drive, you’ll obviously need at least a 1GB Flash Drive. HINT: 2GB flash drives may be cheaper! Next, you’ll need a Windows XP/Vista/7 computer on which to set up the thumb drive. On the Windows PC, you’ll need to download and install the latest, greatest version of ISO2USB from SourceForge. We recommend you also download and install the HP Formatting Utility for flash drives. Finally, you’ll need to download the 32-bit PIAF 2.0.6.2.1 ISO from SourceForge.

Creating USB Flash Drive. Step #1 is to partition and format your USB flash drive as a FAT32 device. Some flash drives are temperamental about the formatting step. We can’t recommend strongly enough using the HP Formatting Utility to make certain you get a reliable, properly formatted thumb drive! Also be careful that you are, in fact, formatting your thumb drive and not your Windows hard disk!

Step #2, once the device is properly formatted, run ISO2USB. You’ll get a screen that looks like what is shown above. Click on the … button to the right of DiskImage ISO and choose the PIAF2 ISO that you downloaded to your Desktop. Make certain that the destination device shown on the bottom line of the display is your USB flash drive. You do not want to accidentally trash your primary drive!

Here’s the tricky part to this. You need to know the drive names of the devices on the target machine where you ultimately will be using this thumb drive. Try these commands on your target machine using a Linux LIVE CD if you’re unsure: dmesg | grep logical AND dmesg | grep sectors. For most modern machines with IDE drives, the names will be sda, sdb, etc. For older machines, they may be hda, hdb. You’ll know if it doesn’t work. 🙂

The gotcha with CentOS 6.x is that, whenever you boot a machine using a USB flash drive with CentOS 6.x, the device names get switched for that boot only. The USB boot device becomes sda even if your hard disk on the system shows up as sda when it is running without a thumb drive. So… in the ISO2USB setup, change the Hard Disk Name to sdb, and change the USB Device Name to sda. For Foxconn hardware and AMD BIOS machines, use sdc instead of sdb. A few other systems use sdd. In all cases, use sda for the USB Device Name. And, as we noted, you’ll know quickly if you made the wrong choice. Just recreate the thumb drive using the next letter in the alphabet. 😉

Once you’ve double-checked your USB destination drive (HINT: the drive size is quite different), choose OK to begin. When the ISO install completes, don’t forget to Eject your USB flash drive before removing it from the Windows PC!

Using the USB Flash Installer. When using the new flash installer, remember that we need to boot your new machine from the thumb drive. On most newer Atom-based computers, you accomplish this by inserting the USB device, turning the machine on, and then pressing F12 during the boot sequence to choose the boot device. You’ll just have to watch the screen of your new computer to see if some other key is used to pull up the boot selection screen. If all else fails, you can adjust the boot sequence in the BIOS settings to boot first from the USB device. If you change your BIOS boot sequence, just remember to remove the device when the initial install of CentOS completes and the PIAF2 reboot sequence begins. If instead you again see the initial PIAF2 install screen warning you that your disk is about to be erased, then remove the thumb drive and reboot the machine once again.

PIAF Installation. Once you’ve booted with your PIAF2 thumb drive, you’ll be prompted to choose an installation method. For most users, simply pressing the Enter key will get things started. Choose a time zone when prompted and then enter a very secure root password for your new server. The installer then will load CentOS 6.2 onto your server. When complete, your server will reboot. Remove the thumb drive at this point, and you’ll be prompted to choose the version of Asterisk to install. See the discussion above for making a selection. If you see a Linux login prompt instead, it means sdb was the wrong device name for your server’s hard disk. Log in as root using the password you set up previously and issue the following commands to decipher the correct device name. Then rebuild your thumb drive using the correct device name and start again.

ls /dev/sd*
ls /dev/dd*

If all went well, after choosing the version of Asterisk to install, you’ll be prompted for a version of FreePBX and a master password for FreePBX. Make it very secure! We recommend FreePBX 2.9 if you plan to use Incredible PBX. Once you’ve made your choices, the PIAF2 installer will load Asterisk, FreePBX, and all the other PBX in a Flash components including Google Voice.

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 display.

Security Warning: Always, always, always run PBX in a Flash behind a secure, hardware-based firewall with no PBX in a Flash ports exposed to the Internet! After all, it’s your phone bill.

FreePBX Setup. Most of your life with PBX in a Flash will be spent using the FreePBX web GUI and your favorite browser. Just click on the image below to enlarge. To access the FreePBX GUI, point your browser at the IP address you wrote down. Read the RSS Feed in the PIAF GUI for late-breaking security alerts. Then click on the Users button which will toggle to the Admin menu. 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 PIAF2 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 following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

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

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

Write down the passwords. You’ll need them to configure your SIP phone.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won’t protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password if your SIP or IAX ports happen to be exposed to the Internet. Incredible PBX automatically randomizes all of the extension passwords for you.

In addition to making up secure passwords, the latest versions of FreePBX also let you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 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 using your actual subnet.

Courtesy of wordle.net

Adding a Google Voice Trunk. There are lots of trunk providers, and one of the real beauties of having your own PBX is that you don’t have to put all of your eggs in the same basket… unlike the AT&T days. We would encourage you to take advantage of this flexibility. With most providers, you don’t pay anything except when you actually use their service so you have nothing to lose.

For today, we’re going to take advantage of Google’s current offer of free calling in the U.S. and Canada through the end of 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 credentials.

Signing Up for Google Voice. You’ll need a dedicated Google Voice account to support PBX in a Flash. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We’ve tested this extensively using an existing Gmail account rather than creating a separate account. Take our word for it. Inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So… set up a dedicated Gmail and Google Voice 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 the Google Voice site and register. If you’re living on another continent, see MisterQ’s posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don’t skip this step either. Just enter the provided confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you’d like in Settings, Voice Setting, Phones. But…

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for PBX in a Flash to function with Google Voice! Otherwise, inbound and/or outbound calls will fail. If you don’t see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings and enable it. Be sure to try one call each way from Google Chat in Gmail. Then disable Google Chat in GMail for this account. Otherwise, it won’t work with PIAF.

While you’re still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Configuring Google Voice Trunk in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize PBX in a Flash to meet your specific needs. Click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don’t use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. Down the road, you can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. It also provides redundancy which costs you nothing if you don’t use the backup providers. The Google Voice module actually configures an Outbound Route for 10-digit Google Voice calling as part of the automatic setup. If this meets your requirements, then you can skip this step for today.

Inbound Routes. An Inbound Route tells PBX in a Flash how to route incoming calls. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we’ll build a simple route that directs your Google Voice calls to extension 201. Choose Inbound Routes, leave all of the settings at their default values except enter your 10-digit Google Voice number in the DID Number field. Enable CallerID lookups by choosing CallerID Superfecta in the CID Lookup Source pulldown. Then move to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit and save your changes. That will assure that incoming Google Voice calls are routed to extension 201.

IMPORTANT: Before Google Voice calling will actually work, you must restart Asterisk from the Linux command line interface. Log into your server as root and issue this command: amportal restart.

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, and 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) if you purchase a little device known as a Sipura SPA-3102. It’s under $70. Be sure you specify that you want an unlocked device, meaning it doesn’t force you to use a particular service provider. This device also supports connection of your PBX to 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 such as the $50 Nortel color videophone we’ve recommended previously. You’ll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you’re like us, we want to make damn sure this stuff works before you shell out any money. So, for today, let’s download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from this link. Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using 201 for your extension and your actual password for extension 201. Then plug in the actual IP address of your PBX in a Flash server instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Enabling Google Voicemail. Some have requested a way to retain Google’s voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you’ll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

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

But I Don’t Want to Use Google Voice. If you’d prefer not to use Google Voice at all with PBX in a Flash, that’s okay, too. Here’s how to disable it and avoid the chatter in the Asterisk CLI. Log into your server as root and edit /etc/asterisk/modules.conf. Change the first three lines in the [modules] context so that they look like this. Then restart Asterisk: amportal restart.

autoload=yes
noload => res_jabber.so
noload => chan_gtalk.so

There’s now a patch that automatically adjusts Asterisk to accommodate Google Voice whenever you have added Google Voice extensions to your system. To download and install the patch, visit the PIAF Forum.

Where To Go From Here. We’ve barely scratched the surface of what you can do with your new PBX in a Flash system. If you’re new to all of this, then your next step probably should be the Nerd Vittles’ Incredible PBX 3.0 and Incredible Fax 2.0 tutorial. It’s a 5-minute addition. And, of course, all 50 Asterisk applications in Incredible PBX are free and always will be. Enjoy!

PBX on a Flash

Getting Your Own PIAF Thumb Drive. Some of you have asked about how to obtain your very own PIAF thumb drive. Well, it’s easy. Just make a contribution of $50 or more to the Nerd Vittles and PBX in a Flash projects by clicking the PayPal Donate button at the top of this page, and we’ll get one off to you pronto. And, thanks in advance for your support of freeware and open source projects!

Originally published: Monday, February 20, 2012



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

Introducing Incredible PBX 3.0 and Incredible Fax 2.0

As Nerd Vittles begins its seventh year, a birthday bash is certainly in order. And today we have not one but two of Tom King's reworked masterpieces to introduce. The PIAF2™ introduction with CentOS 6.2™ and your choice of Asterisk® and FreePBX® versions has certainly brought its share of challenges. But, with the new year, we're finally comfortable recommending everyone make the switch. Almost everything is faster, more stable, and smoother with CentOS 6.2. Yes, the pain is worth the gain. But this new platform also meant significant rewrites of some of our VoIP workhorses, and today everything is finally ready for prime time.

News Flash: Incredible PBX 4.0 is now available with FreePBX 2.10 support!

Coming January 19: Incredible PBX 11 & Incredible Fax for Asterisk 11 and FreePBX 2.11

Incredible PBX 3.0™ brings literally dozens of turnkey Asterisk applications to your PIAF2 server, and the installation process is so simple a monkey could do it. And Incredible Fax 2.0™ delivers free faxing with HylaFax™ and AvantFax® in a setup process that's as simple as pressing the Enter key. When you're finished, you'll have one of the open source wonders of the world with free phone calls and faxing throughout the U.S. and Canada together with almost every Asterisk application ever developed. There's more good news. You don't have to be smarter than a fifth grader to get any of it installed and working reliably with Asterisk. In fact, all of the new installers now are rolled into the base PBX in a Flash 2.0™ installation. Just run two simple scripts, and presto. You're done!

The Incredible PBX 3 Inventory. For those that have never heard of The Incredible PBX, here's the current 3.0 feature set in addition to the base install of PBX in a Flash with the CentOS 6.2, Asterisk 1.8 or 10, FreePBX 2.9, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Cepstral TTS, Incredible Fax, Hamachi VPN, and Mondo Backups are still just one command away and may be installed using the scripts included with Incredible PBX 3.

What began as a kludgey, dual-call, dual-provider Google Voice implementation to take advantage of Google's free PSTN calling in the U.S. and Canada with Asterisk 1.4 and 1.6 is now a zippy-quick, Gtalk-based calling platform that rivals the best SIP-to-SIP calls on the planet and provides virtually instantaneous PSTN connections to almost anybody, anywhere. Trust us! Except for the price which is still free, you'll never know you weren't connected via Ma Bell's overpriced long-distance lines and neither will the Little Mrs. And, yes, our recommended $50 Nortel SIP videophone is plug-and-play.

Just download the latest 32-bit or 64-bit PBX in a Flash 2.0.6.2 ISO from SourceForge, burn to then boot from the PIAF2 CD, choose the PIAF-Purple option to load Asterisk 1.8 or PIAF-Red to load Asterisk 10, and pick FreePBX 2.9 when prompted. Once the PIAF2 install is completed, just run the new Incredible PBX 3.0 installer: install-incredpbx3. In less than an hour, you'll have a turnkey PBX with a local phone number and free calling in the U.S. and Canada via your own Google Voice account plus dozens and dozens of terrific Asterisk applications to keep you busy exploring for months.

Thanks to its Zero Internet Footprint™ design, Incredible PBX 3 remains the most secure Asterisk-based PBX around. What this means is The Incredible PBX™ has been engineered to sit safely behind a NAT-based, hardware firewall with no port exposure to your actual server. And you won't find a more full-featured Personal Branch Exchange™ at any price.

Did we mention that all of this telephone goodness is still absolutely FREE!

Prerequisites. Here's what we recommend to get started properly:

Installing Incredible PBX 3.0. The installation process is simple and straight-forward. We're down to 3 Easy Steps to Free Calling, and The Incredible PBX will be ready to receive and make free U.S./Canada calls immediately:

1. Install PIAF-Purple & FreePBX 2.9 using the PIAF2 ISO
2. Run Incredible PBX 3 installer
3. Configure Google Voice and a softphone or SIP phone

Installing PBX in a Flash. Here's a quick tutorial to get PBX in a Flash 2 installed. To use Incredible PBX 3, just install the latest 32-bit or 64-bit version of PBX in a Flash 2. Unlike other Asterisk aggregations, PBX in a Flash utilizes a two-step install process. The ISO only installs the CentOS 6.2 operating system. Once CentOS is installed, the server reboots and downloads a payload file that includes Asterisk, FreePBX, and many other VoIP and Linux utilities including all of the new Google Voice components. Just choose the PIAF-Purple or PIAF-Red payload. You'll then be prompted to choose your flavor of FreePBX. Choose FreePBX 2.9. Then set your time zone and set up a password for FreePBX access, and you're all set. As part of the install, yum now will automatically update your operating system with the latest updates for CentOS 6.2.

You can download the 32-bit PIAF2 from SourceForge. Burn the ISO to a CD. Then boot from the installation CD and press the Enter key to begin.

WARNING: This install will completely erase, repartition, and reformat EVERY DISK (including USB flash drives) connected to your system so disable any disk you wish to preserve AND remove any USB flash drives! Press Ctrl-C to cancel.

At the keyboard prompt, tab to OK and press Enter. At the time zone prompt, tab once, highlight your time zone, tab to OK and press Enter. At the password prompt, make up a VERY secure root password. Type it twice. Tab to OK, press Enter. Get a cup of coffee. Come back in about 5 minutes. When the system has installed CentOS 6.2, it will reboot. Remove the CD promptly. After the reboot, choose PIAF-Purple. In less than a minute, you'll be prompted for the FreePBX version you wish to install. Choose FreePBX 2.9 and fill in your choices for the remaining prompts. Then have a 15-minute cup of coffee. After installation is complete, the machine will reboot a second time. You now have a PBX in a Flash base install. On a stand-alone machine, it takes 30-60 minutes. On a virtual machine, it takes about half that time. Log into your server with your root password and write down the server's IP address. You'll need it to access FreePBX with your browser.

NOTE: For previous users of PBX in a Flash, be aware that this new version automatically runs update-programs, update-fixes, and passwd-master for you. So your system is relatively secure out of the box! See the Proxmox cautionary alert in the footnotes to this article!

Configuring Google Voice. You'll need a dedicated Google Voice account to support Incredible PBX 3. If you plan to use the inbound fax capabilities of Incredible Fax 2, then you'll want an additional Google Voice line that can be routed to the FAX miscellaneous destination using FreePBX. 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, and 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, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX 3. Google Voice no longer is by invitation only so, if you're in the U.S. or have a friend that is, head over to the Google Voice site and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work... in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it's over! 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 2-digit confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you'd like in Settings, Voice Setting, Phones. But...

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That's the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and 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.

While you're still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call Screening - OFF
  • Call Presentation - OFF
  • Caller ID (In) - Display Caller's Number
  • Caller ID (Out) - Don't Change Anything
  • Do Not Disturb - OFF
  • Call Options (Enable Recording) - OFF
  • Global Spam Filtering - ON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Incredible PBX 3.0 Installation. Log into your server as root and issue the following commands to run The Incredible PBX 3 installer:

install-incredpbx3

When The Incredible PBX install begins, you'll be prompted for your FreePBX maint password. This is required to properly configure CallerID Superfecta for you. Your credentials never leave your server!

Now have another 15-minute cup of coffee. While you're waiting just make sure that you've heeded our advice and installed your server behind a hardware-based firewall. No ports need to be opened on your firewall to support Incredible PBX. Leave it that way!

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

FINAL STEP. Once the Incredible PBX install completes, be sure to download the latest updates and patches for PBX in a Flash and Incredible. Just issue the following commands:

update-programs
update-fixes

Logging in to FreePBX 2.9. Using a web browser, you access the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Click on the Users tab. It will change to Admin. Now click the FreePBX button. When prompted for a username, it's maint. When prompted for the password, it's whatever you set up as your maint password when you installed Incredible PBX 3. If you forget it, you can always reset it by logging into your server as root and running passwd-master.

Configuring Google Voice Trunks in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize your Incredible PBX to meet your specific needs. If you plan to use Google Voice, here's how to quickly configure one or more Google Voice trunks within FreePBX. After logging into FreePBX with your browser, click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don't use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. You can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill.

While you're still in FreePBX, choose Setup, Extensions, and click on the 701 extension. Write down your extension password which you'll need to configure a phone in a minute.

IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

Incredible Fax 2 Installation. If you want the added convenience of having your Incredible PBX double as a free fax machine, run install-incredfax2 after the Incredible PBX 3 install completes. Plug in your email address for delivery of incoming faxes and enter your home area code when prompted. For every other prompt, just press the Enter key. If you'd like to also add the optional OCR utility, just choose it when prompted. For complete documentation, see this Nerd Vittles article. Don't forget that a REBOOT OF YOUR SERVER is requiredwhen the install is finished, or faxing won't work! Then log in through the PIAF GUI using maint:password. Be sure to change your password!

Also be sure to set up a second, dedicated Google Voice number if you want support for inbound faxing. Once the Google Voice credentials are configured in FreePBX for the additional Google Voice line, simply add an Inbound Route for this DID to point to the FAX Misc. Destination that comes preconfigured with Incredible PBX 3. Substitute your 10-digit Google Voice number for the DID number shown below. Save your entries and reload FreePBX.

Extension Password Discovery. If you're too lazy to look up your extension 701 password using the FreePBX GUI, you can log into your server as root and issue the following command to obtain the password for extension 701 which we'll need to configure your softphone or color videophone in the next step:

mysql -uroot -ppassw0rd -e"select id,data from asterisk.sip where id='701' and keyword='secret'"

The result will look something like the following where 701 is the extension and 18016 is the randomly-generated extension password exclusively for your Incredible PBX:

+-----+-------+
id         data
+-----+-------+
701      18016
+-----+-------+

Configuring a SIP Phone. There are hundreds of terrific SIP telephones and softphones for Asterisk-based systems. Once you get things humming along, you'll want a real SIP telephone such as the $50 Nortel color videophone we've recommended above. You'll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you're like us, we want to make damn sure this stuff works before you shell out any money. So, for today, let's download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from this link. Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using your actual password for extension 701 and the actual IP address of your Incredible PBX server instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Incredible PBX Test Flight. The proof is in the pudding as they say. So let's try two simple tests. First, let's place an outbound call. Using the softphone, dial your 10-digit cellphone number. Google Voice should transparently connect you. Answer the call and make sure you can send and receive voice on both phones. Second, from another phone, call the Google Voice number that you've dedicated to The Incredible PBX. Your softphone should begin ringing shortly. Answer the call, press 1 to accept the call, and then make sure you can send and receive voice on both phones. Hang up. If everything is working, congratulations!

Here's a brief video demonstration showing how to set up a softphone to use with your Incredible PBX, and it also walks you through several of the dozens of Asterisk applications included in your system.

Solving One-Way Audio Problems. If you experience one-way audio on some of your phone calls, you may need to adjust the settings in /etc/asterisk/sip_custom.conf. Just uncomment the first two lines by removing the semicolons. Then replace 173.15.238.123 with your public IP address, and replace 192.168.0.0 with the subnet address of your private network. There are similar settings in gtalk.conf that can be activated although we've never had to use them. In fact, we've never had to use any of these settings. After making these changes, save the file(s) and restart Asterisk with the command: amportal restart.

Learn First. Explore Second. Even though the installation process has been completed, we strongly recommend you do some reading before you begin your VoIP adventure. VoIP PBX systems have become a favorite target of the hackers and crackers around the world and, unless you have an unlimited bank account, you need to take some time learning where the minefields are in today's VoIP world. Start by reading our Primer on Asterisk Security. We've secured all of your passwords except your root password and your passwd-master password. We're assuming you've put very secure passwords on those accounts as if your phone bill depended upon it. It does! Also read our PBX in a Flash and VPN in a Flash knols. If you're still not asleep, there's loads of additional documentation on the PBX in a Flash documentation web site.

Choosing a VoIP Provider for Redundancy. Nothing beats free when it comes to long distance calls. But nothing lasts forever. And, in the VoIP World, redundancy is dirt cheap. So we strongly recommend you set up another account with Vitelity using our special link below. This gives your PBX a secondary way to communicate with every telephone in the world, and it also gets you a second real phone number for your new system... so that people can call you. Here's how it works. You pay Vitelity a deposit for phone service. They then will bill you $3.99 a month for your new phone number. This $3.99 also covers the cost of unlimited inbound calls (two at a time) delivered to your PBX for the month. For outbound calls, you pay by the minute and the cost is determined by where you're calling. If you're in the U.S., outbound calls to anywhere in the U.S. are a little over a penny a minute. If you change your mind about Vitelity and want a refund of the balance in your account, all you have to do is ask. The trunks for Vitelity already are preconfigured with The Incredible PBX. Just insert your credentials using FreePBX and uncheck the Disable Trunk checkbox. Then add the Vitelity trunk as the third destination for your default outbound route. That's it. Congratulations! You now have a totally redundant phone system.

We've also included Trunk configurations for a dozen of our favorite hosting providers to get you started. You can sign up for service with any of them, insert your credentials in the existing trunk, uncheck the Disable Trunk checkbox, and then adjust your outbound route and add an inbound route for your new DID (if you get one).

Stealth AutoAttendant. When incoming calls arrive, the caller is greeted with a welcoming message from Allison which says something like "Thanks for calling. Please hold a moment while I locate someone to take your call." To the caller, it's merely a greeting. To those "in the know," it's actually an AutoAttendant (aka IVR system) that gives you the opportunity to press a button during the message to trigger the running of some application on your Incredible PBX. As configured, the only option that works is 0 which fires up the Nerd Vittles Apps IVR. It's quite easy to add additional features such as voicemail retrieval or DISA for outbound calling. Just edit the MainIVR option in FreePBX under Setup, IVR. Keep in mind that anyone (anywhere in the world) can choose these options. So be extremely careful not to expose your system to security vulnerabilities by making certain that any options you add have very secure passwords! It's your phone bill. 😉

Configuring Email. You're going to want to be notified when updates are available for FreePBX, and you may also want notifications when new voicemails arrive. Everything already is set up for you except actually entering your email notification address. Using a web browser, open the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Then click Administration and choose FreePBX. To set your email address for FreePBX updates, go to Setup, General Settings and scroll to the bottom of the screen. To configure emails to notify you of incoming voicemails, go to Setup, Extensions, 701 and scroll to the bottom of the screen. Then follow your nose. Be sure to reload FreePBX when prompted after saving your changes.

A Word About Security. Security matters to us, and it should matter to you. Not only is the safety of your system at stake but also your wallet and the safety of other folks' systems. Our only means of contacting you with security updates is through the RSS Feed that we maintain for the PBX in a Flash project. This feed is prominently displayed in the web GUI which you can access with any browser pointed to the IP address of your server. Check It Daily! Or add our RSS Feed to your favorite RSS Reader. We also recommend you follow @NerdUno on Twitter. We'll keep you entertained and provide immediate notification of security problems that we hear about. Be safe!

Enabling Google Voicemail. Some have requested a way to retain Google's voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you'll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

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

But I Don't Want to Use Google Voice. If you'd prefer not to use Google Voice at all with PBX in a Flash, that's okay, too. Here's how to disable it and avoid the chatter in the Asterisk CLI. Log into your server as root and edit /etc/asterisk/modules.conf. Change the first three lines in the [modules] context so that they look like this. Then restart Asterisk: amportal restart.

autoload=yes
noload => res_jabber.so
noload => chan_gtalk.so

There's now a patch that automatically adjusts Asterisk to accommodate Google Voice whenever you have added Google Voice extensions to your system. To download and install the patch, visit the PIAF Forum.

Kicking the Tires. OK. That's enough tutorial for today. Let's play. Using your new softphone, begin your adventure by dialing these extensions:

  • D-E-M-O - Incredible PBX Demo (running on your PBX)
  • 1234*1061 - Nerd Vittles Demo via ISN FreeNum connection to NV
  • 17476009082*1089 - Nerd Vittles Demo via ISN to Google/Gizmo5
  • Z-I-P - Enter a five digit zip code for any U.S. weather report
  • 6-1-1 - Enter a 3-character airport code for any U.S. weather report
  • 5-1-1 - Get the latest news and sports headlines from Yahoo News
  • T-I-D-E - Get today's tides and lunar schedule for any U.S. port
  • F-A-X - Send a fax to an email address of your choice
  • 4-1-2 - 3-character phonebook lookup/dialer with AsteriDex
  • M-A-I-L - Record a message and deliver it to any email address
  • C-O-N-F - Set up a MeetMe Conference on the fly
  • 1-2-3 - Schedule regular/recurring reminder (PW: 12345678)
  • 2-2-2 - ODBC/Timeclock Lookup Demo (Empl No: 12345)
  • 2-2-3 - ODBC/AsteriDex Lookup Demo (Code: AME)
  • Dial *68 - Schedule a hotel-style wakeup call from any extension
  • 1061*1061 - PIAF Support Conference Bridge (Conf#: 1061)
  • 882*1061 - VoIP Users Conference every Friday at Noon (EST)

PBX in a Flash SQLite Registry. Last, but not least, we want to introduce you to the new PBX in a Flash Registry which uses SQLite, a zero-configuration SQL-compatible database engine. After logging into your server as root, just type show-registry for a listing of all of the applications, versions, and install dates of everything on your new server. Choosing the A option will generate registry.txt in the /root folder while the other options will let you review the applications by category on the screen. For example, the G option displays all of The Incredible PBX add-ons that have been installed. Here's the complete list of options:

  • A - Write the contents of the registry to registry.txt
  • B - PBX in a Flash install details
  • C - Extra programs install details
  • D - Update-fixes status and details
  • E - RPM install details
  • F - FreePBX modules install details
  • G - Incredible PBX install details
  • Q - Quit this program

And here's a sample from an install we recently completed.


Special Thanks. It's hard to know where to start in expressing our gratitude for all of the participants that made today's incredibly simple-to-use product possible. To Philippe Sultan and the rest of the Asterisk development team, thank you for finally making Jabber jabber with Asterisk. To Leif Madsen, our special thanks for your early pioneering work with Gtalk and Jabber which got this ball rolling. To Philippe Lindheimer, Tony Lewis, and the rest of the FreePBX development team, thanks for FreePBX 2.9 which really makes Asterisk shine. To Lefteris Zafiris, thank you for making Flite work with Asterisk 1.8 thereby preserving all of the Nerd Vittles text-to-speech applications. To Darren Sessions, thanks for whipping app_swift into shape and restoring Cepstral and commercial TTS applications to the land of the living with Asterisk 1.8. And to our pal, Tom King, we couldn't have done it without you. You rolled up your sleeves and really made CentOS 6 and Asterisk 1.8 and 10 sit up and bark. No one will quite understand what an endeavor that is until they try it themselves. You won't find another CentOS 6 implementation of Asterisk, and Tom has made it look incredibly easy. It wasn't! And, last but not least, to our dozens of beta testers, THANK YOU! We've implemented almost all of your suggestions.

Additional Goodies. Be sure to log into your server as root and look through all of the free scripts that are included. Just type: help-pbx.

Don't forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number. Enjoy!

Originally published: Monday, January 23, 2012


Support Issues. With any application as sophisticated as this one, you're bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It's the best Asterisk tech support site in the business, and it's all free! We maintain a thread with Information, Patches and Bug Fixes for Incredible PBX. Please have a look. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won't have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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.
 


  1. If you use the recommended Acer Aspire Revo, be advised that it does NOT include a CD/DVD drive. You will need an external USB CD/DVD drive to load the software. Some of these work with CentOS, and some don't. Most HP and Sony drives work; however, we strongly recommend you purchase an external DVD drive from a merchant that will accept returns, e.g. Best Buy, WalMart, Office Depot, Office Max, Staples. You also can run Incredible PBX 3 on a virtual machine such as the free Proxmox server. A security vulnerability has been reported in the Proxmox browser so be sure to run your server behind a secure, hardware-based firewall with no port exposure to the actual Proxmox server from the Internet. []

Introducing PBX in a Flash 2 with CentOS 6.2

Today we're delighted to introduce the ultimate Asterisk® platform. It's the all new PBX in a Flash 2™ featuring CentOS® 6.2 and your choice of Asterisk 1.8.8.0 or 10 plus FreePBX® 2.8, 2.9, or 2.10. No other platform gives YOU the flexibility to design a telephony platform that meets your unique requirements. And, of course, no other platform includes any version of CentOS 6, much less 6.2.

Featuring superior scalability, improved performance, better resource management, and unmatched device support, PBX in a Flash 2.0.6.2 brings you the most versatile Asterisk platform on the planet with the latest and greatest releases of virtually every major open source product in the marketplace. And you can choose either the 32-bit or 64-bit platform. For those needing additional Asterisk customization, PIAF2 also provides direct access to Asterisk's menuconfig system which lets you tailor the selection of Asterisk modules you wish to deploy. And, of course, PIAF2 continues to provide the only turnkey Google Voice solution providing immediate free calling throughout the U.S. and Canada. We'll walk you through the 2-minute drill to deploy Google Voice for inbound and outbound calling with FreePBX. And, yes, Incredible PBX 2.9 is fully compatible with the 32-bit release of PIAF 2.0.6.2!

Our special tip of the hat again goes to Tom King, who has spent the better part of four months integrating PIAF2 into the new CentOS 6 releases, three of them to be exact. To suggest that this was not a job for mere mortals doesn't begin to paint the picture of this long and winding road. The good news is we think you'll be delighted with the results. The PBX in a Flash install process now has been streamlined into three distinct components.

After downloading the ISO and burning a CD (32-bit) or DVD (64-bit) to install your new server, here's how it works. First, you get to choose the file system for your new CentOS server. The PIAF2 installer will whir away for about 15 minutes installing CentOS 6.2. When your system reboots, remove the install disk and Phase 2 begins. Here you get to choose your flavor of Asterisk to deploy. We continue to recommend PIAF2-Purple as the stable product for all but pioneers, but Asterisk 10 is out of beta, and we offer you the option of installing it if you wish.

By default with PIAF2, you get your choice of Asterisk 1.8.8.0 or 10.0.0 as well as FreePBX 2.8, 2.9, or 2.10. With the standard PIAF2 ISO installer, you also have the option of exiting to the Linux command prompt to compile a network driver or to select from a broad selection of newer Asterisk releases. If you choose this option, you'll be prompted to log into your server as root with the root password you chose initially. Once logged in, you can execute any series of Linux commands or issue one of the following commands to choose a specific release of Asterisk:

  • piafdl -p beta_1880_purple (loads Asterisk 1.8.8.10)
  • piafdl -p beta_1881_purple (loads Asterisk 1.8.8.1)
  • piafdl -p beta_1882_purple (loads Asterisk 1.8.8.2)
  • piafdl -p beta_1890_purple (loads Asterisk 1.8.9.0)
  • piafdl -p beta_1891_purple (loads Asterisk 1.8.9.1)
  • piafdl -p beta_1892_purple (loads Asterisk 1.8.9.2)
  • piafdl -p beta_1893_purple (loads Asterisk 1.8.9.3)
  • piafdl -p beta_1001_red (loads Asterisk 10.0.1)
  • piafdl -p beta_1010_red (loads Asterisk 10.1.0)
  • piafdl -p beta_1011_red (loads Asterisk 10.1.1)
  • piafdl -p beta_1012_red (loads Asterisk 10.1.2)
  • piafdl -p beta_1013_red (loads Asterisk 10.1.3)

WARNING: Asterisk 10.1.x releases reportedly break Google Voice! The good news is that the new PIAF deployment policy for Asterisk releases is working. We no longer incorporate the latest Asterisk releases as the default PIAF install before independent testing. You, of course, are free to load and test any of the releases you wish using the commands outlined above.

If you compiled a network driver and wish to resume the installation process, just reboot the server. If you chose a specific flavor of Asterisk, simply accept the license agreement and the customized PIAF2 install will continue.

Within a minute or so, your chosen Asterisk installer will load. In Phase 3 (the Config Module), you'll pick your flavor of FreePBX and choose a password for access, set your time zone, and decide whether you want to further customize Asterisk using menuconfig.

If you want to also install Incredible PBX 2.9, be sure to use the 32-bit PIAF2 ISO and choose Asterisk 1.8 and FreePBX 2.9.

Otherwise, the choices are up to you. Once you've made your selections, everything else installs on autopilot unless you opted to use menuconfig. If so, come back in 15 minutes and tailor away. Then press x to save your settings and finish the install. Depending on the speed of your server or virtual machine, the complete install usually takes 30-60 minutes. It's not the fastest Asterisk install on the planet. But, as you learned in high school, faster isn't always better. With PIAF2, you get a fully customized Asterisk environment with the very latest CentOS 6.2 updates.

After the final reboot, you'll have a working PIAF2 server. Open up FreePBX with a browser, enter your Google Voice credentials, create an extension, link an inbound route to that extension to accept calls, restart Asterisk from the command prompt, and you'll have a fully operational PBX in less than 2 minutes.

Creating a PIAF2 Install Disk. To get started, download the PIAF2 ISO of your choice from SourceForge.

Once you have the ISO image in hand, the next step is to burn the ISO image to a DVD. The 32-bit ISO still will fit on a CD if you prefer. If you've never done it before, here's a DVD tutorial that will show you how on either a Windows machine or a Mac. If your machine lacks a CD/DVD drive, there's now a simple procedure for building a USB Flash Drive installer.

Using PIAF2 with Proxmox. For those using Proxmox to host PIAF2 virtual machines, the easiest approach is to log into your server as root, change to the /var/lib/vz/template/iso directory, and issue a wget command to download the SourceForge image of your choice. In building KVM virtual machines with Proxmox, you'll need to allocate at least 768MB of RAM (1024MB recommended) for each image. CentOS 6 has a much larger memory footprint than CentOS 5. Reminder: Be absolutely sure Proxmox is sitting behind a secure hardware-based firewall. It is NOT secure on the open Internet!

Atom-based PC Platform. Unless you're using PIAF2 on a virtual hosting platform, you'll need a dedicated PC. For the least expensive hardware alternative, pick up an Atom-based PC. We previously have recommended against an EEE PC because of the network driver incompatibility with CentOS 5. We'll have to leave it to the pioneers to tell us whether this still applies with CentOS 6. We do know that the refurbished Acer desktops work fine. Someone has actually tested them! And they can easily support a small business with dozens of phones. See these performance benchmarks for details.

Another terrific option (if you hurry) is this refurbished Dell GX620 for $79.99. These won't last long.

FreePBX Setup. After the PIAF2 install finishes, your server will reboot once again. Log into the Linux CLI as root using your root password. Write down the IP address of your server from the status display and verify that everything installed properly. Note that Samba is disabled by default. If you want to use it for Windows Networking, run configure-samba once your server is up and running.

Most of your life with PBX in a Flash will be spent using the FreePBX web GUI and your favorite browser. Just point your browser to the IP address of your server and review the PIAF RSS Feed (as shown above). We recommend checking this RSS Feed daily by pointing your browser to the IP address of your server. The RSS Feed is displayed in the left column of the GUI and will alert you to any newly discovered security vulnerabilities in CentOS, Asterisk, FreePBX, or PIAF2. Click on the Users tab to change to the Admin panel, and then select FreePBX to load the FreePBX GUI.

You also can access the FreePBX GUI directly by pointing your browser to the IP address of your PIAF2 server: http://ipaddress/admin. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose in Phase 3 of the PIAF install.

To get a minimal system functioning to make and receive calls, here's the 2-minute drill. You'll need to set up at least one extension with voicemail and configure a free Google Voice account for free calls in the U.S. and Canada. Next, configure inbound and outbound routes to manage incoming and outgoing calls. Finally, add a phone with your extension credentials, and you're done.

A Word About Security. PBX in a Flash has been engineered to run on a server sitting safely behind a hardware-based firewall with NO port exposure from the Internet. Leave it that way! It's your wallet and phone bill that are at stake.

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 following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

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

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

Write down the passwords. You'll need them to configure your SIP phone.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won't protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password if your SIP or IAX ports happen to be exposed to the Internet.

In addition to making up secure passwords, the latest versions of FreePBX also let you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 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 using your actual subnet.

Courtesy of wordle.net

Adding a Google Voice Trunk. There are lots of trunk providers, and one of the real beauties of having your own PBX is that you don't have to put all of your eggs in the same basket... unlike the AT&T days. We would encourage you to take advantage of this flexibility. With most providers, you don't pay anything except when you actually use their service so you have nothing to lose.

For today, we're going to take advantage of Google's current offer of free calling in the U.S. and Canada through the end of 2012. You also get a free phone number in your choice of area codes. PBX in a Flash now installs a Google Voice module for FreePBX that lets you set up your Google Voice account with PBX in a Flash in just a few seconds once you have your credentials.

Signing Up for Google Voice. You'll need a dedicated Google Voice account to support PBX in a Flash. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We've tested this extensively using an existing Gmail account rather than creating a separate account. Take our word for it. Inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So... set up a dedicated Gmail and Google Voice 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 the Google Voice site and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work... in either direction. You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don't skip this step either. Just enter the provided confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you'd like in Settings, Voice Setting, Phones. But...

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That's the destination we need for PBX in a Flash to function with Google Voice! Otherwise, inbound and/or outbound calls will fail. If you don't see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings and enable it. Be sure to try one call each way from Google Chat in Gmail. Then disable Google Chat in GMail for this account. Otherwise, it won't work with PIAF.

While you're still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call Screening - OFF
  • Call Presentation - OFF
  • Caller ID (In) - Display Caller's Number
  • Caller ID (Out) - Don't Change Anything
  • Do Not Disturb - OFF
  • Call Options (Enable Recording) - OFF
  • Global Spam Filtering - ON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Configuring Google Voice Trunk in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize PBX in a Flash to meet your specific needs. Click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don't use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. Down the road, you can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. It also provides redundancy which costs you nothing if you don't use the backup providers. The Google Voice module actually configures an Outbound Route for 10-digit Google Voice calling as part of the automatic setup. If this meets your requirements, then you can skip this step for today.

Inbound Routes. An Inbound Route tells PBX in a Flash how to route incoming calls. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we'll build a simple route that directs your Google Voice calls to extension 201. Choose Inbound Routes, leave all of the settings at their default values except enter your 10-digit Google Voice number in the DID Number field. Enable CallerID lookups by choosing CallerID Superfecta in the CID Lookup Source pulldown. Then move to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit and save your changes. That will assure that incoming Google Voice calls are routed to extension 201.

IMPORTANT: Before Google Voice calling will actually work, you must restart Asterisk from the Linux command line interface. Log into your server as root and issue this command: amportal restart.

General Settings. Last, but not least, we need to enter an email address for you so that you are notified when new FreePBX updates are released. Scroll to the bottom of the General Settings screen after selecting it from the left panel. Plug in your email address, click Submit, and save your changes. Done!

Configuring a SIP Phone. There are hundreds of terrific SIP telephones and softphones for Asterisk-based systems. Once you get things humming along, you'll want a real SIP telephone such as the $50 Nortel color videophone we've recommended previously. You'll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you're like us, we want to make damn sure this stuff works before you shell out any money. So, for today, let's download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from this link. Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using 201 for your extension and your actual password for extension 201. Then plug in the actual IP address of your PBX in a Flash server instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Enabling Google Voicemail. Some have requested a way to retain Google's voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you'll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

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

But I Don't Want to Use Google Voice. If you'd prefer not to use Google Voice at all with PBX in a Flash, that's okay, too. Here's how to disable it and avoid the chatter in the Asterisk CLI. Log into your server as root and edit /etc/asterisk/modules.conf. Change the first three lines in the [modules] context so that they look like this. Then restart Asterisk: amportal restart.

autoload=yes
noload => res_jabber.so
noload => chan_gtalk.so

There's now a patch that automatically adjusts Asterisk to accommodate Google Voice whenever you have added Google Voice extensions to your system. To download and install the patch, visit the PIAF Forum.

Incredible PBX 2.9. If you want all of the awesome Asterisk apps in one easy-to-install package, then Incredible PBX 2.9 is for you. Here's a link to the Nerd Vittles article explaining the 5-minute drill. Enjoy!

Originally published: Monday, December 26, 2011



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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


Some Recent Nerd Vittles Articles of Interest...

Open Source Development and the Patent Trolls

Photo courtesy of Business Insider

If you’re wondering why software development in the United States is coming to a screeching halt, look no further than software patents. Here’s the way it works. All of your favorite technology companies now have stacks of software, business method, and design patents for things as obvious as the shape of a cellphone or a tablet computer that you could have seen on Star Trek in the 1960’s. And then there’s the slide to unlock "invention" that could be found 40 years ago in almost every apartment in the United States and was shown in The Predator movie in 1987, decades before the geniuses at Apple invented it. The list is endless, of course, because the U.S. Patent and Trademark Office now issues software and design patents with about the same scrutiny that a kindergarten teacher employs in deciding whether kids can have permission to go to the bathroom.

So now that you have your software patent arsenal, what do you do with it? In the case of most companies, they quietly reach cross-licensing agreements with other companies which permit others to use their patents so long as the other company reciprocates. Who gets screwed in this arrangement? Startup companies and open source developers!

And then, of course, there are the companies that have convinced themselves that they really did invent all of these things they saw in the movies or saw at Xerox PARC or Wang Labs. Just like the politicians with their unaffiliated super PACs, these companies don’t want to be tarnished by daily headlines showing them suing every Tom, Dick, and Harry that now wants to create a mouse or a new piece of software. Instead, they license or sell their patents to patent trolls, shell companies whose only reason for being is to enforce patents and extract licensing fees with no fingerprints back to the original patent holder. And, what a coincidence. They’ve all set up shop in Texas where they at least believe they have found a sympathetic judiciary to hear their cases. In short, patent trolls provide the original patent holder with deniability (think Mitt Romney and Newt Gingrich) while decimating the competition, a.k.a. young companies without a patent portfolio. It also, of course, has a chilling effect on open source development. Can you guess who reaps the financial rewards from patent trolls?

In fact, the situation has gotten so extreme that patent trolls now are a serious threat to the once blossoming open source development community. Here are a couple of examples. One of the most fertile areas for the patent trolls these days is robocalling software. In a nutshell, you have a database with people’s phone numbers, and a computer is used to dial the numbers and then play a recorded message. One of the key defenses to patent claims is "prior use" which means someone else thought of it before you got your patent.

Here’s the actual history of robocalling from our first-hand experience. In the late 1970’s, I was working with a federal court in Washington, D.C., and we were developing a case management system using Wang VS minicomputers, one of the first computers that bridged the gap between the data processing and text processing worlds. This led to all sorts of creative new uses for computers, and a group of us that were application developers using these computers met regularly to compare notes. I recall specifically making several visits to the Republican National Committee in Washington. They were developing, you guessed it, a robocalling system to deliver campaign messages using a Wang VS computer. If you flip to page 1-4 in this Wang VS Data Communications Guide, you’ll find a discussion (in 1979!) of what Wang called Automatic Calling Units. These were the hardware add-ons designed specifically by Wang to let VS computers do robocalling. And the Republican National Committee was hard at work writing code to do just that. It was used extensively in the 1980 election cycle, 31 years ago! No one at the time had ever heard of software patents. And yet there are software patents granted years later for the identical and obvious methodology employed by the Republicans long before Newt. Crazy!

Another example is speech-to-text software. Typically a recorded voice message is passed to a computer, and the computer transcribes the spoken words into plain text. While the technology to translate spoken language into text would certainly warrant a patent, the obvious ideas on how to use speech-to-text technology are dubious insofar as patents are concerned. For example, some obvious uses include transcribing and delivery of voicemails via email and text messaging or Twitter, transcribing dictation, language translation, and automatically placing phone calls by looking up a spoken name in a directory. The list goes on and on. These apps are trivial to build and obvious to anyone that has used computers over the last 40 years. The only real value-add in these apps is the inclusion of speech-to-text translation which Google is giving away at no cost. Delivery of voicemails via email or SMS, for example, has been an integral part of every PBX and virtually every cordless phone system since the telecommunications industry began. If there still is a valid patent for this (and we haven’t researched it), then perhaps a different delivery mechanism such as Twitter or Google+ might be options worth considering. See this transcription of Andrew Tridgell’s talk on Patent Defenses for some ideas. The problem is that nothing apparently is obvious to the patent examiners working in the U.S. Patent & Trademark Office. Nor has USPTO been vigilant in enforcing the requirement that those applying for a patent disclose prior art. And, remember the old adage that you can’t patent an idea? Wrong again! There are thousands of them, and the list is growing.

I know many of you are sitting back thinking you’re immune from a shakedown and believing this only applies to businesses. Got a Wi-Fi router in your home? Then think again. As recently reported by ZDnet:

Innovatio IP, a new company that exists solely to shake money down for its Wi-Fi patents, is targeting individual branches of hotel, coffee shops and restaurant chains. You, with your home Wi-Fi access point, may be next.

A new open source tool for Asterisk to take advantage of the speech-to-text engine now incorporated into Google’s Chrome browser was released this week by Lefteris Zafiris. You can read all about it and download a free copy of the code from GitHub. It works on any Asterisk-based system. So what now? Is it patent infringement to use Google’s publicly-accessible technology to build yourself an app that handles the obvious and now trivial tasks we’ve outlined above? Is it "legal" to use Google’s publicly-accessible speech-to-text engine to do things other than those that Google itself designed? Your guess is as good as mine. Unfortunately, most users aren’t lawyers and aren’t prepared to spend their life fortune litigating the legal nuances of prior use, obviousness, and whether a patent should be reexamined because it merely covered an idea.

For those that want to experiment at your own risk in this legal minefield, we’ve assembled two hours’ worth of publicly available information on the topic. It shows just how trivial it is to put these freely available components together to do literally hundreds of useful tasks. And when you have a few spare minutes, do us all a favor. Contact your Congressional representatives and urge them to put a stop to this nonsense and restore some sanity to the patent process. Little wonder that the United States has fewer and fewer students interested in pursuing a career in software development. That’s a very sad day for the U.S.A.

Originally published: Friday, January 13, 2012



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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


Some Recent Nerd Vittles Articles of Interest…

Introducing PIAF2 and Incredible PBX 2.9 with CentOS 6.1


We're pleased to introduce the latest and greatest PBX in a Flash™ 2.0.6.1 featuring CentOS® 6.11 and the brand-new Incredible PBX™ 2.9 with an incomparable VoIP feature set. PIAF2™ provides turnkey installs of Asterisk® 1.8 or 2.0 with your choice of FreePBX® 2.8, 2.9, or 2.10. And, for those choosing to install Incredible PBX 2.9, it's been engineered to work flawlessly with the 32-bit version of PIAF2 using Asterisk 1.8 and FreePBX 2.9. For the ultimate in performance, a 64-bit version of PIAF2 is also available; however, because of its size, a DVD is required to burn the ISO. And, as noted, it is not compatible with Incredible PBX 2.9.

12/17 Update: Shortly after PIAF2 hit the street, Digium released Asterisk 1.8.8.0 and the first non-beta version of Asterisk 10. New 32-bit and 64-bit PIAF 2.0.6.1.2 ISOs will be available on SourceForge today that incorporate these new builds. In addition, a CentOS 6 video quirk has been identified on some Atom hardware. So the new ISOs include an install option to disable the problematic video testing by kicking off the install with one of the following commands instead of merely pressing the Enter key: ks-nomode, ksraid-nomode, or kslvm-nomode. You'll know if you have the problem if your server locks up. 😉 Finally, because there now are multiple stable versions of Asterisk, we have added the option to selectively choose a version of Asterisk to install. Instead of picking PIAF-Purple or PIAF-Red, you can drop down to the Linux command prompt, log in as root, and issue a command using the following syntax: piafdl -p beta_1872_purple.

Photo courtesy of mashable.com

Free Google Voice calling in the U.S. and Canada has been extended for calendar year 2012 and now can be configured using the simple FreePBX 2.9 GUI. And you can use it with or without Incredible PBX. Set up one or many Google Voice connections in less than 10 seconds per line. With Incredible PBX, we've also included Andrew Nagy's terrific EndPoint Manager that lets you configure dozens of SIP phones with the click of a button. You'll also find Kennonsoft's terrific new PBX in a Flash UI with HTML5 and CSS3 support for the latest Firefox, Chrome, and IE browsers. And, of course, you still get almost every Asterisk application on the planet preconfigured and ready to use.

With PIAF2, the installation process has been streamlined considerably. At the outset, you will be prompted for some basic information and a root password. Once the CentOS 6.1 install completes and you remove the CD/DVD during the server reboot, you will be prompted for whether you wish to tailor Asterisk using menuconfig, your time zone, the version of FreePBX you wish to install, and your master password for FreePBX access. Once you've answered these few questions, you can kick off the PIAF2 install and walk away. Depending upon the performance of your server, come back in 15-30 minutes. While it's not the quickest install on the planet, it will always be the most current because PIAF2 always loads the latest patches to CentOS as well as Asterisk and FreePBX. In other words, it's worth the wait to know you're installing a secure and up-to-date system. And, as your high school girlfriend probably taught you, faster is not always better.

The Incredible PBX 2.9 Inventory. For those that have never heard of The Incredible PBX, here's the current 2.9 feature set in addition to the base install of PBX in a Flash with the CentOS 6.1, Asterisk 1.8, FreePBX 2.9, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Cepstral TTS, Faxing, Hamachi VPN, and Mondo Backups are still just one command away and may be installed using the scripts included with base Incredible PBX 2.9 installation.

Update: Incredible Fax is not yet compatible with PIAF2, but we're working on it.

What began as a kludgey, dual-call, dual-provider Google Voice implementation to take advantage of Google's free PSTN calling in the U.S. and Canada with Asterisk 1.4 and 1.6 is now a zippy-quick, Gtalk-based calling platform that rivals the best SIP-to-SIP calls on the planet and provides virtually instantaneous PSTN connections to almost anybody, anywhere. Trust us! Except for the price which is still free, you'll never know you weren't connected via Ma Bell's overpriced long-distance lines and neither will the Little Mrs. And, yes, our recommended $50 Nortel SIP videophone is plug-and-play.

Just download the latest 32-bit PBX in a Flash 2.0.6.1 ISO from SourceForge, burn to then boot from the PIAF2 CD, choose the PIAF-Purple option to load Asterisk 1.8, and pick FreePBX 2.9 when prompted. Once the PIAF2 install is completed, just run the new Incredible PBX 2.9 installer. In less than an hour, you'll have a turnkey PBX with a local phone number and free calling in the U.S. and Canada via your own Google Voice account plus dozens and dozens of terrific Asterisk applications to keep you busy exploring for months.

Thanks to its Zero Internet Footprint™ design, Incredible PBX 2.9 remains the most secure Asterisk-based PBX around. What this means is The Incredible PBX™ has been engineered to sit safely behind a NAT-based, hardware firewall with no port exposure to your actual server. And you won't find a more full-featured Personal Branch Exchange™ at any price.

Did we mention that all of this telephone goodness is still absolutely FREE!

Prerequisites. Here's what we recommend to get started properly:

Installing Incredible PBX 2.9. The installation process is simple and straight-forward. We're down to 3 Easy Steps to Free Calling, and The Incredible PBX will be ready to receive and make free U.S./Canada calls immediately:

1. Install PIAF-Purple & FreePBX 2.9 using 32-bit PIAF2 ISO
2. Download & run Incredible PBX 2.9 installer
3. Configure Google Voice and a softphone or SIP telephone

Installing PBX in a Flash. Here's a quick tutorial to get PBX in a Flash 2.0 installed. To use Incredible PBX 2.9, just install the latest 32-bit version of PBX in a Flash 2.0. Unlike other Asterisk aggregations, PBX in a Flash utilizes a two-step install process. The ISO only installs the CentOS 6.1 operating system. Once CentOS is installed, the server reboots and downloads a payload file that includes Asterisk, FreePBX, and many other VoIP and Linux utilities including all of the new Google Voice components. Just choose the PIAF-Purple payload to get the latest Asterisk 1.8. You'll then be prompted to choose your flavor of FreePBX. Choose FreePBX 2.9. Then set your time zone and set up a password for FreePBX access, and you're all set. As part of the install, yum now will automatically update your operating system to CentOS 6.2 minus the 6.2 kernel.

You can download the 32-bit PIAF2 from SourceForge. Burn the ISO to a CD. Then boot from the installation CD and press the Enter key to begin.

WARNING: This install will completely erase, repartition, and reformat EVERY DISK (including USB flash drives) connected to your system so disable any disk you wish to preserve AND remove any USB flash drives! Press Ctrl-C to cancel.

At the keyboard prompt, tab to OK and press Enter. At the time zone prompt, tab once, highlight your time zone, tab to OK and press Enter. At the password prompt, make up a VERY secure root password. Type it twice. Tab to OK, press Enter. Get a cup of coffee. Come back in about 5 minutes. When the system has installed CentOS 6.1, it will reboot. Remove the CD promptly. After the reboot, choose PIAF-Purple. In less than a minute, you'll be prompted for the FreePBX version you wish to install. Choose 2.9 and fill in your choices for the remaining prompts. Then have a 15-minute cup of coffee. After installation is complete, the machine will reboot a second time. You now have a PBX in a Flash base install. On a stand-alone machine, it takes 30-60 minutes. On a virtual machine, it takes about half that time. Log into your server with your root password and write down the server's IP address. You'll need it to access FreePBX with your browser.

NOTE: For previous users of PBX in a Flash, be aware that this new version automatically runs update-programs, update-fixes, and passwd-master for you. So your system is relatively secure out of the box! See the Proxmox cautionary alert in the footnotes to this article!

Configuring Google Voice. You'll need a dedicated Google Voice account to support Incredible PBX 2.9. If you plan to use the inbound fax capabilities of Incredible PBX 2.9, then you'll want an additional Google Voice line that can be routed to the FAX miscellaneous destination using FreePBX. 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, and 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, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with The Incredible PBX. Google Voice no longer is by invitation only so, if you're in the U.S. or have a friend that is, head over to the Google Voice site and register. If you're living on another continent, see MisterQ's posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work... in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it's over! 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 2-digit confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you'd like in Settings, Voice Setting, Phones. But...

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That's the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and 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.

While you're still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call Screening - OFF
  • Call Presentation - OFF
  • Caller ID (In) - Display Caller's Number
  • Caller ID (Out) - Don't Change Anything
  • Do Not Disturb - OFF
  • Call Options (Enable Recording) - OFF
  • Global Spam Filtering - ON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Incredible PBX 2.9 Installation. Log into your server as root and issue the following commands to download and run The Incredible PBX installer:

cd /root
wget http://incrediblepbx.com/incrediblepbx29.x
chmod +x incrediblepbx29.x
./incrediblepbx29.x

When The Incredible PBX install begins, you'll be prompted for your FreePBX maint password. This is required to properly configure CallerID Superfecta for you. Your credentials never leave your server!

Now have another 15-minute cup of coffee, and consider a modest donation to Nerd Vittles... for all of our hard work. 😉 You'll find a link at the top of the page. While you're waiting just make sure that you've heeded our advice and installed your server behind a hardware-based firewall. No ports need to be opened on your firewall to support Incredible PBX. Leave it that way!

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

Logging in to FreePBX 2.9. Using a web browser, you access the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Click on the Users tab. It will change to Admin. Now click the FreePBX button. When prompted for a username, it's maint. When prompted for the password, it's whatever you set up as your maint password when you installed Incredible PBX 2.9. If you forget it, you can always reset it by logging into your server as root and running passwd-master.

Configuring Google Voice Trunks in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize your Incredible PBX to meet your specific needs. If you plan to use Google Voice, here's how to quickly configure one or more Google Voice trunks within FreePBX. After logging into FreePBX with your browser, click the Setup tab and choose Google Voice in the Third Party Addons. To Add a new Google Voice account, just fill out the form:

Phone number is your 10-digit Google Voice number. Username is your Google Voice account name without @gmail.com. NOTE: You must use a Gmail.com address in the current version of this module! Password is your Google Voice password. NOTE: Don't use 2-stage password protection in this Google Voice account! Be sure to check all three boxes: Add trunk, Add routes, and Agree to TOS. Then click Submit Changes and reload FreePBX. You can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill.

While you're still in FreePBX, choose Setup, Extensions, and click on the 701 extension. Write down your extension password which you'll need to configure a phone in a minute.

IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

Incredible Fax Installation. If you want the added convenience of having your Incredible PBX double as a free fax machine, run /root/incrediblefax.sh shell script when the Incredible PBX install completes. Plug in your email address for delivery of incoming faxes and enter your home area code when prompted. For every other prompt, just press the Enter key. For complete documentation, see this Nerd Vittles article. Don't forget to REBOOT YOUR SERVER when the install is finished, or faxing won't work!

Also be sure to set up a second, dedicated Google Voice number if you want support for inbound faxing. Once the Google Voice credentials are configured in FreePBX for the additional Google Voice line, simply add an Inbound Route for this DID to point to the FAX misc. destination that comes preconfigured with Incredible PBX 2.9. Just substitute your 10-digit Google Voice number for the DID number shown below. Save your entries and reload FreePBX.

Extension Password Discovery. If you're too lazy to look up your extension 701 password using the FreePBX GUI, you can log into your server as root and issue the following command to obtain the password for extension 701 which we'll need to configure your softphone or color videophone in the next step:

mysql -uroot -ppassw0rd -e"select id,data from asterisk.sip where id='701' and keyword='secret'"

The result will look something like the following where 701 is the extension and 18016 is the randomly-generated extension password exclusively for your Incredible PBX:

+-----+-------+
id         data
+-----+-------+
701      18016
+-----+-------+

Configuring a SIP Phone. There are hundreds of terrific SIP telephones and softphones for Asterisk-based systems. Once you get things humming along, you'll want a real SIP telephone such as the $50 Nortel color videophone we've recommended above. You'll also find lots of additional recommendations on Nerd Vittles and in the PBX in a Flash Forum. If you're like us, we want to make damn sure this stuff works before you shell out any money. So, for today, let's download a terrific (free) softphone to get you started. We recommend X-Lite because there are versions for Windows, Mac, and Linux. So download your favorite from this link. Install and run X-Lite on your Desktop. At the top of the phone, click on the Down Arrow and choose SIP Account Settings, Add. Enter the following information using your actual password for extension 701 and the actual IP address of your Incredible PBX server instead of 192.168.0.251. Click OK when finished. Your softphone should now show: Available.

Incredible PBX Test Flight. The proof is in the pudding as they say. So let's try two simple tests. First, let's place an outbound call. Using the softphone, dial your 10-digit cellphone number. Google Voice should transparently connect you. Answer the call and make sure you can send and receive voice on both phones. Second, from another phone, call the Google Voice number that you've dedicated to The Incredible PBX. Your softphone should begin ringing shortly. Answer the call, press 1 to accept the call, and then make sure you can send and receive voice on both phones. Hang up. If everything is working, congratulations!

Here's a brief video demonstration showing how to set up a softphone to use with your Incredible PBX, and it also walks you through several of the dozens of Asterisk applications included in your system.

Solving One-Way Audio Problems. If you experience one-way audio on some of your phone calls, you may need to adjust the settings in /etc/asterisk/sip_custom.conf. Just uncomment the first two lines by removing the semicolons. Then replace 173.15.238.123 with your public IP address, and replace 192.168.0.0 with the subnet address of your private network. There are similar settings in gtalk.conf that can be activated although we've never had to use them. In fact, we've never had to use any of these settings. After making these changes, save the file(s) and restart Asterisk with the command: amportal restart.

Learn First. Explore Second. Even though the installation process has been completed, we strongly recommend you do some reading before you begin your VoIP adventure. VoIP PBX systems have become a favorite target of the hackers and crackers around the world and, unless you have an unlimited bank account, you need to take some time learning where the minefields are in today's VoIP world. Start by reading our Primer on Asterisk Security. We've secured all of your passwords except your root password and your passwd-master password. We're assuming you've put very secure passwords on those accounts as if your phone bill depended upon it. It does! Also read our PBX in a Flash and VPN in a Flash knols. If you're still not asleep, there's loads of additional documentation on the PBX in a Flash documentation web site.

Choosing a VoIP Provider for Redundancy. Nothing beats free when it comes to long distance calls. But nothing lasts forever. And, in the VoIP World, redundancy is dirt cheap. So we strongly recommend you set up another account with Vitelity using our special link below. This gives your PBX a secondary way to communicate with every telephone in the world, and it also gets you a second real phone number for your new system... so that people can call you. Here's how it works. You pay Vitelity a deposit for phone service. They then will bill you $3.99 a month for your new phone number. This $3.99 also covers the cost of unlimited inbound calls (two at a time) delivered to your PBX for the month. For outbound calls, you pay by the minute and the cost is determined by where you're calling. If you're in the U.S., outbound calls to anywhere in the U.S. are a little over a penny a minute. If you change your mind about Vitelity and want a refund of the balance in your account, all you have to do is ask. The trunks for Vitelity already are preconfigured with The Incredible PBX. Just insert your credentials using FreePBX and uncheck the Disable Trunk checkbox. Then add the Vitelity trunk as the third destination for your default outbound route. That's it. Congratulations! You now have a totally redundant phone system.

We've also included Trunk configurations for a dozen of our favorite hosting providers to get you started. You can sign up for service with any of them, insert your credentials in the existing trunk, uncheck the Disable Trunk checkbox, and then adjust your outbound route and add an inbound route for your new DID (if you get one).

Stealth AutoAttendant. When incoming calls arrive, the caller is greeted with a welcoming message from Allison which says something like "Thanks for calling. Please hold a moment while I locate someone to take your call." To the caller, it's merely a greeting. To those "in the know," it's actually an AutoAttendant (aka IVR system) that gives you the opportunity to press a button during the message to trigger the running of some application on your Incredible PBX. As configured, the only option that works is 0 which fires up the Nerd Vittles Apps IVR. It's quite easy to add additional features such as voicemail retrieval or DISA for outbound calling. Just edit the MainIVR option in FreePBX under Setup, IVR. Keep in mind that anyone (anywhere in the world) can choose these options. So be extremely careful not to expose your system to security vulnerabilities by making certain that any options you add have very secure passwords! It's your phone bill. 😉

Configuring Email. You're going to want to be notified when updates are available for FreePBX, and you may also want notifications when new voicemails arrive. Everything already is set up for you except actually entering your email notification address. Using a web browser, open the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Then click Administration and choose FreePBX. To set your email address for FreePBX updates, go to Setup, General Settings and scroll to the bottom of the screen. To configure emails to notify you of incoming voicemails, go to Setup, Extensions, 701 and scroll to the bottom of the screen. Then follow your nose. Be sure to reload FreePBX when prompted after saving your changes.

A Word About Security. Security matters to us, and it should matter to you. Not only is the safety of your system at stake but also your wallet and the safety of other folks' systems. Our only means of contacting you with security updates is through the RSS Feed that we maintain for the PBX in a Flash project. This feed is prominently displayed in the web GUI which you can access with any browser pointed to the IP address of your server. Check It Daily! Or add our RSS Feed to your favorite RSS Reader. We also recommend you follow @NerdUno on Twitter. We'll keep you entertained and provide immediate notification of security problems that we hear about. Be safe!

Enabling Google Voicemail. Some have requested a way to retain Google's voicemail system for unanswered calls in lieu of using Asterisk voicemail. The advantage is that Google offers a free transcription service for voicemail messages. To activate this, you'll need to edit the [googlein] context in extensions_custom.conf in /etc/asterisk. Just modify the last four lines in the context so that they look like this and then restart Asterisk: amportal restart

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

Kicking the Tires. OK. That's enough tutorial for today. Let's play. Using your new softphone, begin your adventure by dialing these extensions:

  • D-E-M-O - Incredible PBX Demo (running on your PBX)
  • 1234*1061 - Nerd Vittles Demo via ISN FreeNum connection to NV
  • 17476009082*1089 - Nerd Vittles Demo via ISN to Google/Gizmo5
  • Z-I-P - Enter a five digit zip code for any U.S. weather report
  • 6-1-1 - Enter a 3-character airport code for any U.S. weather report
  • 5-1-1 - Get the latest news and sports headlines from Yahoo News
  • T-I-D-E - Get today's tides and lunar schedule for any U.S. port
  • F-A-X - Send a fax to an email address of your choice
  • 4-1-2 - 3-character phonebook lookup/dialer with AsteriDex
  • M-A-I-L - Record a message and deliver it to any email address
  • C-O-N-F - Set up a MeetMe Conference on the fly
  • 1-2-3 - Schedule regular/recurring reminder (PW: 12345678)
  • 2-2-2 - ODBC/Timeclock Lookup Demo (Empl No: 12345)
  • 2-2-3 - ODBC/AsteriDex Lookup Demo (Code: AME)
  • Dial *68 - Schedule a hotel-style wakeup call from any extension
  • 1061*1061 - PIAF Support Conference Bridge (Conf#: 1061)
  • 882*1061 - VoIP Users Conference every Friday at Noon (EST)

PBX in a Flash SQLite Registry. Last, but not least, we want to introduce you to the new PBX in a Flash Registry which uses SQLite, a zero-configuration SQL-compatible database engine. After logging into your server as root, just type show-registry for a listing of all of the applications, versions, and install dates of everything on your new server. Choosing the A option will generate registry.txt in the /root folder while the other options will let you review the applications by category on the screen. For example, the G option displays all of The Incredible PBX add-ons that have been installed. Here's the complete list of options:

  • A - Write the contents of the registry to registry.txt
  • B - PBX in a Flash install details
  • C - Extra programs install details
  • D - Update-fixes status and details
  • E - RPM install details
  • F - FreePBX modules install details
  • G - Incredible PBX install details
  • Q - Quit this program

And here's a sample from an install we recently completed.


Special Thanks. It's hard to know where to start in expressing our gratitude for all of the participants that made today's incredibly simple-to-use product possible. To Philippe Sultan and the rest of the Asterisk development team, thank you for finally making Jabber jabber with Asterisk. To Leif Madsen, our special thanks for your early pioneering work with Gtalk and Jabber which got this ball rolling. To Philippe Lindheimer, Tony Lewis, and the rest of the FreePBX development team, thanks for FreePBX 2.9 which really makes Asterisk shine. To Lefteris Zafiris, thank you for making Flite work with Asterisk 1.8 thereby preserving all of the Nerd Vittles text-to-speech applications. To Darren Sessions, thanks for whipping app_swift into shape and restoring Cepstral and commercial TTS applications to the land of the living with Asterisk 1.8. And to our pal, Tom King, we couldn't have done it without you. You rolled up your sleeves and really made CentOS 6 and Asterisk 1.8 and 10 sit up and bark. No one will quite understand what an endeavor that is until they try it themselves. You won't find another CentOS 6 implementation of Asterisk, and Tom has made it look incredibly easy. It wasn't! In fact, when CentOS released 6.1 this week, Tom actually shifted gears (again) and rebuilt PIAF2 (in a couple of days) to take advantage of CentOS 6.1. And, last but not least, to our dozens of beta testers, THANK YOU! We've implemented almost all of your suggestions.

Additional Goodies. Be sure to log into your server as root and look through the scripts added in the /root and /root/nv folders. You'll find all sorts of goodies to keep you busy. There's an all-new incrediblefax.sh script that painlessly installs and configures HylaFax and AvantFax for state-of-the-art faxing. The 32-bit install-cepstral script does just what it says. With Allison's Cepstral voice, you'll have the best TTS implementation for Asterisk available. ipscan is a little shell script that will tell you every working IP device on your LAN. trunks.sh tells you all of the Asterisk trunks configured on your system. purgeCIDcache.sh will clean out the CallerID cache in the Asterisk database. convert2gsm.sh shows you how to convert a .wav file to .gsm. munin.pbx will install Munin on your system while awstats.pbx installs AWstats. s3cmd.faq tells you how to quickly activate the Amazon S3 Cloud Computing service. All the other scripts and apps in /root/nv already have been installed for you so don't install them again.

If you've heeded our advice and purchased a PogoPlug, you can link to your home-grown cloud as well. Just add your credentials to /root/pogo-start.sh. Then run the script to enable the PogoPlug Cloud on your server. All of your cloud resources are instantly accessible in /mnt/pogoplug. It's perfect for off-site backups and is included as one of the backup options in the PBX in a Flash backup utilities.

Don't forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number. Enjoy!

Originally published: Thursday, December 15, 2011


VoIP Virtualization with Incredible PBX: OpenVZ and Cloud Solutions

Safely Interconnecting Asterisk Servers for Free Calling

Adding Skype to The Incredible PBX

Adding Incredible Fax to The Incredible PBX

Adding Incredible Backup... and Restore to The Incredible PBX

Adding Remotes, Preserving Security with The Incredible PBX

Remote Phone Meets Travelin' Man with The Incredible PBX

Continue reading Part II.

Continue reading Part III.

Continue reading Part IV.


Support Issues. With any application as sophisticated as this one, you're bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It's the best Asterisk tech support site in the business, and it's all free! We maintain a thread with Information, Patches and Bug Fixes for Incredible PBX 2.9. Please have a look. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won't have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

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

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

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

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


Some Recent Nerd Vittles Articles of Interest...

  1. As part of the yum update process, you'll actually end up with CentOS 6.2 minus the 6.2 kernel. []
  2. If you use the recommended Acer Aspire Revo, be advised that it does NOT include a CD/DVD drive. You will need an external USB CD/DVD drive to load the software. Some of these work with CentOS, and some don't. Most HP and Sony drives work; however, we strongly recommend you purchase an external DVD drive from a merchant that will accept returns, e.g. Best Buy, WalMart, Office Depot, Office Max, Staples. You also can run Incredible PBX 2.9 on a virtual machine such as the free Proxmox server. A security vulnerability has been reported in the Proxmox browser so be sure to run your server behind a secure, hardware-based firewall with no port exposure to the actual Proxmox server from the Internet. []