Asterisk IAX User Matching

I spend another couple hours tonight banging my head on the keyboard fighting a "No authority found" error in Asterisk. This seems to come up pretty regularly when I bring up new IAX trunks, but this one was an old trunk I was trying to recover. I'm not sure if this is a new feature in Asterisk 13 or what, but turns out that incoming matching rules only look at "type=user" (or "type=friend") entries. That's different from SIP channels which will match on either one. So lesson learned.


Asterisk "(null)" SDP

I configured a trunk between two Asterisk boxes. The one is behind a NAT and was able to register to the other with no problem, but calls failed with a cryptic message that DNS resolution for "(null)" failed. Looking at a SIP packet capture, I saw something to this effect:

Contact: <sip:s@(null);transport=TCP>


Perl DUNDi Library

I've started work on a Perl DUNDi library. At this point it does some basic parsing of input, but nothing regarding output.

You can follow along at Source is on Github at

To learn more about DUNDi, see


Speaking At OpenWest 2014

OpenWest Logo
I will be at the 2014 OpenWest conference with a presentation titled "Secure Your VoIP with Asterisk and Kamailio". Looks like they have me penciled in for 3pm on May 9th. Watch the schedule for changes and take a look at all the other awesome talks as well. I've attended and presented a number of times at OpenWest (aka UTOSC) and it's always a great venue.


Asterisk Experiment: IPv6 and TCP

I couldn't tell you how long these features have been in Asterisk but I decided to give IPv6 and SIP/TCP a try in the latest 1.8 release. Basically it's a simple process. There are no special options required in the build, not that I could find anyway.

Once it's installed, there are two configuration options that need to be set. By default Asterisk will only listen on IPv4 and UDP so add these options in sip.conf:


UTOSC 2009 Is Full Steam Ahead!

And with that, I've uploaded all my slides for the Utah Open Source Conference. My goal was to have them ready by last night, so I'm a bit late. Still better than last year where I only had one presentation and I was still updating my notes the night before. If you're looking for me make sure to check the schedule as there have been some changes, and there may well be more to come. Also look for my late addition where I'll be joining Gabe Gunderson of izeni to talk about VoIP (specifically FreeSWITCH and Asterisk).


VoIP Routing Loop

The other day my boss and I managed to create a call routing loop between two of our phone systems. It was kinda fun, in one of those painful ways. Here's how it went down.

Phone system A has extensions in the range of 2XXX. Phone system B has extensions in the rage of 1XXX. The PBXes have an IAX2 trunk between them to allow direct dialing. The phones themselves have a dialplan which recognizes 1XXX and 2XXX as patterns, which allows for faster dialing. Users must dial a 9 to reach an outside line.

There was just a slight problem. Due to a misconfiguration on my part, B was set up to route any unknown 1XXX extensions back over to A. For a real extension, say 1000, the rule wouldn't match because B would know to send that call to the local user. But let's say that somebody's boss forgot to dial a 9 when dialing a long distance number. So the phone sees the first 4 digits, 1 + area code, and assumes it's an extension. A sends the call to B. Well, that extension didn't exist so B sent the call back to A. That would be the point when the fun began.

I would have thought that the PBXes would create a whirlwind of calls until the original call eventually timed out and broke the chain, thus bringing all the calls to a halt. But somehow that isn't what happened. The system stabilized at 400 or so active channels. Sat that way for a few hours I believe. What finally did stop it was my removing the rule to allow 1XXX over the IAX2 trunk from B to A. Within just a few seconds all the calls came to a grinding halt (in a good way).

I've decided then that having local extensions that start with a 1 is a less than desirable thing. It's not the end of the world, but avoiding it can relieve some potential headaches so I intend to eschew it where possible.



Subscribe to RSS - asterisk Subscribe to - All comments