Summary:ASTERISK-02209: Extension 'T' (AbsoluteTiemout) inside a macro does not work as expected.
Reporter:Christopher L. Wade (clwade)Labels:
Date Opened:2004-08-10 15:41:35Date Closed:2011-06-07 14:10:12
Versions:Frequency of
Environment:Attachments:( 0) testT.inc
Description:If you use AbsoluteTimeout and the 'T' extension inside a macro, they will not work as expected.

When you attempt this, the 'T' extension inside your macro will not trigger because the context has been changed back(to) the context that originally called the macro.

To test this, simply create a 'T' extension in the calling context and watch it trigger when the AbsoluteTimeout inside the macro triggers.


Include the attached file to your dialplan somewhere, and what it print the "wrong" message.

This bug could be construed as a feature, depending upon your view of the way macros should work.  However, if Goto works in a macro, should not most other flow-control style statements?
Comments:By: Christopher L. Wade (clwade) 2004-08-10 15:42:43

Oops.  I'm using Asterisk CVS-HEAD-08/09/04-12:48:45, sorry.

By: Tilghman Lesher (tilghman) 2004-08-10 16:14:30

Extension T is not a control-flow construct; it's an exception (i.e. AbsoluteTimeout can occur anywhere, at any time, even interrupting a currently-executing application).  For the moment, I'd say this is a feature, not a bug.

By: Christopher L. Wade (clwade) 2004-08-10 16:28:11

Reminder sent to Corydon76

So 'T' is a ?channel? level extension?  If so, it should be documented as so, since it currently, docs wise, looks like any other extension.

AbsoluteTimeout should also be updated to reflect this fact.