[asterisk-bugs] [Asterisk 0013249]: AEL does not translate quoted strings correctly in 1.6

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Aug 26 16:30:43 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13249 
====================================================================== 
Reported By:                dimas
Assigned To:                murf
====================================================================== 
Project:                    Asterisk
Issue ID:                   13249
Category:                   Core/PBX
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.6.0-beta9 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-08-06 09:48 CDT
Last Modified:              2008-08-26 16:30 CDT
====================================================================== 
Summary:                    AEL does not translate quoted strings correctly in
1.6
Description: 
I used to use constructs like 

    a = "test here";

in the Asterisk AEL scripts. These were working fine in 1.4 (translating
to)

    Set(a=$[ "test here"])

This does not work for 1.6 anymore although translates to exactly the same
dialplan. After executing this line the value of a variable on 1.6 contains
quotes.

This results in:
1. The following construct:

    b = "${a}";
does not work at all giving parse error [Aug  6 18:01:24] WARNING[29514]:
ast_expr2.fl:437 ast_yyerror: ast_yyerror():  syntax error: syntax error,
unexpected '<token>', expecting $end; Input:

2. when the variable being assigned is CALLERID(number) - this results in
sending 

    From: ""test here"" <sip:xxxxxxxxxxx at 1.2.3.4>;tag=as1539ede1

in the SIP INVITE header. Note the double quotes. As result, the Aastra
57i phone rejects the invite with 400 Bad Request.
====================================================================== 

---------------------------------------------------------------------- 
 (0091761) murf (administrator) - 2008-08-26 16:30
 http://bugs.digium.com/view.php?id=13249#c91761 
---------------------------------------------------------------------- 
Which brings me back to using the MSet() app to assign a value to a
variable.
It will do all the things that used to be done with the previous version.
If I were to write code to strip the surrounding quotes from the input, I
would just
copy the code in the ast_app_separate_args code, which is what gets called
by MSet().
It would simply replicate what asterisk and AEL used to do before
app_set=1.6.
It would only do this, of course, if app_set=1.6. 

dimas-- you say it will break scripts where commas/pipes are in the RHS of
an assignment, but I'm not seeing the problem-- if your scripts worked
under 1.4,
with MSet, they should continue to work when app_set=1.6. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-08-26 16:30 murf           Note Added: 0091761                          
======================================================================




More information about the asterisk-bugs mailing list