Home » Posts tagged 'asterisk' (Page 52)

Tag Archives: asterisk

The Most Versatile VoIP Provider: FREE PORTING

Interconnecting Asterisk Servers with Incredible PBX and the $35 Raspberry Pi

We’ve spent the last couple months perfecting Incredible PBX™ as a full-featured VoIP platform for deployment on the $35 Raspberry Pi®. And, with the recent addition of 512MB RAM on the main system board, the Raspberry Pi not only is a great platform for home or SOHO use, but now it’s an ideal server for remote deployment in organizations with small satellite offices scattered around the countryside or for those with a loved one stationed in a faraway place. It’s especially important for those that want to take advantage of free interoffice communications or perhaps low-cost communications facilities that are only available through the main office headquarters. Our project for today is to show you how easy it is to interconnect these satellite offices, traveling salesmen, and troops stationed on the other side of the globe to provide system-wide, transparent Asterisk® communications at no cost. Using Raspberry Pi devices for the remote office or employee, you can set this up with FreePBX® in less than 5 minutes per site! Once configured, everyone in the organization can call everyone else by simply dialing their extension or a prefix with the local extension number. And finally we’ll show you how to securely share communications trunks at one site with your other locations.

There’s a little advance planning that needs to take place before you actually deploy today’s setup. First, you’ll need to adjust your hardware-based firewalls at each location to allow communications between the various sites. You’ll also need to authorize SIP access for each site in the Linux iptables firewalls. If some or all of the remote sites have dynamic IP addresses, then you’ll either need to deploy a PPTP VPN for your servers or use a service such as DynDNS.com to create fully-qualified domain names for each site. Dynamic IP addresses can be kept current at each site using a dynamic update app such as ddclient. And ipchecker can be run periodically to update IP address changes in iptables. Both apps are available for Incredible PBX on the Raspberry Pi. Finally, some thought needs to go into the extension numbering scheme at each site. The simplest way to is reserve extensions in the 1000 range for the home office, 2000-2999 for office #2, etc. If your organization already has an existing numbering system, then Plan B is to devise a dialing prefix that can be used to access extensions at various sites. For example, you might dial 1-2345 to reach extension 2345 in the main office or 2-2345 to reach extension 2345 in office 2 and so on. Either way works, and Asterisk with FreePBX supports both dialing schemes.

Hardware-Based Firewall Setup. For each site to which you wish to interconnect, you’ll need to add an entry to your hardware-based firewall using the FQDN or IP address of the site with the following ports mapped to your Asterisk server at that site: UDP 5060 and UDP 10000-20000.

IPtables Configuration and Dynamic IP Address Setup. If you have one or more sites whose servers have dynamic IP addresses, then you’ll need fully-qualified domain names for those sites that can be kept current using ddclient on the remote server and ipchecker on the main server. For background, start by reading the Nerd Vittles article on Travelin’ Man 3. You’ll need to deploy this on your main server. It’s already incorporated into the Incredible PBX builds for PBX in a Flash and the Raspberry Pi.

You’ll first need a DynDNS account. For $20 a year, you can set up 30 FQDNs and keep the IP addresses for these hostnames current 24-7. For $30 a year, you can manage 75 hostnames using your own domain and execute up to 600,000 queries a month. That’s more than ample for almost any small business but, if you need more horsepower, DynDNS.com can handle it.

Our Travelin’ Man 3 article will walk you through the steps in setting up iptables entries for your new FQDNs on your main server. On the Raspberry Pi devices, you’ll need to install ddclient: apt-get install ddclient. The installer will walk you through the setup process to keep your dynamic IP addresses synced with your FQDN. You’ll also need to add iptables entries for your main site and any other sites to which you wish to directly connect. In the /root folder, you’ll find scripts to add-fqdn or add-ip entries to iptables. The setup is covered in detail in the Travelin’ Man 3 article so we won’t repeat it here.

Interconnecting Servers with SIP Trunks. For our example today, we’re going to simplify things a bit and show how to interconnect a Main server and a Remote server where both servers are on the same private LAN. The only difference from real life is that you typically would use the public IP addresses of both servers when they are housed in different locations and accessible via the Internet. To avoid the hassle of wrestling with dynamic IP addresses and for added security and encrypted communications, you can interconnect your servers using a PPTP VPN. It’s included in Incredible PBX on all platforms. In configuring your SIP trunks, just substitute the PPTP IP addresses of each server in lieu of public IP addresses. Then you don’t have to worry about dynamic IP addressing issues. And, to add support for additional remote servers, just create separate SIP trunk pairs at the Main and Remote sites with a naming scheme like this: Main1 and Remote1 for adding the first remote site, Main2 and Remote2 for adding the second one, and so on.

Adding a Remote SIP Trunk on Your Main Server. Let’s begin by adding a SIP trunk to your Main Server to support the Remote Raspberry Pi device. We’ll refer to the Remote SIP trunk as remote for our example. Using FreePBX 2.10, choose Connectivity -> Trunks -> Add SIP Trunk. Make up a very secure password to interconnect your two servers. We’ll use it as the secret at both ends. Then fill out the template using the example below. In the Registration String, use the actual IP address or FQDN of your remote server:

Adding the Main SIP Trunk to Your Remote Server. On your Remote Server using FreePBX 2.10, choose Connectivity -> Trunks -> Add SIP Trunk. Use the same password as the secret you set up on the main server. Then fill out the template using the example below. In the Registration String, use the IP address or FQDN of your main server:

Adding an Outbound Route from Remote Server to Main Server. To allow calls from the Remote Server to your Main Server, we’ll create an Outbound Route on the Remote Server: main-out. In FreePBX 2.10, choose Connectivity -> Outbound Routes -> Add Route. For our example, let’s assume that we want Remote users to dial 9 as a prefix to connect back to extensions on the Main server. And let’s also assume that all extensions on the Main server are either three or four digits long. Just fill out the template using the example below and, for Trunk Sequence 0, choose main from the pull-down list. If you wanted to allow Remote users to place calls using the Outbound U.S./Canada trunks available on the Main server, just add an additional Dial Pattern with 9 as the prefix and NXXNXXXXXX as the Match.

Adding an Outbound Route from Main Server to Remote Server. To set up something similar on the Main Server to allow users to make calls to the Remote Server, you’d create an Outbound Route similar to the one above. Call it remote-out. Use whatever dial prefix you’d like and make the rest of the Dial Pattern match the length of the extension numbers at the Remote site. Then choose remote as Trunk Sequence 0 from the pull-down list.

Congratulations! You now have unlimited free calling between all of the extensions registered to your two servers, regardless of where those servers happen to be located. You can follow your nose to add as many additional servers as you like. So long as there is a reliable Internet connection, your total, non-recurring cost to add each additional site is a $35 Raspberry Pi and a few accessories. Got a family member stationed in Afghanistan? Send them a Raspberry Pi with Incredible PBX for Christmas. They not only can call you, but they can make calls to anyone else using your outbound trunks without incurring any toll charges for the communications link between Afghanistan and your server. Enjoy!

Security ALERT! For those running Incredible PBX on the Raspberry Pi, there have been some security patches released in the last few days. First, be sure you’re running Incredible PBX 3.5. Second, log into your server as root and issue the following command: /root/update-my-pi. Done.

Where To Go From Here: Getting Started with Incredible PBX for the Raspberry Pi and The ‘Fab 35’ Apps Tutorial

Originally published: Monday, November 5, 2012  



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

AstriCon 2012: Digium at the Crossroads

We’ve just returned from AstriCon 2012 in Atlanta. What a show! Not only were the exhibits plentiful and eye-opening for the breadth of coverage that Asterisk® has garnered, but the dozens of sessions on virtually every facet of Asterisk were first-class. If you haven’t been, I would encourage you to clear your calendar for a few days next October. Mark Spencer was a proud papa as, indeed, he should be.

There’s been a good bit of turnover at Digium® in the past year, and it was great to finally put names with faces. The new blood is a welcome addition. To a person, they were professional, personable, and all about making Asterisk a better product. They fully appreciate that Asterisk’s future success hinges on broader community participation. David Duffett became the Community Director last June and wasted little time mending fences. Not only did he reach out to those of us that package Asterisk distributions (PBX in a Flash, Elastix, and FreePBX® Distro to name a few), but he also put together the first (ever) face-to-face meeting between the distribution players and the Asterisk developers. It was time well spent and provided all of us a better appreciation for the challenges in managing a project as complex as Asterisk. Matt Jordan, who now heads up the open source development group, has broad experience from the commercial sector, and it showed. It was crystal clear that the days of the core development train wrecks that blew everyone’s Asterisk dialplans out of the water were little more than a historical footnote.

While there is a core development team that extends beyond Digium, make no mistake. Where Digium goes, so goes Asterisk. When you peel away the management, marketing, and support layers at Digium, what struck me was how thin these folks really are spread. While there are upwards of 100 employees at Digium, the staff is fairly evenly split between two organizational units, Asterisk and Switchvox. The staff is also divided geographically with the Switchvox team still operating out of California while the Digium headquarters remains in Huntsville, Alabama. Our educated guess is about 10% of that staff is actually dedicated to software development. You may recall driving down the highway and seeing a road construction crew of 10 people where only one guy had a shovel. Digium clearly isn’t that model. Management, sales, and support really matter in the software and hardware development business. It’s the way every successful technology business operates… if you want to survive. Infrastructure matters! Insofar as Asterisk is concerned, it reinforces the critical necessity of focus and prioritizing objectives.

With that in mind, Digium has made what we believe was a wise decision in scrapping the Asterisk SCF project. You may recall this was the engineering effort to build a fully-redundant Asterisk platform so that, when one server failed, another took over without missing a beat. Out of a million Asterisk production servers, the question becomes how many sites really need this level of redundancy if a spare server is sitting in the rack. Suffice it to say, SCF was consuming enormous programming resources for a project with must-have appeal to an infinitesimally small segment of Asterisk’s installed base. The good news is that it frees more programmers to work directly on Asterisk 11 and 12 while bringing some of the SCF technology into the main Asterisk project. Think SIP!

And, speaking of Asterisk 11 and 12, Asterisk 11 is officially on the street. As with Asterisk 1.8, it’s another release with long-term support. The good news for us is that Jingle, Jabber, and Gtalk have been reworked into a new, integrated channel driver: chan_motif. And it works! Full support for Google Voice in FreePBX will be available very, very soon. In fact, Andrew Nagy had it humming along while we were at AstriCon.

More good news from AstriCon 2012 was the arrival of Digium’s Application Development Toolkit for Digium Phones. As promised, this new firmware lets developers build customized JavaScript applications to run on the Digium Phones themselves. Digium has even built several samples to get everyone started. We were lucky enough to snag one of the new phones during the random drawing so we’ll build you a couple of additional apps in coming weeks just for fun.

Last, but not least, on the hardware front… Raspberry Pi’s were everywhere. The recent addition of a 512MB Raspberry Pi at the same $35 price point is going to make this device a real contender in the SOHO Asterisk market. We actually had ours running with a Verizon MiFi device during the show. You could make calls, play an IVR, and get a weather report in the basement of a hotel in downtown Atlanta. Impressive! So get yours ordered and come join the party.

Finally, a word about the AstriCon audience. It looked to us to be a crowd of close to 1,000 people. We spoke to dozens and dozens of in-house developers both from large corporations as well as Asterisk support organizations that maintain thousands of Asterisk servers throughout the world. We were impressed by the scope and sheer magnitude of this untapped expertise with a treasure trove of Asterisk code. If it were somehow made available to the community, it instantly could propel Asterisk to the next plateau without Digium having to lift a finger. Now all we need to do is figure out how to harness that talent pool and their code for the benefit of everyone that depends upon Asterisk to meet their communications needs. Happy Halloween!

Originally published: Wednesday, October 31, 2012  



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

Practicing Safe SIP: Adding SIP URI Connectivity with a Zero Internet Footprint

PBX in a Flash™ has a long (safe) history in the VoIP community, and the major reason is that we constantly preach never directly exposing any ports on your Asterisk® server to the Internet without implementing a WhiteList of safe IP addresses. This Zero Internet Footprint™ design keeps everybody out except a trusted, defined group on your WhiteList. For everyone else, they never see your server. So how do you receive calls? You do it with phone numbers (DIDs) tied to registered Google Voice, SIP, and IAX trunks from reputable providers. Because these trunks have constant registrations with safe service providers on the Internet, calls to these DIDs can flow in and out of your server without exposing your server directly to the Internet.

The drawback of this design is that it rules out inbound SIP URI calls to your server, and these calls typically are free. If you do a lot of international business or have family in far away places, that matters. Using a SIP proxy with Asterisk means anybody with a SIP telephone or a SIP-enabled web app anywhere in the world can punch in a SIP URI such as 1234567@nerdvittles.com, and your phones start ringing.

Practice Safe SIP! Today we’ll show you how easy it is to set up a hybrid SIP URI facility for your server while totally preserving your server’s Zero Internet Footprint. It’s not quite free, but it’s close. If paying 6¢ an hour for incoming calls is too rich for your blood, then stop reading now. For us, it’s a small price to pay to sleep well and avoid a $100,000 phone bill because someone hacked your server through an anonymous SIP attack in the middle of the night. There’s more good news. You may not even be charged the 6¢ an hour tariff.

How It Works. Today’s design works like this. We’ll set up an account with VoIP.ms and then create a standard SIP subaccount. As part of that setup, you can create a random extension on their server and tie that extension to a SIP URI for your subaccount. On our server, we’ll create a new SIP trunk and register to the voip.ms SIP subaccount we just created. This gets us a safe tunnel to make and receive calls using this trunk OR the SIP URI we just created. With this 2-layer SIP design, we’re basically using voip.ms as our anonymous SIP firewall. They get to worry about anonymous SIP attacks, and we pay them 6¢ an hour for inbound SIP URI calls that they pass along and we choose to answer.

There are also some collateral benefits using the hybrid SIP URI approach. First, it means that, instead of paying $1 a month and a penny a minute for calls using an actual DID from voip.ms, you now can take advantage of IPkall’s free DIDs in Washington state. By signing up for one of these, you now have a regular phone number that people can call to reach your server without your having to pay a monthly fee for the DID. In this cellphone era, it doesn’t much matter what the area code of your number happens to be since nationwide cellphone calls are all priced the same. The only cost to you is 6¢ an hour for the inbound calls. Oddly enough, VoIP.ms hasn’t been charging for the calls at least during the last couple weeks of our testing. Don’t count on it forever, but it is good to see they are at least considering a different pricing structure for SIP URI calls.

There’s a security advantage with hybrid SIP URIs as well. By never activating auto-replenishment on a VoIP provider account, your maximum financial exposure if something goes horribly wrong is limited to the prepay balance in your account. Finally, for those that want multiple SIP URIs and multiple DIDs, nothing precludes your repeating this drill. Just add another subaccount to your voip.ms account. So let’s get started.

VoIP.ms Setup. Register for a new account at VoIP.ms if you don’t already have one. This gets you an account with an account number such as 1234567. Don’t ever use your main account. Instead, create a subaccount:

Create a username for this subaccount. It will be your account number, an underscore, and a name of your choosing (up to 12 characters). Make up a very secure password. These are the two pieces you will need to create a SIP trunk on your server so write them down. Leave CallerID Number blank. We can handle that on your Asterisk server. Be sure to select Asterisk for the Device Type. The remaining entries at the top of the form are self-explanatory. Just make your settings match ours.

The bottom section of the form needs to be filled out to create a SIP URI. Make up an extension number for this subaccount, 1010 in our example. Ignore the leading 10 which is only used to make calls between voip.ms subaccounts. This would mean your SIP URI for this subaccount is 12345671010@atlanta.voip.ms where 1234567 is your account number, 1010 is your extension, and atlanta.voip.ms is one of the voip.ms POPs. For the list of available POPs, go to Main Menu -> Account Settings -> Default DID Routing in your Customer Portal. Click Create Account when you’re finished and wait a minute for your settings to propagate to all of the voip.ms servers.

FreePBX 2.10 Setup. Using a web browser, log into FreePBX® on your server. We’ll need to create three items to get everything working. First, we’ll add a new SIP trunk with your voip.ms credentials. Second, we’ll add an Inbound Route to process incoming calls. Third, we’ll add an Outbound Route so that you can make calls using your voip.ms trunk.

  1. Connectivity -> Trunks -> Add SIP Trunk
  2. Connectivity -> Inbound Routes -> Add Incoming Route
  3. Connectivity -> Outbound Routes -> Add Route

Adding VoIP.ms SIP Trunk. While logged into FreePBX 2.10, choose Connectivity -> Trunks -> Add SIP Trunk. Fill out the form like this using your correct subacctname, subacctpassword, desired VoIP.ms host, and whatever 10-digit number you’d like your server to use to identify inbound calls from this VoIP.ms subaccount (12345671010 in the example below). If you plan to use this trunk for outbound calls, enter a CallerID number. Legally, it must be a number that you own, i.e. don’t use the White House number or you may get a call you don’t want. Also be aware that for outbound calls, VoIP.ms rejects 10-digit numbers so you must prepend a 1 to 10-digit calls destined for the U.S. and Canada.

  1. Trunk Name: VoIPms
  2. Outbound Caller ID: any number you own
  3. Dial Pattern: Prepend: 1  Match Pattern: NXXNXXXXXX
  4. Trunk Name: voipms
  5. Trunk Details:
    • canreinvite=nonat
    • nat=yes
    • context=from-trunk
    • host=atlanta.voip.ms
    • secret=yourpassword
    • type=friend
    • username=1234567_subacctname
    • disallow=all
    • allow=ulaw
    • fromuser=1234567_subacctname
    • trustrpid=yes
    • sendrpid=yes
    • insecure=port,invite
    • qualify=yes
  6. Register String: 1234567_subacctname:yourpassword@atlanta.voip.ms/12345671010

Finally, in Settings:SIP Settings, add the following entry at the bottom in the Other SIP Settings field: match_auth_username=yes. Save your changes and reload your dialplan when prompted.

Adding VoIP.ms Inbound Route. While logged into FreePBX 2.10, choose Connectivity -> Inbound Routes -> Add Incoming Route. The only trick to this is the DID Number you enter must match the 10-digit number you chose for the end of the SIP registration string in the last step. The numbers really don’t matter, but they must match because this is what FreePBX uses to identify calls as originating from this SIP Trunk. You use the Inbound Route to tell FreePBX how to route the incoming calls once they hit your PBX. For example, you could ring an extension, a ring group, or route the call to an IVR where the caller was given a list of choices from which to pick their own call routing option. Don’t put your CallerID Number in here or only calls from your number would be accepted! Here’s a typical setup to route the calls to an IVR. Leave the other options at their defaults.

  1. Description: VoIPms
  2. DID Number: 12345671010
  3. CallerID Number: leave blank
  4. CID Source: Caller ID Superfecta
  5. Destination:
    • IVR: nv-ivr

Adding VoIP.ms Outbound Route. How you set up the Outbound Route to handle outgoing calls depends upon what you already have in place. Unless you don’t already have outbound trunks on your PBX, our recommendation is to add a prefix to force certain calls to go out through your VoIP.ms trunk. For example, a caller might dial 9-1-404-555-1212 or 9-404-555-1212 to force the call out through VoIP.ms. We’ll strip off the 9 before passing the number to VoIP.ms, and our Trunk setup will take care of adding the 1 if only 10-digits are dialed. Here’s how to set that up. While logged into FreePBX 2.10, choose Connectivity -> Outbound Routes -> Add Route.

  1. Route Name: VoIPms
  2. Dial Pattern: Prefix: 9  Match Pattern: NXXNXXXXXX
  3. Trunk Sequence: 0 VoIPms

If you have a default Outbound Route that already uses another Trunk such as Google Voice or Vitelity, then you can add a little redundancy to your system by adding VoIPms as an additional option at the end of the Default Trunk Sequence. Then, if the primary outbound route is out of service, the calls will automatically be routed out through VoIP.ms.

Adding an IPkall DID for Your SIP URI. We’ve now completed all the steps necessary to receive incoming SIP URI calls using our example VoIP.ms SIP URI: 12345671010@atlanta.voip.ms. Anyone in the world can dial that SIP URI from a SIP phone, and the calls will be answered by our sample IVR, nv-ivr. But suppose we’d also like folks to be able to pick up a Plain Old Telephone and call us using VoIP.ms to route the incoming call through our SIP URI at the 6¢ per hour calling rate. Here’s the easy way to do it. Just sign up for a free DID at www.ipkall.com. After choosing an area code for your free number, you’ll be prompted for the following information. Here’s what you’d enter using today’s example:

  • SIP Phone Number: 12345671010
  • SIP Proxy: atlanta.voip.ms
  • Email Address: your-email-address
  • Password: some-password-to-get-back-into-your-account

Once you’ve completed the form, submit it and wait for your new phone number to be delivered in your email. You should get it within a couple minutes so check your spam folder if you don’t see it. Congratulations! You’ve done everything you need to do for anyone to call you using either your SIP URI or your new DID number from IPkall.

It’s worth noting that IPkall recycles DIDs that aren’t used for 30 days. If you use Incredible PBX, the easiest way to assure that you don’t lose your number is to set up a recurring Telephone Reminder that calls your own number once a week.

Free iNum DID. There’s another important benefit from signing up for a VoIP.ms account. You’re also eligible for a free iNum DID. This lets people around the world call you by dialing a local number in most countries. And iNum calls are always free with Google Voice. You can read all about how it works and how to set up your free iNum DID in this Nerd Vittles article.

Test Drive. The proof is in the pudding, as they say. So we invite you to take our SIP URI, iNum DID, and IPkall DID for a test drive. They’re all running on a $35 Raspberry Pi with Incredible PBX 3.3 with its Applications AutoAttendant. You can try a news, weather, or stock report as well as checking the current East Coast time. Or you can try a text-to-speech call from the AsteriDex phone book by choosing option 5 and saying one of the airlines in the default install, e.g. American Airlines. Enjoy!

  • SIP URI: 10159521010@raspi.mundy.org
  • iNum DID: 883510009901997
  • IPkall DID: 1-425-998-2778
  • GVoice DID: 1-843-284-6844

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: Thursday, 10/11/12


Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

Sleep Like a Baby: 20 Failsafe Tips to Enhance Asterisk PBX Security

We often tell the tale of the early Asterisk@Home days when almost every server was configured with no firewall, unlimited web access, and a 201 extension with a password of either 201 or 1234. What could possibly go wrong? Remember this Monday morning newspaper headline? "Small business gets $120,000 phone bill after hackers attack VoIP phone." News.com.au ran this story back in 2009: "Criminals hacked into an Internet phone system and used it to make 11,000 international calls in just 46 hours… 115,000 international mobile calls were made… over a six month period."

Much has changed over the past ten years in Asterisk® Land. And, to get everyone in the football mood, today we want to do a little sofa quarterbacking and take a fresh look at security applying some 20-20 hindsight to everything we’ve all learned over the years. Whether you’re running PBX in a Flash or Incredible PBX in your basement or on a virtual machine in the cloud somewhere, security matters and the checklist that follows hopefully will assist everyone in tightening up your systems so that you or your company aren’t the next headline waiting to happen.

PBX in a Flash Security Alert: Run upgrade-programs then upgrade-fixes to secure your server today!

1. Review PIAF Security Alerts Daily. We devote a lot of time to making sure PBX in a Flash and Incredible PBX are secure. But stuff happens! For privacy and security reasons, we don’t push fixes to your server. You have to go get them. If you never see the alerts, our attention to security is for naught. Here are 3 Easy Ways to Keep Informed:

  1. Subscribe to the PBX in a Flash RSS Security Feed
  2. Follow @NerdUno on Twitter
  3. Review the RSS Feed in the PIAF Dashboard with a browser

Every security alert has a link to a solution. Finally, visit the PIAF Forums and click on the What’s New link. It only takes a minute to scan the list for security issues.

2. Hardware-Based Firewall Protection. Unless your PBX is operating on a shared server in the cloud, always run it on a private LAN behind a hardware-based firewall with no Internet port exposure. The one exception would be for those with remote telephone extensions, and we’ll get to that in a minute. The cheapest consumer grade router/firewall provides more security for your server than all of the other security mechanisms combined. Use it!

3. The Linux iptables Firewall. All PBX in a Flash and Incredible PBX servers have the iptables firewall in place. With PBX in a Flash, you have to configure it yourself unless you deploy Travelin’ Man 3. With Incredible PBX, iptables is preconfigured if you opt to install Travelin’ Man 3 as part of the installation process. It doesn’t do much good to have iptables if it’s not functioning. So check it regularly and especially after rebooting your server. On CentOS-based systems, issue the command: iptables -nL. On the Raspberry Pi, type: iptables-save. You should see a list with a lot of permitted IP addresses for preferred providers. If not, restart iptables and then check it again. To restart iptables on CentOS: service iptables restart. On the Raspberry Pi, issue the command: iptables-restore /etc/network/iptables. If you discover that your iptables firewall was not functioning and you’re running PBX in a Flash or Travelin’ Man 3, a security alert has been issued to address the problem. You can get the security fix here.

4. IP Address Filtering. Even with remote phones and dynamic IP addresses, it often is relatively easy to narrow down the range of permissible IP addresses that should have access to your server. With the Linux iptables firewall, you can implement dynamic DNS FQDNs for your remote users. With many hardware-based firewalls, you can’t. But often you can limit remote access to a range of IP addresses. A little protection is still better than none. With a hardware-based firewall, these IP address ranges usually can be changed via web access to your firewall. The minute it takes to make necessary changes is well worth the effort. Just make sure your hardware-based firewall has a long password with upper and lower case letters as well as numbers and non-alphanumeric characters if your firewall supports them.

5. Fail2Ban Access Monitoring. On PBX in a Flash and CentOS-based Incredible PBX servers, fail2ban is activated to limit access attempts to protected resources such as SIP extensions, SSH, and Apache. It is not infallible particularly in this age of megaservers such as Amazon’s S3 service. Because fail2ban reads your logs looking for failed login attempts, it can be defeated with powerful servers attempting thousands of access attempts simultaneously because fail2ban never gets sufficient Linux resources to read logs and block access. It’s better than nothing, but not by much.

6. Deploy WhiteLists for Remote Access. If your server is in the Cloud (meaning it is directly exposed to the Internet) or if you have remote extensions directly connected to your server, your primary line of defense against the bad guys is your iptables firewall. We’ve tried many designs with the objective of letting the good guys in while keeping the bad guys out. The one failsafe solution is IP address WhiteLists. What this means is, if an IP address is listed as safe in iptables, then connections to certain resources from that IP address are permitted. Otherwise, your server remains invisible to the outside world. We have a couple of tools to assist you in setting this up. Travelin’ Man 2 lets authorized users manage their remote IP addresses themselves through a simple browser interface to your server. Travelin’ Man 3 lets a system administrator manage remote IP addresses using both permitted IP addresses and fully-qualified domain names. In the case of remote users with dynamic IP addresses, DynDNS management tools can be deployed on Macs, Windows machines, and Android devices to automatically update FQDNs used in conjunction with Travelin’ Man 3. As noted previously, a security alert has been issued with Travelin’ Man 3. You can get the security fix here.

7. Remote Access with User Agent Knocking. A new approach to remote user access uses a derivative of the original Sunshine Networks port knock utility. With jeffmac’s new design, you define a customized "User Agent" string on your remote phones and then define iptables rules that permit access from SIP devices that attempt server connections using one of these obscure user agent strings. Here’s how to deploy it. To use this approach you’ll need remote phones that permit customization of the user agent string or that have sufficiently obscure, predefined user agent strings that wouldn’t lend themselves to dictionary-style, brute force hacking attempts by the bad guys.

8: Implement VPNs for PBX Systems. There are install scripts for PBX in a Flash to deploy a NeoRouter VPN or a PPTP VPN. Either or both of them can be installed and configured in minutes! VPNs provide an incredibly simple way to interconnect PBX systems worldwide and assure secure communications between these interconnected systems. Encourage remote users to deploy softphones on their Windows and Mac machines, and use secure, VPN access to connect to your server using these softphones.

9. Don’t Use ‘Normal Ports’ for Internet Access. Think of network and PBX security as a shell game. You want to do as many things differently as possible to make it as difficult as possible for the bad guys to figure out what you’ve done. Read that last sentence again. It’s important! With a hardware-based firewall, this is easy. dLink routers call them Virtual Servers. Other routers have similar functionality. Here is a typical entry:

HTTP 192.168.0.150 TCP 22/2319 Allow All Always
This entry redirects a specified port to a different port for Internet access. Don’t do this for SIP and IAX ports, but it works great for HTTP, FTP, and SSH access. WE STRONGLY DISCOURAGE EVER OPENING HTTP ACCESS TO YOUR SERVER FROM THE INTERNET. But you may need SSH access from remote locations. For example, port 22 typically is the default SSH port on Asterisk aggregations, and this port normally can be used on your internal LAN assuming you know and trust your users. For external (aka Internet) SSH access, simply remap TCP port 22 to some obscure port and change it periodically. For example, you might redirect TCP port 22 to port 2319. Once the setting is saved, you access SSH like this from the Internet: ssh -p 2319 root@pbx.mydomain.com. Then (and just as important!) next month, change the port to 4382, then 6109, and so on. Don’t use these numbers obviously! Make up your own.

The key here is that 2 minutes work every month will keep SSH access to your PBX much more secure than letting every Tom, Dick, and Ivan hammer away at port 22 every night while you’re sleeping. As previously mentioned, most of these routers also will let you block access to certain ports during certain hours of the day. If you’re sleeping, there’s really not much need to provide SSH access to your Asterisk server. At the risk of being labeled xenophobic, keep in mind that many of the world’s best crackers reside in countries where daytime happens to be nighttime in the U.S.

10. Really Secure Passwords Really Do Matter. While we have no hard evidence to back this up, our guess is that 90% of the security breaches in Asterisk systems have been the direct result of folks using passwords that matched the extension numbers on their phone systems. Since most Asterisk PBX systems are configured with extension numbers beginning in the 200, 700, or 800 range of numbers, it really wasn’t Rocket Science to remotely log into these servers and make unlimited SIP telephone calls. It may seem obvious but really secure passwords really do matter. And it’s more than having a secure root password. All of your passwords need to be secure including those on your phone extensions and voicemail accounts unless you are absolutely certain that you have blocked all access to your system from everyone except trusted users. If you use DISA, multiply this advice by 10. Part of having really secure passwords is regularly changing them. And our rule of thumb on Asterisk system passwords goes one step further. Never, ever use passwords on your PBX that you use for other important personal information (such as financial accounts). Remember, it’s your phone bill.

11: Minimize Web Access To Your PBX. Most of the Asterisk aggregations utilize FreePBX as the graphical user interface to configure your Asterisk PBX. Because FreePBX is web-based, it is extremely dangerous to leave it exposed on the Internet. As much as we love FreePBX, keep in mind that it was written by dozens and dozens of contributors of various skill levels over a very long period of time. Spaghetti code doesn’t begin to describe some of what lies under the FreePBX covers. While the FreePBX Dev Team is vigorously rewriting much of this old code, some of it still lingers. Our recommendation is to make absolutely certain that you have .htaccess password protection in place for all web directories in at least these directory trees: admin, maint, meetme, and panel.

Our rule of thumb on Internet web accessibility to any Asterisk PBX goes like this. Don’t! And, for FreePBX web access from the Internet. Never! If the bad guys ever get into FreePBX, the security of your PBX has been compromised… permanently! This means you need to start over with all-new passwords and install a fresh system. You can’t fix every possible hole that has been opened on a FreePBX-compromised system!

12. Choosing VoIP Providers. So long as you use reputable VoIP providers that support registration of your SIP and IAX accounts, NO INTERNET PORT EXPOSURE TO YOUR SERVER IS EVER REQUIRED! If a VoIP provider doesn’t support SIP/IAX account registration, don’t use them! Add your public and private IP addresses in FreePBX’s Asterisk SIP Settings module to eliminate one-way audio issues.

13. Never Activate Auto-Replenishment. If you’re using VoIP providers that you pay by the minute, do your wallet a favor. Never, ever activate auto-replenishment on your accounts. By manually controlling the money flow to your accounts, you automatically insulate yourself from a huge phone bill. If something does come unglued, your financial exposure is limited to the preauthorized amount in each of your VoIP provider accounts.

14. Tighten Up International Calling. Almost every VoIP provider gives you the option of restricting international calls. If you don’t make international calls, use it! If you do make international calls, implement Outbound Routes in your FreePBX® dial plan with designated country codes. If you never call Africa, China, or cruise ships in international waters, make sure your dialplan doesn’t allow these calls.

15. Time of Day Calling Restrictions. Whether your server is for business or home use, time of day restrictions can save you a bundle. If remote telephone extensions are a must have for your server, chances are that those extensions don’t place calls in the middle of the night. Almost every hardware-based router/firewall allows creation of time of day rules for access. Implement these restrictions to minimize exposure to those that are hacking while you’re sleeping.

16. Minimize Simultaneous Calls. Especially with pay-as-you-go VoIP providers, often there is no limit to the number of simultaneous calls that can be placed from a trunk on your server. If someone manages to gain access to your accounts or your server, that can be really bad news. Some providers offer tools to restrict the number of simultaneous calls that can be placed. Take advantage of it to limit your financial exposure. Similarly, FreePBX includes a Maximum Channels option when you configure a Trunk. Don’t leave it blank. Set it to what you need to meet your needs.

17. Outbound Route Passwords. For outbound routes to international numbers and 900 numbers, always take advantage of the FreePBX Outbound Route option to prompt for a password. Just enter a numeric Route Password when you configure these outbound routes, and FreePBX will handle the rest.

18. IP Address Filtering with Asterisk Extensions. With the number of Asterisk SIP vulnerabilities reported over the years, suffice it to say IP address filtering at the Asterisk extension level is not something you should rely upon exclusively to protect your server. But it’s better than nothing. And, when used in conjunction with the other security mechanisms we’ve outlined, it provides another layer of security for your server. The extension setup in FreePBX includes the permit field which can be used to limit connections to a particular extension based upon an IP address or range of IP addresses. In addition, Travelin’ Man 2 deploys additional permit tables using an include list in sip_custom_post.conf in conjunction with include files for specified extensions, e.g. 701.inc, to define additional authorized IP addresses.

To restrict an extension to a private LAN address with a FreePBX extension entry in permit like this: 192.168.0.0/255.255.255.0. Then you can broaden this restricted access with specified WhiteList addresses using an include file in /etc/asterisk that looks like this:

[701](+)
permit=150.155.90.143/255.255.255.255

You, of course, would also have to authorize the specified IP address in your iptables configuration as well. That’s essentially how Travelin’ Man 2 works.

19: Check Your Logs Every Day. We’re still dumbfounded by the following quote from the article we cited above: "115,000 international mobile calls were made using the small business’s VoIP system over a six month period." Six months and they never checked their call logs? FreePBX provides an incredibly simple way to review your call logs. Click the CDR Reports link and look at your call log showing the number of calls each day and the combined length of those calls. Nothing could be easier. Do it every single day!

20: Do Some Reading… Regularly. No security implementation is complete without a little regular effort on your part: reading. If you’re going to manage your own network or PBX, then you need to keep abreast of what’s happening in the business. There are any number of ways to do this, none of which take much time. The simplest approach is just to scan the Open Discussion, Add-Ons, and Bug Reporting topics on the PBX in a Flash Forum, the FreePBX Forum, and Asterisk News. Aside from reviewing your call logs, it’s the best 15 minutes you could spend to safeguard your system.

Originally published: Monday, October 1, 2012


Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

Time to Celebrate: Incredible PBX for Raspberry Pi Turns 21

If you had asked us a year ago whether it was possible to run a full-featured PBX on a computer the size of a credit card, we would have laughed and told you to move along. Well, that was then. In the last 21 days, we’ve not only gotten through the proof-of-concept phase of porting Incredible PBX to the Raspberry Pi but, thanks to a lot of hard work from Gernot and his Asterisk® for Raspberry Pi™ project, we now have an incredibly powerful PBX alternative for home and SOHO users with free calling in the U.S. and Canada and a price tag of $50 with the hardware. To celebrate the 21st birthday of Incredible PBX for the Raspberry Pi (that’s days not years), today we introduce two very refined editions of Incredible Pi for both the Debian 6 "Squeeze" and Debian 7 "Wheezy" platforms. For the pioneers, there’s version 2.0 with Wheezy. For those that like stable, we’ve got 1.7 on Squeeze. The feature set is identical. And you can’t beat the price. They’re both FREE!

Call our Raspberry Pi (1-843-284-6844) and check out the Incredible Pi Smörgåsbord for yourself.

New Incredible Pi Tutorials: 35 Free Incredible PBX Apps for the $35 Raspberry Pi and Version 3.1 Quick Start Guide

We’ve written some very detailed documentation for Incredible Pi, and you can read it at your leisure. Today, we wanted to put together an abbreviated tutorial for those that just want to get a barebones system up and running in about an hour. Most of that time will be consumed copying the Incredible Pi image to an SD card. So there’s plenty of time for lunch during the hour. If you prefer detail, then have at it. For everyone else, keep reading.

What to Buy. Here’s everything you need to get started. The case is optional. Yes, you can run the Raspberry Pi sitting on your desk with no case. It’s only 5 volts. WiFi is also optional. There’s a 10/100 port on the Raspberry Pi that gives you all the networking you need. Here are the links to buy the pieces. You also need a CAT5 cable and either a spare PC or Mac with Putty or SSH and a pair of earbuds or an HDMI cable to connect to a TV or monitor and a USB keyboard.

Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible Pi, or it won’t work. Log out after setting up the new Google Voice account!

  • Register for Google Voice account (no funky characters in your password!)
  • 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

Baking Your Incredible Pi. The disk drive for the Raspberry Pi is an SD card. So what you need to do is download Incredible Pi and copy the image onto an SDHC card. Mac and Linux installers are included. For Windows, just use Win32 Disk Imager. Here are the steps:

  1. Download the Incredible Pi package
  2. Decompress the tarball: tar zxvf incrediblepi-version.tar.gz
  3. Copy .img file to SDHC using image utility or script
  4. Insert SDHC card into Raspberry Pi
  5. Boot the Raspberry Pi from Incredible Pi SDHC card

HINT: While you’re waiting, you can read about all the latest changes and additions to Incredible Pi 2.1 here.

Your First Bite of Incredible Pi. If you’re not using a monitor and will be using SSH to access Incredible Pi, then you need to plug in some earbuds when the bootup process begins. Listen for the Incredible Pi to tell you its IP address when the boot procedure completes. Then login to that IP address with SSH as outlined below.

Here’s everything you need to know about security for Incredible Pi:

1. ALWAYS RUN INCREDIBLE PI BEHIND A SECURE HARDWARE-BASED FIREWALL/ROUTER
2. NEVER EXPOSE ANY INCREDIBLE PI PORTS DIRECTLY TO THE INTERNET
3. NEVER MAP INBOUND INTERNET PORTS FROM YOUR FIREWALL TO INCREDIBLE PI

There also are a few setup steps to complete once your Incredible Pi finishes the bootup process:

  • Login to Incredible Piusername: pi   pw: raspberry
  • Change password for pipasswd
  • Change password for rootsudo passwd root
  • Logout as user pilogout
  • Login as root userusername: root    pw:your-new-password
  • Set Linux timezonedpkg-reconfigure tzdata
  • Set PHP timezonenano -w /etc/php5/apache2/php.ini (Ctl-W, Ctl-T, 876)
  • Restart web serverservice apache2 restart
  • Replace SSH keysrm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server
  • Set Up WiFi Credentials (optional)nano -w /etc/wpa.conf
  • Set Primary and (optional) Secondary NICnano -w /etc/pbx/.nic
  • Reboot Your Serverreboot

Accessing Incredible Pi By GUI. You don’t have to be a Linux guru to use Incredible Pi. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish the steps below. Most of your configuration of the PBX will be performed using the FreePBX® Web GUI.

If you’re new to Asterisk and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. 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 Pi. 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.

Let’s get started. Using a browser, enter the IP address of your server. Choose FreePBX Administration. When prompted for a username and password, use admin for both. Here are the six steps you need to complete before making your first free call:

  1. Change FreePBX admin Password and Default Email
  2. Add Google Voice Account credentials
  3. Set Destination for Incoming Calls
  4. Change Extension 701 Passwords
  5. Eliminate Audio and DTMF Problems
  6. Install and Register a Softphone to Extension 701

1. Changing FreePBX admin Password and Default Email. From the main FreePBX GUI, click Admin => Administrators. Click on admin user in the far-right column. Enter a new Password and click Submit Changes button. Then click the Apply Config button. Next, set your default email address at the bottom of Settings -> General Settings. Repeat the procedure above to save your entry.

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 Other -> Google Voice from the FreePBX GUI. The following blank form will appear:

Fill in the blanks with your information and check all 3 boxes. If your Google Voice account name ends in @gmail.com, you can 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 Pi! From the Linux command prompt while logged into your server as root, restart Asterisk: 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 (we’ve actually set one up for you to play with).

By default, Incredible Pi is configured to route all incoming calls to a demo IVR that shows off some of the applications that come with Incredible Pi. You can change whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to Extensions and then select 701 from the list. Then click Submit and Apply Config.

4. 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 1234secret and 1234 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 Pi 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 an SDHC 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.

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

6. Setting Up a Desktop Softphone. Incredible Pi supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to "real phones" once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

As we mentioned, the easiest way to get started with Incredible Pi is to set up a 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 Pi, 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!

Monitoring Call Progress with Asterisk. That about covers the basics. We’ll leave you with a tip on how to monitor what’s happening with your PBX. There are several good tools within the FreePBX GUI. You’ll find them under the Reports tab. In addition, Asterisk has its own Command Line Interface (CLI) that is accessible from the Linux command prompt. Just execute the following command while logged in as root: asterisk -rvvvvvvvvvv.

Once you’ve done some exploring, take a few minutes to read the more detailed Nerd Vittles tutorials on Incredible Pi and Incredible PBX. We now have a complete tutorial on all 35 Incredible PBX applications that are included in the build. Take a quick look at your convenience. 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: Tuesday, September 11, 2012


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

Bug Fixes. A few bugs are to be expected. If you’re using Incredible Pi, please review these on the PIAF Forum at your convenience.


Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

Introducing Incredible Pi: $35 for Asterisk, FreePBX & Google Voice Utopia

It’s Back-to-School Time in most of the United States, and the Nerd Vittles crew needed a good fall project to distract us from all of this year’s dreadful politicians. We feel like a kid in a candy store with our new $35 Raspberry Pi® Model B. Imagine squeezing a 700 mHz ARM processor with 256MB of RAM, 2 USB ports, a 10/100 Ethernet port,if an HDMI port, composite video, a separate audio jack, an SDHC card slot, and a micro USB port onto a motherboard the size of a credit card with a total weight of 1.6 ounces and a typical power draw of 3.5 watts. Thanks to Gernot and his Asterisk for Raspberry Pi project, a full LAMP stack with Asterisk® and FreePBX® gave us a head start on turning the Raspberry Pi into yet another Incredible PBX™ platform complete with Google Voice™ for free inbound and outbound calling throughout the United States and Canada.

Trust us when we say the performance of this $35 computer is nothing short of amazing. Can it do everything a $200 dual-core Atom PC can do? No. Can it do 90% of everything for someone whose requirements do not exceed a few simultaneous calls at a time but still wants a full-blown PBX for call routing, voicemail, IVRs, music on hold, and text-to-speech and speech-to-text apps for a home, a SOHO office, a Little League team, or a dorm room? Absolutely.

Call our Raspberry Pi at 1-843-284-6844 and check out the Incredible Pi Smörgåsbord for yourself.

Other Incredible Pi Resources: Quick Start Guide for Incredible Pi 3.1 and 35 Free Incredible Pi Apps Tutorial

Incredible PBX for Raspberry Pi: What’s Included

If you’ve never heard of The Incredible PBX, here’s the Top 20 for the Raspberry Pi platform. In addition to the base install with Debian 6, Asterisk 1.8, FreePBX 2.10, Apache, SendMail, MySQL, PHP, and phpMyAdmin, Incredible Pi offers the following built-in PBX components using a wired or wireless network connection:

Ordering Information: What It Takes to Get Started

A complete Incredible PBX build for the Raspberry Pi (Incredible Pi™) is finally finished, and we wanted to give you a head start on ordering the pieces you’ll need to get things going since there is a three to five week delay on some of the components due to huge demand. Nothing is ever just $35, of course. So here’s what you’ll need. The Raspberry Pi itself can be ordered from Newark or MCM. Delivery times and stock vary so check both sites. At the time we ordered, they were quoting 5 weeks. We actually got one from Newark in one week, and as of now MCM has some in stock for immediate shipping. You also need a power adapter. If you have a micro USB power brick for your cellphone, chances are it will work. As long as it’s at least 1 amp and 5 volts, you’re good to go. The recommended 700 mA adapters have reportedly caused issues for some folks so splurge and order a good one. They’re $10 from Amazon while supporting Nerd Vittles.1 If you plan to add the WiFi adapter covered below, you will need at least 1.2 amps to avoid lockups. Next, you’ll need an SDHC card which serves as your hard disk. Be very careful here. The Type 10 cards which arguably would provide the best performance turn out to be a nightmare. Many of them simply don’t work. For a basic system, we’d recommend you start with either the SanDisk 4GB or 16GB SDHC Type 4 card. The 4GB card is available almost everywhere for under $10, or you can order two from Amazon with free Prime shipping for about the same money. If you already have a USB keyboard and a monitor or TV with an available HDMI port or composite video and audio ports, then you’ve got everything you need to get started. Actually, you can do without the monitor and use SSH if you’re either using Incredible Pi 1.3 or if you can decipher the DHCP address of Incredible Pi by reviewing your firewall log. With version 1.3 and beyond, you can plug in a pair of earbuds, and the server will whisper your IP address in your ear after the boot process completes. By the way, you may also want to put your name in the queue for a Pibow case, completely unnecessary but very cute with a long waiting list. It costs almost as much as the computer.

For down the road, suffice it to say, you’re probably not going to want to run Asterisk, FreePBX, and Google Voice on a disk platform of 4 gigabytes although our demo system does exactly that. Between Debian 6.0, Asterisk 1.8, FreePBX 2.10 plus numerous Incredible PBX utilities, well over half of the available 4GB will be consumed by software. For distribution purposes, we’re providing an image that you can write directly to the SDHC card. Unfortunately, the image size determines the amount of space it will actually use on an SDHC card. We will cover below how you can install the 4GB image onto a 16GB card and then expand the size of the main partition to fill the remaining space on the card. But it wouldn’t make sense to distribute a 16GB image because of bandwidth issues. So we’d recommend you purchase a 16GB SanDisk Type 4 SDHC card for production use. Take our advice. Don’t get creative in choosing your SDHC card. Use the one that we’ve already tested and that we know works. If you want to skip the 4GB card completely, that’s perfectly fine, too. The 16GB Type 4 SanDisk card is under $10 from Amazon with free Prime 2-day shipping, or you can pay double and pick one up at your neighborhood Radio Shack store. We’ll also show you how to back up your SDHC card (any size) with your own settings and restore it onto a 16GB card without missing a beat. Unfortunately, once you migrate and expand the main partition on the 16GB card, you’re stuck with that topology. There’s no going back without starting over, and your backups will consume 16GB of storage rather than 4GB. But it sure is convenient… and easy. By the way, here’s a more reasonably priced case and here’s an awesome clear case if you just want something that’s functional.

Finally, you’re going to need an existing Linux server or Mac on which to create your bootable SDHC cards for use with Raspberry Pi. You’ll also need this server to make backups of your existing setup. DD is a wonderful low-level disk copying utility found in Linux, and we’re going to be using it a lot. PBX in a Flash with or without Incredible PBX makes an ideal platform because all of the necessary SDHC disk management utilities already are installed. If you’re not using our recommended Foxconn server, then you’ll need a server with an SDHC card slot, or you can purchase an inexpensive USB-to-SDHC adapter from Amazon for under $2. Without the case, you can build an awesome Asterisk platform for home or SOHO use for under $50, and it can handle 3 simultaneous SIP calls without noticeable degradation.

Here’s a shot of our favorite Incredible Pi setup. You’ll need the LAN cable for the initial boot so that you can SSH into the device to plug in your WiFi SSID name and password. You’ll need the earbuds for the first and second boot to decipher the IP address of the device on your LAN, wired and wireless. No monitor connection is ever required. Just log in with SSH from your Mac or PC. After the first two boots, you can dispense with the CAT5 cable and the earbuds. All of the components are covered in this article.


Creating a Bootable Incredible Pi SDHC Card

SanDisk SDHC Type 4 cards come pre-formatted so all you need to do is insert the card into the SDHC slot of your Asterisk server and reboot it. If you prefer to use a Mac, go here for the tutorial. Before you insert your SDHC card and reboot, log in as root and run the following command: fdisk -l. This will tell you what the existing disk topology of your server is. Write it down. What you don’t want to do is accidentally choose your main Linux drive as the device to copy the Incredible Pi image to, or you end up with a mess. Now insert your SDHC card and reboot your Asterisk server so your SDHC card will be visible. Then run fdisk -l again to decipher the device node of your card. It should be at the bottom of the list and will be something like /dev/sdb. We don’t use /dev/sdb1 in the dd transfer step below, just the base devnode: /dev/sdb or whatever letter your SDHC drive happens to be.

Next, using a web browser, download the latest Incredible Pi image and transfer it to the /root directory of the Linux computer you’ll be using to copy the image to your SDHC card. As we said, we recommend a PBX in a Flash server because it has all of the SDHC utilities already included. Incredible Pi is a free download from SourceForge. The feature sets are described in the SourceForge readme.txt file. Once you’ve copied the desired tarball to your Linux server, decompress it: tar zxvf incrediblepi-1.x.tgz where x is the version you downloaded. Verify the integrity of the image file using md5sum:


1.7: md5sum debian6-incrediblepi-10-09-2012.img => e601ecd890a400de2e03009c034353c2
2.1: md5sum debian7-incrediblepi-16-09-2012.img => 007efb9d2cdf86f054c5cf26c4f5de9a

Finally, run the Linux install script: ./make-sdhc. It takes about 30-60 minutes to copy the image to your SDHC card. If you have a Mac, copy make-sdhc-mac to your Downloads folder and use it.

While you’re waiting, you can read about all the latest changes and additions to Incredible Pi here.

If you’re using our recommended 16GB SanDisk Type 4 SDHC card, then what you have at this juncture is a 16GB card on which only 4GB is being used. Here’s how to expand the main partition to use the other 12GB of space on the card while logged in as root. First, we need to make sure your card’s geometry matches our card setup. From the command prompt, issue the following commands using the proper device node (/dev/sdb) of your card:

parted /dev/sdb
(parted) unit chs
(parted) print

Here’s what you should see:

If the geometry of your card doesn’t match what’s shown above, do NOT use our commands below to adjust your card. Instead, review the original tutorial explaining what needs to be done.

If your geometry matches our geometry above, issue the following commands while still in parted:

move 3 239943,0,0
[press enter to accept default End]
rm 2
mkpart primary 1232,0,0 239942,3,31
print

After entering the above commands, your new card geometry should look like this:

Now type quit. Then complete the resizing by issuing the following commands using your correct device node:

e2fsck -f /dev/sdb2
resize2fs /dev/sdb2
sync

Remove the card from your Linux machine and insert it into the SDHC card slot on the Raspberry Pi.

We’ve also found one 32GB Type 10 card that’s reliable, the Kingston Ultimate X (SD10G2/32gb) which costs about $40 at Amazon. We’ve included the resizing steps below:

fdisk -l
parted /dev/sdb
unit chs
print
move 3 483887,0,0
[press enter to accept End address]
rm 2
mkpart primary 1232,0,0 483886,3,31
print
quit
e2fsck -f /dev/sdb2
resize2fs /dev/sdb2
sync


Preparing the Raspberry Pi for Blastoff

Once the card is in place, there are a few more preliminary steps before you apply power to the device. Plug in a CAT5 LAN cable that is connected to your firewall-protected private network. Make certain that your router is handing out DHCP addresses properly since the Raspberry Pi can’t boot without a network connection to obtain the correct time from an NTP server on the Internet. It has no onboard time clock! Plug in a USB keyboard to one of the two USB ports on the Raspberry Pi. Connect either an HDMI or composite video cable between the Raspberry Pi and a monitor or TV. Finally, plug in a reliable power adapter and insert its micro USB connector into the slot on the Raspberry Pi. You should immediately see a raspberry on your screen with a scrolling list of commands that are executing while the Raspberry Pi is booting. Watch carefully. If you see a bunch of "waiting for hardware interrupt" notices, then you didn’t heed our advice on the type of SDHC card to use. Your card is not compatible for use on the Raspberry Pi so reformat it and use it with your camera. Then go buy the SanDisk card we recommended. The entire boot process should take about 30 seconds. With an incompatible card, that can stretch out to more than an hour. When the boot process completes, the IP address of your Incredible Pi should be displayed with a Linux login prompt. Write down your IP address. You’ll need it in a minute.

Securing Incredible Pi

Congratulations! You’re now ready to begin the Incredible Pi adventure. But, before we get started, first things first. Let’s secure your server. Log in with the username: pi. The password is raspberry. Now change the password to something really secure by issuing the command: passwd. Now do the same thing for the root password of the device: sudo passwd root.

Next, we need to set the default timezone on your machine for both Linux and PHP5. First, switch to the root user account so we don’t have to type sudo before each command: su root. Enter your new root password when prompted. Then run this command to set the default timezone with Debian: dpkg-reconfigure tzdata. For PHP5, you have to manually enter the timezone in the php.ini file: nano -w /etc/php5/apache2/php.ini. Press Ctrl-W to search for timezone. Be sure the line is uncommented and plug in your correct timezone. If you don’t know the magic words to use for your timezone, here’s the list. Save the file: Ctrl-X, Y, and press Enter. Now restart Apache: service apache2 restart.

First, we need to remove the default DUNDI secrets from Asterisk so fresh ones can be automatically generated when you restart Asterisk.

asterisk -rx "database del dundi secret"
asterisk -rx "database del dundi secretexpiry"
amportal restart

Now we need to do the same thing for your SSH keys:

rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server

Now let’s be sure Asterisk is up and running. Then you can continue your adventure using a web browser and the FreePBX GUI. Before we switch, start up the Asterisk CLI: asterisk -rvvvvvvvvvv. Verify that Flite is functioning for TTS: core show application like flite. And make sure the MySQL components are in place to support CDR reporting: module show like mysql. Finally, let’s verify that Jabber is alive and well even though we haven’t set up any Google Voice accounts yet: jabber show connections.

Finally, a few words of warning about security. Incredible Pi is designed to run behind a hardware-based firewall with no Internet exposure to the server itself. Don’t cheat! Prior to the 1.2 release, there are no security mechanisms in place: no IPtables firewall and no Fail2Ban. Beginning with Incredible Pi 1.2, the Linux firewall (iptables) is included, but our recommendation still stands unless you are using the preinstalled Travelin’ Man 3 to enable access of a remote phone connection to your PBX.

All builds do include Suhosin which has been properly configured to facilitate use of phpMyAdmin with MySQL. Within FreePBX, you can secure extensions with strong passwords and IP address filtering, and you need to do that. Exposing Incredible Pi‘s web server to Internet access would be an open invitation to an expensive phone bill. Don’t do it! You’ve been warned.

Securing Incredible Pi with Travelin’ Man 3

Travelin’ Man 3 is a collection of programs that implement firewall whitelists (safe IP addresses) using the Linux firewall, iptables. Before you ever expose your server to any kind of Internet access, read the Nerd Vittles Travelin’ Man 3 article. As delivered with Incredible Pi 1.2 and later, iptables is configured to block all access to your server except from non-routable IP addresses (typically used on LANs sitting behind hardware-based firewalls). The one exception is SIP and IAX access from VoIP Trusted Providers. This allows you to add trunks to your server from these providers without touching your firewall settings.

There are instances in which you may actually need to connect your server from a public Internet site. For example, if you travel for a living and want to use a softphone connected back to your server from a distant hotel room or customer site, you would need access through both your hardware-based firewall and iptables. If one of your children is away at school and needs a free telephone connection, this might also warrant a change in your firewalls. Because of the low cost of a Raspberry Pi, we still believe AND RECOMMEND that you use separate servers to meet remote requirements.

If you still believe remote access is necessary after reading the Travelin’ Man 3 article, then the tools are available by logging into your Incredible Pi server as root and changing to the /root directory. Here are the four apps:

For whiz kids only, Debian manages iptables quite differently than what you may be accustomed to on the CentOS platform. Debian stores iptables rules in /etc/network/iptables. You can reload the iptables rules like this: iptables-restore /etc/network/iptables. And you can display the rules currently in effect like this: iptables-save. Be careful!


Configuring Incredible Pi with FreePBX

Now we’re ready to configure Incredible Pi so that you can start making and receiving calls. We’ll be using the FreePBX web GUI. To begin, using a browser on your desktop, access Incredible Pi by pointing to the IP address of your server (that you wrote down above). Choose FreePBX Administration at the main menu. When prompted for your username and password, enter admin for both.

If you’re new to Asterisk, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. 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 Pi. 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 we will cover later.

Before you do anything else, change your admin password to access FreePBX. From the main FreePBX GUI, choose Admin => Administrators. Next, set your default email address at the bottom of Settings -> General Settings.

So here’s our 7-Step Checklist to set things up. After you complete these steps, you can start making free calls throughout the U.S. and Canada. And people can call you using your new Google Voice number.

1. Create a free Google Voice account
2. Set up Extension to connect to softphone
3. Create a Google Voice Trunk using GV credentials
4. Create an Inbound Route from Google Voice to Extension
5. Create an Outbound Route from Extension to Google Voice
6. Download and Configure YATE softphone
7. Make Your First Call

Creating a Free Google Voice Account

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

We’ve tested this extensively using an existing Gmail account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible Pi. 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. Don’t use funky characters in your Google password! If you’re living on another continent, see MisterQ’s posting for some setup tips.

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 Incredible Pi 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 ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

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

Configuring an Extension to Use with a SIP Phone

As mentioned, an Extension is the component in FreePBX that actually interfaces with a telephone. Whether to use a hardware-based phone or a softphone is your choice. Without an adapter, POTS phones won’t work with Incredible Pi. You’ll need a SIP phone. We’ll set up a softphone today to get you started, but first we need to configure an extension in FreePBX. We’ve actually made one for you to use, extension 701. So, rather than create a new one, let’s just modify the one that’s already in place. You can add additional extensions later to support additional phones.

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 1234secret and 1234 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 Pi 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 an SDHC 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.

Activating a Google Voice Trunk in FreePBX

To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information for 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. Once you have these in hand, choose Other -> Google Voice from the FreePBX GUI. The following blank form will appear:

Fill in the blanks with your information and check all 3 boxes. If your Google Voice account name ends in @gmail.com, you can leave that out. Otherwise, include the full email address. Then click Submit Changes and reload your dialplan when prompted.

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

Creating an Inbound Route for Your Google Voice Trunk

Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process the call 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 (we’ve actually set one up for you to play with). For the time being and since you only have one extension at the moment, let’s just route incoming Google Voice calls to extension 701.

To do this, you create an Inbound Route based upon the DID (phone number) of the Google Voice trunk. In FreePBX, choose Connectivity -> Inbound Routes. Fill in the form so that it looks like the example below using your own 10-digit Google Voice description and number instead of Atlanta GV and 6781234567. Be sure to set the Destination.

Then click Submit. But, before you reload the dialplan, make one change to the form. Click on the CID Lookup Source pull-down menu and choose CallerID Superfecta. This tells FreePBX to actually add names to phone numbers when someone calls. Now click Submit again and reload the dialplan when prompted.

Creating an Outbound Route for Google Voice Calls

FreePBX is actually smart enough to create an outbound route for your new Google Voice trunk so that you can place calls from any extension by dialing either a 10-digit number or 1 plus a 10-digit number to call anyone in the U.S. or Canada. If that’s all you care about, you can skip to the next section. But there’s more.

You can have more than one Google Voice trunk with Incredible Pi, and each one could be in a different area code. For example, you may do business in many different places and would like a local number for folks to call. Or Grandma may live in a distant city, and you’d like her to be able to call you without paying long distance charges. Then there are the kids. If you have three, you might want to give each of them their own Google Voice number which would ring just their phone. And, for outbound calls, you’d like each of them to use their own Google Voice trunk. All of these options are possible with Incredible Pi.

For outbound calls with multiple Google Voice trunks, you need a way to tell the system which trunk to use. We recommend dial prefixes that identify the city of the trunk, e.g. ATL, NYC, MIA. Or, for the kids, a dial prefix made up of initials, e.g. KHM, RWM, JSM. These dial prefixes get stripped off before the call is actually placed so the prefix is only used to determine the trunk used for placing the call.

To implement dial prefixes, you’ll need to adjust the default entries for your Google Voice Outbound Routes by adding the prefix option as an additional Dial Pattern. Here’s an example using an Atlanta Google Voice trunk where we want to allow a prefix of ATL-XXX-XXX-XXXX to force a call to go out on the Atlanta Google Voice trunk:

Another option may be appealing if you happen to make a lot of international calls and don’t want to pay for them. First, you can read all about iNum calling in this Nerd Vittles article. Another hidden feature in Google Voice is the ability to place iNum calls worldwide at no cost. To implement this, you’ll need to add another Dial Pattern to your Google Voice trunk. Prepend: 8835100 with Match Pattern: XXXXXXXX. Now you can dial iNum DIDs by dialing just the last 8 digits using any phone on your server. For example, try out the Nerd Vittles’ Dictionary Demo by calling 09901997. There also are a huge number of iNum Access Numbers that will let you call back to your server or any other iNum DID from almost anywhere in the world at no cost. These are covered in the Nerd Vittles article as well.

Configuring a YATE Softphone

As we mentioned, the easiest way to get started with Incredible Pi is to set up a 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 Pi, 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!

Configuring Email Messaging

Incredible Pi comes preconfigured with SendMail to provide reliable delivery of outbound email messages. You can test it by logging in and issuing the following command using your own email address instead of yourname@gmail.com:

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

If you don’t receive the message, chances are that your Internet Service Provider blocks downstream mail servers from sending email to reduce spam. To fix it, the simplest way is to configure SendMail to use your ISP as the smart relay host for outbound mail, e.g. with Comcast, it’s smtp.comcast.net. It takes about 10 seconds to configure. After logging in as root, edit /etc/mail/sendmail.cf. Change line 116 from DS to DSsmtp.comcast.net using the SMTP gateway domain of your ISP. Save your change and restart SendMail: service sendmail restart. Then send another test message to make sure it works. If that fails, you can use Gmail as the mail relay. Here’s how. Now voicemail messages delivered directly to any email account by inserting your email address in the Voicemail section of the extension accepting your voicemail messages.

Configuring SMS Messaging

Incredible Pi also allows you to dictate messages and deliver them to any phone which accepts SMS messages. Just dial S-M-S (767) from any extension on your server. In addition, you can use Incredible Pi’s Message Blaster to send SMS messages to a group of individuals, e.g. a Little League team. In order to use SMS messaging, you must have at least one Google Voice account configured on your server. Then it’s a simple matter of inserting your Google Voice account name and password in two files. First, edit extensions_custom.conf in /etc/asterisk. On the second line of the 767 extension, replace acctname with your Google Voice account name (without @gmail.com). On the third line, replace acctpass with your Google Voice password for this account. Reload your dialplan to activate the new settings:

asterisk -rx "dialplan reload"

For the message blasting service, change to the /root directory. Insert the numbers to be dialed in the smslist.txt file following the example in the file. Enter the SMS message to be sent in smsmsg.txt keeping in mind that many phone providers limit SMS messages to 140 characters or less. Finally, insert your Google Voice account name (with @gmail.com) and password in smsblast. To kick off an SMS message blast, just issue the command: ./smsblast.

Configuring SAMBA for Windows Networking Support

Beginning with Incredible Pi 1.4, SAMBA is included in the distribution for transparent access using the Windows Networking Protocol from PCs, Macs, and other Linux machines. As delivered, SAMBA is deactivated. For obvious reasons, we recommend you never activate root login access to SAMBA. If you wish to enable SAMBA on your server, here are the steps while logged in as root:

  • 1. Set SAMBA password for user pi: smbpasswd -a pi
  • 2. Change Windows workgroup from WORKGROUP, if needed: nano -w /etc/samba/smb.conf
  • 3. Manually start SAMBA from command prompt: service samba start
  • 4. Set SAMBA to start on boot: rcconf and activate SAMBA option with space bar
  • 5. reboot

A Word of Warning: We’ve apparently reached the end of Memory Lane with SAMBA. Only activate it permanently (#4) after thoroughly testing it (#3) in your environment. We have found TTS IVRs in particular to be less than stable with SAMBA running.

Troubleshooting Audio Problems with Phone Calls

For most good routers/firewalls, there should be no problems connecting calls with Google Voice or SIP calls inbound or outbound. If you place a call and the audio is missing in one or both directions or your end of the call continues to ring even after the other person has answered, these are telltale signs of NAT and RTP connection issues. The quick fix is to plug in your public IP address and private LAN information under Settings -> Asterisk SIP Settings -> NAT Settings in FreePBX. If you continue to have connectivity issues, post the symptoms of your problem on the PIAF Forum and one of our helpful gurus will offer additional suggestions. Be sure to include the make and model of your router/firewall.

Using AsteriDex

Incredible Pi includes a robust phonebook application that uses MySQL for storage. You can access it with a browser by pointing to the following link using the IP address of your own server: http://192.168.0.185/asteridex4. Some entries for your favorite airlines are included to get you started. You can add, change, and delete entries under the Admin panel.

By dialing 411 from any phone on your system, you can speak the name of any entry in your AsteriDex database, and Incredible Pi will look up the name and dial the number. Try American Airlines just for fun.

Managing CallerID Superfecta

What began with our first release of CallerID Trifecta many years ago now has grown into one of the best examples of collaborative computing in the open source community. Maintained by the PBX Open Source Software Alliance, CallerID Superfecta now performs a number of functions in addition to matching names against phone numbers. Today you can display incoming call alerts and pop-ups on all sorts of devices in your home or office including XBMC, SqueezeBox, Winunciator, and many more. You can tailor CallerID Superfecta to meet your own local needs by opening the Default Superfecta tab under Other -> CallerID Superfecta in FreePBX. As with all database lookups, they take time. So keep in mind that you are trying to find the best match for inbound calls that takes the least time to retrieve corresponding CNAM information for the caller. To facilitate your search for the perfect combination, CallerID Superfecta includes a testing facility which will report the time required for each lookup. Then you can sort your lookup sources accordingly. To follow the latest developments, visit this thread on the PIAF Forums.

Adding Wireless Network Support

Particularly with a device the size of the Raspberry Pi, you may find it more convenient to place the unit on a bookshelf where a wired network connection is not feasible. This setup already is included in Incredible Pi 1.1 and later. For those using the 1.0 release, here’s how to use your Raspberry Pi wirelessly. First, order a TP-Link TL-WN722N USB 802.11n WiFi Adapter from Amazon for under $20. You won’t need a USB extender cable. This device can easily be plugged into one of the two USB slots without jeopardizing your ability to also connect a USB keyboard. Be sure your 5V power adapter is rated at 1.2 amps or greater to avoid lockups!2

We recommend the 1.3 Incredible Pi release or later if you plan to go the wireless route. All of the wireless networking components already are in place. Log into Incredible Pi as root (or su root for purists) and edit /etc/wpa.conf. Insert the SSID name and password for your wireless access point. Then reboot your server and wireless networking "just works."

Beginning with the 1.3 release, support has been added for the ultra-tiny AirLink 101 Wireless N adapter (AWLL5088). The setup process is identical to the 1.1 setup above. Just edit /etc/wpa.conf and insert the SSID name and password for your wireless access point. We strongly recommend disabling network connections that you aren’t using, e.g. eth0 and wlan0 if you go the AirLink 101 route. Just edit /etc/network/interfaces and comment out the eth0 line as well as the block of commands pertaining to wlan0. Then reboot, a process that now will be much quicker. If you plug in earbuds when you reboot, Incredible Pi 1.3 or later will read you the DHCP-assigned IP address when the boot process finishes so you no longer need a monitor. SSH can be used to connect to your server from any desktop PC or Mac.

Adding a PPTP VPN Client to Incredible Pi

If you’ve followed the Nerd Vittles tutorial and previously set up a PPTP VPN Server for your devices, then it’s pretty simple to add Incredible Pi to the mix by activating a PPTP VPN client. It’s only a few steps. You’ll need the FQDN or public IP address of your VPN server as well as a username and password for VPN access to your VPN server. Once you have those in hand, log into Incredible Pi as root.

Lest we forget to mention, you cannot log into your PPTP server from an IP address on the same private LAN so you’ll need to take your Incredible Pi device to a neighbor’s house to test this.

If you’re using Incredible Pi 1.5 or later, all of the PPTP VPN client software already is in place. Edit the connection template: nano -w /etc/ppp/peers/my-pptp-server. Insert the following text and replace myfqdn.org with the FQDN of your PPTP server, replace myname with your PPTP username, and replace mypassword with your PPTP password. Then save the file: Ctrl-X, Y, then Enter.

Now activate the PPTP VPN client. On your Incredible Pi server, run rcconf. If you’re using a release prior to 1.4, you’ll need to install rcconf first with the command: apt-get install rcconf. Scroll to the bottom of the list until you’ve highlighted pptp. Press the space bar to select it for automatic startup when you boot your server. Then tab to OK and press Enter.

To test it, issue the following command: /etc/init.d/pptp start. When you run ifconfig, you should now see a ppp0 entry:

ppp0 Link encap:Point-to-Point Protocol
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Remember, it won’t show an IP address if the Raspberry Pi and your PPTP VPN Server are on the same subnet (like ours). Once you install your Raspberry Pi in a remote location, you now can access it at the first IP address in your reserved PPTP IP address pool.

Power Adapters: The Hidden Gotcha

We’ve learned a lot about power adapters since acquiring the Raspberry Pi. First, not all adapters are created equal. Second, the type adapter you require depends upon what you’ve plugged into those USB ports. If one of the residents is a WiFi adapter, then the power draw of the WiFi adapter can add an additional wrinkle.

Here’s what we’ve found. If you decide to use the TP-Link TL-WN722N adapter, you’ll need a power adapter rated for at least 5V, 1.2 amps. These are few and far between and many adapters rated at even higher amperages (and not U/L approved) still won’t keep your RasPi from crashing regularly. We have had good results with $9.99 RND Power Solutions 2.1A Dual USB AC Adapter so long as you use the USB port closest to the red light and leave the second USB unoccupied.

If you use the AirLink 101 WiFi adapter or no WiFi adapter, then a less expensive 5V, 1A adapter may suffice. They’re typically about half the price, but some users have reported issues. For testing results and details, see this thread.

We’ve tested these adapters, and they both work. We can also count on both hands the number of adapters we tested that fail to keep the Raspberry Pi functioning. If you have a 1.2+ amp adapter from a reputable tablet computer, that will probably work as well. These replacement adapters tend to cost $25 or more. So the choice is yours. If your Raspberry Pi experiences frequent lockups, then an underperforming power adapter is the likely culprit, not the Raspberry Pi itself.

VoIP Redundancy: Use It to Your Advantage

As much as we love Google Voice, things do go wrong from time to time. The real beauty of VoIP telephony is there’s absolutely no reason to put all of your eggs in one basket. Multiple providers don’t cost you much particularly if you don’t use them regularly. And, when things go wrong, you won’t have to scramble to continue making phone calls. Vitelity has been a generous, long-term supporter of Nerd Vittles and our projects. You’ll find a compelling offer below, and we encourage you to consider them. Here’s the Incredible PBX Top 20 Trunk List with some reasons why these providers made our short list:

  • AxVoice ($14.99/mo. Business Plan; $16.58/mo. Unlimited Calls to 45 Countries)
  • CallCentric (Good International Calling Rates; Free iNum DID)
  • DIDforSale (20 channels per DID; unlimited DID calls for $8.99/mo.)
  • ENUM
  • FlowRoute (Good International Calling Rates)
  • FreeNum
  • Future-Nine (Supports CallerID Spoofing)
  • Google Voice (Free DIDs and free U.S./Canada calling)
  • IPkall (Free SIP/IAX DIDs)
  • Les.net (Supports CallerID Spoofing; very low rates)
  • LocalPhone (Dirt-cheap DIDs and calling rates worldwide; Free iNum DID)
  • Simon Telephonics (Free SIP-to-GoogleVoice Gateway)
  • SIPgate (Free residential DIDs sometimes)
  • Skype (Free Skype-to-Skype calls worldwide)
  • Teliax (Unlimited inbound DID $5/mo.)
  • Vitelity (Our supporter and the Best in the Business!)
  • VoIPms (CallerID spoofing; Free iNum calling; Very low rates)
  • VoIPMyWay (Residential Unlimited: $15.50/mo. Business Unlimited: $40/mo.)
  • VoIPStreet (Free DID)

Making Backups of Incredible Pi

Last, but not least, you’ll need to make periodic backups of your Incredible Pi system unless you don’t mind starting over when disaster strikes. It’s easy using almost any Linux server, and it’s especially easy with a PBX in a Flash server.

To begin, shutdown your Incredible Pi server gracefully: sudo shutdown -h now. Once the display shows that the system has halted, unplug it and remove the SDHC card. Then insert the SDHC card into the slot or reader on your PIAF system and reboot the server. Log into your server as root and issue the fdisk -l command to decipher the devname of your SDHC disk, e.g. /dev/sdb. To make a backup of your SDHC card, issue the following commands using today’s date and the proper devname for your SDHC drive:

dd if=/dev/sdb of=/root/incrediblepi-08-20-2012.img
sync
gzip /root/incrediblepi-08-20-2012.img

When the process is finished, you’ll have a compressed image roughly one-third the size of your SDHC card.

Firmware and Kernel Updates

Only after making a backup, you may find it helpful to upgrade your Raspberry Pi firmware and kernel from time to time. Releases of Incredible Pi below 1.4 do not have the firmware updating tool in place. So you’ll first have to install it. Log into your server as root and issue these commands:

wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
chmod +x /usr/bin/rpi-update

You can decipher the kernel currently running on your Raspberry Pi by issuing the command: uname -a

To determine GPU’s firmware version, issue the command: /opt/vc/bin/vcgencmd version

Once the updater has been installed (and after you’ve made a backup!), you can update your Raspberry Pi’s kernel and firmware to the latest and greatest by issuing the following commands while logged in as root. The latest kernel addresses some issues with the USB ports and is worth installing: raspberrypi 3.2.27+ #66 PREEMPT Fri Aug 24 with GPU firmware version 332937.
rpi-update
reboot


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, August 20, 2012

Continue Reading… Incredible PBX for Raspberry Pi Turns 21


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! In fact, there is a thread dedicated to support of Incredible Pi. Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won’t have to wait long for an answer to your question.

Bug Fixes. A few bugs are to be expected. If you’re using Incredible Pi, please review these on the PIAF Forum. A serious problem with IPtables has now been fixed in Incredible Pi 1.5. A patch for previous versions is on the forum.


Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

  1. DISCLOSURE: Most Amazon referral links include a Nerd Vittles referral code so that Amazon can send us a boatload of money each month. It costs you nothing while keeping the Nerd Vittles lights burning brightly. We never recommend Amazon unless their prices or products are the best we could find at the time of publication. []
  2. The TP-Link adapter is no longer recommended due to it substantial USB power requirements. We recommend the AirLink 101 which can coexist with a 5V, 1A power supply. You must use Incredible Pi 1.3 or later. []

The Asterisk Mother Lode: Introducing Incredible PBX 4.0 with FreePBX 2.10

We thought we’d start your summer off with a bang by introducing an all-new Incredible PBX™. So what’s new? 50 Asterisk® Apps. 9-Layer Security. 20 Preconfigured VoIP Provider Trunks. 1-Click Installers for Asterisk.everything. FreePBX® 2.10. Certified Asterisk support. And what’s the same? It’s all still FREE!

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

Coming February 11: Incredible PBX 10 & Incredible Fax for 64-bit Asterisk 1.8 and FreePBX 2.10

We heard you. Yes, we needed Incredible PBX™ support for FreePBX 2.10 with Asterisk 1.8. And today it’s finally here. Incredible PBX 4.0 brings all of the original Asterisk applications plus more than a dozen new turnkey applications released in 2012 and an all-new level of security to protect your phone bill. The installation process is so simple a monkey could do it. You still can add Incredible Fax 2.0™ to deliver free faxing with HylaFax™ and AvantFax® in a setup process that’s as simple as pressing the Enter key. When you’re finished, you’ll have one of the open source wonders of the world with free phone calls and faxing throughout the U.S. and Canada together with almost every Asterisk application ever developed. There’s more good news. You don’t have to be smarter than a fifth grader to get any of it installed and working reliably with Asterisk. Just run the simple install script, and presto.

July Update: Incredible in the Cloud. For those that would prefer to run Incredible PBX 4.0 in the Cloud, RentPBX now is offering a pre-built image with PIAF-Brown and FreePBX 2.10 that is ready to go using servers all around the world. On your first order, Incredible in the Cloud is just $15/month using coupon code PIAF2012. Sign up at this link.

August 15 Update: Incredible Pi. We needed a back-to-school project, and this year we’ve chosen to port most of the Incredible PBX feature set to the new $35 Raspberry Pi. Thanks to the pioneering work of Gernot, this was fairly straight-forward. We’re still aiming for an early September release but, if you’d like to get a head start, you can order your device and follow our progress on the PIAF Forum.

If you’re curious why we no longer are supporting Asterisk 10, read all about it in last week’s Nerd Vittles article. Suffice it to say, if Digium is unwilling to fully support the platform, then we think it is a dead-end product. Unfortunately, this further splinters Asterisk development. In addition to long-term support (LTS) releases, "certified" (SLA) releases, and "other" releases, we now have a new category for Digium-supported modules and "community modules." To us, this signals the death knell for modules which Digium is no longer willing to actively support. Consequently, we will no longer recommend Asterisk 10 for production use. And we continue to be nervous about what the future holds for Google Voice support in Asterisk 1.8 and Asterisk 11 as well. The good news is, if you read last week’s article, you already know we have a rock-solid alternative waiting in the wings. YATE rocks! And FreeSentral is no slouch either.

The Incredible PBX 4 Inventory. For those that have never heard of The Incredible PBX, here’s the current 4.0 feature set in addition to the base install of PBX in a Flash with the CentOS 6.2, Asterisk 1.8 or Certified Asterisk 1.8, FreePBX 2.10, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Cepstral TTS, Incredible Fax, Skype, NeoRouter and PPTP VPNs, and all sorts of backup solutions are still just one command away and may be installed using the scripts included with Incredible PBX 4 and PBX in a Flash. Type help-pbx and browse /root and /root/nv for dozens of one-click install scripts.

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

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

A Few Words About Security. Thanks to its Zero Internet Footprint™ design, Incredible PBX 4 is different. It remains the most secure Asterisk-based PBX around. What this means is The Incredible PBX™ has been engineered to sit safely behind a NAT-based, hardware firewall with no Internet port exposure to your actual server. For those needing remote telephone support, Incredible PBX loads Travelin’ Man 2 and 3 for you so your IPtables Linux Firewall can be either self-managed by end-users or set up with predefined IP addresses and FQDNs for all of your remote sites. If you’ve read about Asterisk’s latest SIP vulnerability published just last week and occurring almost as often as you tie your shoes, then you’ll understand 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 everyone else, your server doesn’t even exist. Their only way to connect to you is with a POTS telephone and your published phone number.

For those with multiple servers to interconnect, we’ve provided one-click installers for not one but two VPN solutions: NeoRouter and PPTP. Suffice it to say, Incredible PBX has Security in Spades™: customized IPtables Linux Firewall, Fail2Ban tweaked for Asterisk security monitoring, FreePBX Extension Lockdown by IP address, randomized FreePBX extension passwords, Travelin’ Man 2 and 3 WhiteList Security, multiple VPN solutions for encrypted server-to-server communications, plus a bottom-up design focused on flawless operation behind a hardware-based firewall. You won’t find a more secure Personal Branch Exchange™ at any price.

Here’s the Incredible PBX 9-Layer Security Model:

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

We’ve shifted gears on our recommended Atom platform for PIAF2 after excellent results with both the single-core and dual-core Atom kits manufactured by Foxconn (pictured on the left below). That’s the dLink Gaming Router on the right. Seems kinda silly to spend twice as much for a machine that you can build yourself in under 5 minutes. Basically you remove four screws, insert a Phillips screwdriver in one of the holes and gently pry the cover away from the box. Then you pop off the back by inserting a small flat-blade screwdriver, remove four more screws, slide in a solid-state drive (SSD) and a 4GB stick of notebook computer RAM, and you’re done in a couple minutes. Replace the screws and the cover, and you have a perfect PIAF2 platform with terrific performance and no moving parts for about $200. The link above will take you to the PIAF Forum thread for these machines. They go on sale almost weekly. See the right column of Nerd Vittles (just below our tweets) for this week’s special at Amazon. The dual-core Atom box typically is under $150. It could easily handle an office with 50+ employees sitting on a bookshelf with an Internet connection (wired or wireless!). No noise. Very little heat. Low power requirements. Perfect!

Installing Incredible PBX 4.0. The installation process is simple. Here are the 3 Easy Steps to Free Calling, and The Incredible PBX will be ready to receive and make free U.S./Canada calls immediately:

1. Install PIAF-Purple or PIAF-Brown with FreePBX 2.10 using 32-bit PIAF2 ISO
2. Run Incredible PBX 4 installer
3. Configure Google Voice and a softphone or SIP phone

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

You can download the 32-bit PIAF2 from SourceForge. Burn the ISO to a CD. Then boot from the installation CD and press the Enter key to begin. If you’ve chosen a machine without an optical drive such as the Atom boxes we recommend, then this Nerd Vittles article will show you how to make a bootable flash drive from the PIAF2 ISO.

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

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

echo "/etc/init.d/iptables restart" >> /etc/rc.d/rc.local

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

Configuring Google Voice. If you plan to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX 4. If you want to use the inbound fax capabilities of Incredible Fax 2, then you’ll need an additional Google Voice line that can be routed to the FAX miscellaneous destination using FreePBX. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We’ve tested this extensively using an existing Gmail account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX 4. It’s free at least through 2013. 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 setup tips.

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 ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

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

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

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

UPDATE: There are some new releases. Incredible PBX 10 supports 64-bit PIAF-Purple with Asterisk 1.8 and FreePBX 2.10. There also are prebuilt appliances for Amazon EC2 and VirtualBox. Incredible PBX 11 supports 32-bit PIAF-Green with Asterisk 11 and FreePBX 2.11. There also are prebuilt appliances for VirtualBox and VMware. Both Incredible PBX 10 and Incredible PBX 11 support Incredible Fax as well.

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

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

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

FINAL STEPS. Once the Incredible PBX install completes, there are two optional steps for those that will have remote phones or users outside your firewall. Install both Travelin’ Man 2 and 3 for an ultra-secure system. Also be sure to run update-fixes before restarting your machine!

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

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

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

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

IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart. You’ll note that Incredible PBX 4 now automatically enables the Asterisk Gtalk and Jabber modules for you once you create a Google Voice account.

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

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

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

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

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

+—–+——-+
id         data
+—–+——-+
701      18016
+—–+——-+

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

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

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



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

Solving One-Way Audio Problems. If you experience one-way audio on some of your phone calls, you may need to adjust your Asterisk SIP settings. These now can be tweaked within FreePBX by choosing Settings, Asterisk SIP Settings. Just plug in your public IP address and replace 192.168.0.0 with the subnet address of your private network. Save settings and reload FreePBX.

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

Incredible PBX includes preconfigured trunk setups for all of your favorite trunk providers. Just plug in your credentials and activate the trunks you need. In less than a minute, you’re done. Here’s the Incredible PBX Top 20 Trunk List with some reasons why these providers made our short list:

  • AxVoice ($14.99/mo. Business Plan; $16.58/mo. Unlimited Calls to 45 Countries)
  • CallCentric (Good International Calling Rates)
  • DIDforSale (20 channels per DID; unlimited DID calls for $8.99/mo.)
  • ENUM
  • FlowRoute (Good International Calling Rates)
  • FreeNum
  • Future-Nine (Supports CallerID Spoofing)
  • Google Voice (Free DIDs and free U.S./Canada calling)
  • IPkall (Free SIP/IAX DIDs)
  • Les.net (Supports CallerID Spoofing; very low rates)
  • LocalPhone (Dirt-cheap DIDs and calling rates worldwide; Free iNum DID)
  • Simon Telephonics (Free SIP-to-GoogleVoice Gateway)
  • SIPgate (Free residential DIDs sometimes)
  • Skype (Free Skype-to-Skype calls worldwide)
  • Teliax (Unlimited inbound DID $5/mo.)
  • Vitelity (Our supporter and the Best in the Business!)
  • VoIPms (CallerID spoofing; Free iNum calling; Very low rates)
  • VoIPMyWay (Residential Unlimited: $15.50/mo. Business Unlimited: $40/mo.)
  • VoIPStreet (Free DID)

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

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

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

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

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

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

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

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


Special Thanks. It’s hard to know where to start in expressing our gratitude for all of the participants that made today’s incredibly simple-to-use product possible. To Philippe Sultan and the rest of the Asterisk development team, thank you for making Jabber jabber with Asterisk. Wish you were still involved! To Leif Madsen, thanks for your pioneering work with Gtalk and Jabber which got this ball rolling. To Philippe Lindheimer, Tony Lewis, and the rest of the FreePBX development team, thanks for FreePBX 2.10 which really makes Asterisk shine. To Lefteris Zafiris, thank you for making Flite and all of the Google TTS and STT utilities work with Asterisk 1.8 thereby preserving all of the Nerd Vittles text-to-speech applications while allowing us to add dozens of new ones. To Darren Sessions, thanks for whipping app_swift into shape and restoring Cepstral and commercial TTS applications to the land of the living. The new all-in-one installer is awesome. To all of our pals in the PBX Open Source Software Alliance (POSSA) that develop and maintain some our favorite Asterisk apps, you’re unbelievable! To Andrew Nagy, thanks for all you do and especially for keeping Google Voice humming along in FreePBX. And to our pal, Tom King, we couldn’t have done it without you. You rolled up your sleeves and really made CentOS 6.2 and Asterisk 1.8 sit up and bark. No one will quite understand what an endeavor that is until they try it themselves. CentOS 6 implementations of Asterisk are few and far between, and Tom has made it look incredibly easy. It wasn’t! And, last but not least, to all of our pioneers and beta testers who spent their Independence Day and many other days testing this new release, THANK YOU!

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

Originally published: Monday, July 9, 2012


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


Weather Alert. If you’re already using the Nerd Vittles Weather Applications including Weather by ZIP Code and Weather by Airport Code, you may have noticed that the National Weather Service "improved" things over the Fourth of July holiday. Consequently, neither app worked any longer. The fixes now have been posted on the PIAF Forum and can be downloaded at your convenience. Incredible PBX 4.0 already includes the updates.


Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

SMS Dictator 2.0: Send SMS Messages Using Your Phonebook with Google Voice

Here’s an update of a terrific Google™ speech-to-text application for your Asterisk® goody bag. SMS Dictator 2.0 lets you pick up any phone on your Asterisk system, dictate a brief message, have it transcribed by Google, and then delivered as an SMS text message by entering either a 10-digit number of your choosing or by saying any name in your AsteriDex phonebook. The installation process on PBX in a Flash™ systems takes only a minute. And you’ll find Asterisk SMS Messaging to be a welcome addition to your VoIP Swiss Army Knife.

Prerequisites. For the installer to work seamlessly, you’ll need a PBX in a Flash 2 server with the PERL gvoice CLI tool. You can test whether this is working by logging into your server as root and issuing the command: gvoice. When prompted for your Google Voice account name, enter it and include @gmail.com. Then enter your password. If you get a gvoice prompt, all is well. Type quit to exit. If you get errors or the gvoice app doesn’t exist, click on the pygooglevoice link in this paragraph to get things squared away.

You’ll also need a Google Voice™ account that can be used to send the SMS messages. Today’s SMS installer will prompt you for your Google Voice account name in the format: myname@gmail.com. Then you’ll be prompted for your Google Voice password. Once you’ve entered your credentials, the rest is automagic. With a little manual tweaking of the installation script, you can get this working on any Asterisk-based server running under Linux.

As configured, SMS Dictator™ uses extension 767 (S-M-S) to generate SMS messages. If this conflicts with an extension on your server, you can edit the extensions_custom.conf dialplan in /etc/asterisk.

Legal Disclaimer. What we’re demonstrating today is how to use a publicly accessible web resource to respond to dictation requests generated by a phone connected to your Asterisk server. We’re assuming that Google has its legal bases covered and has a right to provide the public service they are offering. We are not vouching for Google or the services being offered in any way. By using our tutorial, YOU AGREE TO ASSUME ALL RISKS, LEGAL AND OTHERWISE, ASSOCIATED WITH USE OF THIS FREELY ACCESSIBLE WEB TOOL. NO WARRANTY EXPRESS OR IMPLIED IS BEING PROVIDED BY US INCLUDING ANY IMPLIED WARRANTY OF FITNESS FOR USE OR MERCHANTABILITY. You, of course, have an absolute right not to read our articles or implement our code if you have reservations of any kind or are unwilling to assume all risks associated with such use. Sorry for legalese, but it’s the time in which we live I’m afraid. Plain English: "Don’t Shoot the Messenger!"

Removing Previous SMS Dictator Code. If you installed our earlier version of SMS Dictator, then you have a little housekeeping to do before we begin. Log into your server as root and change to the /etc/asterisk directory. Then edit extensions_custom.conf. Search through the file until you find the lines beginning with exten => 767. Delete all of those lines. If you’re using nano, Ctrl-K will delete a line at a time. Once you’ve deleted all the 767 lines, save the file: Ctrl-X, Y, and press Enter. Now continue on…

Installation. To install SMS Dictator, log into your PBX in a Flash server as root and issue the following commands:

cd /root
wget http://nerdvittles.com/sms-dictator.tgz
tar zxvf sms-dictator.tgz
./sms-dictator.sh

Accept the license agreement and fill in your Google Voice credentials when prompted. In under a minute, you’ll be ready to test things out.

Taking SMS Dictator for a Spin. Now you’re ready to try it. Pick up any phone connected to your Asterisk server. Dial S-M-S (767). When prompted, dictate a brief message and press #. If the transcription played back is correct, press 1. Or hang up and try again. Now press 1 to enter a 10-digit phone number for the SMS recipient or press 2 to speak the name of someone in your AsteriDex database. When prompted, enter the 10-digit number or say the name of the SMS recipient. If the response read back to you is correct, press 1 to send the SMS message. It’s as simple as that.

AsteriDex Integration. If you’re using AsteriDex for your contacts, then it’s pretty simple to look up SMS contact numbers from there instead of having to remember them and manually key them in. The only trick is that you may need to adjust the names slightly if Google has difficulty understanding what you’re saying. For example, Google does not like Ward but is perfectly happy with Uncle Wardy. So are we. Here’s a hint. Multi-syllable words fare better than 3 and 4 letter words.

SMS Message Blasting. The SMS messaging possibilities, of course, are endless. A lively discussion is was underway on the PIAF Forum until The Great Trainwreck of 2013. This could include notifications to Little League teams about schedule changes, or alerts from a school about emergencies, or community alerts about tornados. You can probably think up a dozen more on your own. We’ve now released the first preview of a message blasting utility which you are welcome to download here. Enjoy!

3/2/2017 Update: A patched version of pygooglevoice to support SMS messaging is now available here.

Originally published: Monday, August 13, 2012



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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…