system
November 4, 2010, 1:12am
#1
Can anyone help get the following example working in Asterisk 1.8?
exten => i,1,Set(NUMINVALID=$[${NUMINVALID}+1]})
exten => i,2,Gotoif($["${NUMINVALID}" < "4"]?:10)
exten => i,3,Background(invalid)
exten => i,4,Goto(s,3)
exten => i,10,Playback(vm-goodbye)
exten => i,11,Hangup()
My problem appears that the Set command. I’ve also tried debugging by using NoOp but they never display onto the console either. The error on the console is:
}ast_yyerror(): syntax error: syntax error, unexpected '+', expecting $end; Input:
}+1
^
mazzic
November 4, 2010, 2:26am
#2
I use this on a 1.6.2.6 system…
exten => i,n,Set(KTR=${MATH(${KTR}+1)})
system
November 4, 2010, 8:12pm
#3
exten => s,n,Set(KTR=2)
exten => s,n,SayDigits(${KTR})
Plays back “2” as expected
exten => s,n,Set(KTR=2)
exten => s,n,Set(KTR=${KTR}+1})
exten => s,n,SayDigits(${KTR})
Plays back “2,1”… it has concatenated the strings.
exten => s,n,Set(KTR=2)
exten => s,n,Set(KTR=${MATH(${KTR}+1)})
exten => s,n,SayDigits(${KTR})
Plays back “3,0,0,0,0,0,0,0” ?!?
Any further ideas? Is this Asterisk 1.8 or something within my system that is broken?
mazzic
November 5, 2010, 1:19am
#4
default of the MATH function is float…so you would get bunch of zeros…
add ,int to the line to only get an integer value returned.
system
November 5, 2010, 10:55am
#5
Hi, a { is missing.
Try:
exten => i,1,Set(NUMINVALID=${[${NUMINVALID}+1]})