[asterisk-bugs] [Asterisk 0014543]: AEL parser broken in 1.4 branch

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Feb 25 14:54:31 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14543 
====================================================================== 
Reported By:                klaus3000
Assigned To:                murf
====================================================================== 
Project:                    Asterisk
Issue ID:                   14543
Category:                   PBX/pbx_ael
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 178373 
Request Review:              
====================================================================== 
Date Submitted:             2009-02-24 15:56 CST
Last Modified:              2009-02-25 14:54 CST
====================================================================== 
Summary:                    AEL parser broken in 1.4 branch
Description: 
Hi!

I use Asterisk 1.4.23 with AEL without problems. Recently I tried 1.4
branch with release SVN-branch-1.4-r178373 but now the AEL parses produces
lots of errors like

[Feb 24 22:44:12] WARNING[21049]: ast_expr2.fl:409 ast_yyerror:
ast_yyerror(): file extensions.ael, line 262, columns 16-16, if expr
'${EXISTS(${MYVARIABLE})}': syntax error: syntax error, unexpected '(',
expecting $end; Input:
${EXISTS(${MYVARIABLE})}

This is the config which causes the error:

context aelTest {
        881 => {
                if (${EXISTS(${MYVARIABLE})}) {
                        Dial(SIP/user1);
                        Verbose(dialstatus=${DIALSTATUS});
                } else {
                        Hangup();
                }
        }
}


It happens with different functions, e.g:

context toSIPPhones2 {
        366 => {
               
HTTPRESPONSE=${CURL(http://www.domain.at/kd/osa.php?num=1)};
[Feb 24 22:44:12] WARNING[21049]: ast_expr2.fl:409 ast_yyerror:
ast_yyerror(): file extensions.ael, line 83, columns 16-78, variable
declaration expr '${CURL(http://www.domain.at/kd/osa.php?num=1)}': syntax
error: syntax error, unexpected '(', expecting $end; Input:
${CURL(http://www.domain.at/kd/osa.php?num=1)}


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

---------------------------------------------------------------------- 
 (0100749) murf (administrator) - 2009-02-25 14:54
 http://bugs.digium.com/view.php?id=14543#c100749 
---------------------------------------------------------------------- 
OK, I've attached a patch (patch.14543) to this bug, that fixes the
problem. 

I'm sorry, when I made 1.4 8-bit transparent, I missed one rule in the
flex input file; it didn't turn up in the AEL regression tests, because
I may have no rule for this in there!

I'll be soon committing this change to 1.4, and closing this bug. If you
can't don't want to upgrade to 1.4 svn to fix this problem, you can use the
attached
patch to fix your sources.

Also note: while this bug tends to generate a lot of really bad-looking
warning messages, that's all they are. They do not prevent AEL from
generating perfectly OK dialplan code. So, you could simply ignore these
messages.

Reopen if there are any problems! 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-25 14:54 murf           Note Added: 0100749                          
======================================================================




More information about the asterisk-bugs mailing list