[asterisk-bugs] [Asterisk 0014411]: calling Gosub in macro does not work if the invalid extension is triggered

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 5 15:01:31 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14411 
====================================================================== 
Reported By:                klaus3000
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14411
Category:                   Applications/app_macro
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.23 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-02-05 05:39 CST
Last Modified:              2009-02-05 15:01 CST
====================================================================== 
Summary:                    calling Gosub in macro does not work if the invalid
extension is triggered
Description: 
Hi!

Consider the following example:

macro blacklistMakro() {
  Gosub(blacklist_${BLACKLIST}|${MACRO_EXTEN}|1);
  return;
}

context blacklist_SIMPLE {
  _+49. => Hangup();
  i =>Return();
}

If the Gosub call inside the macro triggers the i extension, MACRO_DEPTH
is set to 0, the macro "forgets" that it is a macrom, and does not return
(auto fallthrough happens)


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

---------------------------------------------------------------------- 
 (0099554) klaus3000 (reporter) - 2009-02-05 15:01
 http://bugs.digium.com/view.php?id=14411#c99554 
---------------------------------------------------------------------- 
If I have this one:

context blacklist_SIMPLE {
  _+49. => Hangup();
  i => {
    Wait(30);
    Return();
  }
}

The Wait() is executed. So what failed here? Nothing. It the i extension
is executed. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-05 15:01 klaus3000      Note Added: 0099554                          
======================================================================




More information about the asterisk-bugs mailing list