iaxRpt has always been simple to set up for me. There is definitely not any limitation in using it within a LAN, and in that case it’s actually easier because you don’t have to forward the port in your router.
To access your node from outside your LAN you need to add a port forwarding rule in your router so the IAX port (typically 4569 unless you have more than one node then you could use 4570, 4571, …) will be forwarded to the node’s LAN IP address. But this is not necessary within the LAN where you are connecting directly to node’s local IP address.
Then in iax.conf on the node you need an entry like the following:
[iaxclient] ; Connect from iax client (Zoiper…)
type = friend ; Notice type here is friend <--------------
context = iax-client ; Context to jump to in extensions.conf
auth = md5
secret = put a password here
host = dynamic
disallow = all
allow = ulaw
allow = adpcm
allow = gsm
transfer = no
And in extensions.conf there should be something like the following:
[iax-client] ; for IAX VIOP clients.
exten => ${NODE},1,Ringing
exten => ${NODE},n,Wait(3)
exten => ${NODE},n,Answer
exten => ${NODE},n,Set(NODENUM=${CALLERID(number)})
exten => ${NODE},n,Playback(rpt/node|noanswer)
exten => ${NODE},n,SayDigits(${EXTEN})
exten => ${NODE},n,Set(CALLERID(num)=0)
exten => ${NODE},n,Rpt,${NODE}|P|${CALLERID(name)}
exten => ${NODE},n,Hangup
exten => ${NODE},n(hangit),Answer
exten => ${NODE},n(hangit),Wait(1)
exten => ${NODE},n(hangit),Hangup
Then set up an account in iaxRpt such as the following:
Make sure to use the same port # as the node is set up for in iax.conf eg. bindport = 4569
iaxRpt defaults to 4569 in which case you don’t have to add the port# to the Host address, but if not 4569 then suffix it to the Host address as shown above.