Posts tagged: vitelity

Choosing Wisely: Mastering Asterisk IVR and AutoAttendant Design with XiVO




Today we want to talk a little about design choices and IVRs. First and foremost, we don’t want to leave anyone behind during our XiVO adventure. XiVO is a platform that adjectives really can’t describe. It’s that good and, frankly, we’re having a hard time believing it’s been around for almost a decade and nobody much talked about it. Leave it to the crazy Americans to only look at stuff from the U.S. of A. Funny thing is that the two major GUIs for Asterisk® now are both Canadian-based.


One of our PIAF Forum readers posted a comment last week that said:

The only downside I see is that XiVO does not have [a] GUI for building IVRs. To build [a] complex, nested IVR system, everything has to be thought about in great detail writing contexts and dial plans to suit your unique requirements. It would be nice if XiVO offered a GUI for building IVRs.

This raises some issues about GUI design and development that are worth addressing. As with any GUI, the development cycle is lengthy and incredibly complex. This is especially true with XiVO where new versions are released every two weeks! In our second XiVO article, we showed how easy the upgrade procedure was. Those coming from other Asterisk platforms will appreciate this little shocker. XiVO doesn’t break stuff with their upgrades. Frankly, the only other company I can say that about is SONOS. If you don’t have their music platform, you’re missing a treat.

Introducing new components into any “main product” can cause all sorts of problems with the pieces that used to work. If you don’t believe it, look at some of the “other forums” and look at the number of message threads complaining that the new X Widget broke the Y widget and now nothing works. While we can’t speak for everyone, I think it’s safe to say nobody that depends upon their phone system wants to see it go up in flames regularly because some developer had a great new idea that didn’t quite do what it was supposed to do.

To their credit, the XiVO developers were smarter than that. They’ve not only built a mighty mousetrap, but they’ve done it in a way that supports outside integration of additional components without breaking the main product. There are numerous “hooks” that allow anyone with any skill set to add missing pieces. Some of these hooks are exclusively for programmers, but many were designed to let anybody integrate almost anything into the XiVO platform.

So, when a user says “I wish XiVO had an IVR Builder in the GUI,” our first inclination was to chuckle and respond with “You just don’t appreciate how lucky you are not to have an IVR Builder in the GUI.” What the commenter didn’t appreciate is that you don’t need to pre-build components with XiVO before developing an IVR. With the “other” GUI, you first had to create Custom Destinations and Custom Contexts and Miscellaneous Applications and Miscellaneous Destinations and Custom Recordings in the GUI before you could take advantage of the IVR GUI to build much of anything. Think about that for a minute. Yes, there was an IVR builder but, before you could use it, you first had to transform every component to be incorporated into the IVR using a large number of subcomponents to translate all of your Asterisk pieces into the GUI’s special lingo. Think of them as GUI pigeonholes, and you had to decipher which Asterisk square pegs went in which GUI round holes. We can’t count the number of times we’ve begun the IVR creation process only to have to stop and create missing components because the IVR builder simply wouldn’t recognize a feature as being part of our Asterisk dialplan.

Building IVRs and AutoAttendants with XiVO

The anatomy of an IVR in Asterisk could not be more straight-forward. You have a prerecorded message that plays to the caller giving them choices from which to choose from a menu of selections. The caller presses one of the 12 keys on their phone, and the IVR goes off and does some task: calls an extension, plays a recording, runs an Asterisk application, makes an outside call, or kicks off another IVR with another recording and more choices. Some options in the IVR may not be mentioned, and this is commonly referred to as the Stealth AutoAttendant. None of this is rocket science.

To build an IVR, you need these components: (1) a prerecorded message, (2) a list of the choices you want to provide to the caller with the corresponding destinations on the PBX to execute those choices, and (3) a template to follow to create the IVR dialplan code in XiVO.

Trust us when we say the major problem with IVRs is not that they’re difficult to build in XiVO. The real issue with most IVRs is that the person that implemented the IVR spent all their time worrying about the mechanics of PBX implementation and didn’t put sufficient thought into the IVR layout and the caller’s experience when actually interacting with the IVR. If you haven’t heard Allison Smith speak about IVR design, put it on your Bucket List for the next AstriCon or do some reading. That’s a long-winded way of saying that filling in the blanks of an IVR template is just as easy as point-and-click or drag-and-drop except for the eye candy. Just be thankful the XiVO platform gives you the flexibility to do it yourself without having to create imaginary destination hooks and recording linkages before they can be used in the product’s IVR GUI because the developers didn’t have the foresight to think outside their own GUI’s box. Every Windows user can appreciate that problem.

For today, we’re assuming you’ve done your homework and have already sketched out the options you want to incorporate into your IVR or IVRs. No GUI can help with that! So we’ll pick up from there and show you how easy it is to incorporate your IVR design into XiVO.

1. Incorporating Your Prerecorded Messages into XiVO

For openers, you obviously need a recording to greet callers and tell them what their choices are when using your IVR or AutoAttendant. You can build these recordings yourself on the XiVO platform or, for a more professional IVR, you can send the text off to Allison Smith and let her record the voice prompts for you. Digium makes it easy. Visit their web site, type in the text, and you’ll have your recording in a couple of days. No, they’re not free, but they’re not expensive either.

Since we’re just getting started, let’s assume you want to create a recording prototype on your own to work out the kinks in your IVR first. Here’s how. We’re assuming you’ve already read the Nerd Vittles XiVO tutorial and put the Festival TTS platform in place. Next, log into your XiVO server as root. To keep things simple, let’s put the recordings in WAV format in the /var/lib/xivo/sounds/playback directory which is reserved for our custom recordings:

cd /var/lib/xivo/sounds/playback

To actually generate the sound file that Asterisk can play back, execute the command below after placing your text between the quotation marks and giving the sound file a name, e.g. ivr-number1.wav:

echo "Text goes here" | /usr/bin/text2wave -F 8000 -o ivr-number1.wav

Here’s an example:

echo "Thank you for calling. Press 1 for Tom, 2 for Dick, or 3 for Harry. Press 0 to be connected to the operator." | /usr/bin/text2wave -F 8000 -o ivr-number1.wav

2. Marrying IVR Choices to PBX Destinations

Whether you’re deploying an IVR using FreePBX® or XiVO, you still have to translate your Plain English options into code that the GUI understands so that calls get routed successfully to the intended destinations.

Let’s begin with the FreePBX Way. Our previous IVR tutorial showed how it was done:




As you can see from the above routing procedure, there were interim steps for every single option in this IVR menu except #8. What you may not appreciate is that you first had to create both a Misc Destination AND a Custom Extension before these options could be used in FreePBX. Otherwise, the options simply didn’t appear in the IVR GUI’s pull-down pick lists.




If you wished to incorporate a custom context that wasn’t assigned an extension number on your PBX, there was a different GUI procedure. For something as simple as retrieving the time of day, you had to get the custom context registered with FreePBX before the dialplan code could be used in the IVR. According to the FreePBX developers, this functionality was considered an “advanced feature and should only be used by knowledgeable users.”



Our purpose in documenting all of this is to demonstrate that building IVRs even in a GUI is much more than point-and-click. It requires mastery of some fundamental Asterisk dialplan concepts not to mention the GUI’s own labyrinth of secret pigeonholes. Once you’ve had to master all of that, we believe it’s simpler to build IVRs using simple commands rather than jumping through all of the convoluted hoops required just to make your IVR GUI platform happy.

Let’s compare this methodology to the XiVO way of doing things by way of example. Then you can decide for yourself which approach is more complex. Would you know all of these on your own? Probably not. But now you can see how simple it really is. There really are only two words you need to learn: Dial and Goto. 🙂

Call an Extension: Dial(Local/701@default)
Call a Ring Group: Dial(Local/801@default)
Call a PSTN Number: Dial(Local/8005551212@default)
Call a SIP URI: Dial(SIP/2233435945@rentpbx.mundy.org)
Access DISA with permission: Dial(Local/3472@default)
Join a Conference: Dial(Local/2663@default)
Playback Yahoo News: Dial(Local/951@default)
Playback Weather Forecast: Dial(Local/947@default)
Identify IVR Option as Invalid and Repeat Menu: Goto(i,1)
Hangup on Caller for Choosing Invalid Option: Goto(t,1)
Execute Time of Day Custom Context: Goto(new-time,s,1)
Send Caller to a Second IVR and Play Second Recording: Goto(ivr-2,s,3)

Building XiVO IVRs from an IVR Template

We can’t speak for everyone, but we’ve always told folks not to write a book about how to do something. Just give us an example that’s easy to follow and we’ll take it from there. So here you go.

In the XiVO world, IVRs are nothing more than custom contexts. They have a name in [brackets], and they’re stored in config files saved in /etc/asterisk/extensions_extra.d. A config file can include multiple contexts or only one. For IVRs, we recommend you save each one in a single configuration file that houses a single context.

We’re going to give you a template to follow in creating all of the IVRs you can dream up. All you need is a custom recording for each one and your list of choices and destinations for those choices. The examples above tell you everything you need to know to build awesome IVRs.

After downloading the template, we recommend that you not edit it directly. Make a copy with a new file name and change the context name in the template to match your new file name. We also do one other little trick with all of our custom contexts. They always begin and end with comment lines like this using the context name:

;# // BEGIN ivr-template
;# // END ivr-template

The reason for this is it makes it incredibly easy to remove the entire context with a single command:

sed -i '\:// BEGIN ivr-template:,\:// END ivr-template:d' ivr-template.conf

This doesn’t matter so much when you only have a single context in a single file. But it is immensely helpful when you’ve stored dozens of contexts within the same file. Some may prefer to store all of the related IVR contexts for their entire IVR tree in a single file. And then you’ll appreciate this tip when it’s time to make major changes in your IVR.

Let’s begin by putting your template in place and then cloning it to ivr-number1:

cd /etc/asterisk/extensions_extra.d
wget http://incrediblepbx.com/ivr-template.tar.gz
tar zxvf ivr-template.tar.gz
rm -f ivr-template.tar.gz
cp -p ivr-template.conf ivr-number1.conf
sed -i 's|ivr-template|ivr-number1|' ivr-number1.conf

The rest of today’s exercise can be performed in the XiVO GUI using its built-in editor. Open the GUI with your browser and navigate to Services -> iPBX -> Configuration files and then open ivr-number1.conf by clicking on the pencil icon beside it.

Anatomy of the XiVO IVR Template

First things first. Change the sound recording in line s,3 to match the recording you made above without the .wav extension: ivr-number1. Leave the directory path just as it is. So your line should now look like this:

exten => s,3(skip),Set(IVR_MSG=/var/lib/xivo/sounds/playback/ivr-number1)

Next, take a look at the structure of the file. You’ll note that there are options labeled exten => 0,1, through exten => 9,1,. These match the numeric keys on a telephone obviously. In the IVR world, it’s called a phone tree. All you need to change is what comes after the second comma on each line. This destination should be one of the XiVO commands we documented above telling XiVO how to process the call. For option 0, let’s assume you wanted to route the call to extension 701. Your 0 branch would look like this:

exten => 0,1,Dial(Local/701@default)

The remaining dial options should be obvious. If you want to designate a particular option to be invalid, make the option look like this:

exten => 9,1,Goto(i,1)

Another alternative is to remove the line entirely; however, we prefer the above approach because it makes it easy to change things down the road if you decide to use option 9 as a call destination.

Two other options warrant a brief explanation. The i option tells XiVO how to process the call if the caller chooses an invalid option. The t option tells XiVO what to do if the 3-second timeout occurs without the caller pressing a key. You can modify these to meet your own requirements. As configured, an invalid option sends the caller back to the recording to start over. And the timeout option hangs up the call.




Finally, phone trees can get quite complex. A GUI can’t fix that either. Pressing option 2 might trigger phone tree 2 while pressing 3 might trigger phone tree 3. Programmers could obviously rewrite the dialplan to handle all of these separate phone trees with their separate branches in one giant, convoluted chunk of dialplan code. But why? Just make each phone tree a separate IVR housed in its own file with its own context. And navigate between the IVRs using simple Goto commands such as Goto(ivr-number2,s,3). To return to the main IVR, do the same thing pointing to the line number to which the call should be redirected, e.g. Goto(ivr-number1,s,3). You obviously don’t need to answer each call but once so skip those lines in the IVR dialplan when choosing the line number to which to redirect processing.

Routing Incoming Calls to Your IVR

If you’ve already set up one or more DIDs on your PBX, then you probably routed those Incoming Calls to a user or ring group. Changing the routing to send the calls to your IVR is easy. Just edit the DID entry for the Incoming Calls you wish to redirect and set the Destination to Customized and the destination Command to the context of your IVR: Goto(ivr-number1,s,1). Save your change and you’re all set. Remember, XiVO is a real-time Asterisk server so all of your changes take effect immediately. There’s no rewriting of the entire Asterisk dialplan. Enjoy!

Taking Nerd Vittles’ XiVO IVR for a Test Drive

There’s a Demo IVR running at www.pacificnx.com on their XenServer virtualization platform. Scott McCarthy, a leading outside XiVO developer and a principal at PacificNX, tells us they soon will have a $20 a month platform specifically tailored to XiVO. And that’s what you’ll be hearing when you call the Nerd Vittles Demo IVR:

Nerd Vittles Demo IVR Options
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference
3 – Wolfram Alpha (Coming Soon!)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (enter a 5-digit ZIP code)
7 – Today in History (Coming Soon!)
8 – Speak to a Real Person (or maybe just Lenny if we’re out)

Published: Thursday, May 26, 2016

UPDATE: The first release of Incredible PBX for XiVO is now available here. Please consider this article as a supplement to the new release.





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


 
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    2016, Celebrating The Preakness: CallerID Superfecta Rides Again with XiVO


    If you missed The Preakness Saturday, another Triple Crown bit the dust… or the mud in this case. But, if you had the winning Superfecta ticket, you made a $316 profit on your $1 bet. For the rest of us, there’s still a Superfecta win to celebrate, and this one’s free. We’ve begun porting CallerID Superfecta to the XiVO platform and today we’ll share that code with you together with lots of other goodies in our third roundup of Incredible PBX add-ons for the XiVO PBX. If you’re just joining the party, start with the first and second articles on XiVO, and then you’ll be ready to roll up your sleeves for Chapter 3.

    UPDATE: The first release of Incredible PBX for XiVO is now available here. Please consider this article superseded by the new release.

    Installing CallerID Superfecta for XiVO

    As we mentioned in April, it’s always nice to see your baby grow up. Nearly a decade ago, we introduced an AGI script for Asterisk@Home known as CallerID Trifecta for FreePBX® 2.2.0. As sources of CNAM lookups expanded, a number of other individuals contributed code to support those lookups. When we added a fourth CNAM lookup source, the original application morphed into CallerID Superfecta. Then we gave up. The source lookups became too numerous to mention.

    For today, we’ve changed the design a bit to better accommodate the XiVO platform. There’s a single AGI script that houses the various CNAM lookup sources and the code to extract CallerID names from those sources. And there’s a dialplan script that let’s you specify which CNAM sources to use and in which order. As with the original release, CallerID lookups take the phone number of the caller and walk through your CNAM lookup sources in the order you specify until a CallerID name match is found. Then the result is returned to the PBX for use with the incoming call. The reason for all of this is historical. The Bell Sisters decided it was more profitable to dump CallerID name information in the bit bucket rather than passing it along with incoming calls. In that way, they could charge folks for looking up the matching name in their proprietary databases. A few CallerID lookup sources remain free, but many now are pay-as-you-go platforms with a typical lookup costing about half a cent. Unfortunately, all providers consider “WIRELESS CALLER” a successful lookup. Ka-Ching! We’ve documented the procedure to add additional CNAM lookup sources on the PIAF Forum. Please share your work!

    This release of CallerID Superfecta provides four lookup sources. That’s what a Superfecta is all about, picking four winners:

    0 - AsteriDex SQLite3 database
    1 - OpenCNAM (free from cache or commercial)
    2 - BulkCNAM (commercial only with free trial)
    3 - TelcoData (provider, city, and state of caller)

    There are three simple steps to putting everything in place. First, run the scripted commands below. Second, specify which CNAM sources you wish to use and in what order. Third, register with the commercial providers you’d like to use and plug your credentials into the CallerID Superfecta script.

    To install CallerID Superfecta, log into your server as root and issue the following commands:

    cd /
    apt-get -y install php5-xmlrpc
    wget http://incrediblepbx.com/cid-superfecta.tar.gz
    tar zxvf cid-superfecta.tar.gz
    rm -f cid-superfecta.tar.gz
    /etc/init.d/asterisk restart
    

    By default, CallerID Superfecta will attempt to use all four of the providers in the order shown to retrieve a CNAM match. If you have migrated your AsteriDex database to XiVO as we covered in last week’s article, then CallerID names will be provided for your most frequent incoming calls without ever accessing external sources. You won’t break anything by leaving all four CNAM sources activated. But, without signing up for service with OpenCNAM or BulkCNAM, your CNAM results will be diminished considerably. And a result of “WIRELESS CHARLESTON SC” from TelcoData doesn’t provide much of a clue as to who is calling. But at least you don’t get charged for that one.

    In the next release, we will add an optional feature that will populate entries in AsteriDex from CNAM data returned from OpenCNAM and BulkCNAM. The good news is, if you leave AsteriDex at the top of the CallerID Superfecta search list, you’ll never pay for the CNAM lookup of the same number twice. The bad news is, to keep the bad guys from self-populating your database with expensive phone numbers, you’ll need to password-protect the Voice Dialing application if it is part of your inbound IVR.

    To change the source list or sequence of CNAM lookups, open the XiVO GUI and navigate to IPX configuration -> Configuration files. Then edit cid-superfecta.conf. Find the line that looks like the following and specify the sources you wish to use and the sequence in which they should be searched using the source numbers listed above to replace 0-1-2-3. Separate your entries with hyphens. Then SAVE the file.

    same = n,AGI(nv-cid-superfecta.php,${XIVO_SRCNUM},0-1-2-3)
    

    To use the commercial CNAM services of either OpenCNAM or BulkCNAM, you first must register with them and provide a credit card. You then will be provided credentials to use for your CNAM lookups. These need to be inserted at the top of /var/lib/asterisk/agi-bin/nv-cid-superfecta.php. Then SAVE the file.



    Activating Traditional Asterisk Call Detail Recordings

    If you want to preserve the numbers AND names of those that call your PBX, you’ll need to activate the traditional CDR reporting mechanisms in Asterisk®.

    To activate SQLite3 logging of calls:

    cd /etc/asterisk
    sed -i 's|no|yes|' cdr.conf
    echo "[master]" >  cdr_sqlite3_custom.conf
    echo "table = cdr" >>  cdr_sqlite3_custom.conf
    echo "columns => calldate, clid, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield"  >>  cdr_sqlite3_custom.conf
    echo "values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}', '${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}', '${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}', '${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}'" >>  cdr_sqlite3_custom.conf
    chown asterisk:www-data cdr_sqlite3_custom.conf
    chmod 660 cdr_sqlite3_custom.conf
    sed -i 's|noload => app_cdr.so|;noload => app_cdr.so|' modules.conf
    sed -i 's|noload => cdr_sqlite3_custom.so|;noload => cdr_sqlite3_custom.so|' modules.conf
    sed -i 's|noload => func_cdr.so|;noload => func_cdr.so.so|' modules.conf
    touch /var/log/asterisk/master.db
    chown asterisk:asterisk /var/log/asterisk/master.db
    chmod 640 /var/log/asterisk/master.db
    /etc/init.d/asterisk restart
    

    To also activate CSV logging of calls:

    cd /etc/asterisk
    echo "[csv]" >> cdr.conf
    echo "loguniqueid=yes" >> cdr.conf
    echo "loguserfield=yes" >> cdr.conf
    echo "accountlogs=yes" >> cdr.conf
    sed -i 's|noload => cdr_csv.so|;noload => cdr_csv.so|' modules.conf
    /etc/init.d/asterisk restart
    

    To retrieve SQLite3 call log data, here are a few examples to get you started:

    ALL: sqlite3 /var/log/asterisk/master.db "select * from cdr"
    DATE: sqlite3 /var/log/asterisk/master.db "select * from cdr where calldate >= '2016-05-22'"
    NPA: sqlite3 /var/log/asterisk/master.db "SELECT * from cdr WHERE clid LIKE '%<843%'"
    DEST: sqlite3 /var/log/asterisk/master.db "SELECT * from cdr WHERE dstchannel LIKE '%411%'"
    FLDS: sqlite3 /var/log/asterisk/master.db "PRAGMA table_info(cdr)"

    To retrieve the CDR log in CSV format suitable for spreadsheets, download:

    /var/log/asterisk/cdr-csv/Master.csv
    

    Adding Asterisk ULAW Sound Files to Your XiVO PBX

    At least for us, the default sound files distributed with XiVO didn’t work. Here’s how to add the ulaw versions of all the files to your server:

    cd /usr/share/asterisk/sounds/en
    wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
    wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
    tar zxvf asterisk-extra-sounds-en-ulaw-current.tar.gz
    tar zxvf asterisk-core-sounds-en-ulaw-current.tar.gz
    rm -f *.tar.gz
    chown asterisk:asterisk *.ulaw
    

    Adding DISA Support to Your XiVO PBX

    If you’re new to PBX lingo, DISA stands for Direct Inward System Access. As the name implies, it lets you make calls from outside your PBX using the call resources inside your PBX. This gives anybody with your DISA credentials the ability to make calls through your PBX on your nickel. It probably ranks up there as the most abused and one of the most loved features of the modern PBX.

    We use two-step authentication with DISA to make it harder for the bad guys. First, the outside phone number has to match the whitelist of numbers authorized to use your DISA service. And, second, you have to supply the DISA password for your server before you get dialtone to place an outbound call. Ultimately, of course, the monkey is on your back to create a very secure DISA password and to change it regularly. If all this sounds too scary, don’t install DISA on your PBX.

    1. Download the DISA dialplan script into your /root folder where it can be edited:

    cd /root
    wget http://incrediblepbx.com/disa-xivo.tar.gz
    tar zxvf disa-xivo.tar.gz
    rm -f disa-xivo.tar.gz
    nano -w disa-xivo.txt
    

    2. When the editor opens the dialplan code, move the cursor down to the following line:

    exten => 3472,n,GotoIf($["${CALLERID(number)}"="701"]?disago1)  ; Good guy
    

    3. Clone the line by pressing Ctrl-K and then Ctrl-U. Add copies of the line by pressing Ctrl-U again for each phone number you’d like to whitelist so that the caller can access DISA on your server. Now edit each line and replace 701 with the 10-digit number to be whitelisted.

    4. Move the cursor down to the following line and replace 12341234 with the 8-digit numeric password that callers will have to enter to access DISA on your server:

    exten => 3472,n,GotoIf($["${MYCODE}" = "12341234"]?disago2:bad,1)
    

    5. Save the dialplan changes by pressing Ctrl-X, then Y, then ENTER.

    6. Now copy the dialplan code into your XiVO setup, remove any previous copies of the code, and restart Asterisk:

    cd /root
    sed -i ':// BEGIN DISA:,:// END DISA:d' /etc/asterisk/extensions_extra.d/xivo-extrafeatures.conf
    cat disa-xivo.txt >> /etc/asterisk/extensions_extra.d/xivo-extrafeatures.conf
    /etc/init.d/asterisk restart
    

    7. The traditional way to access DISA is to add it as an undisclosed option in an IVR that is assigned to one of your inbound trunks (DIDs). For the demo IVR that we installed last week, edit the ivr-1.conf configuration file and change the “option 0” line so that it looks like this. Then SAVE your changes.

    exten => 0,1(ivrsel-0),Dial(Local/3472@default)
    

    8. Adjust the inbound calls route of one of your DIDs to point to the demo IVR by changing the destination to Customized with the following Command:

    Goto(ivr-1,s,1)
    

    Here’s how ours looks for the Nerd Vittles XiVO Demo IVR:



    9. Now you should be able to call your DID and choose option 0 to access DISA assuming you have whitelisted the number from which you are calling. When prompted, enter the DISA password you assigned and press #. You then should be able to dial a 10-digit number to make an outside call from within your PBX.

    SECURITY HINT: Whenever you implement a new IVR on your PBX, it’s always a good idea to call in from an outside number 13 TIMES and try every key from your phone to make sure there is no unanticipated hole in your setup. Be sure to also let the IVR timeout to see what result you get.

    Adding Vitelity to XiVO for Flawless VoIP Calling

    We already have shown you several ways to take advantage of free VoIP calling in the U.S. and Canada as well as internationally. But, the old adage still holds true. You get what you pay for. And, if you’re using XiVO for your business or if you like a good night’s sleep without worrying about whether your spouse is going to stab you because of lousy phone connections, then splurge and spend a penny and a half a minute for outbound calls while getting unlimited incoming calls (4 at a time!) for only $3.99 a month. You’re worth it. The signup link for Vitelity is at the end of today’s article. Once you have your credentials, create a subaccount on the Vitelity site and then you’re ready to set up your Vitelity trunks with XiVO. We’ll use one trunk for incoming calls and a second trunk for outbound calls. The setup procedure for both trunks is already documented on the PIAF Forum. Make that your next stop!


    Simultaneous Cellphone Ringing for Inbound Calls with XiVO

    Speaking of incoming calls, wouldn’t it be nice if your cellphone also rang when XiVO calls arrived on your main extension. Then you don’t have to worry about missing a call just because you stepped out of the office.

    If you took our earlier advice and purchased a RingPlus phone with free monthly service, then you’re already covered. Setting up the RingPlus SIP trunk last week covered all the bases. And, there’s more good news from RingPlus. Now you can buy a phone in their Classifieds section without previously owning a phone. So you can hit the ground running with a phone AND a free calling plan. For example, $149 currently buys a brand new Moto E with 3,000 4G/LTE and SIP minutes, 3,000 SMS messages, and 3,000 MB of LTE data every month. And the monthly cost: ZERO!

    But, let’s assume you’re not the sharpest tool in the shed, and you still want your cellphone to ring when extension 701 rings on your PBX. Here’s how.

    In the User setup for your extension:

    1. Enter your cellphone number in the Mobile Phone Number field. Be sure it includes any necessary dial prefix so that it’s routed out through the correct trunk.

    2. On the same screen, you’ll find a Preprocess subroutine field. Enter the following there: pre-mobility

    3. SAVE your changes.

    Keep in mind that outbound calls in XiVO are routed out using dialing prefixes. If you have set up a trunk with a provider that allows CallerID spoofing such as Vitelity, Anveo Direct, or VoIP.ms, then you can preserve the caller’s original CallerID number on the forwarded call to your mobile phone provided the dial string for your cellphone number matches the format you set up for the trunk you wish to use. For example, if Exten for Vitelity is 8NXXNXXXXXX, then you would enter the number for your cellphone with an 8 prefix: 89991234567.

    Munin Makes XiVO Shine

    If you look under the Services tab and choose Graphics, the World of Munin will suddenly appear. There are literally dozens of gorgeous charts to tell you anything and everything you’d ever want to know about your server’s performance. Enjoy!



    Endpoint Management on Steroids… and It’s FREE

    If you’ve longed for an endpoint manager that would automatically configure your phones, the wait is over. XiVO supports literally dozens of phones out of the box. And the setup is integrated into the setup procedure for the users and devices. To get started, choose the Configuration tab and click Plugins. Next click on the + icon to load the default endpoint config files. We couldn’t do justice to this topic in a blog. That’s what tutorials are for. And XiVO has a 700+ page reference guide that will tell you everything you ever wanted to know about endpoint management.




    Adding NeoRouter VPN to XiVO

    We’ll finish up for this week by showing you how easy it is to add the NeoRouter Client to XiVO. In less than five minutes, you’ll be able to use XiVO’s NeoRouter private IP address to access your server securely from anywhere in the world. Start by reading our last introduction to NeoRouter. If you do not already have a NeoRouter Server, follow this tutorial to set one up before you begin.

    If you’re running XiVO on a 64-bit platform, issue the following commands to install the free NeoRouter client:

    cd /root
    wget http://download.neorouter.com/Downloads/NRFree/Update_2.3.1.4360/Linux/Ubuntu/nrclient-2.3.1.4360-free-ubuntu-amd64.deb
    dpkg -i nrclient-2.3.1.4360-free-ubuntu-amd64.deb
    

    If you’re running XiVO on a 32-bit platform, do this instead:

    cd /root
    wget http://download.neorouter.com/Downloads/NRFree/Update_2.3.1.4360/Linux/Ubuntu/nrclient-2.3.1.4360-free-ubuntu-i386.deb
    dpkg -i nrclient-2.3.1.4360-free-ubuntu-i386.deb
    

    Unless you want your server identified in NeoRouter as localhost, we recommend changing your hostname and rebooting your server at this juncture. Just edit /etc/hostname and give it a name, e.g. xivo. Then reboot.

    Now log back into your server as root and then log into your NeoRouter client. This will assign a private IP address to your XiVO server. The nrtap entry running ifconfig will tell you what that address actually is.

    nrclientcmd
    ifconfig
    

    Taking Nerd Vittles’ XiVO IVR for a Test Drive

    There’s a Demo IVR running at www.pacificnx.com on their XenServer virtualization platform. Scott McCarthy, a leading outside XiVO developer and a principal at PacificNX, tells us they soon will have a $20 a month platform specifically tailored to XiVO. And that’s what you’ll be hearing when you call the Nerd Vittles Demo IVR:

    Nerd Vittles Demo IVR Options
    1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
    2 – MeetMe Conference
    3 – Wolfram Alpha (Coming Soon!)
    4 – Lenny (The Telemarketer’s Worst Nightmare)
    5 – Today’s News Headlines
    6 – Weather Forecast (enter a 5-digit ZIP code)
    7 – Today in History (Coming Soon!)
    8 – Speak to a Real Person (or maybe just Lenny if we’re out)

    Published: Monday, May 23, 2016





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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    VoIP Hardware Deal of the Year: Meet the $20 Pogoplug 4 with Incredible PBX

    This week’s project is not for mere mortals. It’s for techies that also happen to be cheapskates frugal. You may recall the Pogoplug from yesteryear. Well, the Pogoplug 4 still is around and can be yours for under $20 with free 2-day shipping if you’re an Amazon Prime member. But the clock is ticking on these bad boys. Once they’re gone, they’re gone.1

    UPDATE: There’s more good news. Now the cost with the Pogoplug Backup & Sharing model is just $10.95! For our purposes, the main difference is one less USB port, but it still has one which is all you need for wireless networking.

    So we took the dare and decided to see whether the Pogoplug 4 could actually run Asterisk 11® and FreePBX® 2.11 and Incredible PBX™. And guess what? It may not be pretty, but it works. If you happen to have a Google Voice number and a kid away at school or a grandma in a distant city with an Internet connection or if you have a vacation home or rental property that needs phone service (but not often), then this $20 project may be for you. Configure the device, add a cheap SIP phone, and presto! You’ve got free calling in the U.S. and Canada with your very own phone number for as long as you have Internet service and Google chooses to keep paying your phone bill. 😉

    Don’t take our word for it. Call our Pogoplug for a quick IVR demo compliments of Allison:

    1. Call by Name (just say “American Airlines” to try it out)
    2. Conference Call (enter 1234# to join the conference)
    3. Wolfram Alpha (try this: “What planes are overhead?”)
    4. Lenny (the Telemarketers’ Worst Nightmare)
    5. Yahoo News Headlines
    6. Weather Forecasts (say a city and state or country)
    7. Today in History
    8. Ring the House Phones (sends you back to Lenny)

    Our tip of the hat this week goes to Qui Hong without whom none of this would have been possible. His tutorial on transforming the Pogoplug 4 into a Debian server is a true masterpiece. And his blog is where we begin our adventure once you have the correct Pogoplug 4 in hand: POGO-V4-A3-01. Our link has the correct one, but double-check the Model Number just to be sure.

    Converting the Pogoplug 4 into a Debian Platform

    Once you have your Pogoplug, you’ll need to scurry over to Qui Hong’s blog and carefully work through his tutorial to convert your Pogoplug into a Debian server. As we’ve said many times before, if you can follow a cookie recipe and end up with edible cookies, then you can do this. Just be very careful of typos. One bad keystroke can turn your Pogoplug into a burnt cookie. Then it becomes a $40 project. 🙂

    Installing Incredible PBX 11.12.0 on the Pogoplug 4

    Once your Pogoplug has been Debianized, there are five simple steps to get Incredible PBX up and running on your Pogoplug 4:

    1. Purchase a storage device
    2. Download Incredible PBX image
    3. Untar the image on your desktop
    4. Burn the image to an SD card
    5. Insert the SD card in the Pogoplug and boot

    Choosing a Storage Platform. The first step is to purchase a suitable SD card. We recommend at least a 16GB Class 10 card from Transcend, SanDisk, or Kingston. All of them are about $10 on Amazon and many include free 2-day shipping for Prime customers.

    Downloading Incredible PBX for Pogoplug. From your favorite desktop computer, download the latest build of Incredible PBX from SourceForge. Depending upon your network connection and the SourceForge mirror, it can take awhile. It’s a whopping 1.5GB image!

    Untarring Incredible PBX for Pogoplug. Depending upon your desktop platform, untarring incrediblepbx.4.pogoplug.D7.latest.tar.gz is as simple as double-clicking on it in the Downloads folder (on a Mac). On the Windows platform, here are 3 utilities that will do the job. On a Linux desktop, open a Terminal window and…

    tar zxvf incrediblepbx.4.pogoplug.D7.latest.tar.gz
    

    Burning the Incredible PBX image to SD card. Once you’ve untarred the file, you’ll find two scripts that make burning the image to an SD card simple if you’re on a Mac or Linux desktop. On a Windows machine, it’s a little more complicated. Most SD cards come preformatted with a DOS partition so your Windows machine should recognize the SD card when it’s inserted. If not, format the card using a utility such as SD Card Formatter. Next, you’ll need Win32 Disk Imager to burn pogoplug.img to your card. Once the image has been transferred, gracefully unmount the card from your desktop.

    Booting Incredible PBX on the Pogoplug. Insert the SD card (electronics side down) into your Pogoplug 4. Then apply power to the device after connecting an Ethernet cable to a network with Internet connectivity that can also hand out DHCP addresses. Visit your router to decipher the IP address assigned to the Pogoplug and reserve the IP address so that it doesn’t suddenly change down the road. Log into Incredible PBX as root with pogoplug as your password. Your SSH credentials, Asterisk DUNDI secrets, logs, and network connection options will be initialized. When prompted, press Enter to reboot your server. With some SD cards, you may find yourself waiting an eternity for the promised reboot. After seeing the “rebooting” message, count to ten. If your server still hasn’t rebooted, remove and reapply power. This quirk goes away after the first reboot.

    After the reboot, log in again as root with password: pogoplug. Your firewall setup will be initialized to lock down your whitelist to your server’s public and private IP addresses AND the IP address of the machine from which you’re logging in. All of your FreePBX passwords will be randomized as well. The whole process only takes a few seconds.

    When the second pass configuration is complete, you will be greeted by a welcoming message. STOP and read it. It has loads of important information about your server’s configuration and your next steps. Press ENTER to review status:

    The Next 10 Steps. Before you do anything else, complete the following steps. It only takes a minute to secure and properly configure your server:

    1. Change your root password: passwd
    2. Change your FreePBX admin password: /root/admin-pw-change
    3. Set your correct time zone: /root/timezone-setup
    4. Expand partition to match SD card size: /root/resize-partition
    5. Add any desired IP addresses to WhiteList: /root/add-ip
    6. Decipher the randomized password for extension 701. It’s in the data field:
      mysql -uroot -ppassw0rd -e "select * from asterisk.sip where id=701 and keyword='secret'"
      
    7. Decipher the randomized voicemail password for extension 701. It’s the first entry:
      cat /etc/asterisk/voicemail.conf | grep 701 | cut -f 3 -d " "
      
    8. Enable Windows Networking, if desired: /root/samba-enable.sh
    9. Configure PPTP Network, if desired: cat /root/pptp-faq
    10. Check status to be sure everything is working: status

    A Few Important Tips. Every operating system and service provider has their quirks. Ask Bill Gates! Debian and especially Comcast are no different. Fortunately, with Debian, it’s a very short list.

    1. Use the following commands (only!) to shutdown and restart your server: halt and reboot. These commands are reworked in Incredible PBX to gracefully shutdown important services so that files don’t get damaged. Please use them!

    2. If you ever want to move your server to a different network, complete these steps before you leave your existing network. First, using add-ip or add-fqdn, add the new WhiteList addresses for your new location using Option 0 (all privileges). Otherwise, you won’t be able to access your server once you move. Then issue the commands below. This will trigger a new Phase I update (outlined above) on the default network (eth0) using DHCP the next time you boot your Pogoplug.

    touch /etc/update_hostconfig
    halt
    

    3. You really do need email connectivity to get the most out of Incredible PBX. It’s the way you receive important notifications from FreePBX, and it’s also how voicemail messages are delivered. From the Linux CLI, test your server to be sure you can send emails reliably:

    echo "test" | mail -s testmessage yourname@gmail.com
    

    After checking your spam folder, if you really didn’t get the email, it may be that your service provider is blocking downstream SMTP traffic. You can use your provider’s SMTP server as a smarthost to send out mail with Exim4. Just run the following program to reconfigure the Exim mail server: dpkg-reconfigure exim4-config. Choose the SmartHost option and enter your provider’s SMTP address, e.g. smtp.comcast.net or smtp.knology.net. Exim will restart.

    4. If you’d like to activate ODBC support for Asterisk including our ODBC sample applications including Speed Dial, here are the steps. Log into your server as root and issue the following commands:

    cd /root
    wget http://incrediblepbx.com/odbc-pogoplug.tar.gz
    tar zxvf odbc-pogoplug.tar.gz
    rm odbc-pogoplug.tar.gz
    ./mysql-sample
    ./mysql-odbc
    ./odbc-gen.sh
    

    Now you can try things out by dialing 222 from a phone connected to your server. When prompted for the employee number, enter 12345. Or dial 223 and, when prompted for the AsteriDex Dial Code, enter 263 (the first 3 letters of the American Airlines entry).

    5. Want a list of your completed calls without using FreePBX? It’s easy:

    mysql -uroot -ppassw0rd -e "SELECT SUBSTRING(calldate,6,11) AS calldate,clid,src,dst,duration from asteriskcdrdb.cdr WHERE disposition='ANSWERED' ORDER BY calldate DESC"
    

    6. There may be situations in which it is desirable to use wireless networking instead of a wired connection with your Pogoplug. For under $10, you now can add WiFi. Here’s our post on the PIAF Forum to show you how.

    Managing FreePBX with Incredible Backup and Restore

    Unlike other releases of Incredible PBX, the backup and restore tools can be helpful on the Pogoplug platform. Even though Asterisk runs smoothly, calls sound great, and performance is pretty amazing, the FreePBX GUI is usable but a bit sluggish on the Pogoplug platform. If the performance bothers you, there’s a workaround. Create an Incredible Backup image of your Pogoplug, restore that image on a more normal Ubuntu 14 platform with ample RAM, and then make your FreePBX changes there using the FreePBX GUI. When you’re finished, make a backup of the changes, and then restore that backup to your Pogoplug. It sounds more complicated than it actually is. In essence, you’ll be transforming FreePBX into an Asterisk code generator. In fact, once a backup is restored, you can shut down your web server, and almost everything will still work. We were able to perform the entire procedure including updating all of the FreePBX modules and adding a Google Voice trunk in about 15 minutes using a snapshot of an Incredible PBX for Ubuntu 14 droplet we previously had created. Here are the actual steps to perform the first time:

    1. Take an image snapshot of your server with Incredible Backup: /root/incrediblebackup

    HINT: No need to do it initially. One is included: /backup/DU-2014.09.07.19.46-A11.12.0-F2.11-I11.12.0.tar.gz

    2. Create a 512MB Droplet on Digital Ocean using Ubuntu 14 and Incredible PBX for Ubuntu. Follow the Nerd Vittles tutorial which also has a signup link to assist our projects. Coupon code: ALLSSD10 gets you a $10 credit this month. Once you’re up and running, you may want to take a snapshot so that you can quickly recreate droplets while also avoiding hourly charges for the one you’ve previously built (whether running or not!). Digital Ocean 512MB droplets cost less than a penny an hour so this is not a big ticket item. When you finish with the droplet, just destroy it (once you’ve made a snapshot!). Then the money meter stops. First time build takes about 30 minutes.

    3. After creating /backup folder on DO droplet, copy your backup image from step #1 to this folder.

    4. Restore the image: /root/incrediblerestore /backup/DU-somefilename.tar.gz

    5. Open FreePBX on DO with a browser and log in as admin with your admin password.

    6. Make all the changes desired using the tutorial below. Reload FreePBX (red bar) when prompted before exiting!

    7. Make a DO backup of your new setup: /root/incrediblebackup

    8. Copy the DO backup file to /backup on your Pogoplug.

    9. Restore the DO backup: /root/incrediblerestore /backup/DU-somefilename.tar.gz

    10. Log out and back into your Pogoplug as root.

    Getting Started with VoIP and FreePBX

    To access FreePBX, just point to the IP address of the server. The main control panel looks like this:

    As configured, the default user account for FreePBX administration is admin. The password is whatever you set in the initial setup above. If you ever forget it, you can reset it easily: /root/admin-pw-change.

    For those new to Asterisk and FreePBX, here’s a brief primer on what needs to happen before you can make and receive calls. If you have an existing Google Voice account, lucky you. This gets you a phone number for your PBX so people can call you. And it provides a vehicle to place free calls to plain old telephones in the U.S. and Canada so long as Google continues to provide the free service.

    If you don’t have a Google Voice account or a shiny new smartphone, then you will need to purchase a SIP trunk from one of the numerous vendors around the world. Our favorite (because they provide terrific service at a modest price AND provide financial support to the Nerd Vittles, PBX in a Flash, and Incredible PBX projects) is Vitelity. Their special rates and a link for a discount are included at the end of today’s article.

    Unlike POTS phone service from Ma Bell, the SIP World is a little different. First, you don’t need to put all your eggs in one basket. A trunk that gets you a phone number for incoming calls need not be with the same vendor that provides a trunk to place outbound calls. In fact, you may want multiple trunks for outbound calls just to have some redundancy. A list of our favorites in the U.S. and Canada is available on the PIAF Forum. Of course, there also are providers that offer all-you-can-eat calling plans. Two of our favorites are Vestalink and Future-Nine.

    You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop.

    Phones connect to extensions in FreePBX to work with Incredible PBX. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works.

    There are lots of bells and whistles that you can explore down the road including voicemail, conferencing, IVRs, autoattendants, paging, intercoms, CallerID lookups, announcements, DISA, call parking and pickup, queues, ring groups, and on and on. And then there’s all of the Incredible PBX applications which are covered separately in this Nerd Vittles article. Once you’re comfortable with one server, you or your company will want some more. This Nerd Vittles article will walk you through interconnecting them into a seamless mesh network so that you can call from one office to another transparently. Yes, those articles were written for the Raspberry Pi. But the beauty of Incredible PBX is that it runs (almost) identically on every server platform.

    Here’s our 7-Step Checklist to Getting Started with FreePBX:

    1. Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need an existing Google Voice account that includes the Google Chat feature. You’ll need one dedicated to Incredible PBX, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice may cease to function at any time after May 15, 2014. You can read all about it here.

    • Log into existing Google Voice account
    • Enable Google Chat as Phone Destination
    • Configure Google Voice Calls Settings:
      • 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

    • Place test call in and out using GMail Call Phone
    • Log out of your Google Voice account

    If this fails, then Google may have blocked your IP address. Here’s how to unblock it.

    2. Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

    Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

    To activate a Google Voice trunk, you must restart Asterisk on the Pogoplug platform: amportal restart.

    3. Setting a Destination for Incoming Calls. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system. By default, Incredible PBX is configured to route all incoming calls to extension 701. You can change the setting whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target destination from the pull-down lists.

    Always click Submit and then click Apply Config to save new settings in FreePBX. This is especially important on the Pogoplug platform because you cannot actually do it once you restore the backup image to the Pogoplug.

    4. Activating Additional Trunks with FreePBX. As we mentioned, there are lots of SIP providers to choose from. Once you have signed up for service, configuring the trunk is easy. Here is a quick Cheat Sheet courtesy of Kristian Hare, who translated our original setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it. The left and right cursor keys will move you around in the image. Click on the image again to shrink it.

    5. Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

    For now, we only need to make a few changes. First, you need a very secure password for both the extension itself and your voicemail account for this extension. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing password entries with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible PBX to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

    Finally, you need to plug in your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of your microSD card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

    In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. In addition to managing your voicemails, you’ll also be given the opportunity to either return the call to the number of the person that called or to transfer the voicemail to another extension’s voicemail box. And you can always leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

    6. Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

    7. Configuring CallerID Superfecta. In order to match names with phone numbers, Incredible PBX includes a FreePBX application named CallerID Superfecta. Out of the box, Incredible PBX will work fine if you remember to activate CallerID Superfecta whenever you create a new Inbound Route. The CNAM entries also will be displayed in your CDR reports. For those not in the United States, you may prefer to use a lookup source for your numbers other than the ones preconfigured in CallerID Superfecta. You will find all of the available modules on the POSSA GitHub site. Just download the ones desired into /var/www/html/admin/superfecta/sources and then activate the desired sources in Admin -> CID Superfecta -> Default. You can test your results and the performance using the Debug facility that’s built into the module.

    If you’re using FreePBX on an Ubuntu server in the Cloud, now is the time to drop down to the Linux command prompt, log in as root, and make a backup: /root/incrediblebackup. Copy the backup from /backup to the same folder on your Pogoplug and restore it: /root/incrediblerestore /backup/DU-somefilename.tar.gz. Then restart Asterisk on your Pogoplug: amportal restart. Finally, log out and back into your Pogoplug to assure that FreePBX will function properly on that platform.

    Adding Speech Recognition for Incredible PBX Applications

    We used to include Google’s Speech-to-Text service in earlier Incredible PBX builds. Unfortunately, Google has changed the rules a bit. Assuming your server still meets the “personal and development” standard, you can obtain an API key from Google and reactivate speech-to-text functionality for many of the Incredible PBX applications including Weather Reports by City (949), AsteriDex Voice Dialing by Name (411), SMS Dictator (767), and Wolfram Alpha for Asterisk (4747). To activate the STT service, just complete the steps in our tutorial. Then sign up for a Wolfram Alpha App ID (tutorial here), and run the following install scripts:

    /root/wolfram/wolframalpha-oneclick.sh
    cp /root/pygooglevoice/bin/gvoice /usr/bin
    ln -s /usr/bin/gvoice /usr/local/sbin/gvoice
    cd /root/pygooglevoice
    python setup.py install
    /root/smsdictator/sms-dictator.sh
    

    Configuring a YATE Softphone for Pogoplug

    As we mentioned, the easiest way to get started with Incredible PBX is to set up a free YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible PBX on the Pogoplug, 701 for your account name, and whatever password you’re using for the extension. Click OK.

    Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

    Introducing Incredible PBX 11.12.0 for the Pogoplug

    For those of you that missed last week’s article on the CuBox platform and are new to Asterisk and the world of VoIP telephony, let us take a moment and explain how Incredible PBX fits into the puzzle. For lack of a better term, Incredible PBX is a turnkey aggregation in a bootable image that is based upon a superset of Debian 7 packages plus Asterisk, the FreePBX GUI, and a sizable collection of applications for the Asterisk platform. You download a tarball, decompress it, write the image file to an SD card, insert the card into your Pogoplug 4, and presto! You’ve got a turnkey PBX. Add credentials for a trunk or two to make and receive calls, connect some phones, and your SOHO office or home will come alive with a versatile PBX platform that used to cost organizations hundreds of thousands of dollars. What’s included in Incredible PBX? Glad you asked. Here’s a 3-minute video showcasing a few of our favorite Incredible PBX text-to-speech applications:


    The Incredible PBX 11 Inventory. Here’s the current feature set on the Pogoplug platform. In addition to its superset of hundreds of Debian 7 packages, Asterisk 11, and FreePBX 2.11 with the Lighttpd web server, Exim 4 mail server, MySQL, PHP, phpMyAdmin, and the IPtables Linux firewall, check out these additions:

    A Few Words About Security. Thanks to its Zero Internet Footprint™ design, Incredible PBX is different. It remains the most secure Asterisk-based PBX around. What this means is Incredible PBX has been engineered to sit anywhere, either behind a NAT-based, hardware firewall or directly on the Internet. No device other than those on your private LAN, a few of the major (trusted) SIP providers around the world, and those that you authorize on your WhiteList can even see your server. Additional IP addresses can be added to the WhiteList by the administrator registering new IP addresses using add-ip or add-fqdn from the Linux CLI. Read about this $100,000 VoIP phone bill, and you’ll better appreciate why WhiteList-based server security has become absolutely essential. WhiteList Security means only those devices with a registered IP address in your WhiteList can get to your server’s resources. To the NSA and everyone else, your server doesn’t even show up on the radar. Their only way to contact you is a POTS telephone using your published phone number. Our complete tutorial on Travelin’ Man 3 is available here. With Incredible PBX for the Pogoplug 4, it’s installed and preconfigured. Enjoy!


    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.

    Originally published: Monday, September 8, 2014


    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! Please have a look and post your support questions there. Our forum is extremely friendly and is supported by literally hundreds of Asterisk gurus. In fact, we already have a thread underway on the Pogoplug adventure.



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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    1. Some of our links refer users to Amazon or other service providers when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from these providers to help cover the costs of our blog. We never recommend particular products solely to generate commissions. However, when pricing is comparable or availability is favorable, we support these providers because they support us. []

    Hardware Device of the Year: Meet the CuBox-i with Incredible PBX for Ubuntu

    It’s been many years since we’ve written back-to-back articles about the same device. That should tell you how really special the CuBox-i is. After two weeks of 14-hour days developing the new Incredible PBX platform for CuBox, we are thrilled to crown this jewel as Nerd Vittles Hardware Device of the Year. Flawless design, incredible performance, tiny size, feature-rich components, minimal power consumption, and completely silent operation are merely the tip of the iceberg with this 2x2x2 cubic zircon. On the $130 CuBox-i4PRO, there’s a Quad Core processor, 2 gigs of RAM, a 10/100/1000 Ethernet port, a 1080p HDMI port, two powered USB 2 ports, an eSATA II port for an external drive, a realtime clock with backup battery, an Optical S/PDIF Audio Out port, a microSD port, an infrared receiver and transmitter, WiFi 11n, and Bluetooth plus a power adapter to match either American or European power sources. Whew! And here’s the best part. Everything works while squeezed in a tiny case that’s a third the size of Rubic’s Cube.

    A SOHO Swiss Army Knife That Fits in Your Cupholder: Voice, Fax, SMS, TTS, Email, PBX, Incredible!

    Did we mention it’s a near perfect VoIP platform for any home office or small business? Well, it is. And everything we’ve learned about Asterisk® and FreePBX® and Internet security over the past decade is rolled into today’s release of our crown jewel edition of Incredible PBX™ for the CuBox. First, you’ll need to purchase one and we strongly recommend the CuBox-i4PRO with its Quad Core ARM processor and built-in WiFi and Bluetooth. In the U.S, there’s NewEgg or NewEgg (10% off on i4PRO with promo code SW829NE10 = $117 until 9/4). In the U.K, there’s NewIT. For everyone else, you can buy directly from SolidRun, the creator.

    Before we dive into Incredible PBX, we want to express our deepest appreciation to Zhando and Josh North of PIAF Forum fame. Zhando’s pioneering efforts with Ubuntu and Incredible PBX on the CuBox platform and Josh North’s morphing of Incredible Fax for deployment with Ubuntu paved the way for everything you’re about to read. It reinforces the spectacular results which can be achieved in the open source community when a talented group of even a few folks put their heads together. The Ubuntu developers and the tens of thousands of open source contributors from around the world also deserve a well-earned tip of the hat for producing a Linux platform that is rock-solid reliable and incredibly versatile. Nearly 1,000 open source packages are included in the latest Incredible PBX build. Click on the link to view the package list in PDF format and prepare to be amazed. We couldn’t have done it without all of you!

    Introducing Incredible PBX 11.12.0 for the CuBox-i4PRO

    If you’re new to Asterisk and the world of VoIP telephony, let us take a moment and explain how Incredible PBX fits into the puzzle. For lack of a better term, Incredible PBX on the CuBox platform is a turnkey aggregation in a bootable image that is based upon a superset of Ubuntu 14 packages plus Asterisk, the FreePBX GUI, and a sizable collection of applications for the Asterisk platform. You download a tarball, decompress it, write the image file to a microSD card, insert the card into your CuBox-i, and presto! You’ve got a turnkey PBX. Add credentials for a trunk or two to make and receive calls, connect some phones, and your whole office will come alive with a versatile PBX platform that used to cost organizations hundreds of thousands of dollars. What’s included in Incredible PBX? Glad you asked. Here’s a 3-minute video showcasing a few of our favorite Incredible PBX text-to-speech applications:


    The Incredible PBX 11 Inventory. Here’s the current feature set on the CuBox platform. It’s the most robust ever! In addition to its superset of nearly 1,000 Ubuntu 14 packages, Asterisk 11, and FreePBX 2.11 with Apache, SendMail, MySQL, PHP, phpMyAdmin, Fail2Ban, WebMin, and the IPtables Linux firewall, check out these additions:

    A Few Words About Security. Thanks to its Zero Internet Footprint™ design, Incredible PBX is different. It remains the most secure Asterisk-based PBX around. What this means is Incredible PBX has been engineered to sit anywhere, either behind a NAT-based, hardware firewall or directly on the Internet. No device other than those on your private LAN, a few of the major (trusted) SIP providers around the world, and those that you authorize on your WhiteList can even see your server. Additional IP addresses can be added to the WhiteList in three ways:

    1. An administrator registers new IP addresses using add-ip or add-fqdn from the Linux CLI
    2. A remote user sends the (correct) randomized PortKnock code assigned to your CuBox
    3. A remote user dials in from a standard telephone to register a new remote IP address

    Read about this $100,000 VoIP phone bill, and you’ll better appreciate why WhiteList-based server security has become absolutely essential. WhiteList Security means only those devices with a registered IP address in your WhiteList can get to your server’s resources. To the NSA and everyone else, your server doesn’t even show up on the radar. Their only way to contact you is a POTS telephone using your published phone number. Our complete tutorial on Travelin’ Man 3 is available here. With Incredible PBX for CuBox, it’s installed and preconfigured.

    Installing Incredible PBX 11.12.0 on the CuBox-i

    There are five simple steps to get Incredible PBX up and running on your CuBox:

    1. Purchase a storage device
    2. Download Incredible PBX image
    3. Untar the image on your desktop
    4. Burn the image to a microSD card
    5. Insert microSD card in CuBox and boot

    Choosing a Storage Platform. Unless you plan to run your server with an external eSATA hard drive (CuBox-i4PRO tutorial here), the first step is to purchase a suitable microSD card. We recommend at least a 32GB Class 10 card from Transcend, SanDisk, or Kingston. All of them are under $20 on Amazon and most include free 2-day shipping for Prime customers. If using an eSATA drive, you still need a microSD card to boot up, but any 4GB or 8GB card will suffice.1

    Downloading Incredible PBX for CuBox. From your favorite desktop computer, download the latest build of Incredible PBX from SourceForge. Depending upon your network connection and the SourceForge mirror, it can take awhile. It’s a whopping 1.3GB!

    Untarring Incredible PBX for CuBox. Depending upon your desktop platform, untarring incrediblepbx.4.cubox.U14.latest.tar.gz is as simple as double-clicking on it in the Downloads folder (on a Mac). On the Windows platform, here are 3 utilities that will do the job. On a Linux desktop, open a Terminal window and…

    tar zxvf incrediblepbx.4.cubox.U14.latest.tar.gz
    

    Burning the Incredible PBX image to microSD. Once you’ve untarred the file, you’ll find two scripts that make burning the image to a microSD card simple if you’re on a Mac or Linux desktop. On a Windows machine, it’s a little more complicated. Most SD cards come preformatted with a DOS partition so your Windows machine should recognize the microSD card when it’s inserted. If not, format the card using a utility such as SD Card Formatter. Next, you’ll need Win32 Disk Imager to burn cubox.img to your card. Once the image has been transferred, gracefully unmount the card from your desktop, and then remove the card from the SD card adapter.

    Booting Incredible PBX on the CuBox. Insert the microSD card (electronics side up) into your CuBox-i. Then apply power to the CuBox after connecting a USB keyboard, HDMI monitor, and Ethernet cable to a network with Internet connectivity that can also hand out DHCP addresses. Log into Incredible PBX as root with cubox as your password. Your SSH credentials, Asterisk DUNDI secrets, logs, and network connection options will be initialized and then your server will reboot. You may need to hit the Enter key once or twice during the SSH credentials initialization to move things along. And, with some SD cards, you may find yourself waiting an eternity for the promised reboot. After seeing the “rebooting” message, count to ten. If your server still hasn’t rebooted, remove and reapply power. This quirk goes away after the first reboot.

    After the reboot, log in again as root with password: cubox. Your firewall setup will be initialized to lock down your whitelist to your server’s public and private IP addresses AND the IP address of the machine from which you’re logging in. All of your FreePBX passwords will be randomized and your secret PortKnocker codes will be generated. The whole process only takes a few seconds.

    When the second pass configuration is complete, you will be greeted by a welcoming message. STOP and read it. It has loads of important information about your server’s configuration and your next steps. Press ENTER to review status:

    The Next 10 Steps. Before you do anything else, complete the following steps. It only takes a minute to secure and properly configure your server:

    1. Change your root password: passwd
    2. Change your FreePBX admin password: /root/admin-pw-change
    3. Set your correct time zone: /root/timezone-setup
    4. Expand partition to match microSD card size: /root/resize-partition
    5. Add any desired IP addresses to WhiteList: /root/add-ip
    6. Put PortKnocker credentials in a safe place: cat /root/knock.FAQ
    7. Change AvantFax admin password: /root/avantfax-pw-change
    8. Set Email Address for Incoming Faxes: /root/avantfax-email-dest
    9. Check status to be sure everything is working: status
    10. If using an eSATA external drive, do the migration drill (note the free disk space in status above)

    A Few Important Tips. Every operating system and service provider has their quirks. Ask Bill Gates! Ubuntu and especially Comcast are no different. Fortunately, with Ubuntu, it’s a very short list.

    1. Use the following commands (only!) to shutdown and restart your server: halt and reboot. These commands are reworked in Incredible PBX to gracefully shutdown important services so that files don’t get damaged. Please use them!

    2. If you ever want to move your server to a different network, complete these three simple steps before you leave your existing network. This will trigger a new Phase I update (outlined above) and set the default network back to wired eth0 using DHCP the next time you boot your server.

    touch /etc/update_hostconfig
    /root/enable-eth0-only
    # press Ctrl-C when prompted to reboot. then type:
    halt
    

    3. You really do need email connectivity to get the most out of Incredible PBX. It’s the way you receive important notifications from FreePBX, and it’s also how faxes and voicemail messages are delivered. From the Linux CLI, test your server to be sure you can send emails reliably:

    echo "test" | mail -s testmessage yourname@gmail.com
    

    After checking your spam folder, if you really didn’t get the email, it may be that your service provider is blocking downstream SMTP traffic. You can use your provider’s SMTP server as a smarthost to send out mail with SendMail. Just edit /etc/mail/sendmail.cf, search for DS, and add the provider’s SMTP server address immediately after it (no spaces!), e.g. DSsmtp.comcast.net or DSsmtp.knology.net. Then restart SendMail: service sendmail restart.

    Once you’ve logged into FreePBX below, be sure to set your default email address in the right margin of Admin -> Module Admin and save your entry. This will assure receipt of timely notifications of FreePBX updates for your server.

    4. If you’re sure you’ll never need remote access in an emergency, you can disable PortKnocker at startup and save about 5% of your processing cycles. Our complete PortKnocker tutorial is available here. To disable startup on boot, issue the following command from the Linux CLI:

    update-rc.d -f knockd disable
    

    5. The same applies to WebMin. We actually introduced one of the first tutorials for WebMin… over 9 years ago. A word to the wise: WebMin is a terrific tool for looking at stuff about your system. But be very careful making system changes with WebMin. You usually will break some of the customized settings in Incredible PBX. This is particularly true in the case of the IPtables firewall. To access WebMin, use a browser and the actual IP address of your server to go to: https://12.34.56.78:9001. Log in as root with your root password. To disable automatic startup of WebMin on boot:

    update-rc.d -f webmin disable
    

    Setting Up WiFi with the CuBox-i4PRO

    This may sound simple now, but two weeks ago it was quite a different story. For those with a CuBox-i4Pro, WiFi is built into the hardware. The trick was getting it to work. Well, with Incredible PBX, it does. In the /root folder, you’ll find several self-explanatory scripts to do the heavy lifting for you. For options 2 and 3, you’ll need the SSID of the WiFi network you’ll be using as well as the SSID password.

    1. enable-eth0-only (the default setting)
    2. enable-wifi-eth0 (enables both but eth0 works with Asterisk)
    3. enable-wifi-only (runs your server purely on WiFi)

    Getting Started with VoIP and FreePBX

    Up to now, all of your time has been spent using the Linux CLI. That will be a rarity once you get this far. Henceforth, 90% of your time setting up Incredible PBX will be done using the FreePBX GUI and your favorite web browser. To access it, just point to the IP address of your server. status will tell you the address if you’ve forgotten it. The main control panel looks like this:

    As configured, the default user account for both FreePBX and AvantFax administration is admin. The passwords are whatever you set in steps #2 and #7 above. As configured, email delivery of faxes with AvantFax is automatic so no further setup is required other than setting a delivery mechanism for faxes within FreePBX.

    For those new to Asterisk and FreePBX, here’s a brief primer on what needs to happen before you can make and receive calls. If you have an existing Google Voice account or a smartphone that’s less than 2 years old, lucky you. This gets you a phone number for your PBX so people can call you. And it provides a vehicle to place calls to plain old telephones at little or no cost.

    If you don’t have a Google Voice account or a shiny new smartphone, then you will need to purchase a SIP trunk from one of the numerous vendors around the world. Our favorite (because they provide terrific service at a modest price AND provide financial support to the Nerd Vittles, PBX in a Flash, and Incredible PBX projects) is Vitelity. Their special rates and a link for a discount are included at the end of today’s article.

    Unlike POTS phone service from Ma Bell, the SIP World is a little different. First, you don’t need to put all your eggs in one basket. A trunk that gets you a phone number for incoming calls need not be with the same vendor that provides a trunk to place outbound calls. In fact, you may want multiple trunks for outbound calls just to have some redundancy. A list of our favorites in the U.S. and Canada is available on the PIAF Forum. Of course, there also are providers that offer all-you-can-eat calling plans. Two of our favorites are Vestalink and Future-Nine.

    You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop.

    Phones connect to extensions in FreePBX to work with Incredible PBX. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works.

    There are lots of bells and whistles that you can explore down the road including voicemail, conferencing, IVRs, autoattendants, paging, intercoms, CallerID lookups, announcements, DISA, call parking and pickup, queues, ring groups, and on and on. And then there’s all of the Incredible PBX applications which are covered separately in this Nerd Vittles article. Once you’re comfortable with one server, you or your company will want some more. This Nerd Vittles article will walk you through interconnecting them into a seamless mesh network so that you can call from one office to another transparently. Yes, those articles were written for the Raspberry Pi. But the beauty of Incredible PBX is that it runs identically on virtually every server platform.

    Here’s our 10-Step Checklist to Getting Started with FreePBX:

    1. Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need an existing Google Voice account that includes the Google Chat feature. You’ll need one dedicated to Incredible PBX, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice may cease to function at any time after May 15, 2014. You can read all about it here.

    • Log into existing Google Voice account
    • Enable Google Chat as Phone Destination
    • Configure Google Voice Calls Settings:
      • 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

    • Place test call in and out using GMail Call Phone
    • Log out of your Google Voice account

    2. Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

    Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

    There’s one more step or your Google Voice account won’t work reliably with Incredible PBX! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

    3. Setting a Destination for Incoming Calls and Managing Faxes. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system. By default, Incredible PBX is configured to route all incoming calls to extension 701. You can change the setting whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target destination from the pull-down lists.

    If you want your default inbound route to also handle incoming faxes, then go to the Fax Detect section of the Default inbound route. Change Detect Faxes to Yes. Change Fax Detection Type to SIP. Leave the Detection Time setting at 4. And change the Fax Destination to Custom Destinations: Fax (Hylafax). To Send Faxes, open AvantFax in FreePBX’s Other pulldown menu.

    Always click Submit and then click Apply Config to save new settings in FreePBX.

    4. Activating a Smartphone Trunk Using Bluetooth. One of the more exotic features of Incredible PBX on the CuBox platform is the ability to add your smartphone as an Asterisk trunk using Bluetooth. We’ve written a short recipe to get things working. So have a look at our Bluetooth tutorial and see if you’re up for the challenge. Moral of the story: the newer the cellphone, the better.

    The LG G3 is the best of the lot, at least of the numerous cellphones we tested. Even better is an LG G3 paired with StraightTalk’s (AT&T-hosted) unlimited talk, text, and data plan for $45 a month. With Samsung smartphones older than a Galaxy S4, don’t waste your time. Ditto with Apple iPhones other than perhaps the very latest. Our iPhone 4S failed miserably. We gave up on Apple phones after that. Someday I’ll test my daughter’s 5c and report back.

    5. Activating Additional Trunks with FreePBX. As we mentioned, there are lots of SIP providers to choose from. Once you have signed up for service, configuring the trunk is easy. Here is a quick Cheat Sheet courtesy of Kristian Hare, who translated our original setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it. The left and right cursor keys will move you around in the image. Click on the image again to shrink it.

    6. Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

    For now, we only need to make a few changes. First, you need a very secure password for both the extension itself and your voicemail account for this extension. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing password entries with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible PBX to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

    Finally, you need to plug in your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of your microSD card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

    In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. In addition to managing your voicemails, you’ll also be given the opportunity to either return the call to the number of the person that called or to transfer the voicemail to another extension’s voicemail box. And you can always leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

    7. Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

    8. Configuring Your YATE Softphone. As we mentioned, the easiest way to get started with Incredible PBX is to set up a free YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible PBX, 701 for your account name, and whatever password you created for the extension. Click OK.

    Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

    9. Configuring CallerID Superfecta. In order to match names with phone numbers, Incredible PBX includes a FreePBX application named CallerID Superfecta. Out of the box, Incredible PBX will work fine if you remember to activate CallerID Superfecta whenever you create a new Inbound Route. The CNAM entries also will be displayed in your CDR reports. For those not in the United States, you may prefer to use a lookup source for your numbers other than the ones preconfigured in CallerID Superfecta. You will find all of the available modules on the POSSA GitHub site. Just download the ones desired into /var/www/html/admin/superfecta/sources and then activate the desired sources in Admin -> CID Superfecta -> Default. You can test your results and the performance using the Debug facility that’s built into the module.

    10. Adding Speech Recognition for Incredible Applications. We used to include Google’s Speech-to-Text service in Incredible PBX builds. Unfortunately, Google has changed the rules a bit. Assuming your server still meets the “personal and development” standard, you can obtain an API key from Google and reactivate speech-to-text functionality for many of the Incredible PBX applications including Weather Reports by City (949), AsteriDex Voice Dialing by Name (411), SMS Dictator (767), and Wolfram Alpha for Asterisk (4747). To activate the STT service, just complete the steps in our tutorial. Then sign up for a Wolfram Alpha App ID (tutorial here), and run the following install scripts:

    /root/wolfram/wolframalpha-oneclick.sh
    /root/smsdictator/sms-dictator.sh
    

    Enabling SAMBA Windows Networking with Ubuntu

    It only takes a minute to enable SAMBA Windows Networking on your CuBox. We’ve reproduced our quick tutorial to show you how. Just follow the steps below to interconnect Incredible PBX with all the other computers on your LAN.

    apt-get -y install samba samba-common python-glade2 system-config-samba
    cd /etc/samba
    mv smb.conf smb.orig.conf
    wget http://incrediblepbx.com/samba-ubuntu.tar.gz
    tar zxvf samba-ubuntu.tar.gz
    rm *.tar.gz
    sed -i '/# End of Trusted Provider Section/r '/etc/samba/smb.iptables'' /etc/iptables/rules.v4
    iptables-restart
    service smbd restart
    service nmbd restart
    sed -i 's|/usr/local/sbin/amportal restart|service smbd restart\nservice nmbd restart\n/usr/local/sbin/amportal restart|' /etc/rc.local
    # set up root password for SAMBA access with full RW privileges
    smbpasswd -a root
    

    Incredible Backup and Restore

    Once you have everything configured, it’s time to take a snapshot of your system and store it in a safe place. The new Incredible Backup lets you do that. From the Linux CLI, login as root and run: /root/incrediblebackup. The backup image will be saved to the /tmp folder and can be copied to a different server easily. To restore the backup to another system, you simply bring the other system up to the same version of Asterisk (11) and FreePBX (2.11), and then run /root/incrediblerestore with your backed up image. It’s the cheapest insurance you can buy! For detailed instructions on restoring backups, see this thread on the PIAF Forum.


    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.

    Originally published: Monday, September 1, 2014


    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! Please have a look and post your support questions there. Our forum is extremely friendly and is supported by literally hundreds of Asterisk gurus.



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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    1. Some of our links refer users to Amazon or other service providers when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from these providers to help cover the costs of our blog. We never recommend particular products solely to generate commissions. However, when pricing is comparable or availability is favorable, we support these providers because they support us. []

    Incredible PBX 1.8: New OpenVZ and Cloud Editions

    Another exciting week in the Asterisk® community with the introduction of Asterisk 1.8.2 last Friday. It's now the official PIAF-Purple payload so you can simply download the current ISO to take it for a spin. Most of the pesky bugs in Asterisk 1.8.0 and 1.8.1 now have been addressed. Let us know if you find some new ones.

    While the Asterisk Dev Team has been hard at work on Asterisk 1.8.2, we've turned our attention to the cloud and VoIP virtualization. We have three new products to introduce today. The first lets you install PIAF-Purple with Asterisk 1.8.2 using a new OpenVZ template. The second lets you run Incredible PBX 1.8 as a virtual machine using the new PIAF-Purple 1.8.2 OpenVZ template. Finally, we'll show you how to run Incredible PBX 1.8 in the cloud with hosted VoIP service from RentPBX.com for $15 a month with a free local phone number and free Google Voice calling in the U.S. and Canada. So let's get started.

    Using the OpenVZ PIAF-Purple Template. If you haven't heard of OpenVZ templates before, you've missed one of the real technological breakthroughs of the last decade. Rather than wading through the usual 30-minute ISO installation drill, with an OpenVZ template, all of the work is done for you. And it's quick. You can build a dozen PIAF-Purple systems using an OpenVZ template in about 15 minutes with a per system cost of less than $50. See Comment #2 below for an extra special Dell half-price server deal this week. And it's incredibly easy to then tie all of these systems together using either SIP or IAX trunks. Just follow our previous tutorial. For resellers and developers that want to try various Asterisk configurations before implementation and for trainers and others that want to host dedicated Asterisk systems for customers, the OpenVZ platform is a perfect fit. Read our original two-part article to get up to speed on Proxmox, virtualization, and IPtables with OpenVZ. Then continue on here.

    Thanks to Darrell Dillman (aka dad311 on the PIAF Forums), there already is a 64-bit OpenVZ template of PIAF-Purple with Asterisk 1.8.2. Just download the template to your Desktop and then, using the Proxmox console, choose Appliance Templates, Upload File to upload the OpenVZ template into your Proxmox server platform. Once installed, you can build Asterisk 1.8.2 virtual machines to your heart's content... in less than a minute apiece. Just choose Virtual Machine, Create to create a new virtual machine using the OpenVZ template you just uploaded. In the Configuration section, choose OpenVZ for the Type and pick your new OpenVZ template from the pulldown list. Fill in a Host Name, Disk Space maximum (in GB), and (root) Password. The other defaults should be fine. In the Network section of the form, change to the Bridged Ethernet (veth) option which means the VM will obtain its IP address from your DHCP server. Make sure your DNS settings are correct for your LAN. Here's how a typical OpenVZ creation form will look:

    Once the image is created, start up the virtual machine, wait about 70 seconds for the system to load, and then click on Open VNC Console. Asterisk will be loaded and running. You can verify this on the status display. You can safely ignore the status messages pertaining to IPtables assuming iptables -nL shows that IPtables is functioning properly. With the exception of text-to-speech (TTS), you now have a PIAF-Purple base platform running Asterisk 1.8.2 and FreePBX 2.8. Be sure you always run it behind a hardware-based firewall with no port exposure to the Internet.

    Before you do anything else, run passwd-master to secure the passwords for FreePBX GUI access to your system. Don't forget!

    If you're planning to install Incredible PBX below or if you don't need text-to-speech on your system, you can skip this next step which gets 64-bit TTS installed. Otherwise, here are the commands to get it working:

    cd /root
    ./install-flite

    Note to Our Pioneers. To those that tested the new OpenVZ template this past week, THANK YOU! Be advised that we now have incorporated several of the recommended tweaks which were documented in the PIAF Forums. The install procedure outlined above explains the new behavior of the slightly improved OpenVZ template which now is available for download. We recommend you switch.

    Asterisk CLI Change. Finally, just a heads up that (once again) the Asterisk Dev Team appears to have changed the default behavior of the Asterisk CLI. With Asterisk 1.8.2, if you make outbound calls after loading the CLI, you will notice that call progress no longer appears in the CLI. To restore the standard behavior (since Moses), issue the following command: core set verbose 3. :roll:

     


    Installing Incredible PBX on OpenVZ Systems. We won't repeat the entire Incredible PBX article here. If you want the background on the product, read the latest article. To get everything working with an OpenVZ system, there are only three steps:

    1. Set Up Your Google Voice Account
    2. Run the Incredible PBX VM Installer
    3. Configure a Softphone

    Configuring Google Voice. You'll need a dedicated Google Voice account to support The Incredible PBX. 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 why take the chance. 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

    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.

    Running The Incredible PBX Installer. Log into your server as root and issue the following commands to set up The Incredible PBX:

    cd /root
    rm incrediblepbx18-vm.x
    wget http://incrediblepbx.com/incrediblepbx18-vm.x
    chmod +x incredible*
    ./incrediblepbx18-vm.x
    passwd-master

    When The Incredible PBX install begins, you'll be prompted for the following:

    Google Voice Account Name
    Google Voice Password
    Google Voice 10-digit Phone Number
    Gmail Notification Address
    FreePBX maint Password

    The Google Voice Account Name is the Gmail address for your new dedicated account, e.g. joeschmo@gmail.com. Don't forget @gmail.com! The Google Voice Password is the password for this dedicated account. The Google Voice Phone Number is the 10-digit DID for this dedicated account. We need this if we ever need to go back to the return call methodology for outbound calling. For now, it's not necessary. But who knows what the future holds. :roll: The Gmail Notification Address is the email address where you wish to receive alerts when incoming and outgoing Google Voice calls are placed using The Incredible PBX. And your FreePBX maint Password is the password you'll use to access FreePBX. You'll actually set it by running passwd-master after The Incredible PBX completes. We need this password to properly configure the CallerID Superfecta for you. By the way, none of this confidential information ever leaves your machine... just in case you were wondering.

    Now have another 5-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 (and so you don't forget), go ahead and configure your hardware-based firewall to support Google Voice. See the next section for what's required. Without completing this firewall configuration step, no calls will work! When the installer finishes, READ THE SCREEN just for grins.

    Here's a short video demonstration of the original Incredible PBX installer process. It still works just about the same way except there's no longer a second step to get things working.

    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!

    Before you do anything else, run passwd-master again to resecure the passwords for FreePBX GUI access to your system. Don't forget!

    Firewall Configuration. We hope you've taken our advice and installed a hardware-based firewall in front of The Incredible PBX. It's your phone bill. You'll need to make one adjustment on the firewall. Map UDP 5222 traffic to the internal IP address of The Incredible PBX. This is the port that Google Voice uses for phone calls and Google chat. You can decipher the IP address of your server by logging into the server as root and typing status.

    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. If not, make certain you are not logged into Google Chat on a Gmail account with these same credentials. 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: amportal restart.

     


     

    Running Incredible PBX in the Cloud. We've saved the best for last today. For many folks, you may want to experiment with VoIP technology without making a hardware investment and without having to master the intricacies of managing your own server and network. That's what Cloud Computing is all about. And we've searched far and wide to find you the perfect platform. As with many of you, one of our top priorities is always cost. While many providers were willing to provide Nerd Vittles with a few sheckles for pitching their product, only one stepped forward with a price point that we think is irresistible. And, for the record, we waived any compensation other than a few test accounts to get things working properly, so that all of the savings could be passed on to you! So here's the deal. $15 a month gets you your own PIAF-Purple server in the cloud at RentPBX.com. Just use this coupon code: BACK10, pick an east coast or west coast server to host your new system, choose the PIAF-Purple 1.7.5.5.4 install option, set up a username and very secure password, and you're off to the races. Once your account is established, here's the 5-minute procedure to install the special RentPBX-edition of Incredible PBX to begin making free calls in the U.S. and Canada through Google Voice.

    Begin by Configuring Google Voice as outlined above. Then log into your RentPBX account using SSH and the port assigned to your account. For Windows users, download Putty from here. The SSH command will look something like this:

    ssh -p 21422 root@209.249.149.108

    Issue the following commands to download and run The Incredible PBX installer for RentPBX:

    cd /root
    wget http://incrediblepbx.com/incrediblepbx18-rentpbx.x
    chmod +x incrediblepbx18-rentpbx.x
    ./incrediblepbx18-rentpbx.x
    passwd-master

    Now just follow along in the Incredible PBX virtual machine tutorial which we've included above. Remember that your new Incredible PBX is sitting directly on the Internet! So don't forget to run passwd-master when you finish the install, or your system is vulnerable. Ours was attacked within minutes!

    Securing Your RentPBX Server. With the exception of our WhiteList application, everything is working on your RentPBX server. While we continue to work on the WhiteList component (reread this section of the article in a week or so to get the latest updates), you need to secure your system to avoid endless hack attempts on your SIP resources. Here's how. First, write down the IP addresses of your RentPBX server and your home network. Second, print out your existing IPtables configuration. The file to print is /etc/sysconfig/iptables. Third, make a backup copy of the file. While logged into your server with SSH, the easiest way is like this:

    cd /etc/sysconfig
    cp iptables iptables.bak

    Now we need to edit the iptables file itself: nano -w iptables. Then search for the line that contains 5060: Ctrl-W, 5060, Enter. At the beginning of this line, add # to comment out the line. With the cursor still on this line, press Ctrl-K then Ctrl-U twice. This will duplicate the line. Move to the second commented line and remove #. Use the right cursor to move across the line to --dport. Then insert the following using the IP address of your RentPBX server, e.g.

    -s 229.149.129.248

    Be sure there's at least one space before and after the new text. Now duplicate that line with Ctrl-K and Ctrl-U twice. Change the IP address on the second line to the public IP address of your home or office network. Repeat this process for every IP address where you intend to use a SIP phone connected to your RentPBX server. Make additional entries for your SIP providers as well. If you want to sleep better, you can make similar changes to the SSH port entry to restrict it to your home/office IP address. It's the line immediately above the 5060 entry. Ditto for port 80 which is web access. Be very careful here. A typo will lock you out of your own server! When you're finished, save the changes: Ctrl-X, Y, Enter. Then restart IPtables: service iptables restart.

    As always, we strongly recommend that you not put all of your VoIP eggs in one basket. Google Voice does go down from time to time. Vitelity is a perfect complement because the costs are low and you only pay for the service you use. A discount sign up link is below. And Vitelity has contributed generously to both the Nerd Vittles and PBX in a Flash projects. So please support them. Enjoy!

    Originally published: Monday, January 17, 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.


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you're seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity's DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here's a deal you can't (and shouldn't) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won't get the special pricing! Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


    Some Recent Nerd Vittles Articles of Interest...

    The Ultimate Asterisk Telephony Appliance

    gPC miniWe’ve been quietly waiting for Everex to finally get its act together and deliver the Ultimate Asterisk® Telephony Appliance for SOHO users and organizations. Truth be told, it’s the reason we shelved our original VPN in a Flash desktop unit from last August. Thanks to NewEgg, it’s now available and it’s dirt cheap… if you hurry. Would you believe $339 for the gPC mini ET2400. And with this coupon link, you can knock off another $11 and some change. Just sign up for a free eBates account and follow the eBates link to NewEgg to save 2% on your total order plus another $5 for signing up. We, of course, get five dollars wealthier in the process as well.

    In addition to a fantastic-looking, small-footprint mini knockoff of your favorite fruit-inspired hardware, here’s what $339 buys you if you act quickly:

    • 2.0GHz Intel® Pentium® Dual-Core Mobile Processor T2450
    • 2MB L2 Cache
    • 160GB SATA Hard Drive
    • 2GB DDR2 667 SDRAM
    • Slot-In DVD-ROM/DVD-RAM/DVD±RW Drive (Double Layer support)
    • Intel® Graphics Media Accelerator GMA950
    • Realtek ALC268 High-Definition Audio
    • 10/100/1000 Ethernet Port
    • 802.11 b/g Wireless LAN
    • Bluetooth Wireless
    • DVI-I Port with DVI to VGA/D-sub Adapter
    • S-Video Port
    • IEEE 1394 Firewire Port
    • (4) USB 2.0 Ports
    • 4-in1 Media Card Reader (SD, MMC, MS, MS Pro)
    • Headphone/Line-Out Port
    • Microphone/Line-In Port
    • Windows Vista Home Premium (for your nearest trash can)

    gPC miniYes, you won’t be needing Windows for your new Ultimate Asterisk Telephony Appliance. Very shortly, Nerd Vittles will introduce its turnkey USB flash installer which brings you every Asterisk bell and whistle on the planet in under 15 minutes. We had hoped to introduce the new flash drives this week to celebrate the beginning of Nerd Vittles Fifth Year. But the pricing on 8GB flash drives that provide the compatibility we need to facilitate duplication just weren’t there so we’ll just wait a few weeks until they are. In the meantime, you can order up your new system and enjoy Windows at its very worst for a week or two while realizing a substantial $150 savings on your system. Enjoy!


    Want a Bootable PBX in a Flash Drive? Our bootable USB flash installer for PBX in a Flash will provide all of the goodies in the VPN in a Flash system featured last month on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and our flash installer in less than 15 minutes!

    If you’d like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment below with your best PBX in a Flash story.1

    Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next couple weeks. All of the individuals whose comments were used in today’s story will automatically be included in the drawing as well. Good luck to everyone and Happy New Year!!


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.


    Some Recent Nerd Vittles Articles of Interest…

    1. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []