This is the second in our two-part roundup of the best unlimited calling plans for Asterisk®. You can read the first installment here. The number of options for Asterisk residential users wanting an unlimited international calling plan has fluctuated between zero and one depending upon how brave you were in dealing with BroadVoice's Terms of Service. Frankly, we've pretty much written off BroadVoice's so-called unlimited international calling plans for residential use because of the number of backbilling complaints logged on the Voxilla Forum.

Finally, there's not only some competition but also a ray of hope. Axvoice Inc. has recently announced two new unlimited residential calling plans with full bring-your-own-device support for Asterisk. An $18.99 plan provides unlimited calling within the U.S. and Canada. Spending $4 more buys you unlimited calling within the U.S., Canada, and all or parts of the following countries: Buenos Aires, Argentina; Australia; Chile; Denmark; France; Germany; Hong Kong; Ireland; Israel; Italy; Monterey and Mexico City, Mexico; Netherlands; Norway; Moscow and St. Petersburg, Russia; Singapore; South Korea; Spain; Sweden; Taiwan; United Kingdom; and Vatican City. As usual, mobile, premium, and special numbers are not included in the program. The fine print places a 4,000 minute usage cap on residential service before it is considered business use. This seems more than reasonable considering that such a number gives the residential user over two hours of free calls per day, every day of the year. Stated another way, the $22.99 international calling plan provides up to 4,000 minutes of calling per month to 24 countries for an average per minute cost that works out to just over a half cent a minute. Compared to the BroadVoice approach which leaves you guessing (at your financial peril) what the usage caps are for their various unlimited* calling plans, the Axvoice approach is a breath of fresh air. If you need to stretch your minutes and receive significant numbers of incoming calls, you can supplement your all-you-can-eat plan with a BYOD plan featuring unlimited, free incoming calls for $8.99 a month. Or you could simply add another all-you-can-eat plan for an additional 4,000 minutes. You can't beat the price, and all of Axvoice's plans include two free incoming DID numbers from a broad selection of area codes within the U.S. and Canada. Currently Axvoice is waiving the $9.99 setup fee for bring-your-own-device users. How do the calls sound? Ours sound great. Your mileage may vary. But you can try it for yourself with their 30-day money-back guarantee. So you really have nothing to lose by trying out their service. And, if you stay with Axvoice, all of their bring-your-own-Asterisk plans are month to month so there are no long term commitment issues.

The equally important question for Asterisk users is always the same. Does it work well with Asterisk? Again, the good news is that, once configured, Axvoice and Asterisk are a match made in heaven. In fact, Axvoice uses Asterisk at their end so you wouldn't expect anything less. Axvoice is a relatively new company, but you'll notice some marked differences from BroadVoice if you've endured BroadVoice support with their long waiting times and frequent disconnects while on hold. I think I was one of the first home users that wanted to set up Axvoice service with Asterisk so I can't say it was painless, but I can pretty much assure you that the process will be close to painless for you. We wrote down the answers! At least as this article goes to press, when you sign up on their site, you won't be greeted by much of any documentation pertaining to Asterisk configuration. All that's about to change if you keep reading here. Again, they're a new company, and we pretty much knew going in that it probably would be a bumpy ride. At least for the first three days, we weren't disappointed. The good news is that email inquiries always were returned with a helpful answer within an hour or so. And calls to their toll-free number were answered in less than a minute both during the business day and at night. You really couldn't ask for much more.

I think it would be fair to say that Axvoice's typical customer up to now has pretty much been like Vonage's, dumb as a brick about technology and looking for a good deal on an unlimited VoIP calling plan. So, when you call for customer service, the typical first response is to inquire about your router/firewall. And they fully expect you to answer by saying, "What's that?" Unlike Vonage, Axvoice fully supports Asterisk with an open SIP configuration. But it took some perseverance to get to the person who knew the answers. Some of the first-level customer service reps were having a difficult time both with English and trying to understand that we, too, had an Asterisk server ... at our home. "Really?" was a typical response. Once we got by all of that, the Asterisk configuration information was detailed and to the point. The other wrinkle we experienced had to do with their support for the G.729 codec. We only have one license which may have been the problem. Outgoing calls with G.729 worked fine, but incoming calls that first hit our AutoAttendant and then get transferred to a default extension lost the outgoing part of the audio. This may be because Asterisk treats the two voicepaths (incoming and the answering extension) as two separate channels requiring two, rather than one, G.729 license. When payday rolls around, we'll splurge for another $10 G.729 license from Digium®, and let you know the results. In the meantime, the default ulaw codec works great.


Configuring Asterisk Trunk for Axvoice. Assuming you decide to take the dare and sign up for a test run, what you're going to need to get Asterisk running with Axvoice is your account ID (not a phone number) and your password. If you've followed along in our previous Asterisk@Home tutorials, then the process to set up Axvoice will be familiar. Be sure UDP ports 5004-5082 and 10000-20000 are opened on your firewall and pointing to your Asterisk server. We'll create a trunk for Axvoice and then add Axvoice to our dialplan to take advantage of their calling plan. Using the Asterisk Management Portal, goto AMP->Setup->Trunks and Add a New SIP Trunk. You can leave the CallerID field blank since this is configured on Axvoice's web portal. For maximum channels, enter 2. For Outgoing Dial Rules, enter the following but be aware that this dialplan will allow international calling to many country codes that are NOT free under the Axvoice unlimited international calling plan. If this is a problem in your household, you'll need to make your dialplan much more country-code specific.

1+NXXNXXXXXX
1NXXNXXXXXX
011X.

For Outgoing Settings, name your trunk axvoice and then enter the following Peer Details substituting your username (3 entries) and password (1 entry) where appropriate:

allow=ulaw
authname=yourusername
canreinvite=no
context=from-sip-external
defaultip=sip.axvoice.com
disallow=all
dtmfmode=rfc2833
fromdomain=sip.axvoice.com
fromuser=yourusername
host=sip.axvoice.com
insecure=very
nat=yes
secret=yourpassword
type=friend
user=phone
username=yourusername

Leave the Incoming Context and Details blank. Enter your registration string as follows using your actual username and password. Then save the trunk and click the red bar to reload Asterisk.

yourusername:yourpassword@sip.axvoice.com

You will recall from our previous article on the subject that the [from-sip-external] context passes incoming calls to our Stealth AutoAttendant for processing. So Axvoice incoming calls will be handled in the same way as incoming calls from your other PSTN and VoIP trunks.

Adjusting Outgoing Dialplans for Axvoice. To adjust your dialplans to take maximum advantage of Axvoice, choose AMP->Setup->Outbound Routing. Then for your Local, InState, TollFree, and US dialplans, edit each of them and Add the SIP/axvoice trunk. Then use the arrow keys to move Axvoice to the top of each list. You'll also want to add a new International route with the following Dial Pattern: 011X. which designates all calls beginning with 011 and at least two more digits as international calls. Now choose SIP/axvoice as your one and only trunk for international calls. If you want a fallback trunk, Voxee would be our recommendation. They have incredibly low per minute rates. Now save your trunk settings and leave the international dialplan at the bottom of your list of Dialplan Routes.

Making a Test Call Using Axvoice. To be sure everything is working swimmingly, start up Asterisk in interactive mode using the Command Line Interface (CLI) so that you can actually watch what's happening when calls are placed and received. This works best if you connect to your Asterisk server through SSH from a Mac or PC. SSH comes with every Mac and the syntax is simple: ssh root@AsteriskIPaddress. If you're still chained to Microsoft, download Putty from the Mother Country, and you can do the same thing using a Windows machine. Once you're logged in as root, issue the following command: asterisk -r. Quit ends your Asterisk CLI session, and exit logs you out of your SSH session. Now issue the command: set verbose 10 to get maximum information. Then place a U.S. or international call and watch what happens. You should see something similar to the following which shows that the call was placed using the new axvoice trunk:

-- Called axvoice/18435551212
-- SIP/axvoice-2cbf is ringing

Asterisk: The Future of Telephony. O'Reilly Publishing finally released a great book on Asterisk last week. The book is available directly from the publisher or from Amazon. In addition, O'Reilly is providing the PDF version at no cost under a Creative Commons License. It's a carefully written book and an easy read for beginners as well as those with lots of Asterisk miles under the belt. It does not cover Asterisk@Home. And what more can we say about O'Reilly Publishing. O'Reilly is simply one terrific company that just keeps getting better! Some other Asterisk books are now available as well. You can read all about them here. And at least one Asterisk@Home book is currently under development ... not from us. We don't do books. You can always tell when a new technology is really taking off by watching for book publications. For those that have been following these tutorials, I think you understand why Asterisk is finally earning its rightful place in the limelight.

Other Tutorials. There are numerous additional articles in this Asterisk HOW-TO series to keep you busy. You can read all of them by clicking here and scrolling down the page. We recommend reading at least the first four or five articles from the bottom up so that the learning curve is less painful. Disclaimer: As we have mentioned previously, we typically sign up for referral credits when we try out a new VoIP service. If our referral credit links give you heartburn, don't use them. We do it to help defer costs of this column. It doesn't influence our views of the providers as you probably can tell from our discussions of BroadVoice. They too have a referral credit program, and we still don't like their current terms of service. Fortunately, thanks to Axvoice, international callers finally have another viable unlimited calling plan option.

Coming Thursday: AsteriDex -- The Poor Man's Rolodex. We're excited about our latest free software offering and think you will be, too. AsteriDex is a web-based application that lets you store phone numbers of all your friends and business associates in a simple-to-use MySQL database. But, it's much more with Asterisk! Just call up the application in your favorite web browser from anywhere and click on the contact you want to call. AsteriDex will first call you at the number you've designated for this contact, and then AsteriDex connects you to your contact through an outbound call made using your Asterisk server. For those lucky enough to have GrandStream's GXP-2000 IP phone with AutoAnswer, you can even configure AsteriDex to automatically activate the speakerphone and then place the call to the contact you've selected. In short, it works exactly like Microsoft's TAPI software without the configuration nightmare or your favorite (required) Micro$oft bloatware. Installation and configuration for your Asterisk@Home system is a snap and takes less than 10 minutes. It also works with vanilla Asterisk running the Asterisk Management Panel (AMP) software. Someone is probably saying, "Can't you do the same thing with CRM?" Well, yes and no. If you need full-blown contact management, then sure you can. Just be sure to save an extension for the account you are using to log in using the format sip/204. CRM will dial out using your default Asterisk outbound dialing rules, and it works great. But be prepared to spend several months getting all your contact information entered. AsteriDex is quick to implement and simple to use because it only does one thing: places calls for you using a web interface to all your favorite callees. The software is distributed without charge pursuant to the Creative Commons License.

Be Sociable, Share!

This article has 14 comments

  1. What?!!? …We don’t do books… Ward, all I can say is THANKS for your BOOK of tutorials on REAL world examples… Where the REAL lessons take place!!! 🙂

  2. Ward – I have followed your stuff from the beginning and have a full-blown implementation with a SPA-3000, IAXy, etc. (I was actually slightly ahead of you in trying "stuff" but you have taught me a great deal. PLEASE keep it up!

    The one thing you mentioned a while back is automatic call blocking and unblocking. I’d really like to give this a try. I found some instructions from another blogger and plan to give it go but was wondering if you have a clearly written article coming up in the Ward Mundy style (i.e. easy to implement) 😉

    [WM: Hopefully next week we’ll get to call blocking or blacklisting. If you want to get a head start (again), here’s the guy that put it down where the goats could get it.]

  3. Thank you for the link to the Asterisk pdf.
    Keep up the great work.

  4. Hello WM:
    I am enjoying – and learning and using – your ongoing A@H series. Just to bring this to your attention, I signed up for a 30-day trial with axvoice and then decided to cancel it. Here is what they responded with:

    Hi,

    We do not support faxes. If you have any quality issues we might be able to
    assist you if you can call our Technical Support at 888-277-8647. We can
    cancel your account but the money is not refundable because the 30-Day money
    back Guarantee does’nt apply to BYOD option. Minimum term for this option is
    one-month.

    Support
    Axvoice Inc.

    Needless to say, I am disappointed with their response.
    Thanks

  5. Tried this configuration but incoming calls are not working. Fromt he cli in Asterisk with verbose on 10 it shows:

    Verbosity was 3 and is now 10
    — Executing AbsoluteTimeout("SIP/stayhosted-a275″, "15″) in new stack
    — Set Absolute Timeout to 15
    — Executing Congestion("SIP/stayhosted-a275″, "") in new stack
    == Spawn extension (from-sip-external, s, 2) exited non-zero on ‘SIP/stayhosted-a275’
    — Executing AbsoluteTimeout("SIP/stayhosted-a275″, "15″) in new stack
    — Set Absolute Timeout to 15
    — Executing Congestion("SIP/stayhosted-a275″, "") in new stack
    == Spawn extension (from-sip-external, h, 2) exited non-zero on ‘SIP/stayhosted-a275’

    Any help greatly appreciated.

    [WM: Take a look at the Managing Incoming Calls section of our HOW-TO article on Asterisk@Home 2.2.]

  6. Ward,

    I’ve signed up to use Axvoice service and have followed your instructions to configure AAH for axvice. Incoming calls are working OK but I’m having a problem with outgoing calls. When I try to make an outgoing call, I get the following message in the Asterisk CLI:

    –SIP/axvoive-35ab is circuit-busy
    == Everyone is busy/congested at this time (1:0/1/0)

    From googling, I’ve come across some references to wrong CODEC being used, but am unsure if this is the problem.

    Any help would be appreciated.

    Thanks,
    Dave

    [WM: Call AxVoice. They have very good tech support.]

  7. Since Axvoice uses asterisk as well, feature codes overlap. While it’s nice to assume we’ll never need to use the features on the Axvoice side with out own asterisk installation, fact is outages happen, carrier or otherwise. In order to be able to dial asterisk feature codes from hand sets I’ve been trying to find some sort of digit translation… atleast that’s what it’s called in the avaya world. Say **98 is dialed, I want *98 outpulsed on the Axvoice trunk. I’ve googled asterisk digit translation and came up empty, perhaps I don’t know the correct Asterisk term for what I want to do? All I really want is **. = *. on x trunk. Any ideas?

  8. I have configured my asterisk box for axvoice using exactly the instructions provided… Could not figure out why asterisk is not registering to axvoice. Ports are opened on the firewall and other Voip providers are working just fine in my * box. Any ideas? I turned the qualify=yes and get unreachable on sip show peers. On the full log, I get 216.143.130.36 timeout (sip.axvoice.com)…

    [WM: Sounds like an incorrect username or password. If not, it may be something at Axvoice’s end. Give them a call. They have great support.]

  9. I’m wondering why there is no incoming settings required? I am having problems getting calls with axvoice.. When monitoring the system from CLI.. I get the following;

    — Executing Set("SIP/mezzan-c767″, "TIMEOUT(absolute)=15″) in new stack

    — Executing Set("SIP/myusername-f168″, "TIMEOUT(absolute)=15″) in new stack
    — Channel will hangup at 2006-04-21 01:38:52 UTC.
    — Executing Answer("SIP/myusername-f168″, "") in new stack
    — Executing Wait("SIP/myusername-f168″, "2″) in new stack
    — Executing Playback("SIP/myusername-f168″, "ss-noservice") in new stack
    — Playing ‘ss-noservice’ (language ‘en’)
    — Executing Congestion("SIP/myusername-f168″, "") in new stack
    == Spawn extension (from-sip-external, s, 5) exited non-zero on ‘SIP/myusername-f168’

    When I dial in to the PBX i get a message "The number you have dialed is not in service"

    Not sure what I did wrong since I followed instructions here and triple checked..

    [WM: Contact the provider. If the number is not in service, there’s a problem at their end.]

  10. the last comment *asterisk* reporting that, because the ‘from-sip-external’ only has it. You need to comment that portion out and add in where you want the calls to go.

    Also, AXVoice does not pass DID or CID info. So if you have a couple #s that you want to point to different location (ie, one # to directly dial you, one # to goto Digital Receptionist) that will not work.
    I’m in talks with this about this necessity, and hopefully they fix it soon.

  11. I think asterisk is great. I use NV trixbox because it is the best VMware precompiled machine out there. I have 4 incoming lines working and created a 00X. outgoing route and added the same on every trunk.

    When I dial any outgoing international number (for ex: 0032484425525) the lady tells me the number (this example: 32484425526) is not in the directory. Goodbye!

    I am missing something here but have been trying for over a month now but can not seem to find it. Any ideas? I am desperate for a solution.

  12. I’m having what appears to be the same problem as Fabrizio. I’m using AxVoice and I can place calls but can’t receive. When I call myself from an external line such as a cell phone, I’m getting the "The number you have dialed is not in service." This is clearly coming from my PBX and not AxVoice, based on these lines I noticed watching the CLI:

    — Executing Playback("SIP/ksandrick-08857508″, "ss-noservice") in new stack
    — Playing ‘ss-noservice’ (language ‘en’)
    — Executing PlayTones("SIP/ksandrick-08857508″, "congestion") in new stack
    — Executing Congestion("SIP/ksandrick-08857508″, "5″) in new stack

    I can’t seem to find any resources, anywhere that indicate what the incoming settings should be, other than blank, which doesn’t seem to be working. Any thoughts/insight/assistance would be greatly appreciated.

    Very respectfully,
    Kris

    [WM: I have repeatedly contacted AxVoice about these connection problems. They swear the problems are generated at our end by connection at odd UDP ports instead of 5060. If you want it to work, you’ll need to call them and politely ask what port they are showing your connection on. It’ll probably be something up in the 30,000 to 50,000 UDP range. Then open that port on your firewall and point it to the internal address of your Asterisk server. An Asterisk UDP expert can probably explain why this is happening, but all I know is how to fix it. Sorry.]

  13. Hooray! Fixed it! Turns out I had the context wrong in my peer details. Corrected that and all was well. Thanks NV and U. Ward!

    [WM: Just like size… context matters.]

  14. Axvoice is just a reseller – their backend is RNKTelecom – a very solid provider. So when you e-mail support, you are actually e-mailing RNK. Now try to get a hold of Axvoice for billing or problems with an account – you’ll find that they’re probably just a guy sitting in a bedroom running the site. There are other resellers of RNK – Voxby.com is one. I’m with Axvoice but am trying to get out.

    [WM: Let’s be fair. There are at least a couple of guys.]