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

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Aug 13 18:09:29 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:                   PBX/pbx_ael
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-13 18:09 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.
====================================================================== 

---------------------------------------------------------------------- 
 (0091394) dimas (reporter) - 2008-08-13 18:09
 http://bugs.digium.com/view.php?id=13249#c91394 
---------------------------------------------------------------------- 
Hm... The problem is not reproducible with SVN-trunk-r129270M even with AEL
variable assignment.

It looks like commit 120171 is the one which "fixes" the poblem.
I put fixes in quotes because is it fixed or not actually depends on the
compat setting. If [compat] section of asterisk.conf contains app_set=1.4
then the problem is "fixed" because old MSet is used instead of Set and
AST_STANDARD_APP_ARGS macro there de-quotes strings. However if app_set=1.6
then Asterisk falls back to the "new" behavior I encountered and Set
application does NOT work as for 1.4. And yes, the problem can be
demonstrated without AEL too:


exten => 098,1,Set(a="qqq")
exten => 098,n,NoOp(-${a}-)

    -- Executing [098 at default:1] Set("SIP/1001-08f69f28", "a="qqq"") in
new stack
    -- Executing [098 at default:2] NoOp("SIP/1001-08f69f28", "-"qqq"-") in
new stack 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-08-13 18:09 dimas          Note Added: 0091394                          
======================================================================




More information about the asterisk-bugs mailing list