[Serusers] Nat_uac_test failing with ATA v3.2 behind NAT, ATA v3.1 works

Jon Mansey jon at tigrisnet.net
Wed Jul 6 21:48:53 CEST 2005


Hi Serusers,

I have 2 ATAs, one is V3.1 and one is V3.2, they are both behind NAT and are
behaving differently when registering. With 3.2, the nat_uac_test does not
apparently detect it is behind NAT and leaves the flag at 0 in the location
table. V3.1 works fine. 

I can see why nat_uac_test() may be failing, because the ATA seems to have
auto-magically detected its public IP and is using it in the via: header,
thus receive!=via test fails! Also the contact has the public IP, so the
RFC1813 test fails. I have not configured the NAT IP or server in the ATA as
the NAT public IP is dynamic. 

Although the v3.2 ATA seems to have figured out its public IP, it still uses
its private IP in the INVITE sdp c= headers, so we get no media. And because
the nat flag is 0, the rtpproxy doesn't kick in and fix things.  Notice the
call-id of the register message includes the private ip.

Anyone familiar with ATA firmware versions and features know the magic
incarnation to shut off the "auto-detect public IP", ahem, "feature" in
v3.2? Or any other suggestions for how to make nat_uac_test() get a positive
when it gets one of these smart REGISTERs from behind NAT?

Im running the old version of SER 0.8.12 still where nat_uac_test only has 1
2 or 3 options, not the new one that has "19", would that make a difference,
upgrading to v0.9?

Here are the ngreps of REGISTERs from the 2 versions: (public Ips masked)

V3.1 works fine, nat_uac_test results in flag 1 in location table, rtpproxy
works fine

>From ata v3.1 behind nat1 to ser server:

U <nat1 pub ip>:49121 -> <pub ip of ser>:5060
  REGISTER sip:sip.mycompany.com SIP/2.0..Via: SIP/2.0/UDP 192.168.0.11:
  5060..From: <sip:20210 at sip.mycompany.com;user=phone>;tag=933299358..To
  : <sip:20210 at sip.mycomapny.com;user=phone>..Call-ID: 4033019825 at 192.16
  8.0.11..CSeq: 1 REGISTER..Contact:
<sip:20210 at 192.168.0.11:5060;user=phone;
  transport=udp>;expires=3600..User-Agent: Cisco ATA 186  v3.1.0 atasip
(0402
  11A)..Content-Length: 0....


And from ata with v3.2

U <pub ip of nat2>:5060 -> <pub ip of ser>:5060
  REGISTER sip:sip.mycompany.com SIP/2.0..Via: SIP/2.0/UDP <pub ip of nat2>
  :5060;branch=z9hG4bK1c6d78542c385f5e..From: <sip:202111 at sip.mycompany.com
  ;user=phone>;tag=2453464613..To: <sip:202111 at sip.mycomapny.com
  ;user=phone>..Call-ID: 1193202309 at 172.16.1.100..CSeq: 1 REGISTER..Con
  tact: <sip:202111@<pub ip of nat2>:5060;user=phone;transport=udp>;expire
  s=3600..User-Agent: Cisco ATA 186  v3.2.0 atasip
(041111A)..Content-Length:
   0....


 Thx in advance,

Jon




More information about the sr-users mailing list