Using Google Voice

In June, Google opened Google Voice to the public–invitations no longer required. Great news for anyone who wants “a single number that rings you anywhere” and even better for VoIP enthusiasts who want multiple numbers that all terminate in the same place and free domestic calling.

Google Voice has a bunch of great features, including voicemail transcription, a good web interface and filters. These are all useful on their own, but let’s jump ahead and talk about what you can do with Google Voice and Asterisk.

First, some notes:

  • One Google Voice number is available per Google account, and you can create multiple Google accounts. I don’t know of any limit on this.
  • Only two Google Voice numbers may point at the same target number. For example, if you have a POTS land line, only two GV numbers may be configured to point at it. This includes numbers configured in the GV account whether they are used by any call groups/filters.
  • Google Voice no longer presents all calls with the “Press 1 to accept…” prompt, as it once did. (You can turn on screening to get this back.) This is good because in the past, you would have had to write a custom context to send DTMF to GV to accept an incoming call.
  • Google Voice no longer blocks DTMF. Incoming calls can send DTMF and it will be passed through to your IVR. GV does, however, block early media.

Uses

Front-end your free DID with something local and better – Google Voice has a very large pool of numbers available, so large that not only will you be able to find one in your local calling area, you’ll probably be able to choose from dozens of them and get a number that you like. Once you do, get your free DID from Sipgate or IPKall, set up the incoming trunk to your system, and point the GV number to your free DID. Now you have not only a free DID but one with a number you might actually use.

Make yourself local to your remote family – Got remote family who still use a land line with costly long distance plan? If you don’t want them to call you, move to the next tip. Otherwise, set up a Google Voice number local to them and point it to your “main” or common DID, the one on which you normally receive calls. Then give them the number and forget about it forever, because it will just work.

Set up an IVR or voicemail pilot – So now that GV allows DTMF to pass through, you could set up a GV number through a free VoIP DID to a new inbound route on your Asterisk system, such as a direct voicemail pilot or a backdoor to other functions (called a DISA in Asterisk).

Make free domestic calls – Here’s where direct SIP connectivity to Google Voice would be really nice, but alas, it’s not here yet. You have a few options, though:

Scripted within the dialplan – You can add some scripting to your Asterisk dialplan to take the number dialed, send it to Google Voice via the web dialer, initiate the call and connect it back to the caller. This NerdVittles article and the accompanying comments explain a popular method for doing so.

The web dialer – Initiate your calls through Google Voice’s web interface and pick up the phone when it rings.

The telephone interface – From a trunk that has unlimited local calling, call your local GV number, press 2 and dial your destination.

The telephone interface, automated – Add an extension definition like the one listed below to automatically dial your local Google Voice number on an unlimited local trunk, send the necessary DTMF and connect the call. Since I’m using FreePBX, the outbound-allroutes context is where outbound calls are handled and this extension definition would be added to [from-internal-custom] in the extensions_custom.conf file. To use it, dial 0048 (0-0-G-V) followed by the number you want to reach. Note: if you have GV set to require a PIN, you’ll have to add the PIN to the sequence of waits and DTMF below (in the D() option).

exten => _0048.,1,Dial(Local/YOUR-GV-NUMBER@outbound-allroutes,,rD(www2w${EXTEN:4}#))

More – Google Voice also has SMS features and voicemail transcription that could be integrated. How have you used Google Voice with Asterisk to add functionality to your home or small-business VoIP system?