If you don’t find a 60-minute maximum call duration problematic and $15 isn’t too rich for your blood, today we’ll show you the quick-and-dirty way to add a Google Voice trunk to your FusionPBX™ or FreePBX® server for unlimited free calling in the U.S. and Canada. There are no other PBXs to set up, just a GVSIP trunk using an almost-free account at PBXes.com. Of course, none of this is required with Incredible PBX® which has native GVSIP rolled in, but we appreciate there are a few VoIP diehards that prefer other solutions. So… this Bud’s for you. You’ll obviously need a previously obtained Google Voice number, and we’ll walk you through that process below. You won’t need to manually obtain OAuth credentials in today’s Google Voice setup. That is handled transparently as part of the trunk configuration process with PBXes.com. Once you’re finished with the setup, we’ll set up an ordinary SIP trunk between your PBX and PBXes.com to process the Google Voice calls. If you’d prefer to just use your new GVSIP trunk with a SIP phone or softphone, we’ll walk you through that setup process as well. Our tip of the hat goes to @azrobert for the heads up on this new service.

Obtaining a Free Google Voice Number

1. Set up a dedicated Gmail and Google Voice account to use exclusively for this Google Voice setup on your PBX. Head over to the Google Voice site and register. You’ll need to provide a U.S. phone number to verify your account by either text message or phone call.

2. Once you have verified your account by entering your verification code, you’ll get a welcome message from Mr. Google. Click Continue to Google Voice.

3. Provide an existing U.S. phone number for verification. It can be the same one you used to set up your Google account in step #1.

4. Once your phone number has been verified, choose a DID in the area code of your choice.

Special Note: Google continues to tighten up on obtaining more than one Google Voice number from the same computer or the same IP address. If this is a problem for you, here’s a workaround. From your smartphone, install the Google Voice app from iPhone App Store or Google’s Play Store. Then open the app and login to your new Google account. Choose your new Google Voice number when prompted and provide a cell number with SMS as your callback number for verification. Once the number is verified, log out of Google Voice. Do NOT make any calls. Now head back to your PC’s browser and login to https://voice.google.com. You will be presented with the new Google Voice interface which does not include the Google Chat option. But fear not. At least for now there’s still a way to get there. After you have set up your new phone number and opened the Google Voice interface, click on the 3 vertical dots in the left sidebar (it’s labeled More). When it opens, click Legacy Google Voice in the sidebar. That will return you to the old UI. Now click on the Gear icon (upper right) and choose Settings. Disable forwarding calls to whatever default phone number you set up.

5. When your DID has been assigned, click the More icon at the bottom of the left column of the Google Voice desktop. Click Legacy Google Voice. Now click the Settings icon on your legacy Google Voice desktop. Disable calls to your forwarding number. Click on the Calls tab and select Call Screening:OFF, CallerID (Incoming):Display Caller’s Number, and Global Spam Filtering:checked. The remaining entries should be blank.

6. Google Voice configuration is now complete. Sign out of your Google Voice account.

Configuring PBXes.com with a GVSIP Trunk

1. If you don’t already have a PBXes.com account, register for the so-called Free Account. It now will set you back $15. This one-time fee allows you to make up to two simultaneous calls of up to 60 minutes in length per call with a monthly maximum of 2,000 minutes. You also can set up 5 extensions and 5 trunks. Complete Tiers of Service details here.

2. Once you’ve registered, login to your account. Take note of your SIP URI in the Welcome screen. It’ll be something like yourname@pbxes.org. When you set up one to five extensions in Step #4, be advised that your SIP usernames for these extensions will always be in the format of yourname-701 where 701 is the actual extension number you created.

3. Navigate to Personal Data, fill in any missing pieces of data and click Submit & Start.

4. Create an extension by choosing Extensions -> Add an Extension -> SIP. Enter an Extension Number, Display Name, and Password. If you wish to activate Voicemail, click Enabled and set a Voicemail Password and Email Address. Then change all of the options to Yes and click Submit Changes. Click the Red Bar to reload your dialplan.

5. Using a SIP softphone, login to your new extension using yourname-extnumber as the Username, your extension password, and pbxes.org as the Server Name and Domain Name. Dial *43 and verify that the Echo Test is working properly.

6. To create a GVSIP trunk, choose Trunks -> Add SIP Trunk. Enter a Trunk Name and your Google Voice account name (without @gmail.com) for Username. Click Get Password for Google Voice button. Google then will prompt you for your credentials to login to your Google account. Once logged in, your OAuth credentials will be generated for you, and you will be returned to the Trunk template. Enter your 10-digit Google Voice number as Outbound CallerID. Set Maximum Channels and Maximum Outbound Channels to 2. Set Dial Rule to NXXNXXXXXX. Click Submit Changes and click the Red Bar to reload your dialplan. In the left column, your new GVSIP trunk should appear under the Trunks option. You can also verify the registration by choosing the Status option.

7. Choose Outbound Route -> Add Route. Enter GVout for Route Name. For Trunk Sequence, choose your GVSIP trunk from the pulldown menu. Unless you’re using multiple SIP trunks, choose All Numbers for the Destination. Click Submit Changes and click the Red Bar to reload your dialplan.

8. Choose Inbound Route -> Add Incoming Route. If this GVSIP trunk is your only trunk, leave the Trunk and CallerID fields blank. Choose a Destination for the incoming calls during Regular Business Hours and After Hours. Define how you wish to set up the times for the two types of calls and click Submit Changes. Click the Red Bar to reload your dialplan.

Configuring FusionPBX Trunk Using PBXes Extension

As we noted above, you can actually create 5 separate extensions on your free PBXes account. For our purposes today, create another one to use as a SIP Trunk on your FusionPBX server. Once you’ve created the additional extension, do the following:

1. Login to the FusionPBX Dashboard using your favorite web browser.

2. Navigate to Accounts -> Gateways -> Add Trunk (+). Fill in the template as shown below:

  • Gateway: pbxes
  • Username: username-extnumber
  • Password: extension-password
  • From User: username-extnumber
  • Proxy: pbxes.org
  • Expire Seconds: 60
  • Register: True
  • Context: public
  • Profile: external
  • Enabled: true
  • Description: PBXes

Click SAVE when done. Verify Gateway=pbxes with State=REGED in Accounts -> Gateways.

3. Create a route for the incoming calls from PBXes: Dialplan -> Destinations ->Add (+). Set Type to Inbound. Set Destination to the 10-digit GVSIP number. In Actions, choose a destination for the incoming calls from the pulldown menu. For Description, enter PBXes Incoming. Click SAVE.

4. Navigate to Dialplan -> Inbound Routes and edit the entry for the DID you created in the previous step. Modify the first entry in the XML code to look like the following. Then SAVE.

condition	network_addr	^($

5. Adjust the destination in Step #8 of the PBXes setup above to point to the new extension you created for FusionPBX.

You now should be able to dial the Google Voice number configured in PBXes and have it ring the destination you specified in Step #3 above.

We’re relatively new to FusionPBX and FreeSWITCH so we have a confession to make. We never could figure out how to configure an outbound route on the FusionPBX side that would let you place outbound calls through your Google Voice trunk registered with PBXes. If you’re a FreeSWITCH and FusionPBX whiz kid, now’s your chance to shine. Post a comment showing us how, and we’ll sing your praises in a prompt revision to our article. Thanks in advance!

Configuring a FreePBX Trunk Using PBXes Extension

As we noted above, you can actually create 5 separate extensions on your free PBXes account. For our purposes today, create another one to use as a SIP Trunk with FreePBX. Once you’ve created the additional extension, do the following:

1. Login to the FreePBX Dashboard using your favorite web browser.

2. Navigate to Connectivity -> Trunks and choose Add a New chan_sip Trunk. For Trunk Name, enter pbxes. For Maximum Channels, enter 2.

3. Click on sip Settings tab. In the Outgoing sub-tab, assign a Trunk Name of pbxes. In the PEER DETAILS, enter the following using your newly created PBXes extension and password:


4. Click on the Incoming sub-tab. Clear out the USER Details and enter a Register string that looks like the following using your actual username-extnumber, extension-password, and DID-number. Then click Submit.


5. Navigate to Connectivity -> Inbound Routes and choose + Add Inbound Route. For Description, enter pbxes-INCOMING. For DID Number, enter the GVSIP 10-digit number. Choose a destination for the incoming calls from the Set Destination pulldown menu. Click Submit.

6. Adjust the destination in Step #8 of the PBXes setup above to point to the new extension you created for FreePBX.

You now should be able to dial the Google Voice number configured in PBXes and have it ring the Destination you specified in FreePBX Step #4 above.

7. Navigate to Connectivity -> Outbound Routes and choose + Add Outbound Route. For Route Name, enter pbxes-OUTGOING. For Trunk Sequence, choose your pbxes Trunk from the pulldown menu. In the Dial Patterns tab, enter a Match Pattern that is unique to your FreePBX trunk setup making sure you pass only NXXNXXXXXX to the pbxes Trunk when routing the outbound call. Click Submit.

You now should be able to dial out of your FreePBX server using the GVSIP trunk by dialing a number matching the Dial Pattern you specified in Step #7 above.

Originally published: Monday, October 1, 2018

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! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of 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? Visit the PBX in a Flash Forum.


Special Thanks to Our Generous Sponsors

FULL DISCLOSURE: RentPBX, Amazon, 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 their 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.

Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.

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.

Some Recent Nerd Vittles Articles of Interest…

Print Friendly, PDF & Email

Be Sociable, Share!


Leave a comment

Your email address will not be published. Required fields are marked *