Free Asterisk Calls to Zillions of Phones with ENUM and Gizmo5′s Backdoor Dialing

It’s been a while since there’s been much to cheer about in the free calls department with Asterisk®. But today, to kick off the new school year, we have lots of good news and some simple tricks to add zillions of free phone numbers to your Asterisk repertoire. In fact, you’ll be able to call almost any non-AT&T cellphone or landline in the United States at no cost. Remember that when you buy your next cellphone! Special thanks to Cliff on the PBX in a Flash Forums for heads up.

Some early readers of Nerd Vittles may remember sipphone.com which morphed into Gizmo5.com. In January of this year, Gizmo5 struck peering deals with a number of telephone providers that already routed their calls over the Internet. And it’s a pretty impressive list that includes more than 10% of the phones and cellphones in the United States according to Gizmo5′s bean counters. There’s Access One, Airadigm, Allegiance, Alltel, Cablevision Lightpath, Cat Communications, Cbeyond, Cellcom, Cellular Properties, Centennial Wireless, Choice One, Cincinnati Bell Wireless, Cinergy Communications, Cingular, CityNet, Cleveland Unlimited, Comcast Digital Voice, Commpartners, Conversent Communications, Cox Communications, CP Telecom, CTC Communications, Dobson Cell, Eureka, Globalcom, Heartland Communications, Illinois Valley, ITC Deltacom, LDMI, McLeod, Metro PCS, Mpower, Nationsline, Nextel, Nextera Communications, Paetec, RCN, Sprint PCS, Talk America, Telnet Worldwide, T-Mobile, US Cellular, Verizon Wireless, and XO. Whew! And the program is constantly being expanded. Toll-free numbers and Gizmo5-to-Gizmo5 calls also are free using Gizmo5. You can check whether your frequently called numbers are free calls by simply entering the phone numbers at this link.

Thus was born what Gizmo5 calls Backdoor Dialing. Just dial 0101 and the 10-digit number of your choice. If it’s free, the call goes through. If not, you get a message that the number is not yet supported and click. The beauty of the program is that your total investment to use the free service with Asterisk is a one-time fee of $10 for a bucket of CallOut minutes to activate your account. Sometimes this takes a day for the credit to appear, particularly if you use PayPal to cover the cost. The good news is you can spend most of the $10 making calls to any phone in the world, many for under 2¢ per minute, using just about any computer on the planet. Just leave a few cents in the pot to keep your free Backdoor Dialing service enabled. From our testing, we’d rate the Gizmo5 call quality as excellent on both the free and the pay-per-minute calls! Complete rate tables are available here.

Gizmo5 provides free softphones for Windows, Macs, and Linux as well as numerous cell phones and mobile devices including Treo, Nokia, and many more (not the iPhone… yet!). All of the softphones make it extremely easy to place SIP calls, e.g. joeschmo@mypbx.dyndns.org. And you can place these calls all day long at no cost. See our tutorial for step-by-step instructions on setting up your own SIP addresses on your Asterisk server. The softphones also include Conferencing, SMS, and Instant Messaging with AIM, Yahoo, MSN, Google, and MySpace.

As with many of these services, they weren’t designed for Asterisk, but nothing in their fine print precludes Asterisk use so today we’ll show you how. Will the program last forever? Who knows, but it’s free for now. And the cost of admission is too good to resist. You’re obviously not going to dial every number you frequently call twice just to see if the call is free. That’s why you’ll want to use a robodialer such as AsteriDex for your outbound calling. Then it’s easy to adjust the phone numbers of your friends with Sprint, T-Mobile, or Verizon cellphones so that you never have to pay for those calls again. Just add a prefix of 0101 to the numbers, and you’re done. And they can call you on your Gizmo5 CallIn number through Asterisk if you’ve enabled the CallIn Service and chosen a number. It’s under $3 a month with an annual subscription. Or the calls can be returned using the CallerID number displayed by Gizmo5 when you call your friends. Toll charges may apply in this case due to the Gizmo5 area code.

So let’s get started. Step 1 is to download and install a free softphone of your choice and follow the prompts to sign up for your account. There’s really no reason not to install a Gizmo5 softphone on every computer you own. If you don’t use it, there’s no cost. If you ever need it, it’ll be there for you. Step 2 is to make a $10 purchase of CallOut minutes. While you’re waiting on the credit to appear (and it usually takes less than a day), let’s set up Asterisk. You’ll need your new account name, password, and phone number from Gizmo5 to get started.

Setting Up a FreePBX Trunk for Gizmo5. If you’re using a product such as PBX in a Flash that includes FreePBX, then open FreePBX in your browser and choose Setup->Trunks->Add SIP Trunk. Leave the General Settings blank. For the Dialing Rules, if you just want free calling through your Gizmo5 trunk, plug in values below. For regular calls as well, add 1NXXNXXXXXX or an entry that is suitable for each country you wish to call.

1800NXXXXXX
1822NXXXXXX
1833NXXXXXX
1844NXXXXXX
1855NXXXXXX
1866NXXXXXX
1877NXXXXXX
1888NXXXXXX
800NXXXXXX
822NXXXXXX
833NXXXXXX
844NXXXXXX
855NXXXXXX
866NXXXXXX
877NXXXXXX
888NXXXXXX
0101+NXXNXXXXXX
0101NXXNXXXXXX

Name the Trunk: Gizmo5. Make the following entries in Outgoing Settings Peer Details:

disallow=all
allow=ulaw
auth=md5
authuser=youracctnameNOTyourphonenumber
canreinvite=no
context=from-trunk
dtmfmode=auto
fromdomain=proxy01.sipphone.com
fromuser=youracctnameNOTyourphonenumber
host=proxy01.sipphone.com
insecure=very
nat=yes
qualify=yes
secret=yourpassword
type=peer
username=youracctnameNOTyourphonenumber

Clear out the Incoming Settings and use the following syntax for the Registration String. Then Save your setup and Reload Your Dialplan. NOTE: Don’t use any registration string unless you want incoming call support. By not registering, you can use your softphones whenever you need it to also make outbound calls. If you register with Gizmo5 using a registration string, then it knocks out use of a softphone since you can’t have two simultaneous registrations to the same account. But registering allows those you call with this service to call you back conveniently… although not necessarily for free from the caller’s phone.

youracctname:yourpassword@proxy01.sipphone.com/yourphonenumber

Setting Up a FreePBX Outbound Route for Gizmo5. While still in FreePBX, choose Setup->Outbound Routes->Add Route. Name the route: OutGizmo5. Then enter the following Dial Pattern: 0101NXXNXXXXXX. Choose SIP/Gizmo5 as your Trunk Sequence. Then click Submit Changes and Reload Your Dialplan.

Setting Up a FreePBX Inbound Route for Gizmo5. While still in FreePBX, choose Setup->Inbound Routes->Add Incoming Route. Name the route: Gizmo5 and plug in your 10-digit DID number in the appropriate field. Then Set a Destination for the incoming calls. That’s it. Save your entries by clicking the Submit button and then Reload Your Dialplan.

Making a Free Call with Gizmo5. Once your DialOut credit appears on your softphone or in your Gizmo5 web account, you’re ready to start making calls. From any phone connected to your Asterisk server, just dial 0101 plus the 10-digit phone number. On the Asterisk CLI, you should see the call routed out through your SIP/Gizmo5 trunk. If you get a congestion tone and you’re sure your DialOut credit has been posted to your account, then check your username and password entries in your Trunk setup. Be sure to use your account name and NOT your Gizmo5 phone number for your username, authuser, and fromuser entries. But, if that doesn’t work, try using your Gizmo5 phone number instead of your assigned user name. Some have reported quirks in which actually works. For us, the assigned user name did the trick. Also make certain that the disallow all entry is above the allow=ulaw in versions of FreePBX after 2.3, or no calls will ever be successful.

Photo courtesy of the Chicago Historical Society and the Library of Congress American Memory ProjectTurning Non-Free Numbers into Freebies. There’s always some enterprising individual that figures out a quick way to beat the system even when many calls already are free. Suppose the number you wish to call isn’t yet available through Backdoor Dialing. The only trick is to have a pool of numbers from a provider with a peering arrangement with Gizmo5… and, of course, an Asterisk or FreeSwitch server to forward the calls and handle the number translation. You can read about RingBranch’s implementation, and then you can sign up for the service here.

There’s another way to turn non-free calls into freebies. This is Gizmo5′s “All Calls Free” Plan which is available in 60 countries. Landlines and mobile phones are supported in 17 countries while landlines only are supported in 43 more. U.S., Canadian, and Chinese landlines and cellphones are included in the program in addition to those of the Pope and the other residents of Vatican City. God works in mysterious ways! Here’s the complete list of countries that are supported.

To qualify a landline or mobile number for free calling (by dialing with the usual country code prefixes), you both have to be “active” Gizmo5 subscribers, your landline and mobile numbers must be listed on your account, and you must enter each other in your respective Buddy Lists. Then free calls using your Asterisk Gizmo trunk can be made to the “regular” phone numbers of all your pals whether the called person is online with Gizmo or not. Be aware that you can’t call your own numbers for free, and there is lots of additional “fine print” in this program. Nothing precludes your spouse having his or her own Gizmo5 account, however. You’ll need to wade through the rules carefully to take advantage of the free calling. It is possible, but it’s not easy. If you have relatives in Europe, Australia, or the Far East, you might want to have a look here. Just do a search for “All Calls Free.” Your Gizmo5 softphone also will report your current All Calls Free Status.

Add Free Calls to 40 Million Asterisk Servers with e164.org. While we’re on a roll of free calling, here’s a simple way to add free calling to 40 million Asterisk servers around the world. Just add your name and phone numbers to the e164.org registry at no cost and configure FreePBX with ENUM support. Then outbound calls to numbers in the e164 registry will always be free as well. The whole setup takes less than 10 minutes. Here’s how.

The first step in setting up ENUM is to create a SIP address for your Asterisk server. The format looks like this: myname@somedomain.com. You’ll need either a fully-qualified domain name (FQDN) if your server has a static IP address or an FQDN issued through a dynamic DNS service such as dyndns.org if you have a dynamic IP address, e.g. pbx.dyndns.org. In the latter case, your router keeps dyndns.org apprised of changes in your external IP address so that pbx.dyndns.org always resolves to the correct IP address of your Asterisk server. Incidentally, with any hosted domain using a registrar such as omnis.com, it’s easy to add a subdomain DNS entry and point it to your Asterisk server, e.g. sip.joeschmo.com. That won’t cost you a dime other than the annual $6.95 domain registration fee which you’re already paying anyway.

Step two is to add your new FQDN address with a name of your choice to your Asterisk server. Then Asterisk will know how to process incoming SIP calls to that address. Read the Rolling Your Own section of our article on SIP Proxies for the procedure using FreePBX. It only takes a minute or two to set up. Let’s assume for purposes of this tutorial that you’re going to use the following destination address on e164.org for your server: e164@pbx.dyndns.org. An advantage to this type naming scheme is you can always keep straight the source of your incoming SIP calls. Thus your /etc/asterisk/extensions_override_freepbx.conf file should include a line in the [from-sip-external] context that looks like this: exten => e164,1,Goto(from-trunk,e164,1)

This tells Asterisk to route incoming SIP calls to e164@pbx.dyndns.org to the FreePBX Incoming Route for e164. And to complete the routing of the inbound calls to this address, add an Inbound Route in FreePBX called e164 that includes a destination of your choice for these SIP calls, e.g. an extension, a ring group, or an IVR already configured on your system. Just a footnote that e164.org requires you to enter a confirmation PIN when you set up the SIP routing to your server. So, at least initially, make the destination for your e164 SIP calls an extension that you can answer to obtain your PIN. You can safely ignore the FreePBX warning that you’re entering an odd type of inbound route by clicking OK. But you knew that.

Now let’s get you signed up with an account on e164.org. Go to the web site and click the Sign Up tab. Go through the sign up drill and then log into your new account. Then click the Phone Numbers tab and Add your phone numbers to e164. For each number, enter the area code and number. Then click the Next button. You’ll be warned about not having the number you’ve specified redirected to an IVR. If you already have this DID redirected to an IVR, change the routing temporarily to an extension that you can answer to obtain your PIN before you press Next to proceed. You’ll then be prompted for the SIP address to contact your server. Leave the default SIP protocol and plug in the address you created, e.g. e164@pbx.dyndns.org (using your own FQDN, of course). As soon as you click the Next button, your phone should start to ring, but there may not be a message when you answer. Hang up and wait for the second call within 15 minutes. It will include your PIN. Now click on the Phone Numbers tab and update your phone entry by choosing Enter PIN and typing your assigned PIN. Your phone number now has been activated with the e164 service. To complete the setup, you’ll want to click on the Do Not Call option and make your selections. You also can decide whether to list yourself in the ENUM White Pages directory.

Remember that the real purpose of this drill was to avoid charges when you place outbound calls to numbers in the ENUM directory. We merely added your numbers to e164.org so that others could benefit as well. So the final step before you can start saving money is to configure FreePBX to handle ENUM lookups for outbound calls from your server. One more observation may be helpful. You’ll recall that one of the limitations of FreePBX has always been that once an outbound route was chosen for a call, if the call was completed using the first destination trunk in that route, then the call processing ended there. ENUM adds a new wrinkle because we basically want to connect to ENUM to check for a free route and, if no matching entry is found, then we want the next trunk to process the call. As luck would have it, FreePBX has been tweaked to allow this scenario. All you have to do is create an ENUM trunk and then place it first in your sequence of trunks for each of your outbound routes. If an ENUM entry is found for the number you’re calling, the call will be routed as a free call with a direct SIP connection. Otherwise, the call processing will continue and the call will be routed using the next trunk specified in your outbound route.

There are two steps in FreePBX to implement ENUM. First, we need to create a special ENUM trunk. And second, we need to adjust our outbound routes to use the ENUM trunk first, and then the series of trunks you already have specified in each outbound route. NOTE: You obviously wouldn’t do this for an emergency 911 outbound route.

In FreePBX, click Setup, Trunk, Add ENUM Trunk. Enter your desired CallerID for these calls. Set a maximum number of channels, if desired, and then leave the other entries blank in most cases. Save your settings and reload your dialplan. Now click Setup, Outbound Routes and adjust the sequence of trunks for each of your existing routes. Be sure to put ENUM in the top position of each desired route. We also recommend adding a new Free Calls route so that users on your system can dial 0 and then a number to place a call through ENUM and then Gizmo5. If neither has a route for calling the party for free, the call will fail. The dial patterns might look like this for U.S. calls:

0|1NXXNXXXXXX
0|NXXNXXXXXX

The trunk list would look like this:

0 ENUM
1 SIP/gizmo5

Continue reading Part II.


Today’s Must Read: 101 Things You Can Do With Asterisk


VPN in a Flash Update! We’ve had over 100 reservations for our new VPN in a Flash system since last week. We’re very close to having a manufacturer in place so hopefully we’ll have more good news in a week or two. We have begun the documentation for the new product, and we encourage you to take a look and offer any questions or comments you may have on our forums. The documentation is in the new Google Knol format and can be reviewed here. It’s not too late to get in the queue and place a reservation for a system. Just send us a note, and we’ll keep you posted as the release date approaches. It’ll hold your place in line with absolutely no obligation to purchase.

Coming Attractions. We’re very close to signing on a new VoIP provider for PBX in a Flash users that will provide penny-a-minute calls in the U.S. and Canada as well as all-you-can-eat plans for just over $10 a month with an annual contract. We’re also only a week or two away from a new version of AsteriDex with Outlook synchronization and a TTS dialer for AsteriDex queries from any connected Asterisk phone. Stay tuned!


Hosting Provider Deal of the Century. Just an FYI that the Nerd Vittles hosting provider, BlueHost, has raised the bar again on hosting services. For $6.95 a month, you can host unlimited domains with unlimited web hosting disk storage and unlimited monthly bandwidth. Free domain registration is included for as long as you have an account. It really doesn’t get any better than that. And their hosting services are flawless! Just use our link. You get a terrific hosting service, and we get a little lunch money.


New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. Until October 15, you can get an almost half-price DID and 60 free minutes 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash 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 for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! After the free hour of outbound calling, 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 and any balance is fully refundable if you decide to discontinue service with Vitelity.


Some Recent Nerd Vittles Articles of Interest…

Be Sociable, Share!

9 Responses to “Free Asterisk Calls to Zillions of Phones with ENUM and Gizmo5′s Backdoor Dialing”

  1. Wolf Paul says:

    Just a quick comment on the Bluehost ad below and Ward’s plug for them above (which has already been amended): Their offer of unlimited disk space and unlimited traffic is good ONLY FOR WEBHOSTING. If you use it for anything else (like storing your MP3s so you can access them from anywhere, or storing other files (especially archives, like zip or tar) you want to be able to access from multiple locations), they will lock your account until you have deleted them.

    So unless you really need terabytes of space for WEBSITES, you will not benefit from what they seem to advertise.

    I find their advertising misleading and have cancelled my account with them.

    Wolf Paul

    [WM: I can see both sides on this one. First, MP3s are a red flag to all ISPs, and storage of any file with a name ending in mp3 is likely to be met with a quick (negative) response. Second, no ISP could afford to provide unlimited server space and bandwidth for folks to use their facilities as the equivalent of a remote file server. Having said that, I would quickly add that we've been with BlueHost for almost three years and have stored enormous ISO images in conjunction with the Nerd Vittles articles on our web site. We've never had a problem nor received a call. But Wolf is probably correct. If you intend to use this $6.95/month service as the off-site storage facility for the electronic data of your entire company, that's probably not going to be a good fit with the web hosting service that BlueHost is offering. The ad in the right column is much more clear (at least to me) than the one below even though both mention $6.95 per month Web Hosting. To be honest, I never got past the eyes. But thanks.]

  2. Robert Keller says:

    While at the last OTTS, I met the new Digium Community Coordinator. He told me about this thing he did before joining Digium called freenum.org. Have you looked at that at all? I am signed up and am unsure where to go with it. I know…google it… I have and am still wide eyed.

  3. Fox says:

    Just wanted to comment that your trunk dialing rules are unnecessarily complicated, and most of them don’t actually do anything (you might be confusing route dialing rules with trunk dialing rules – on a trunk, a dialing rule is generally useless unless it contains a modification character such as a | or +). This is what I use to handle “backboor dialing” and Gizmo5 calls:

    1+747XXXXXXX
    010+1XXXXXXXXXX
    0101+XXXXXXXXXX
    0101npa+XXXXXXX
    (Replace npa with your local area code if you want to allow 7-digit dialing of “backdoor dialing” calls within your area code).

    In my ROUTE dialing rules I actually include frequently called numbers (in 7, 10, and 11 digit format) of numbers that I know for sure can be reached via “backdoor dialing”, such as cell phone numbers of family and friends, so that even if someone dials the number and forgets to use the 0101 prefix, Asterisk will prepend it (because of my trunk rules) and send it out via Gizmo5. But you have to be careful who you use it with, becuase Gizmo5 plays an announcement at the start of each call: “This is a free call from anywhere in the world using Gizmo5.” Probably not something you want to use with anyone who doesn’t realize that you’re using Gizmo5 and would not wait around through that short recorded message.

    I only wish that Gizmo5 would set up some easy way for us to do a data dip and see if a call is eligible for “backdoor dialing.” For example, if you could call http://someaddress.gizmo5.com/number_to_query and it would return the number prefixed with 0101 if a valid “backdoor dialing” number, or just the bare number if not, that would be really helpful.

    [WM: Thanks for your comments. In most situations, we would agree with your analysis of what belongs in an Outbound Route as opposed to a Trunk Dial Pattern. However, as you've mentioned, in this case we have a problem because there is no way to discern programatically whether a call is "free" until you actually place the call. Thus, if you place the dial patterns in the Outbound Route, a call to a number which was not free would simply die since Asterisk and FreePBX have no way to back out of the Outbound Route for non-free calls and use the next available route to complete the call. We've covered much of this at this link. Unless you only have a few free numbers that you call (in which case your way works fine), the only practical solution at present is the one we suggested. Use an AutoDialer like AsteriDex which already knows which numbers should have a 0101 prefix. Then we can manage those calls when they are dialed through a separate route dedicated to FreeCalls. Storing a big string of numbers in the Dial Patterns for your main Outbound Route would be much more difficult to manage particularly if the entries change as people move around. We share your disappointment that Gizmo5 won't open this up with support for a web query that would let Asterisk users determine whether a particular call is free or not BEFORE placing the call. This, of course, is the process used for ENUM which also is covered in the article.]

  4. ward says:

    For $4 a year, you can even adjust the outbound CallerID on your Gizmo5 calls. Here’s the link.

  5. Stephen says:

    I followed the steps to a T and i’m able to dial out and get inbound calls. But the only way i’m getting inbound calls routed correctly is using a ‘Any’ inbound route. I want to use my gizmo DID to route to a special app. Any ideas why the system wont recognize the DID?

  6. ewb says:

    I am not completely understanding the need to have the $10 of CallOut minutes. If the Gizmo5 client can dial the number and connect for free, why would this not work in the Asterisk configuration as well?

    [WM: Asterisk lacks the interconnects to the cellphone providers' systems to provide SIP connections directly.]

  7. ewb says:

    So in relation to the last comment I made, if one never calls a number that would cost any Gizmo CallOut minutes (say for a backdoor-dialing only trunk) then is it possible to have a $0.00 balance with Gizmo and things still work for dialing that 0101+NXXXXXX line?

    Also, is anyone working on code that would remember if the the number is backdoor-dialing enabled? It so happens that the three numbers I call the most are backdoor-dialing enabled. It would be beneficial to not have to lookup those numbers more than the first time.

    [WM: Read Part II of the article for "the code that would remember if the number is backdoor-dialing enabled." As for access to Backdoor Dialing, there have been conflicting reports, but most suggest that you need a positive balance in your account to use it.]

  8. Robert says:

    Two minor corrections.
    First, I am reasonably certain that one can utilize backdoor dialing on Gizmo WITHOUT first purchasing any outbound minutes. A Gizmo account without the purchase of minutes allows calls to other Gizmo numbers and to backdoor numbers.
    Second, the check that one can perform on the Gizmo5 website to determine if a number is eligible for backdoor dialing is not entirely accurate. By way of example, my cellphone number can be reached with backdoor dialing, but the website says it cannot. This is because it is a Verizon number ported to Sprint. In my part of the country, Sprint works for backdoor dialing, Verizon does not. Because my Verizon number has been ported to Sprint, the system is smart enough to put the call through. But, the lookup facility on the website apparently looks at the area code and first 3 digits and assumes the number is Verizon and says it doesn’t work.

  9. taylormia says:

    Gizmo5′s Backdoor dialing has been discontinued as of March 5, 2009….

    http://support.gizmo5.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=425

Ringbinder theme by Themocracy