We introduced NAF’s new GVSIP implementation of Google Voice for CentOS 6 and Incredible PBX® 13-13 last week, and today we again have something to celebrate for those in the United States that enjoy free calling. We’re pleased to introduce the GVSIP-NAF add-on for Incredible PBX for the Raspberry Pi 3. You can upgrade any current platform, or you can install a fresh image from here that already includes the GVSIP upgrade. The upgrade procedure takes about 45 minutes, and you’ll need at least an 8GB microSD card to get started. When we’re finished, you can add as many GVSIP trunks as you like. It takes about 10 seconds per trunk.

Let’s briefly walk through the upgrade process for those that aren’t starting from scratch. First, you’ll need a Google Voice OAuth 2 refresh token. If you already have an existing Incredible PBX for RasPi server with a Google Voice trunk, you’ve already been through the drill. Just dig up your refresh token again making sure that you shut down your existing platform before we begin. If you’re upgrading in place, then you’ll need to delete your existing Google Voice XMPP credentials in the FreePBX® GUI and then restart Asterisk.

If you don’t yet have a Google Voice account or a refresh token, see the tutorial below to obtain one. Next, we’ll download an installation script to handle the GVSIP upgrades from NAF. You can run this script as often as you like, and it will remember your Google Voice credentials without having to reenter them. The first time you run the installer, it will upgrade OpenSSL. Next, it upgrades Asterisk to version 13.22.0 after first applying NAF’s latest GVSIP patches. There are lots of them, but the install script will handle all of this for you. Finally, the script puts the dialplan pieces in place to activate your Google Voice trunk and set the inbound and outbound dialing rules. The first time you run the installer, you’ll be prompted for your GV credentials. Once a trunk is added, you use the GUI to create an Outbound Route for the calls. Inbound calls to your Google Voice number will be routed to the Demo IVR (3366). You can modify this setup as desired by following the customization instructions below once the install finishes.

If you already have a Google Voice refresh_token that you plan to use, then you’re ready to proceed with the GVSIP install. Otherwise, skip down to the Google Voice section of this tutorial to first obtain your credentials.

GVSIP Upgrade for Incredible PBX for RasPi

To upgrade an existing Incredible PBX server to support GVSIP, start by logging into your server as root using SSH or Putty. Remember, if you are currently using the Google Voice number either on your Raspberry Pi or another server, you must shut it down, uninstall it using the FreePBX GUI, and restart Asterisk before you begin the upgrade. If you have completed these steps, then simply issue the following commands to kick off the upgrade. Keep in mind that you will need your Google Voice refresh_token and your Google Voice phone number during the install procedure. We want to provide one final cautionary note. This is very new code. While it has been thoroughly tested, your particular platform might introduce new wrinkles we have not encountered. So make sure you have a good backup image of your server setup before proceeding. One final heads up. NAF isn’t the only one improving his code. We’ve made at least a dozen changes to the scripts below in just the last few days. So it’s a good idea to download the latest and greatest installer before proceeding with NAF’s GVSIP updates. NOTE: The GVSIP installer already is included if you’re installing a fresh copy of Incredible PBX for the Raspberry Pi. So skip the download.

cd /root
wget http://incrediblepbx.com/gvsip-naf-gui.tar.gz
tar zxvf gvsip-naf-gui.tar.gz
rm -f gvsip-naf-gui.tar.gz
cd gvsip-naf

When you finish the GVSIP upgrade process, your Legacy Google Voice profile in Settings will morph into something like this:

UPDATE: In troubleshooting a failed incoming calls issue, I tried a call from a different phone number. And, presto, the call went through. Apparently, making multiple calls of short duration from the same number gets you placed in Google’s spam bucket. By going into your Legacy Google Voice profile, you can turn Global Spam Filtering OFF in the Settings:Calls tab.

UPDATE JULY 20: A new installer for the Raspbian platform now is part of the generic installer and supports unlimited Google Voice trunks. After adding one or more trunks as detailed below, you must add an Outbound and Inbound Route in the GUI before calling will work. See this tutorial for details.

Placing Test Calls with GVSIP

Once the install finishes, you must reboot your server. Then load the Asterisk CLI so you can watch what happens when you place and receive calls using your Google Voice number. To place outbound calls, you’ll need to set up a softphone and connect it to the default extension (701) on your PBX. Your extension 701 password was configured when you first installed Incredible PBX 13-13. You’ll also need to at least set up an Outbound Route for every GVSIP trunk using the GUI. See this tutorial for details.

To call into your Google Voice trunk, simply dial the 10-digit Google Voice number from a smartphone or some other phone outside your PBX. By default, these calls will be routed to Allison’s Demo IVR. We recommend creating a separate Inbound Route for each of your GVSIP trunks. See this tutorial for details.

Configuring a Softphone for Incredible PBX

We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.

We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 701 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 701 password. In the web GUI, choose Applications _> Extensions -> 701 and write down your SIP Password if you can’t remember it. Fill in the blanks on the YateClient using the IP address of your Server, 701 for your Username, and whatever Password you assigned to the extension when you installed Incredible PBX. Click OK to save your entries.

Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place some test calls using the GV prefix.

If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store.

Obtaining Google Voice Credentials for GVSIP

You’ll need at least one dedicated Google Voice account to use the new GVSIP implementation with Asterisk. If you’re new to all of this, our Getting Started with Google Voice tutorial will walk you through setting up an account and obtaining your OAuth 2 refresh token for GVSIP.

Continue reading for the latest developments…

Originally published: Wednesday, July 4, 2018  Updated: Sunday, July 22, 2018

Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address 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 Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.

Need help with Asterisk? Join our new MeWe Support Site.


Special Thanks to Our Generous Sponsors

FULL DISCLOSURE: RentPBX, Amazon, Skyetel, Vitelity, DigitalOcean, Vultr, Digium, Sangoma, 3CX, TelecomsXchange and others have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. 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.

Skyetel $50 Free Trial: Enjoy state-of-the-art VoIP service with a $50 free trial and free number porting when you sign up for a Skyetel account. No restrictions on number of simultaneous calls, and triple data center redundancy assures that you never experience a failed call. Tutorial and sign up details available here.

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.

RentPBX, a long-time partner and supporter of PIAF project, is offering generous discounts for Nerd Vittles readers. For all of your Incredible PBX hosting needs, sign up at www.RentPBX.com and use code NOGOTCHAS to get the special pricing. The code will lower the price to $14.99/month, originally $24.99/month. It’s less than 50¢/day.

Print Friendly, PDF & Email

Be Sociable, Share!

This article has 12 comments

  1. "To get the very latest versions of everything, it’s also a good idea to first delete /etc/asterisk/gvsip_custom.conf before running the installer again. This will assure that all of your dialplan code gets updated."

    I think you meant pjsip_custom.conf.

    [WM: Thank you. Fixed.]

  2. Will this be made available also for Ubuntu 14?

    [WM: Glad you asked. We actually don’t support Ubuntu 14.04 any longer because it’s more than 4 years old. However, the new Incredible PBX for Ubuntu 18.04 works perfectly already.]

    Here are the steps:

    1. Install Incredible PBX for Ubuntu 18.04 following our tutorial.

    2. Be sure to reboot and log back in as root. Let the Automatic Update Utility run.

    3. Install the Enchilada upgrade: /root/Enchilada-upgrade.sh

    4. Download and run the GVSIP-NAF upgrade for the Raspberry Pi.

    5. Enjoy!

  3. Thank you, worked like a charm!

  4. this looks promising for those of us who have used the GV/Motif Asterisk connection. I do have a question though

    I’m running the standard off-the-shelf RasPBX download with FreePBX 14 and Asterisk 13. My Motif connection has apparently stopped working (it dials but the I can’t hear the person on the other end)

    Anyway, what do I need to do in order to install this on my Pi? Let’s assume that I start with a fresh install of Raspbx-04-04-2018.


    [WM: Unfortunately, this installer has been designed for Incredible PBX for the Raspberry Pi. It won’t work with other Raspberry Pi PBX implementations. You’d need to start with a base install of Incredible PBX for the RasPi before using this upgrade script.]

  5. How many numbers can we install with this, just one ? Or run multiple times to install multiple numbers?

    [WM: Multiple numbers is still a work in progress. Say tuned.]

  6. Thanks so much for documenting and providing this information. I used this to upgrade an existing incrediblePBX Asterisk 13.18.0 GV/Motif Rpi2 system connected to a single OBi100 ATA. Incoming calls work fine. Outgoing works if the party answers quickly, but after about 20 seconds I get a call rejected reason 503 error. Only other issues I notice in the logs is the pjsip service-route changes every hour, it complains about ‘Error sending STUN request’ and ‘Header with no vptr encountered!!’ These don’t seem to be a big deal.

  7. How to setup the inbound route , I have the number there but its going to nerdvittles IVR , Thanks !!

    [WM: Reread the Customizing GVSIP section of the article. 🙂 ]

  8. Will this upgrade work on the VirtualBox RasPi OVA version?

    [WM: Should be fine. Just make a backup first.]

  9. Additional Info on my system: Incredible PBX 12.0.74

    So not sure if it’s possible to go from 12.x -> 13.x inline without re-imaging the PI… let me know please.

    [WM: You’ll need a fresh install to move to Incredible PBX 13. Just save your settings and then cut-and-paste.]

  10. Update 2: I got this error "/root/add-fqdn obihai.telephony.goog"

    Syntax: add-fqdn name fqdn (NO spaces in name or fully-qualified domain name)

    [WM: You forgot to include a NAME.]

  11. I failed to install gvsip to Incredible PBX for Ubuntu 18.04. Is this really support Ubuntu?

    [WM: Version 18.04 should be fine with GVSIP-NAF installer. Make a backup first.]

  12. Hey I’ve been digging here but since time has passed it’s not really clear as to whether this (latest PBX GVSIP 13.13 image) will run (okay/at all) on the Pi v1 since there is the same base Raspbian8 OS for pi1? I see some past posts saying no showstopping slowdown on pi2’s but if it will not work on the pi1 period I’ll ask ahead of time if it is purely a limitation of the 512m vs 1G of RAM or a proc arch issue? Thanks!

    [WM: Basically, you build a RasPi platform using the latest image for Raspbian. Then you can upgrade the platform at any time by downloading the latest GVSIP installer (not the 13-13 installer) and running the install-gvsip script against after moving the /etc/asterisk/pjsip_custom.conf file out of the way. You do this so you don’t lose your existing GVSIP trunks. Once the upgrade is finished, you copy your pjsip_custom.conf file back into place and restart Asterisk.]