Gizmo Backdoor Free Calls to 11% of US phones

...
I’ll post how it works, probably next week.

[extensions_custom.conf]
exten => _3012345678,1,Goto(outrt-007-BackDoor,${EXTEN},1)
exten => _13012345678,1,Goto(custom-voicepulseflexrate,\${EXTEN},1)
or
exten => _13012345678,1,Goto(outrt-006-OutCall,${EXTEN},1)

New idea ... Is there a way to press a key(like *) as we get the Gizmo5 recording to force the call to the next trunk?
I just did a test of the above to my T-Mobile cell. It worked as described for both backdoor dialing and standard routing.
 
Guinea Pigs Wanted

OK. We've got the dialplan functioning with Gizmo's Backdoor Dialing. The way this works goes like this. You dial a call. The outbound call progresses through the normal FreePBX routines to decipher the number and the outbound trunk. We then intercept the number and pass it to Gizmo5 to see if it's a free call. If it is, we add the 0101 prefix to the number and change the trunk number to match the Gizmo trunk number on your system.

1. Sign up for a Gizmo5 account and set up your Gizmo trunk using the Nerd Vittles tutorial.

2. Next, you'll need to decipher the route number for your Gizmo trunk and write it down. Run this command and look for the number after OUT_ that matches your Gizmo trunk.
Code:
grep OUT_ /etc/asterisk/extensions_add* | awk '/ = / { print $0 }'
3. Figure out which version of FreePBX you have. I've only tested this with 2.3 and 2.4. Sorry.

4. Log in as root and download the nv-gizmo AGI script into /var/lib/asterisk/agi-bin. Then edit the script and plug in your Gizmo trunk number (from above) as well as your Gizmo username and your Gizmo password after executing the following commands:
Code:
cd /var/lib/asterisk/agi-bin
wget http://pbxinaflash.net/source/gizmo/nv-gizmo.zip
unzip nv-gizmo.zip
rm nv-gizmo.zip
chown asterisk:asterisk nv-gizmo.php
chmod +x nv-gizmo.php
nano -w nv-gizmo.php
5. Finally, we're going to customize your FreePBX dialplan so that the changes don't get overwritten. To do this, you have to cut-and-paste the entire [macro-dialout-trunk] context from /etc/asterisk/extensions.conf (in FreePBX 2.3) or /etc/asterisk/extensions_additional.conf (in 2.4). Put a duplicate of the code at the end of /etc/asterisk/extensions_override_freepbx.conf. Be very careful to widen the window for your editor so that you get all of the text of each line when you cut and paste.

In FreePBX 2.3, the code begins like this:
Code:
exten => s,1,Set(DIAL_TRUNK=${ARG1})
exten => s,n,Set(DIAL_NUMBER=${ARG2})
exten => s,n,Set(ROUTE_PASSWD=${ARG3})
Add a new line immediately below those lines that looks like this:
Code:
exten => s,n,AGI(nv-gizmo.php|${DIAL_NUMBER}|${DIAL_TRUNK})
In FreePBX 2.4, the code begins like this:
Code:
include => macro-dialout-trunk-custom
exten => s,1,Set(DIAL_TRUNK=${ARG1})
exten => s,n,ExecIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]],Authenticate,${ARG3})
exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1)
exten => s,n,Set(DIAL_NUMBER=${ARG2})
Add a new line immediately below those lines that looks like this:
Code:
exten => s,n,AGI(nv-gizmo.php|${DIAL_NUMBER}|${DIAL_TRUNK})

If you're using Asterisk 1.6, change the vertical bars (|) above to commas. Save your changes and asterisk -rx "dialplan reload" and you're all set. To test it out, you can place a call to my non-working Sprint number which should be processed as a free call: 678-612-7695. You'll get a Sprint recording telling you the number is not in service. Check the output on your Asterisk CLI. Enjoy!

banner3.gif
 
Looks like some Verizon Wireless numbers are free, but not all. All the numbers in IN I checked worked, but none of the numbers in FL or PA seem to be free at this time.
 
could you use the -r in the dial to get a fake generated ring instead, so that you don't hear the Gizmo message?
 
Does anyone know if this can be used on non-US numbers?

Also, Gizmo are offering a free 10c credit if you install and register with the Linux version.
 
OK. We've got the dialplan functioning with Gizmo's Backdoor Dialing.
Well done! Many thanks.

I noticed a 985-231-xxxx number I didn't recognize in my incoming cell logs today. I called the number and got my own PIAF box. I haven't added custom CID so this is the number shown when I call my cell via BackDoor dialing. The incoming call routes through my Gizmo line. It appears to be a Level3 line in Louisiana.

Does this mean I get a new free incoming number when I use BackDoor dialing?
 
More like a pool of numbers (like a DHCP pool) that get assigned on demand.
 
You're much better off springing for the $4 a year to set your own CallerID. Then you can point it anywhere you like and change it as often as needed.
 
Hey Ward

I followed your instructions and in the gizmo.txt logs, I see the following. Is the error msg at the end normal? And BTW, it doesnt work if you dial the number with a 1 in front, i.e. 16786127695. Other than that, appears to work great!

agi_request: nv-gizmo.php
agi_channel: SIP/500-b7d019f8
agi_language: en
agi_type: SIP
agi_uniqueid: 1219959703.2
agi_callerid: 2129999999
agi_calleridname: ENUM
agi_callingpres: 0
agi_callingani2: 0
agi_callington: 0
agi_callingtns: 0
agi_dnid: 6786127695
agi_rdnis: unknown
agi_context: macro-dialout-trunk
agi_extension: s
agi_priority: 5
agi_enhanced: 0.0
agi_accountcode:

The following application-specific variables also were passed from Asterisk:
ThisApp: /var/lib/asterisk/agi-bin/nv-gizmo.php
DIAL_NUMBER: 6786127695


DIAL_TRUNK: 6


SET VARIABLE DIAL_TRUNK 3

200 result=1
SET VARIABLE DIAL_NUMBER 01016786127695

510 Invalid or unknown command
Couldn't figure out returned string, Returning code=510 result=0
 
under outbound routes how should you set your outgoing trunk sequence?

right now I have route 0-ENUM THEN 1-futurenine then 2-callwithus then 3-gizmo5.

If I call out the call to what is a free number the call goes through futurenine but if I dial 0101 first it will go through gizmo and I get the free call message.
 
You dont need to change your outbound route or add gizmo to your trunk sequence. Read Ward's instructions again. Your call will go thru your regular routes and then Ward's script will intervene and do its work. And if it works, then under your Call logs, you will see the call go out thru your Gizmo trunk instead of your regular trunk, which is F9 in yr case.
 
Thanks for the reply, what I found is if I call Wards old cell number it does go through gizmo every time but I found that when I call my friend on Comcast it will go through gizmo 1 out of 3 or 4 times this is why I thought there was a problem in my setup, I need to find some test numbers that will go through gizmo as free and see if they fail sometmes. Does anyone know of a free number that a human does not answer to test with?
Thanks again
 
Not even getting there..

I am seeing something even more mundane. ON a recently newly set up system, I can get incoming calls (via IPKALL etc).

But having set up this way, a dial-out attempt diesn't even seem to be triggering the following - which to me seems to say that it isn't even triggering the route or trunk for gizmo5 (set up per Wards instructions - how do I debug this?)


-- Executing [01018005551212@from-internal:1] ResetCDR("SIP/21-0a01a620", "") in new stack
-- Executing [01018005551212@from-internal:2] NoCDR("SIP/21-0a01a620", "") in new stack
-- Executing [01018005551212@from-internal:3] Wait("SIP/21-0a01a620", "1") in new stack
-- Executing [01018005551212@from-internal:4] Playback("SIP/21-0a01a620", "silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer") in new stack
-- <SIP/21-0a01a620> Playing 'silence/1' (language 'en')
-- <SIP/21-0a01a620> Playing 'cannot-complete-as-dialed' (language 'en')
-- <SIP/21-0a01a620> Playing 'check-number-dial-again' (language 'en')
== Spawn extension (from-internal, 01018005551212, 4) exited non-zero on 'SIP/21-0a01a620'
-- Executing [h@from-internal:1] Macro("SIP/21-0a01a620", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] ResetCDR("SIP/21-0a01a620", "w") in new stack
-- Executing [s@macro-hangupcall:2] NoCDR("SIP/21-0a01a620", "") in new stack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/21-0a01a620", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing [s@macro-hangupcall:6] GotoIf("SIP/21-0a01a620", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] GotoIf("SIP/21-0a01a620", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing [s@macro-hangupcall:11] Hangup("SIP/21-0a01a620", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/21-0a01a620' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/21-0a01a620'
 
I also noticed if you use it with a ring group, it acts as if the call was picked up. You have to use the confirm calls option.
 
I like the idea of backdoor dialing. Does anymore know more of how they are doing this? There must be a variety of protocols being used to interconnect everything.

For example it would be great to learn more about for example how Time Warner digital phone works. Uncool in my book that we can't talk directly to their server and have to use an ATA to connect their digital phone service to our Asterisk powered / IP phones in the house.
 
Most if not all MSOs currently use PacketCable as their method of providing VOIP. See http://www.packetcable.com/primer/

While Packetcable is based on NCS instead of SIP, and uses the same transport mechanisms as normal VOIP, it is tied to DOCSIS (which allows it to provide QoS that isn't available to "over the top" providers) that will never be open to Asterisk or any other open PBX system.
 
Thanks for the info.

I just wonder if there is anyway to keep it digital. Like a modem that can speak their protocol and sip out another port?

Taking the output of a conventional cable phone modem and running it into an analog adapter seems illogical unless it's the only way.
 
Speaking of Gizmo, they're giving away $2 of free Call Out credit when you purchase $10 of Call Out service this week only. :detectiveb:
 

Members online

Latest Posts

Forum statistics

Threads
26,740
Messages
174,736
Members
20,300
Latest member
gandalf
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top