[Serusers] Strange ATA-186 register behavior

Mike voipguy at spam.turbolink.net
Thu Nov 6 05:26:09 CET 2003


I think I've figured out most of the weirdness...

The ports are going up sequentially because the ATA is behind NAT, and
each time it registers it uses the next port up...

It looks like with the new ATA firmware the cisco doesn't remove the old
registrations properly anymore.  The release note suggests that instead of
doing removing Contact: * it's supposed to remove only the contacts it
thinks are registered, but then it look like it removes anything at all.

So the list of contacts for 6526 at sip.test.net keeps growing and growing
until eventually there are dozens of them registered and it overflows a
buffer inside SER somewhere that causes that packet that goes back to the
ATA to become corrupt, so the ATA thinks it failed and registers again.

I'm not entirely sure why the ATA is doing this (firmware 2.16.2) but a
possible fix would be to hack SER to remove all the previous contacts in
the db when it's seen again?  I'll have to look into that.

- Mike

On Thu, 6 Nov 2003, Jiri Kuthan wrote:

> The part which strikes me is the port number in contact.
> The 200 returns lot of such contacts with ascending port
> number. A possible explanation is that the ATA mistakenly
> registers all over again contacts which are differnt
> each timer (different port number). They are handled
> as distinct contact by SER and that's why so many appear
> in 200.
>
> Maybe it happens because ATA does not think it received
> the reply. It is a bad practice that it solicits replies
> at a different port number (1388) than from which it sends
> (1387).
>
> Try sending replies to origination port by calling force_rport
> from your script. Or even better, make your ATA receive
> at port number from where it sends. (I don't know how, though.)
>
> -jiri
>
> At 01:00 AM 11/6/2003, Mike wrote:
>
> >After playing around with the new firmware (and new SER cvs snapshot
> >0.8.12dev-22-tcp_aliases) I'm seeing some very strange behavior from SER
> >(ngrep trace follows):
> >
> >
> >U 1.1.19.48:1387 -> 1.1.16.55:5060
> >  REGISTER sip:sip.test.net SIP/2.0..Via: SIP/2.0/UDP 1.1.19.48:1388..From: <sip:6526 at sip.test.net;user=phone>;tag=50886574..T
> >  o: <sip:6526 at sip.test.net;user=phone>..Call-ID: 4136319346 at 10.118.145.13..CSeq: 160 REGISTER..Contact: <sip:6526 at 1.1.19.48:
> >  1388;user=phone;transport=udp>;expires=1800..User-Agent: Cisco ATA 186  v2.16.2 ata18x (030909a)..Content-Length: 0....
> >#
> >U 1.1.16.55:5060 -> 1.1.19.48:1388 25017 at 0:1480
> >  ...l....SIP/2.0 200 OK..Via: SIP/2.0/UDP 1.1.19.48:1388..From: <sip:6526 at sip.test.net;user=phone>;tag=50886574..To: <sip:65
> >  26 at sip.test.net;user=phone>;tag=0596aef19d8edd571cbf9827f60616bb.97c5..Call-ID: 4136319346 at 10.118.145.13..CSeq: 160 REGISTER..Co
> >  ntact: <sip:6526 at 1.1.19.48:1376;user=phone;transport=udp>;q=0.00;expires=30..Contact: <sip:6526 at 1.1.19.48:1377;user=p
> >  hone;transport=udp>;q=0.00;expires=56..Contact: <sip:6526 at 1.1.19.48:1378;user=phone;transport=udp>;q=0.00;expires=517..Con
> >  tact: <sip:6526 at 1.1.19.48:1379;user=phone;transport=udp>;q=0.00;expires=527..Contact: <sip:6526 at 1.1.19.48:1380;user=p
> >  hone;transport=udp>;q=0.00;expires=652..Contact: <sip:6526 at 1.1.19.48:1381;user=phone;transport=udp>;q=0.00;expires=780..Co
> >  ntact: <sip:6526 at 1.1.19.48:1382;user=phone;transport=udp>;q=0.00;expires=911..Contact: <sip:6526 at 1.1.19.48:1383;user=
> >  phone;transport=udp>;q=0.00;expires=1040..Contact: <sip:6526 at 1.1.19.48:1385;user=phone;transport=udp>;q=0.00;expires=1303.
> >  .Contact: <sip:6526 at 1.1.19.48:1386;user=phone;transport=udp>;q=0.00;expires=1532..Contact: <sip:6526 at 1.1.19.48:1387;u
> >  ser=phone;transport=udp>;q=0.00;expires=1576..Contact: <sip:6526 at 1.1.19.48:1388;user=phone;transport=udp>;q=0.00;expires=1
> >  800..Server: Sip EXpress router (0.8.12dev-22-tcp_aliases (i386/linux))..Content-Length: 0..Warning: 392 sip.test.net:5060 "Nois
> >  y feedback tells:  pid=11260 req_src_ip=1.1.19.48 req_src_port=1387 in_uri=sip
> >
> >
> >This is repeated over and over and over again.  This seems very bizzare to
> >me.  ATAs with earlier firmware don't trigger this behavior.  The only
> >thing that I can see different in the register request is the addition of
> >the tag in the From: line:
> >
> >From: <sip:6526 at sip.test.net;user=phone>;tag=50886574
> >
> >whereas the old ATA registers with:
> >
> >From: <sip:6526 at sip.test.net;user=phone>
> >
> >Any clues??  Thanks!!
> >
> >- Mike
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers at lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
>
> --
> Jiri Kuthan            http://iptel.org/~jiri/
>




More information about the sr-users mailing list