[asterisk-users] Replacement of Macro() with Gosub()
Steve Davies
davies147 at gmail.com
Wed Apr 29 11:45:13 CDT 2009
2009/4/29 Tilghman Lesher <tilghman at mail.jeffandtilghman.com>:
> Let's also be clear about what Gosub is replacing. Gosub replaces Macro for
> AEL2. The side effects of this are relatively unfelt, unless you're doing
> something unusual like defining subroutines in AEL and calling them from
> extensions.conf. The big gain in this is the ability to have infinite depths
> of subroutines, as opposed to a maximum of about 7 in 1.4's AEL.
>
> Macro is not going away. If you want to continue to use Macro, it's there for
> you to use, warts and all. Macro continues to have the depth limit of 7
> levels deep, and that won't change. It's a fundamental limit of the
> application, which is one of the reasons why its functionality has been
> replaced in AEL with Gosub. Also, I think Gosub is a bit easier to learn, and
> its behavior is more straightforward. There aren't corner cases and special
> behaviors that you have to learn about Gosub; it just works like a subroutine.
Many thanks for the clarification - I do use both Macro() and Gosub()
at present, and understand the difference ( I try to tell myself I do
;-) ). I do not use AEL dialplans.
I had misunderstood the description on the changelog, and I had not
noticed that it was an AEL change, rather than a generic dialplan
change. There is clearly more of a difference between extensions.ael
usage and extensions.conf usage than I realised. I can see now that
AEL2 parses Macro (&) as a builtin, whereas extensions.conf will treat
it as an application, and they have little in common.
Cheers,
Steve
More information about the asterisk-users
mailing list