[asterisk-bugs] [Asterisk 0016946]: Call that clears in same app_dial poll as answer is reported as NOANSWER but NORMAL_CLEARING

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Nov 22 13:36:12 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16946 
====================================================================== 
Reported By:                davidw
Assigned To:                twilson
====================================================================== 
Project:                    Asterisk
Issue ID:                   16946
Category:                   Applications/app_dial
Reproducibility:            sometimes
Severity:                   minor
Priority:                   normal
Status:                     closed
Target Version:             1.6.2.15
Asterisk Version:           SVN 
JIRA:                       SWP-984 
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/740/ 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2010-03-02 13:54 CST
Last Modified:              2010-11-22 13:36 CST
====================================================================== 
Summary:                    Call that clears in same app_dial poll as answer is
reported as NOANSWER but NORMAL_CLEARING
Description: 
If a call clears so fast after being answered that app_dial fails to read a
frame before it realises it has been answered, handle_cause breaks from its
switch and does not increment any of its failure reason counters.  The call
ends up with a "No one is available to answer at this time (1:0/0/0)"
message logged, the default DIALSTATUS of NOANSWER and a HANGUPCAUSE of 16
(AST_CAUSE_NORMAL_CLEARING).

If it clears just slightly later, it is treated as a successful, if short
call (that's why it is "sometimes", not "always".

The variablility in the result, depending on precise timing is confusing,
and NOANSWER does not seem an appropriate status.
====================================================================== 

---------------------------------------------------------------------- 
 (0129043) svnbot (reporter) - 2010-11-22 13:36
 https://issues.asterisk.org/view.php?id=16946#c129043 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 295866

_U  branches/1.8/
U   branches/1.8/apps/app_macro.c
U   branches/1.8/include/asterisk/channel.h
U   branches/1.8/include/asterisk/frame.h
U   branches/1.8/main/channel.c
U   branches/1.8/main/pbx.c

------------------------------------------------------------------------
r295866 | rmudgett | 2010-11-22 13:36:11 -0600 (Mon, 22 Nov 2010) | 60
lines

Merged revisions 295843 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295843 | rmudgett | 2010-11-22 13:28:23 -0600 (Mon, 22 Nov 2010) | 53
lines
  
  Merged revisions 295790 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295790 | rmudgett | 2010-11-22 12:46:26 -0600 (Mon, 22 Nov 2010) | 46
lines
    
    The channel redirect function (CLI or AMI) hangs up the call instead
of redirecting the call.
    
    To recreate the problem:
    1) Party A calls Party B
    2) Invoke CLI "channel redirect" command to redirect channel call leg
    associated with A.
    3) All associated channels are hung up.
    
    Note that if the CLI command were done on the channel call leg
associated
    with B it works.
    
    This regression was a result of the fix for issue
https://issues.asterisk.org/view.php?id=16946
    (https://reviewboard.asterisk.org/r/740/).
    
    The regression affects all features that use an async goto to execute
the
    dialplan because of an external event: Channel redirect, AMI redirect,
SIP
    REFER, and FAX detection.
    
    The struct ast_channel._softhangup code is a mess.  The variable is
used
    for several purposes that do not necessarily result in the call being
hung
    up.  I have added doxygen comments to describe how the various
_softhangup
    bits are used.  I have corrected all the places where the variable was
    tested in a non-bit oriented manner.
    
    The primary fix is the new AST_CONTROL_END_OF_Q frame.  It acts as a
weak
    hangup request so the soft hangup requests that do not normally result
in
    a hangup do not hangup.
    
    JIRA SWP-2470
    JIRA SWP-2489
    
    (closes issue https://issues.asterisk.org/view.php?id=18171)
    Reported by: SantaFox
    (closes issue https://issues.asterisk.org/view.php?id=18185)
    Reported by: kwemheuer
    (closes issue https://issues.asterisk.org/view.php?id=18211)
    Reported by: zahir_koradia
    (closes issue https://issues.asterisk.org/view.php?id=18230)
    Reported by: vmarrone
    (closes issue https://issues.asterisk.org/view.php?id=18299)
    Reported by: mbrevda
    (closes issue https://issues.asterisk.org/view.php?id=18322)
    Reported by: nerbos
    
    Review:	https://reviewboard.asterisk.org/r/1013/
  ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=295866 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-11-22 13:36 svnbot         Checkin                                      
2010-11-22 13:36 svnbot         Note Added: 0129043                          
======================================================================




More information about the asterisk-bugs mailing list