[asterisk-users] Re: Calling Functions from AEL2
Douglas Garstang
dgarstang at oneeighty.com
Wed Oct 4 22:05:03 MST 2006
Thanks for the quick reply Steve. It turned out to be user error. D'oh.
-----Original Message-----
From: Steve Murphy [mailto:murf at parsetree.com]
Sent: Wed 10/4/2006 10:32 PM
To: asterisk-users at lists.digium.com
Cc:
Subject: [asterisk-users] Re: Calling Functions from AEL2
On Wed, 2006-10-04 at 15:14 -0700, dgarstang at oneeighty.com wrote:
> I am trying to call the DUNDILOOKUP dialplan function from
> ael2, like this:
>
> context route {
> Set(PATH=${DUNDILOOKUP(${EXTEN},DUNDIRegistr)});
> }
>
> The DUNDILOOKUP function returns no data. However, when I call
> it exactly the same way in a regular context, it DOES return
> data.
>
> [route]
>
> exten => _X.,n,Set(PATH=
> ${DUNDILOOKUP(${EXTEN},DUNDIRegistr)})
>
> That works. Could this possibly be an AEL2 bug? This is
> Asterisk 1.4 beta2.
>
> Doug.
>
>
Interesting!
When I use aelparse -w, a closely adapted version of the above:
context extensions {
84 => {
Set(PATH=${DUNDILOOKUP(${EXTEN},DUNDIRegistr)});
}
}
turns into:
exten => 84,1,Set(PATH=${DUNDILOOKUP(${EXTEN},DUNDIRegistr)})
Which is pretty much what you had.
However, if I put in exactly what you specified:
context route {
Set(PATH=${DUNDILOOKUP(${EXTEN},DUNDIRegistr)});
}
Then I get:
File: /etc/asterisk/extensions.ael, Line 140, Cols: 20-20: Error: syntax
error, unexpected '(', expecting '=' or '=>'
LOG: lev:4 file:pbx_ael.c line:3938 func: pbx_load_module Sorry, but 1
syntax errors and 0 semantic errors were detected. It doesn't make sense
to compile.
So, I'd have to assume that you typed in the route context from memory
into your post, and forgot to include the _X. => { ... } part.
So, from here, I think AEL would have handled this correctly. So,
something else is going on, and I wish you luck on nailing down what it
might be! Use aelparse to check your file,
and double checking the logs won't hurt, either. Sometimes, we forget to
reload the dialplan, and can get thoroughly confused thereby (I know I
do!)... also, the "dialplan show route" command to the CLI will list out
what's in the 'route' context, which can also be informative.
murf
More information about the asterisk-users
mailing list