Over the past few weeks, we’ve introduced a revolutionary new technology for the Asterisk® and FreePBX® community by marrying Incredible PBX® with GTI Global cellular extensions. For $20 to $35 a month, you get a new SIM card for your unlocked GSM cellphone that links all four U.S. carrier networks to a PJsip extension on your PBX. Incoming calls ring on both the cellphone and any other SIP phone connected to the same PJsip extension. Outbound calls from the cellphone get processed just like every other outbound call on your PBX. All the other bells and whistles that make Asterisk and FreePBX a one-of-a-kind platform work exactly the same way on the smartphone as they do with every other PBX extension. And your cell phone is no longer tied to a single carrier’s network. Based upon your current U.S. location, the GTI SIM finds the strongest signal by automatically selecting from the cell towers of the four major U.S. carriers: AT&T, Verizon, T-Mobile, and Sprint. And last week, we added additional icing to the cake by introducing the perfect cloud platform for Incredible PBX in either Atlanta or Los Angeles for a jaw-dropping $25 a year with a 5-minute install.

Today we want to document the setup procedure to put all the cellular pieces in place to add a GTI-enabled cellphone to your Incredible PBX platform. In a nutshell, there are preliminary configuration steps on your PBX so that GTI can verify that your PBX can be successfully integrated into their cellular network. Next, you’ll need to sign up for service with GTI Global and provide some basic information about your server configuration. Once you receive credentials from GTI Global, you’ll need to complete some additional setup steps on your PBX including creation of a GTI trunk as well as configuring inbound and outbound routes to support your cellphone calls. You’ll also need to add exceptions for each GTI DID to the [from-sip-external] context. Finally, await delivery of your SIM card and then decide how you will deploy the GTI SIM on a GSM cellphone of your choice.

GTI Global provides promotional consideration to help defray costs of our Asterisk projects.

Preliminary Configuration Steps with Incredible PBX

To connect a GTI-enabled cellphone to Incredible PBX, here are the preliminary steps:

  1. Incredible PBX must have a static IP address on the public Internet.
  2. Whitelist a number of GTI IP addresses in your firewall.
  3. Create a PJsip extension for each GTI-enabled cellphone.
  4. Create a Preliminary Chan_SIP Trunk for Registration to GTI.

These whitelist entries should be added to iptables-custom in the /usr/local/sbin directory:

/usr/sbin/iptables -I INPUT -p udp -m udp -s 99.198.122.166 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 99.198.110.51  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 96.127.174.38  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 37.18.129.170  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 37.18.129.171  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 37.18.129.172  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 37.18.129.173  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s someid.mvnoserver.com --dport 5060:5069 -j ACCEPT

 
For each GTI cellphone you plan to deploy, add a PJsip extension with a very secure password:

Extension: 484xx1
Display Name: 484xx1 GTI
Secret: yourSuperSecretpassword

Advanced -> Max Contacts: 3

 
Also make note of the SIP port that is configured for your PJsip extensions, typically 5061. It’s shown as Port to Listen On under Settings -> SIP Settings -> PJsip Settings in FreePBX GUI.

Create a preliminary Chan_SIP Trunk for registration to GTI leaving the CallerID field empty:

Trunk Name: trunk4321

PEER Details:

username=trunk4321
type=friend
secret=yourBIGpassword
host=xxxxxx.mvnoserver.com
disallow=all
allow=ulaw
canreinvite=no
dtmfmode=rfc2833
port=5062

Register string: trunk4321:yourBIGpassword@xxxxxx.mvnoserver.com:5062

 

Registration Information to be Provided to GTI

As part of your GTI setup procedure, in addition to your name and a reachable cellphone number, you will be prompted for the following information. If any of it is missing, open a support ticket and provide it. NOTE: you must register through our portal, or your request will be denied unless you pay the standard $250 setup fee which is waived for our users. All GTI accounts through Nerd Vittles include one free SIM card, a free trunk account to process calls to and from your GTI pjSIP extension(s), and a free DID for each SIM card. Unlimited calling and unlimited SMS/MMS messaging is included on all plans. Pricing difference is for monthly data allocations: $20 (no data), $25 (2GB), and $35 (4GB). You must pay for the first month’s service BEFORE your SIM card will be shipped.

  1. PBX Public IP Address and Trunk Listening Port (5062)
  2. Extension IP address (PBX public IP address)
  3. pjSIP Extension Number
  4. pjSIP Extension Secret
  5. pjSIP Extension Port (5061)
  6. Service Desired: $20, $25, or $35 monthly plan
  7. Area Code Desired for DID
  8. Business Name and Shipping Address for Your SIM

Configuring Your PBX with GTI Credentials

Once GTI has verified that they can communicate with your PBX, you will be provided the credentials for your GTI Trunk. Simply edit the trunk you configured above inserting the Trunkname/Username, Secret, Host, and Port for your new Trunk. Modify the Register String, save your settings, and reload your dialplan. Also edit your whitelist and change the FQDN from someid.mvnoserver.com to the host name that was provided. Then restart the firewall: iptables-restart.

Verifying Successful Extension & Trunk Registrations. Once your GTI extension and trunk are configured. You can verify successful connections in the Asterisk CLI.
For the extension: pjsip show aors
For the trunk: sip show registry

Configuring an Inbound Route for GTI Global Calls. Replacing 16785551212 with your actual 11-digit DID assigned to each cellphone, create Inbound Routes that look like this:

Description: GTIglobal 16785551212
DID Number: 16785551212
Destination: Extension -> 484001 (extension number of matching SIM)

 
Also add the following context at the end of /etc/asterisk/extensions_custom.conf using your DID. Then reload your dialplan: asterisk -rx "dialplan reload"

[from-sip-external]
; GTI Global
exten => 16785551212,3,Goto(from-trunk,${DID},1)

 

Configuring an Outbound Route for GTI Global Calls. No special outbound routes are required unless you wish to use the GTI Global trunk to process U.S. calls at no cost. In this case, configure an Outbound Route pointing to your GTI Global Trunk. NOTE: Calls using this trunk can only be made from the extensions associated with GTI Global SIMs.

CallerID and Trunking Strategy. In setting up the GTI components in FreePBX, you need to consider how you wish to process outbound calls. If you want all outbound calls including those from the GTI extensions to reflect the company’s main phone number, then you can use your default outbound route making certain that CallerID override is set with the company number in the appropriate trunks. No CallerID should be set in the outbound route.

If you want calls from the GTI extensions to use the GTI trunk with the CallerID number of the individual cellphones, then the GTI trunk needs to be moved to the top of the default route sequence with no CallerID number specified in the GTI trunk or the outbound route. Instead, set the correct 11-digit CallerID numbers in each of the GTI extensions. This will not impact outbound calls from other extensions because the GTI trunk will indicate congestion forcing the calls out through the next trunk specified in the outbound route.

I’ve Got My GTI SIM. Now What?

It’s decision time on what sort of smartphone you wish to use with your GTI SIM. If you’re a heavy data consumer then it may make sense to acquire a cellphone that supports dual SIMs and use a SIM with an unlimited data plan as your data provider and use the GTI SIM for business purposes with your PBX.

Choosing a Cellphone Platform. Our favorite deployment strategy is to take advantage of the new dual SIM offerings that allow a user to have one SIM for personal use and a second SIM (GTI) for business use. This lets you acquire the least expensive cell service with unlimited data for personal use and acquire the $20 GTI SIM with no data plan through our Incredible PBX offering. You don’t really need two data plans on the same smartphone. A couple of options worth exploring include GTI’s MVNO offering of T-Mobile unlimited data service for $35 a month and Visible (a Verizon-owned MVNO) that offers unlimited plans for as little as $25 a month with a four-user signup. The users need not be related, and the users can each pay their own monthly bill. Keep in mind that MVNOs almost always have fine print allowing "deprioritization" in busy areas and during busy times of the day. And the underlying carriers always screw their MVNO customers first.

Some smartphones support two SIMs while others have one physical SIM slot plus an eSIM registration that can be acquired from the major carriers. We personally liked an unlocked $200 Motorola G8+ which has two actual SIM slots as do most of the newer Samsung, OnePlus, Huawei, and many other smartphones. Several cellphones from BLU are available for under $25. The following devices currently support a single SIM card plus an eSIM:

  • Apple® iPhone® SE
  • Apple iPhone 11
  • Apple iPhone 11 Pro
  • Apple iPhone 11 Pro Max
  • Apple iPhone XR
  • Apple iPhone XS
  • Apple iPhone XS Max
  • Google Pixel 4 / Pixel 4 XL

Configuring the API Settings for GTI. Once you insert your SIM into your smartphone and power it on, you need to modify the API settings and choose GTI Global (Mobile-X) as your provider for the GTI SIM. Here is a FAQ covering the appropriate API settings depending on whether you’re using an iPhone or Android phone. Here’s another tip. Even though your phone may show a number of available carriers other than Mobile-X, that doesn’t mean you can connect to any of them directly. Why? Because you don’t have credentials to access those networks. Your connection to those other networks is only available through Mobile-X using your GTI credentials.

Testing Out Your GTI Smartphone

Once you complete all of the steps above, it’s time to try things out. From your cellphone, try dialing *98 to connect to Asterisk voicemail. Next, try calling another extension on your PBX. Then try calling an outside number. Finally, try calling the DID of your GTI SIM from another phone and be sure it rings and you have audio in both directions.

When you complete the testing, you can add another SIP phone to the same extension as your GTI cellphone. Be sure to set the port to the proper port for your PJsip extension. When you call your GTI SIM’s DID, both the smartphone and the SIP phone should ring simultaneously.

In some environments, you may wish to configure 611 calls to ring a support ring group in your organization. If so, add a new SIP extension 611 and forward calls to that extension to the number of the desired ring group. For example, if the Ring Group number is 777, you could enter the following command at the Asterisk CLI: database put CF 611 777.
 

Originally published: Monday, July 13, 2020



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. 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.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls plus quadruple data center redundancy assures that you’ll never have a failed call. Tutorial and sign up details are here.

The lynchpins of Incredible PBX 2020 are the new ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

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.
 



Tags:

This article has 4 comments

  1. This is what we’ve all been waiting for! Thank you for putting this together, Ward!

  2. Why are you using PJSIP for the extensions but making a Chan_SIP Trunk? Chan_SIP is being deprecated so why not make the trunk PJSIP also, then you are only dealing with a single technology?

    [wm: Good question. We wanted backwards compatibility for trunking to Asterisk 13 and FreePBX 13. Let us know if you get it to work. 🙂 ]

  3. Has anyone gotten this to work? I can successfully make outbound calls from a cell phone, but inbound calling, to the PJSIP extension, is not working.

    [WM: Please post this in the forum so we can figure out what’s going on. "Not working" isn’t much of a hint. 😉 ]

  4. Would there be any way to incorporate WiFi calling into this as well? If that were possible, this would be a perfect solution for me.

    [WM: WiFi calling is not supported directly by the telecom providers, but there’s an easy workaround. Keep in mind that this is PJsip extension which means multiple SIP phones can be registered to the same extension. So office or home SIP phones can be registered to the cellphone extension, AND you could also install a softphone on your smartphone and register it to the same extension. That softphone would function exactly like WiFi calling works. The other good news, of course, is that the GTI SIM supports all four major carriers instead of just one. So you will rarely find yourself in a location without cell service.]