[asterisk-dev] Linksys SPA962 losing registration

Jeff LaCoursiere jeff at jeff.net
Mon Sep 7 20:18:47 CDT 2009


Update:

After finding this issue: 15084

I started looking at the logic in "handle_request_notify()" and don't 
understand why I am not getting one or the other of "489 Bad Event" or 
"200 OK", as surely the code must follow one branch or the other of this:

if (strcmp(event, "refer")) {
 	[snip]
 	transmit_response(p, "489 Bad event", req);
 	res = -1;
} else {
 	[snip a bunch of tests and a switch that shouldn't apply]
 	/* Confirm that we received this packet */
 	transmit_response(p, "200 OK", req);
};

But instead I get no response at all, which is surely the difference 
between the two versions.  I am willing to bet that 1.4.18 sent the 489.

I am trying a quick patch before this code:

if (strcmp(event, "keep-alive") == 0) {
 	ast_log(LOG_NOTICE, "Jeff's NOTIFY keep-alive reponse comes into play...\n");
 	transmit_response(p, "200 OK", req);
}

But I don't think this is going to be executed.  Any suggestions?

Thanks!

j

On Tue, 8 Sep 2009, Jeff LaCoursiere wrote:

>
> Hi,
>
> Upgraded a location from 1.4.18 to 1.4.26.2 a few days ago, and immediately 
> had issues with Linksys SPA962 phones (firmware 6.1.3a) losing their 
> registration every 30 seconds.
>
> A SIP trace shows that they register, send six or seven NOTIFY keep-alive 
> messages with what appears to be exponential backoff timing between them, 
> then send a REGISTER request again.
>
> It would seem that the phones expect a response to the NOTIFY keep-alives. 
> Has this changed between 1.4.18 and 1.4.26.2?  I have been digging in 
> chan_sip.c but I have to admit I am fairly lost.  Would be happy to try and 
> hack in a response if someone might point me to the routine that receives the 
> NOTIFY message and decides what to do with it.
>
> Would also welcome any theory if mine is off track!
>
> There are about 300 of these phones in play.  Some of them simply blink 
> "orange" for a moment until the re-registration succeeds.  Some of them
> lose registration entirely until reboot (don't have a trace of that yet).
>
> Here is a summary of the trace:
>
> ----------------------------------------------------------------------------
>
> TIME            Linksys to asterisk                  Asterisk to Linksys
>
> 12:36:51        REGISTER REQUEST 3705759a
> 12:36:51                                             100 TRYING
> 12:36:51                                             [stale nonce log]
> 12:36:51                                             401 UNAUTHORIZED
> 12:36:51                                             [use nonce 50a821de]
>
> 12:36:51        REGISTER REQUEST 50a821de
> 12:36:51                                             100 TRYING
> 12:36:51                                             102 OPTIONS
> 12:36:51                                             200 OK
> 12:36:51        200 OK
>
> 12:36:53                                             NOTIFY Messages-Waiting 
> no
> 12:36:53        200 OK
>
> 12:37:01        NOTIFY Keep-alive
>
> 12:37:02        NOTIFY Keep-alive
>
> 12:37:03        NOTIFY Keep-alive
>
> 12:37:05        NOTIFY Keep-alive
>
> 12:37:09        NOTIFY Keep-alive
>
> 12:37:13        NOTIFY Keep-alive
>
> 12:37:17        NOTIFY Keep-alive
>
> 12:37:17        REGISTER REQUEST 50a821de
> 12:37:17                                             100 TRYING
> 12:37:17                                             [stale nonce log]
> 12:37:17                                             401 UNAUTHORIZED
> 12:37:17                                             [use nonce 6e7159fe]
>
> 12:37:17        REGISTER REQUEST 6e7159fe
> 12:37:17                                             100 TRYING
> 12:37:17                                             102 OPTIONS
> 12:37:17                                             200 OK
> 12:37:17        200 OK
>
> 12:37:26                                             NOTIFY Messages-Waiting 
> no
> 12:37:26        200 OK
>
> 12:37:27        NOTIFY Keep-alive
>
> 12:37:28        NOTIFY Keep-alive
>
> 12:37:29        NOTIFY Keep-alive
>
> 12:37:31        NOTIFY Keep-alive
>
> 12:37:35        NOTIFY Keep-alive
>
> 12:37:39        NOTIFY Keep-alive
>
> 12:37:43        NOTIFY Keep-alive
>
> 12:37:43        REGISTER REQUEST 6e7159fe
> 12:37:43                                             100 TRYING
> 12:37:43                                             [stale nonce log]
> 12:37:43                                             401 UNAUTHORIZED
> 12:37:43                                             [use nonce 657eea74]
>
> 12:37:43        REGISTER REQUEST 657eea74
> 12:37:43                                             100 TRYING
> 12:37:43                                             102 OPTIONS
> 12:37:43                                             200 OK
> 12:37:43        200 OK
>
> 12:37:48                                             NOTIFY Messages-Waiting 
> no
>
> ----------------------------------------------------------------------------
>
> Cheers,
>
> j
>



More information about the asterisk-dev mailing list