A lot of PSTN providers give either the choice of SIP or IAX. Given the option, is one better than the other? (assuming that NAT is not being used)
If you’re only likely to have one call going over the connection at one time, it probably doesn’t make a lot of difference really, but personally i’d always use IAX if it’s available.
If you’re going to have several calls going over that connection simultaneously, IAX is better, as all channels share the same IAX trunk - reducing networking overheads and therefore bandwidth.
There are a couple of good reasons to use IAX:
First of all, it uses a single port for both signaling and audio. If you can get call setup data through, you can get the call through.
This also means you only need to open up one port in a firewall (at each end). Thus, it really overcomes most NAT difficulties.
As rightbrain points out, IAX promotes efficient use of bandwidth.
Finally, using IAX is a good way to make it even better as a telephony protocol. Given the choice, I personally would always use IAX.