[asterisk-dev] [Code Review] 3438: Implement SIP TImer C in Asterisk

Matt Jordan reviewboard at asterisk.org
Sun Apr 13 18:44:21 CDT 2014



> On April 11, 2014, 9:06 p.m., Corey Farrell wrote:
> > /trunk/channels/chan_sip.c, line 6379
> > <https://reviewboard.asterisk.org/r/3438/diff/1/?file=57236#file57236line6379>
> >
> >     I am concerned about a repeat of https://reviewboard.asterisk.org/r/3368/.  It seems like the timer can be rescheduled or cancelled from another thread while we wait for the pvt lock.

It could happen here. Luckily, in this case it should be relatively easy to handle by simply checking that timercid is not -1 within the locked pvt. As long as the pvt is locked when we delete the scheduled task, this should prevent executing the congestion code at the same time as deleting the reference.

I've combined what this would potentially look like along with using sip_pvt_lock_full in my other finding.


- Matt


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


On April 11, 2014, 3:41 a.m., Olle E Johansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3438/
> -----------------------------------------------------------
> 
> (Updated April 11, 2014, 3:41 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> SIP Timer C is defined for proxys that forward messages. In some ways, we forward calls. It is activated when we receive a 100 trying and wait for any other message. If that's not received, timer C triggers and cancels the call attempt.
> 
> This is required in an interoperability test I'm working with.
> 
> Red dots will be handled in the way they deserve.
> 
> 
> Diffs
> -----
> 
>   /trunk/configs/sip.conf.sample 412166 
>   /trunk/channels/sip/include/sip.h 412166 
>   /trunk/channels/chan_sip.c 412166 
> 
> Diff: https://reviewboard.asterisk.org/r/3438/diff/
> 
> 
> Testing
> -------
> 
> Passed interoperability testing with funky test tool.
> 
> 
> Thanks,
> 
> Olle E Johansson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140413/bd73d93b/attachment.html>


More information about the asterisk-dev mailing list