[asterisk-bugs] [Asterisk 0013442]: wait_for_answer never receives HANGUP frame sent via ast_queue_hangup

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Sep 9 09:43:54 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13442 
====================================================================== 
Reported By:                gui
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   13442
Category:                   Applications/app_dial
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.21.2 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-09-08 14:24 CDT
Last Modified:              2008-09-09 09:43 CDT
====================================================================== 
Summary:                    wait_for_answer never receives HANGUP frame sent via
ast_queue_hangup
Description: 
1) A user calls into our Asterisk pbx via one of our PSTN lines and dials
   a SIP extension.
2) The caller hangs up the PSTN line before anyone answers the SIP
extension.
3) Our channel driver calls ast_queue_hangup to inform Asterisk of the
hangup.
4) Asterisk never acknowledges the hangup and the call eventually times
out.

====================================================================== 

---------------------------------------------------------------------- 
 (0092246) gui (reporter) - 2008-09-09 09:43
 http://bugs.digium.com/view.php?id=13442#c92246 
---------------------------------------------------------------------- 
Hi putnopvut,

Thanks for your reply.

Having spent 2 full days tracking down the source of this bug I am aware
of how ast_read behaves when it is called and finds an AST_CONTROL_HANGUP
frame on its read queue. The change that I made simply causes ast_read to
be called when ast_waitfor_n returns and the code finds something is on
its input channel's read queue.

The only point that I was trying to make was that it would be nice if
ast_waitfor_n returned successful status any time it was safe to call
ast_read, which is what is implied.

The reason I mentioned this is because I suspect that there are other
instances of code within Asterisk that call ast_waitfor_n which, like
wait_for_answer, dont behave as expected.

As far as we're concerned this issue is closed because wait_for_answer
is now behaving as we expect. I only made this bug report in the "spirit
of sharing" (yeeewwww ... being an evil capitalist at heart, that phrase
gives me the creeps!)

Regards,
gui 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-09-09 09:43 gui            Note Added: 0092246                          
======================================================================




More information about the asterisk-bugs mailing list