[asterisk-dev] [Code Review] 3109: chan_sip: Local From tag regression fixed by eliminating dialog after 200 OK

Scott Griepentrog reviewboard at asterisk.org
Thu Jan 9 11:20:15 CST 2014



> On Jan. 7, 2014, 6:19 p.m., Mark Michelson wrote:
> > I'm curious, has the reporter of ASTERISK-22946 confirmed that this patch fixes his issue? While this may be fixing the issue of ambiguous sip_pvts during quick re-registrations, I don't think that this is actually what is happening in the reporter's case. In the reporter's packet capture, the re-registration occurs 105 seconds after the initial REGISTER, so I would expect that the old sip_pvt should have been destroyed by the time the new REGISTER is being sent out.

In their pcap, the repeated re-register (about every second after 105) was matching my own replicated test results, even though I had to reduce the expiry to 30 seconds to get there.  This is definitely fixing that portion at least of the issue, but I will go ahead and send them a patch and ask them to check their results. 

And they responded:

Stephan Eisvogel commented on ASTERISK-22946:
---------------------------------------------

Tested for 20 hours on latest 11-SVN, problem is gone. Thanks!
I suggest more testing by 2-3 others, though, before commit.


- Scott


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3109/#review10524
-----------------------------------------------------------


On Jan. 7, 2014, 1:04 p.m., Scott Griepentrog wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3109/
> -----------------------------------------------------------
> 
> (Updated Jan. 7, 2014, 1:04 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-22946
>     https://issues.asterisk.org/jira/browse/ASTERISK-22946
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> In ASTERISK-12117 an improvement to retain the same local from tag resulted in an undesirable behavior when registrations expire quickly (i.e. every 30 seconds).  The transmit_register() function creates a new dialog (sip_pvt) for every register attempt.  However, with the local tag no longer changing, a previous register dialog could still be matched if it had not timed out and been removed prior to the next register attempt.  When the old register dialog was found, it had the wrong sequence number and would cause repeated retransmits on timeout.  Rather than a significant rework of transmit_register(), this patch eliminates the problem by destroying the old dialog immediately after the 200 OK is received indicating a successful registration.
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/channels/chan_sip.c 405032 
> 
> Diff: https://reviewboard.asterisk.org/r/3109/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Scott Griepentrog
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140109/97d4bb75/attachment-0001.html>


More information about the asterisk-dev mailing list