If you've used Linksys phones against recent Asterisk 1.4.x you may
have noticed
that they may drop registration for a quick bit and then go back to being ok
if your phone is behind NAT.
If you turn Asterisk's sip debug information on, you'll probably find
errors like these in your logs:

NOTICE[30179] chan_sip.c: Correct auth, but based on stale nonce
received from '"999911" <sip:[email protected]>'

I believe I have determined that this is caused by a bug in the
Linksys firmware that is related to the NAT Keep-Alive packets.
Because recent Asterisk 1.4.x's do not establish a SIP dialog for
NOTIFY requests, the "489 Bad Event"
replies were going back to the wrong address if your phone was behind NAT.
This lack of reply would cause the next REGISTER message to use the
same nonce as the previous REGISTER,
resulting in the "stale nonce" errors and temporarily dropping
registration. I've also seen the lack of response to
the NAT keep-alive cause the phone to stop being able to register
completely as well.

Below I've posted a patch that responds with a 200 OK to these
keep-alive requests, and I believe
also solves the temporary loss of registration problem, though more
testing in different environments
for those who experience this problem would be greatly appreciated.

The patch is against 1.4.32.

-- James

Attachment: keep_alive_fix.diff
Description: Binary data

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to