Google+

VOIP CALL ROUTING











Recently a few services have popped up that allow "free" calls to various international points. There are all based in the U.S. state of Iowa, and the way they work is that you call a regular number in Iowa, wait for a prompt, then dial the number you want to call. As best anyone can determine, there must be some quirk in Iowa telecommunications law that allows them to charge higher than normal termination charges on connected calls, and they use VoIP to complete the calls, so they actually wind up making anywhere from a fraction of a cent to a few cents on each minute of use. If the Federal Communications Commission ever reforms the ridiculous compensation system we have here, these companies will probably be out of business overnight.

NOTE: on January 29, 2007 AT&T filed a lawsuit that "seeks to stop FuturePhone as well as the telcos who provide local infrastructure from continuing with their operations that use regulatory-fee arbitrage and VoIP to provide international calls for only the price of a long-distance call to Iowa." (quote from linked article). This has already resulted in some of these companies discontinuing or modifying their service.

For now, if you have "free" calling within the USA, and can place calls to the Iowa numbers that are still in operation, you can then get connected through to numbers in other countries, including Mexico (which is a fairly high cost call on many U.S. long distance plans) at no additional charge.

The challenge, then, is whether Asterisk/FreePBX can work in this manner. Assuming a user dials an international call to certain countries, select an outbound trunk (that allows completion of U.S. calls) and then do the following:

1) Connect to a particular U.S. number (NOT the number dialed by the user),
2) Wait for the other end to answer, then wait until it is ready to receive digits (a couple seconds timeout may work),
3) Send DTMF tones, possibly interspersed with waits, to the other end, representing the number the caller originally dialed, but the number MIGHT have to be massaged a bit. For example, if the caller is in a country where you dial 00+country code+number and the U.S. system expects 011+country code+number, you'd need to strip the "00" and add the "011." Also I believe one of the systems has an initial prompt that is something like "press 1 for English, press 2 for Spanish" so in some cases there may be a need to prepend additional digits and/or wait states.

Now, I have determined that it IS possible to have Asterisk send post-connect DTMF digits and waits. For example, if you were to add this to extensions_custom.conf in FreePBX or Trixbox:

exten => *20,1,Dial(Local/18005558355@outbound-allroutes,,D(wwwwww932))
exten => *20,2,Hangup

Assuming you had a route for U.S. 1-800 numbers, when the user dials *20 it would place a call to the "TellMe" service, then wait three seconds, then send DTMF for 932 ("WEA") which would take you directly to the WEAther forecast section (to further automate it for a particular location, you could add a few more waits - I've found that wwwwwwww is about right - after the 932, and then a five-digit U.S. zip code). The point is that the caller never hears the tones that are being sent because the audio path doesn't connect until after the digits have been sent (which would make this technique useful for sending account codes, etc.)

I will list a few of these "free" international call services below. Remember that the numbers you have to call are NOT toll free, so they are only "free" if you have unlimited U.S. calling, or are using a cell phone with "free" airtime, etc. Also, I have no connection to any of these companies, so I cannot say whether they might save the calling or called numbers for any reason - obviously if you are highly concerned about privacy of communications, you would want to investigate these services further before using them. Please note that the list of countries that can be called through each provider may change without notice.



No comments:

Post a Comment

Mr Deb Kumar Roy Waiting For Your Comment