SIP registration issue with remote NAT routers with 2 by SPA

For some time we have had an issue with a number of SPA 3000 and SPA 3102 units. There are two in each remote site. They are behind a simple NAT router and each registers its line and PSTN ports with a asterisk server which has an exposed public WAN address. The issue is that when the remote NAT routers drop out for what ever reason and loose their port maps the Asterisk server fails to allow the units to register unless you change the SIP port or the WAN IP address of the NAT router. The NAT routers have static WAN IP addresses so we cannot change these. however when ever this issue arrises we have to change the SIP ports on all four registrations to completely different ports before they will or can register again. This can be verified by when we have some un registered SPA3??? units we can stop and start the asterisk server and all the SPA3??? will register including the troubled units. It is my beleif that as we have Static IP addresses on the remote NAT routers that the SIP protocol and Asterisk is retaining the old learned ports. However when the NAT router looses the map the SPA3??? units try to reregister howeevr the Asterisk /SIP server has retained the old return port and continues to use this. The effect is that the SPA units can never reregister as they never get the reply packets from the Asterisk server. the router that lost its map cannot work outwere to send the replies from the asterisk server so dumps the packets. Changing the port or IP address jolts the Asterisk server into accepting the new connection, Dumping the old return path and alowing a new path to establish. My problem is how do i get the Asterisk server to function correctly and dump the learned path when it receive a registration request from the SPA3???. restarting the service is one way and it dumps all the registrations but disrupts the 100 other connections to it.

What I need is the SIP inteface to be re written correctly

Note this does not occure when the NAT host is on a Dynamic IP as each time the router loads ip it gets a new IP address from the DHCP server. I cannot simulate the customer problem in my office because I get a new address each time I kick off so the Asterisk box allows my unit to register each and every time.

Oh about all the server and version details you guys always ask for well we have tried 4 different builds and each has this issue and on different hardware as well. I do not think that this info is applicable as the issue is across the board.

We have tried all number of NAT, Qualify and other settings on the SIP none seem to enable the Asterisk server to clear the old registration and enable the new. Its like the programers have taken a short cust were if the unit tries to register with the same port and IP address assure the connection is the same connection and retain the old data. What is required is that the keep alive files dont arrive the server detects the registration is broken and dumps the connection settings. The SPA comes back on line sends a registration request the Asterisk box then accepts the request and processes and negotiates a new connection.

This is a complicated challenge for any one and I think willk require some recoding of Asterisk or an alternative SIP protocol driver.

The strange thing is i have seen these issue manifest for others in other forums but most have missed the what the real issue is. The error codes and traces dont seem to make any sence but on advice most would reconnect by changing the IP or port and if that is the case they have the same issue i have

Please help!!! :frowning:

Thanks for reading keen on some responses

In sip.conf try to set the registration period to say 60 seconds. Also make sure you have the ATA’s re-register every 60 seconds. I have also had many issues with “SIP Aware” routers. Run ngrep on port 5060 on the asterisk server to see what the router is really sending it.