Google Voice. Skype. VoIP-to-PSTN providers. SIP-to-SIP calls. All of these technologies and products allow you to make calls that are either free or much cheaper than on your landline. Wouldn’t it be great if you could escape the clutches of your Telco and connect your home phone to these services? A phone server like Asterisk can help you realize this dream.
Short for Private Branch Exchange, PBX is a telephone exchange that is often used by businesses or offices. If you work a 9-to-5, chances are that your phone system is PBX-based. The short definition is that it’s essentially a network of phones connected to a main public switched telephone network (PSTN) that functions in a similar manner to a data network. In fact, in many instances today, the voice network is actually a VoIP-based network operating over data lines.
Don’t be intimidated; connecting Google Voice to your own home telephone line using Incredible PBX just takes a few configurations on this screen.
There’s a cheap and fairly simple way that you can ditch Ma or Pa Bell. The trick entails using an old PC to set up your own PBX in your home, and then connecting this PBX to Google Voice.
We’re going to show you how to set up your own home PBX server, how to connect it to Google Voice, and how to connect your landlines to the entire network.
Let’s get started.
The best way to run Asterisk is on a separate computer. Fortunately, Asterisk does not require much horsepower, which means that you can use any old computer you have lying around. Many people actually prefer to run it on their wireless router using OpenWRT, a custom Linux distribution devised for embedded devices.
The easiest option for installing Asterisk is to use a Linux distribution designed for it. There are many available but if you want to integrate Google Voice you should make sure your distribution supports Asterisk 1.8.*.
We’ll use PBX-in-a-Flash (PIAF) burned on a CD. Go to http://bit.ly/VG9n , where you can download PIAF and find instructions for installation. Please note that the installation will reformat all drives including USB, so make sure you back up all critical information. After the initial install, there is a reboot; make sure you get the PIAF CD out or you’ll end up reinstalling. When prompted, pick the PIAF Purple install to get version 1.8 of Asterisk. It is stable enough for home use. Finally, make sure your root password is secure because if it is not, your phone bill could suffer.
You may be surprised to discover there is no GUI. This is because a phone server needs to process audio in real time. GUIs require CPU and their own real-time processing for the mouse cursor, so Asterisk distributions avoid them, and instead rely on command line and web applications for configuration and monitoring.
We now have a base installation of Asterisk, and are ready to begin configuring it. We’re going to use Incredible PBX for Asterisk 1.8 to integrate Google Voice onto our custom PBX server.
The Incredible PBX package will give us an advanced configuration that supports Google Voice. Log in as root and you’ll see a status screen that shows that Asterisk is running. Record the IP address that is shown. You may want to consider switching to a static IP, but it’s not essential.
It’s worth noting that the Incredible PBX code base changes over time. See http://bit.ly/aBKJiF for the latest instructions. Currently, you need five pieces of information to make it work:
Enter the following commands into the command line at the bottom of the screen:
chmod +x incrediblepbx18.x
Answer the prompts and wait for the install to finish. While the script is running, open a browser on another machine and open UDP port 5222 in Windows and on your router. Point it to the Asterisk IP address. Google Voice uses this for incoming calls.
Once done, set your passwords by typing passwd-master into the command line. Use the same password you did in the previous script.
OK, you’ve successfully set up your PBX server and you’ve also connected it to Google Voice. Now we need to make sure that it works before we go any further. To do this, open up a web browser on another machine, go to:
http://[Asterisk IP Address]/
You should see the PIAF webpage. Monitoring and configuration can be done here. In the lower-left corner, click the Admin button. Click the FreePBX Administration button. This gives you access to the main tool for configuring Asterisk. In the left menu under the Basic section, click Extensions. Select 701 from the right menu. Scroll down until you see the Secret field. This is your SIP phone password for extension 701.
This PIAF setup screen will allow you to monitor, test, and customize your personal PBX.
You may also want to check the Asterisk console on the server. Press Ctrl + Alt + F9 to access it. All phone activity will display here. Type HELP to see all the commands available. Press Ctr + Alt + F1 to return to your login session.
The easiest way to test Asterisk is with a softphone—a program that behaves like a traditional telephone. We prefer X-Lite as a good option to work in Windows. You can download it at http://bit.ly/I0pol . Once you’ve installed it and gotten it running, go to the Account Settings screen.
Set User ID to 701, the domain to the IP address of the Asterisk server, and the password to the SIP phone password that was in the Secret field. When you press the OK button, the softphone should register itself and show its status as Available. Please note that Windows Firewall may require you to unblock X-Lite in order to make it work.
OK, let’s make a call. Make sure you have a headset connected or your speakers on. Dial 3366 and press Call. This runs the DEMO voice menu. If you hear Allison, the voice of Asterisk, then everything is working fine.
Now try phoning your home or cell phone number. The call should go out over Google Voice, the not-so-secret sauce that will save us hundreds of dollars per year thanks to Google making all calls to numbers in the United States and Canada free. (Thanks, Google.)
Finally, try using another phone to call the Google Voice number that was assigned. If all goes well, you should receive the call on your softphone.
Softphones are fine, but isn’t the point of this exercise to connect the handsets in your house to your new personal PBX? Yes it is, and although it sounds confusing, it’s actually a pretty straightforward process.
To hook up your existing phones to Asterisk, you can get an analog telephone adapter (ATA). These convert plain old telephone system (POTS) lines to work with a VoIP protocol like SIP or IAX2. An ATA can be a stand-alone device or built into a router. They have one or more ports that can connect to a phone extension or an incoming landline. Make sure you get one that is unlocked.
One of the best choices for an ATA is the Cisco Linksys SPA3102. It has both an FXO and an FXS port, as well as a router.
To connect a phone you need an FXS port on the ATA. To connect an incoming phone line, you need an FXO port on the ATA. One of the best choices for an ATA is the Cisco Linksys SPA3102. It has both an FXO and an FXS port as well as a router.
Connect the ATA either at a wall plug or at the point where your phone service comes into the house (called the demarcation point). Plug an RJ11 line from the incoming line or wall plug into the FXO port, a phone into the FXS port, and an Ethernet connection into the WAN port. The LAN port is only needed if you want to use the ATA as a router.
Pick up the connected phone and dial ****, listen to the prompt, and dial 110#. Listen to the IP address read out to you. Enter 7932# then 1# and 1 to allow web access from the WAN side. If you are connecting from the LAN side, the IP address is 192.168.0.1.
Enter the IP address of the ATA in a browser to get the web interface. Click Admin Login and then Advanced. Detailed setup instructions for configuring the SPA3102 with Asterisk are at http://bit.ly/9hUgu7 . There are a lot of steps but they are quite straightforward.
Another option is to replace your old handsets with SIP phones. These connect to your home network through Ethernet, or sometimes wirelessly. A good option for a SIP phone is the Cisco SPA941, or the SPA942 if you want to share the Ethernet port with a computer or use Power over Ethernet (PoE). Each allows up to four line appearances. Here’s how to set it up.
Go into the menu on your phone and scroll to and select Network. Record the
Current IP address. Go there in a web browser to configure the phone. Click Admin Login. Select the Ext 1 tab. Enter your Asterisk IP address in the Proxy field, your name in the Display field, your desired extension (701 to 715 are already set up in the PBX) in the User ID field, and the secret for that extension in the Password field. Submit the changes and your phone will reboot. Go back to the page and you should see “Ext 1 is Registered.” You can now make and receive calls on your phone. See http://bit.ly/glYBe for further refinements.
You are now officially up and running. The only thing left to do is call your Telco and tell it to take a hike.
While our how-to focuses on using Asterisk in its most basic manner, it barely scratches the surface. The truth is that Asterisk can do all kinds of amazing tricks:
Make Skype Calls
In the same way that we’re hooking up Asterisk to Google Voice, you can perform a similar connection to Skype. NerdVittles.com has an excellent tutorial at http://bit.ly/9ve4Uk .
Get a Cheap VoIP to PSTN Provider
Google Voice and SkypeOut already allow you full-fledged access to public switched telephone networks to make calls, but redundancy is cheap. Pay-as-you-go plans are particularly worthwhile as you can make a small payment into an account and forget about it until your usage is large enough that you have to top it off. You can find a massive list of providers at http://bit.ly/g8ogzc .
Order Extra Phone Numbers
Direct Inward Dial (DID) numbers are available cheap or even free at http://bit.ly/Hg4lf or http://bit.ly/qmPy0 . Is there someone you talk to regularly in a foreign country? Get a DID there and they can make cheap local calls to you.
Run Multiple Google Voice Accounts
Other members of your family can have their own unique phone numbers, and calls on the number can be directed to specific phones. http://bit.ly/eAuBMo
Get voicemail emailed as an attachment, or email a dictated message to someone. Customized music on hold. Voice menus. Video voicemail. Conference calls. Hotel-style wake-up calls. Text-to-speech. Customized caller ID. Numerous options await you on Asterisk.