So, I believe this is a limitation native to IAX2. I haven't been able to put my finger on exactly what the problem is, but we run a small ITSP for our Asterisk consulting customers. Literally for years it was never an issue, and then one day - boom, calls weren't being completed. On the ITSP server, we would get "Peer XYZ unreachable" then on the next line, instantly, "Peer XYZ now reachable." Setting Qualify=no only turned off the notifications, but the calls still wouldn't go through sometimes.
I believe IAX2 has a concurrent connection limitation caused by some logistical limitation. Be it processor related, or network interface related I don't know... We never EVER have problems like this on point-to-point IAX2 trunks, but on boxes that host MANY IAX2 trunks, it is consistent, and troubling.
As an ITSP, we configure IAX2 trunks by default, but because of this problem, we've started giving every customer a SIP account that our server fails over to if it can't get through on the IAX2 connection. It is disturbing how often these backup SIP accounts are in use.
I bet this is the same problem vitelity is bumping up against, and the reason for their recommendation that customers use SIP.
I would LOVE to work with someone to figure out what this problem really is - what the limitation is, etc. Don't hesitate to contact me if you think you might know what's going on here...
AndyML