Hello,
I've recently started tinkering with SIP, but I got stuck almost immediately.
Now, as to my setup, an openwrt router/AP, a Fritz Box 7490 and an Android phone as SIP client, see diagram:
siproxd, running on the openwrt router, uses if_inbound = wlan0 and if_outbound = eth0, but the connection cannot be established. SIP headers shown by tcpdump capturing on eth0 show things like From: <sip@192.168.178.1> and To: <sip@192.168.178.1> in the same packet, plus a Via: field which, I believe, is influenced by the host_outbound directive in siproxd.conf, but I'm kind of lost.
I repeated the test with ekiga running on a linux pc connected to the same router, obtaining similarly puzzling results.
Needless to say, the SIP connection cannot be established.
Do not use siproxd or other cheating mechanisms like IP address rewrite, STUN, etc., until the server is really bad and cannot handle such a basic setup.
If I do simple forwarding, then the SIP server won't pay attention because it only listens to traffic originating from the same subnet.
If I do masquerading using the eth0 address, then traffic will reach the Fritz Box but SIP still won't work because there will be other addresses inside.
@AndrewZ suppose I use only iptables/nft, could you please tell me the parameters to use in the SIP client?