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 is 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.
-
Your node is behind a connections that handle HTTP traffic differently than IAX traffic. A known example is AT&T and T-Mobile hotspots. These hotspots intercept/direct web (HTTP/HTTPS) traffic and route it differently from IAX traffic. In these use 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 console 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.