i have a question about the underlying functionality of IAX. I have two scenarios which achieve the same goal, but I am wondering which is the better (more reliable) method.
Each of my asterisk servers has a a dynamic IAX ‘friend’ specified. Something like this:
[general] register => AST001:email@example.com [AST002] type=friend host=dynamic context=default secret=asterisk transfer=no
[general] register => AST002:firstname.lastname@example.org [AST001] type=friend host=dynamic context=default secret=asterisk transfer=no
Each server knows about and registers with each other server on the network. This method works very well, but is a pain to maintain because if I add or remove a system from the topology I have to go through and update every iax.conf to account for the change.
Each of my asterisk servers has a static IAX ‘friend’ definition with no secret specified, but an explicit “permit” from the IP address.
[AST001] type=friend host=10.2.100.101 permit=10.2.100.102 context=default transfer=no [AST002] type=friend host=10.2.100.102 permit=10.2.100.102 context=default transfer=no
The nice thing about this, is that I simply have the same iax.conf on all my servers and I don’t need to worry about the register statements.
The reason I am even bringing this is up is because the “method 1” servers all work flawlessly. They run and never throw an IAX errors. The servers I have configured with “method 2” occasionally post the following to my log files:
[Feb 16 17:57:34] WARNING chan_iax2.c: Max retries exceeded to host 10.2.252.187 on IAX2/VRU007-7269 (type = 6, subclass = 11, ts=370043, seqno=110) [Feb 16 17:57:42] WARNING chan_iax2.c: Max retries exceeded to host 10.2.252.187 on IAX2/VRU007-7269 (type = 6, subclass = 2, ts=378022, seqno=111)
To make a long story short… I am just wondering if these errors are generated by the method in which my IAX connections are made, or if perhaps it’s something unrelated.