I use a Google Voice number for business and one thing I really miss is having a physical phone that literally rings. It sucks to miss important business calls because I left my phone in the car or on mute or otherwise can’t be trusted to keep track of the damned thing. My Voice number rings through to my cell, and I can pick it up via Google Hangouts if I happen to be sitting at my computer, but what I really wanted was an honest to god phone. And so I got one!
The phone I got is a vintage-style brand new boring old analog telephone. It will work with any landline, and if I had one of those I could just forward my Google Voice number there and call (ha!) it a day. But I don’t have a landline. So I set up my own little pbx phone system to connect the phone to the internet.
The basic process is to get an adapter to connect our phone to our home network and then set up some software to connect that network to Google Voice.
Installing the Analog Telephone Adapter
The analog telephone adapter (ATA) connects your dumb old phone to your network. I bought a Grandstream Handytone 701 off Amazon. The software isn’t quite as nice as the Linksys/Cisco that’s popular, but it was cheap and you really only have to deal with the software when you’re setting it up.
The ATA needs to be connected to both your phone (via a normal phone cord) and the internet (via an ethernet cable to your router). My house is wired for ethernet but you can also use a powerline ethernet adapter to bring your home network from wherever you keep your router to wherever you want your phone.
Once you hook it all up and lift the receiver you’ll get a dialtone! Magic! And then if you dial a number… nothing will happen! Great! The software in the ATA needs to be configured to use your Google Voice SIP trunk.
Getting Google Voice Set Up as an SIP Trunk
There are a bunch of different ways to get Google Voice to interface with a phone system, but by far the easiest option is to just pay Simonics $5 (one time). The benefit of using them is that it’s easy and cheap. The downside is if they ever go out of business or stop providing the service I will be out $5. After spending multiple hours trying to get Google Voice to authenticate on a traditional Asterisk server it’s a risk I’m willing to take. SIP is a voice over internet (VoIP) protocol.
If you are dead set on not spending $5, check the PBX In A Flash community forums for the latest on setting up Google Voice as a SIP Trunk.
Once that’s set up you can test it using any software SIP phone. I use X-Lite on my PC.
Configuring the Grandstream Handytone ATA for Google Voice via Simonics
The next step is to find the IP address of the ATA. You do this by picking up the phone, pressing * * * and then pressing 0 2. A robot will read off the IP address to you. It’s sort of surreal honestly. After you pop that IP address into a web browser you’ll get a login page like this:
The default password is ‘admin’
Once you log in you can see we have a pretty ugly GUI. But we didn’t buy this thing for its incredible interface design. Once you’re logged in click the tab that says FXS port. In another browser window log in to Simonics and fill out the ATA settings with the following info:
Primary SIP Server: [Server (something like gvgw.simonics.com)]
SIP User ID: [SIP Login/prefix]
Authenticate ID: [SIP Login/prefix]
Authenticate Password: [SIP Password]
You can leave everything else blank. Make sure that your Google Voice Account status at Simonics says “Online” and you should be good to go. Hit “Apply” at the bottom of the page.
If all went well you should see “Registered” in the registration column for the FXS port.
Making it more fancy
If you like messing around with stuff you can set up an Asterisk server on a RaspberryPi and do all sorts of fun things like have it automatically go straight to voicemail at night, use different ring patterns for different numbers, set up an infuriating phone tree for people to argue with… the list goes on. For me though just having the stupid thing ring is all I really need.
Filed under: Hacking