[asterisk-dev] (ASTERISK-19336) h exten is not run in the context that calls a AEL macro

Johan Wilfer lists at jttech.se
Wed Feb 22 14:38:38 CST 2012


I've noticed that the h exten isn't executed if using AEL and a call is
currently in a macro. (ASTERISK-19336)

Maybe I was unclear in the bugreport, but I described two scenarios.
1) ael context with h-exten (not executed on hangup) calling macro
2) ael context with h-exten (not executed on hangup) calling macro with
catch h { ... } (executed on hangup)

The issue was closed, refering to scenario 2.

Can this issue be reopened? Because in scenario 1 not a single h-exten
is executed..

Thanks!

/Johan


-------- Ursprungligt meddelande --------
Ämne: 	[JIRA] Closed: (ASTERISK-19336) h exten is not run in the context
that calls a AEL macro
Datum: 	Fri, 10 Feb 2012 08:36:19 -0600 (CST)
Från: 	Matt Jordan (JIRA) <noreply at issues.asterisk.org>
Till: 	johan at wilfer.se



     [ https://issues.asterisk.org/jira/browse/ASTERISK-19336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Jordan closed ASTERISK-19336.
----------------------------------

    Resolution: Not A Bug

Only one hangup handler will ever be called.  The hangup handler that is called will be the one closest in scope to the current location of the executing call.

Note that there is a proposed feature that would allow for a stack of hangup handlers to be called; however, that would be a new feature and not a bug.

> h exten is not run in the context that calls a AEL macro
> --------------------------------------------------------
>
>                 Key: ASTERISK-19336
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-19336
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: PBX/pbx_ael
>    Affects Versions: 1.8.9.2
>            Reporter: Johan Wilfer
>
> I expect the h exten to be run both in the macro catch-block and in the context calling the macro. This is not the case.
> The following code:
> {code:xml}
>   context conference {
>     incoming => {
>       &testmacro();
>     }
>     h => {
>       Noop(Called from the context that invokes the macro - THIS DOESN'T WORK);
>     }
>   }
>   macro testmacro() {
>     Noop(Running testmacro!);
>     Wait(20);
>     catch h {
>       Noop(h catched in testmacro - OK!);
>     }
>   }
> {code}
> Creates this output:
> {code:xml}
>     -- Executing [incoming at conference:1] Gosub("SIP/trunk-00000002", "testmacro,~~s~~,1") in new stack
>     -- Executing [~~s~~@testmacro:1] NoOp("SIP/trunk-00000002", "Running testmacro!") in new stack
>     -- Executing [~~s~~@testmacro:2] Wait("SIP/trunk-00000002", "20") in new stack
>   == Spawn extension (testmacro, ~~s~~, 2) exited non-zero on 'SIP/trunk-00000002'
>     -- Executing [h at testmacro:1] NoOp("SIP/trunk-00000002", "h catched in testmacro - OK!") in new stack
> {code}
> The h-exten in the calling context is never called..
> The issue is the same with 1.6.2.20, and it's also the same if you remove the "catch h { ... } "-block in the macro - the context that calls the macro never executes it's h-exten.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120222/6df190a2/attachment-0001.htm>


More information about the asterisk-dev mailing list