[asterisk-dev] [Code Review] Properly handle 200 and unknown responses conatined in NOTIFY requests received in response to REFER requests

Matthew Nicholson mnicholson at digium.com
Fri Aug 13 13:21:11 CDT 2010



> On 2010-08-13 13:09:31, David Vossel wrote:
> > /branches/1.8/channels/chan_sip.c, lines 20343-20346
> > <https://reviewboard.asterisk.org/r/860/diff/2/?file=12256#file12256line20343>
> >
> >     should this be <= 200?

No.  It is to ignore 1xx responses.


- Matthew


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


On 2010-08-12 14:22:47, Matthew Nicholson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/860/
> -----------------------------------------------------------
> 
> (Updated 2010-08-12 14:22:47)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Since r217482 it appears that asterisk has not properly been handling responses to REFER requests.  The problem was that after receiving a '200 Ok' sipfrag in a NOTIFY request received in response to a REFER request, asterisk would not queue up a AST_TRANSFER_SUCCESS control frame to signal the completion of the transfer.  That combined with ast_transfer()'s willingness to wait indefinitely for said control frame, causes the channel to "freeze" in the Transfer app.
> 
> Additionally, a NOTIFY containing a sipfrag with an unknown response would result in AST_TRANSFER_SUCCESS being queued.
> 
> 
> This addresses bug 17486.
>     https://issues.asterisk.org/view.php?id=17486
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/channels/chan_sip.c 281983 
> 
> Diff: https://reviewboard.asterisk.org/r/860/diff
> 
> 
> Testing
> -------
> 
> Tested with a testsuite test that causes asterisk to originate a call and send a REFER to a sipp script that sends various responses back to asterisk.
> 
> 
> Thanks,
> 
> Matthew
> 
>




More information about the asterisk-dev mailing list