Warning ast_yyerror() after last updates

Hello.

15.10.2019 i’ve updated several Freepbx 14 installations to the latest module versions. It seems everything is working fine, but after update i’ve started to get warnings in the CLI of all updated PBX. This warning appears only on outbound calls.

[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:1] NoOp(“SIP/210-00004c32”, “210”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:2] NoOp(“SIP/210-00004c32”, “”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:3] NoOp(“SIP/210-00004c32”, “off”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:4] ExecIf(“SIP/210-00004c32”, “0?Set(CALLERPRES(name-pres)=)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:5] ExecIf(“SIP/210-00004c32”, “0?Set(CALLERPRES(num-pres)=)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:6] ExecIf(“SIP/210-00004c32”, “0?Set(REALCALLERIDNUM=210)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:7] ExecIf(“SIP/210-00004c32”, “0?Set(AMPUSER=210)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:8] GotoIf(“SIP/210-00004c32”, “1?normcid”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx_builtins.c: Goto (macro-outbound-callerid,s,12)
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:12] Set(“SIP/210-00004c32”, “USEROUTCID=43210”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:13] Set(“SIP/210-00004c32”, “EMERGENCYCID=”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:14] Set(“SIP/210-00004c32”, “TRUNKOUTCID=78332256466”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:15] GotoIf(“SIP/210-00004c32”, “1?trunkcid”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx_builtins.c: Goto (macro-outbound-callerid,s,21)
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:21] ExecIf(“SIP/210-00004c32”, “1?Set(CALLERID(all)=78332256466)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:22] ExecIf(“SIP/210-00004c32”, “1?Set(CALLERID(all)=43210)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:23] ExecIf(“SIP/210-00004c32”, “1?Set(CALLERID(all)=78332256466)”) in new stack
[2019-10-15 09:22:50] WARNING[1178][C-0000262a] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected ‘=’, expecting $end; Input:
** = 1 & 0 = 0**
** ^**
[2019-10-15 09:22:50] WARNING[1178][C-0000262a] ast_expr2.fl: If you have questions, please refer to link to asterisk org
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:24] ExecIf(“SIP/210-00004c32”, “?Set(CALLERID(all)=210)”) in new stack
[2019-10-15 09:22:50] WARNING[1178][C-0000262a] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected ‘=’, expecting $end; Input:
** = 1 & 0 = 0**
** ^**
[2019-10-15 09:22:50] WARNING[1178][C-0000262a] ast_expr2.fl: If you have questions, please refer to link to asterisk org
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:25] ExecIf(“SIP/210-00004c32”, “0?Set(CALLERPRES(name-pres)=prohib_passed_screen)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:26] ExecIf(“SIP/210-00004c32”, “0?Set(CALLERPRES(num-pres)=prohib_passed_screen)”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:27] Set(“SIP/210-00004c32”, “CDR(outbound_cnum)=78332256466”) in new stack
[2019-10-15 09:22:50] VERBOSE[1178][C-0000262a] pbx.c: Executing [[email protected]:28] Set(“SIP/210-00004c32”, “CDR(outbound_cnam)=”) in new stack

Confirmed; I see it too. Hard to imagine it, but there seems to be a bug in this bit of dialplan:

exten => s,n,ExecIf($[${LEN(${TRUNKCIDOVERRIDE})} != 0 | ${LEN(${FORCEDOUTCID_${ARG1}})} != 0]?Set(CALLERID(all)=${IF($[${LEN(${FORCEDOUTCID_${ARG1}})}=0]?${TRUNKCIDOVERRIDE}:${FORCEDOUTCID_${ARG1}})}))
exten => s,n,ExecIf($[${QCALLBACK} = 1 & ${LEN(${FORCEDOUTCID_${ARG1}})} = 0]?Set(CALLERID(all)=${REALCALLERIDNUM}))

I’ve seen more readable entries to the Obfuscated Perl contest. :slight_smile:

I’m seeing them too. Open a bug ticket please and include the core version.

QCALLBACK isn’t getting set.

… not sure how that’s going to help the OP since the dialplan is generated by FreePBX. Are you going to submit a pull request?

Submitted along with PR https://issues.freepbx.org/browse/FREEPBX-20656

1 Like

Thanks for submitting the request, but in your request you specified the 15 version of the core. And solution in this request is for the 15 version too. I have problems on the 14 version, so i submitted new request for the right version https://issues.freepbx.org/browse/FREEPBX-20659

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.