IAX-Based Registration
This documents how to use IAX-based registration instead of HTTP-based registration with ASL3.
Do Not Do This "Just Because"
Only convert your node to using IAX-based registration because you have a known problem using HTTP registration. Use of IAX registration requires significantly higher server use than HTTP registration, and 99+% of all users DO NOT have a reason to use it.
Reason to use IAX-Based Registration
The following are the only reasons to use IAX-based registration with ASL3:
-
Outbound HTTP/HTTPS is blocked, but you have outbound UDP port access available. For example, your node sits behind a proxy or other security or content filtering device that breaks ASLv3 registration. If you can browse web pages on your internet connection, this is not your situation.
-
Your node is behind a connection that handles HTTP traffic differently than IAX traffic. Known examples are AT&T and T-Mobile hotspots. These hotspots intercept/direct web (HTTP/HTTPS) traffic and route it differently from IAX traffic. In these cases, the HTTP-based registration will register a proxy/accelerator IP address, rather than the IP being used by the node.
Using IAX Registration Instead of HTTP Registration
To change from HTTP to IAX registration, do the following as root (i.e. use sudo -s
):
-
Edit
/etc/asterisk/modules.conf
and change the line forres_rpt_http_registrations.so
from "load" to "noload":noload => res_rpt_http_registrations.so
-
Edit
/etc/asterisk/iax.conf
and add aregister =>
line under the[general]
stanza. This can be copied from a functionalrpt_http_registrations.conf
file:[general] register => 63001:VerySecret@register.allstarlink.org
-
Restart Asterisk with
systemctl restart asterisk
-
Run the Asterisk CLI with
asterisk -r
and test the IAX registration with the commandiax2 show registry
:node63001*CLI> iax2 show registry Host dnsmgr Username Perceived Refresh State 34.105.111.212:4569 Y 63001 192.0.2.171:4569 180 Registered
If it lists "State" as "Registered" you're all set.