What version of yate are you using? What registration module?
Please check that you didn't disable automatic NAT support in ysipchan.conf
section [general] nat=... (is on by default).
Please look in logs - if yate was started with -vvv you will see entries like:
Registered user '???' expires in 3600 s (NAT)
Registered user '???' expires in 120 s
On level INFO (-vvvv) there should be also:
Registration NAT detected: private 'a.b.c.d:p1' public 'w.x.y.z:p2'
You can change the debug levels at runtime by connecting to the rmanager
interface and issuing the command:
debug sip level 9 (9=INFO, 8=NOTE, 5=WARN)
Also look at the 200 OK for the REGISTER request, it should hold a custom
header named X-Real-Contact:
If the phone is configured to use a domain name for building its Contact URI
consider changing it to put the IP address there.
On Wednesday 09 June 2010 01:59:58 pm Alfred Stainer wrote:
> I have a strange problem to make a call between two sip phones.
> The scenario is:
> 1. Yate 3 svn version on CentOs with a public IP
> 2. Phone1 behind a NAT (NAT-1), caller
> 3. Phone2 behind a NAT (NAT-2), called
> Both phone are capable to register to Yate but I cannot make a call from
> Phone1 to Phone2.
> I have captured packets with tcmdump and it seems that the problem is due to
> the INVITE that Yate sends to the called phone because this INVITE is sent
> to the called private IP address instead of the public IP address of NAT of
> And to me the problem seems to be the packet #11:
> public-ip-Yate private-ip-called SIP/SDP Request: INVITE
> sip:called@private-ip-called:5060;transport=udp;user=phone, with session
> because is addressed to "private-ip-called" instead of "public-ip-NAT-2".
> What can be wrong? Configuration?