-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 14
-
Fix Version/s: 14
-
Component/s: VQ Plus (Commercial)
-
Labels:None
-
ToDo:
-
Asterisk Version:15.5.0
-
Distro:FreePBX Distro
If a queue call back is set to a time later then the callee and the callee changes the call back number, asterisk immediately calls back the callee rather then the configured call back time.
Problem looks to be when attempting to change the call back number, the system seems to be having an issue with the + increment.
– User entered '2'
– Executing [request@queuecallback-1:5] GotoIf("SIP/fpbx-1-oDelS1PlA5Oz-0000000a", "1?enternum") in new stack
– Goto (queuecallback-1,request,9)
[2019-01-24 11:16:06] WARNING[16885][C-00000006]: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '+', expecting $end; Input:
+ 1
^
[2019-01-24 11:16:06] WARNING[16885][C-00000006]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
– Executing [request@queuecallback-1:9] Set("SIP/fpbx-1-oDelS1PlA5Oz-0000000a", "ITER=") in new stack
[2019-01-24 11:16:06] WARNING[16885][C-00000006]: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '>', expecting $end; Input:
> 3
^
[2019-01-24 11:16:06] WARNING[16885][C-00000006]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
```freepbx*CLI> dialplan show queuecallback-1
[ Context 'queuecallback-1' created by 'pbx_config' ]
'1' => 1. Set(ITER=0) [pbx_config]
2. Goto(request,1) [pbx_config]
'request' => 1. Set(CALLBACKNUM=${CALLERID(num)}) [pbx_config]
2. GotoIf($["${DIALPLAN_EXISTS(queuecallback-ret-1,${CALLERID(num)},1)}" != "1"]?enternum) [pbx_config]
3. SayDigits(${CALLERID(num)}) [pbx_config]
4. Read(USECALLERID,vqplus-enter-number,1,,,) [pbx_config]
5. GotoIf($["${USECALLERID}" != "1"]?enternum) [pbx_config]
6. Set(CALLBACKNUM=${CALLERID(num)}) [pbx_config]
7. Goto(callback) [pbx_config]
[invalidnum] 8. Playback(invalid) [pbx_config]
[enternum] 9. Set(ITER=$[${ITER} + 1]) [pbx_config]
10. GotoIf($[${ITER} > 3]?return:askagain) [pbx_config]
[return] 11. Gosub(return,1()) [pbx_config]
[askagain] 12. Read(CALLBACKNUM,please-enter-your&telephone-number&followed_pound,,,,) [pbx_config]
13. GotoIf($["${DIALPLAN_EXISTS(queuecallback-ret-1,${CALLBACKNUM},1)}" != "1"]?invalidnum) [pbx_config]
14. Playback(you-entered) [pbx_config]
15. SayDigits(${CALLBACKNUM}) [pbx_config]
16. Read(CONFIRM,if-this-is-correct-press&digits/1,1,,,) [pbx_config]
17. GotoIf($["${CONFIRM}" != "1"]?enternum) [pbx_config]
18. Goto(callback) [pbx_config]
[callback] 19. UserEvent(QueueCallbackRequest,Queue: ${QUEUENUM},Position: ${QUEUEPOSITION},CallbackId: 1,CallbackNum: ${CALLBACKNUM},QUEUEJOINTIME: ${QUEUEJOINTIME}) [pbx_config]
20. Playback(vqplus-confirmed) [pbx_config]
21. Hangup() [pbx_config]
Include => 'queuecallback-1-custom' [pbx_config]```
see priority 9 and 10, `Set(ITER=$[${ITER} + 1])` at this point, ITER is not yet initilaized to 0, so it fails