Questions about IAX2 protocol - IEs

Hi:

I’m a relative noob so feel free to steer me if I’m asking this at the wrong place. I’m working on an implementation of the IAX2 protocol and I have a few questions.

  • In the NEW message I can see an IE field 0x2d. In the Asterisk implementation that I’m using this usually contains a value of “D”, but I have seen “GDC” in some cases. Can anyone point me to the documentation that describes this field?
  • In the NEW message there are two IE fields for “extended CODEC” negotiation: 0x37 and 0x38. I’m assuming this is related to the bit capacity issues on the original CODEC mask. Can anyone point me to the documentation that describes this field?

Thanks,

Bruce

Have you reviewed RFC 5456: IAX: Inter-Asterisk eXchange Version 2

You might also review the following:

Is IAX2 still best trunk type for Internal Calling between FreePBX Systems? Specifically related to Encryption - General Help - FreePBX Community Forums

Incidentally, one of the major supporters of the “if it ain’t broke don’t fix it” approach, Dave Burgess, passed away.

My recommendation to you is:

  1. Upgrade your Asterisk to the latest version

  2. Use the chan_pjsip driver for inter-Asterisk trunks

IAX2 is very much like chan-sccp/chan-sccp: Replacement for the SCCP channel driver in Asterisk. Extended features include Shared Lines, Presence / BLF, customizable Feature Buttons, and Custom Device State. Visit our discussion mailing list for help and join us as a developer if you like.

It works if you have history with it, experience with it, and an environment setup for it.

But if it’s a greenfield Asterisk deployment - your kind of on your own with it, you will get much more help just doing SIP trunks. Most would recommend against choosing it for greenfield deployments.

Thanks for getting back to me Ted.

Yes, I’ve looked over RFC5456 carefully. I raised those questions because they are not covered by the RFC.

I should have made it clear what I meant by “IAX2 implementation.” I have built an IAX2-compatible device that is entirely independent of Asterisk. I’m not deploying a new Asterisk network and I’ve never used Asterisk.

From your response and other discussions on this forum I can see that IAX2 is not mainstream. I am working in the AllStarLink network which is, for better or worse, 100% IAX2. I was hoping someone knew what those fields did off the top of their heads, but I see that might be wishful thinking. :slight_smile: I’ll start reading the code!

Thanks for the info.

Does ASL3 still use IAX2? I took a look at AllStarLink and it appears as though they are pushing ASL3 now and IAX2 seems to appear nowhere in the documentation for that - while it appears liberally in the ASL2 documentation.

I’d hazard a guess that the maintainers of ASL3 know that they are not interoperable with anything that’s left alive in the world, and as a result may have taken liberties with the IAX2 protocol. I would not trust that “their” implementation of IAX2 is the same as, for example, the IAX2 protocol in the Idefisk softphone (which was renamed Zoiper, and may or may not still support IAX2) You can still get idefisk that supports IAX2 from locations like Download IDEFISK 2.00 if you want it for testing…

On Saturday 13 December 2025 at 15:32:58, TedM via Asterisk Community wrote:

I would not trust that “their” implementation of IAX2 is the same as, for
example, the IAX2 protocol in the Idefisk softphone (which was renamed
Zoiper, and may or may not still support IAX2)

Frequently Asked Questions :: Zoiper suggests that it does - the
page contains instructions for IAX2, and is about Zoiper 5, which is the
latest version.

You can still get idefisk that supports IAX2 from locations like Download
IDEFISK 2.00

Antony.


“I estimate there’s a world market for about five computers.”

  • Thomas J Watson, Chairman of IBM

Hi Tom. Yes, ASL3 is still very much IAX2 based.

From what I can see, the ASL3 maintainers are just taking Asterisk as-is, so they are unlikely to be taking any “liberties” with the protocol. Most of the ASL3 work is up one level in the application. There are so many struggles dealing with the networking side of things (port forwarding, etc.) I don’t think there’s much interest in changes at the networking/protocol level. It’s just too painful for a non-commercial environment.

I’ve recently built my own IAX2 implementation from the documented RFC and it interoperates with ASL3 just fine, so that tells me that they have not diverged at all.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.