I have a network of offices using Asterisk that are connected via IAX2 trunks. The trunks work great for a day or two then for no reason at all one end of the trunk will become UNREACHABLE while the other end is still connected. The only way to fix the problem is to shutdown Asterisk completly then start it backup again. The end that dies is not always the same, some times it is server A and some times it is server B. Never have I seen that both ends die, just one. The side that is still connected can make calls to the end that died but not the other way. If you call from the server with the dead IAX2 trunk you here "All circuts are busy now." All networks have static IP addresses and their firewalls are setup to allow UDP 4569 to come in to the Asterisk systems.<br>
<br>I have been doing a lot of research into this problem. I found this bug tracker <a href="http://bugs.digium.com/view.php?id=5912">http://bugs.digium.com/view.php?id=5912</a> that talks about it being an old problem with version 1.2.1 using rand() and it not being thread safe. This I can understand. The thread proposed using rand_r() or ast_random() in place of rand(), that sounds like a good idea. So when I look at my newer 1.2.18 version I find that it is still using rand() and the bug tracker continues to be opened and closed and reopened again and again.<br>
<br>Do I dare ask if anyone has a reliable IAX2 trunk? If so how? Should I avoid using IAX2 all together? I know SIP trunking is an option but it becomes a real management problem with trying to deal with all the many ports that need to be open through the firewalls, IAX2 seems like a better way to go if only it was reliable.<br clear="all">
<br>-- <br>Open Source: To innovate then create<br>Proprietary: To imitate then litigate