[asterisk-users] How to make the sum of a ${VARIABLE} + 1 ??

Danny Nicholas danny at debsinc.com
Wed Nov 3 08:31:50 CDT 2010


  _____  

From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Jonas Kellens
Sent: Wednesday, November 03, 2010 8:19 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: [asterisk-users] How to make the sum of a ${VARIABLE} + 1 ??

 

Hello,

I have this in my dialplan :

exten => s,n,Set(vgLabel=vg(${number}+1))
exten => s,n,GoTo(${vgLabel})

But in stead of vgLabel becoming the SUM of 2 numbers, it is just a string :

[Nov  3 16:17:27]     -- Executing [s at macro-f:43] Set("SIP/test-00000002",
"vgLabel=vg(1+1)") in new stack
[Nov  3 16:17:27]     -- Executing [s at macro-f:44] Goto("SIP/test-00000002",
"vg(1+1)") in new stack
[Nov  3 16:17:27] NOTICE[23048]: pbx.c:3744 pbx_extension_helper: No such
label 'vg(1+1)' in extension 's' in context 'macro-f'
[Nov  3 16:17:27] WARNING[23048]: pbx.c:9625 pbx_parseable_goto: Priority
'vg(1+1)' must be a number > 0, or valid label


How to overcome this ?!
Asterisk 1.6.2.10


Kind regards,
Jonas.

Don't know about 1.6, but in 1.4 you would do it like this

exten => s,n,Set(vgLabel=$[${number} +1]) 

This assumes that {number} is a variable and that your not trying to use an
array vg(${number}) or function vg.

 

For this purpose, I'd use Gotoif instead, although I use a similar concept
in my dialplan, like this

 

Exten => 1234,1,Goto(foo,${value},1)

 

[foo]

Exten => s,1,verbose(goto label)

Exten => 1,1,saydigit(1)

Exten => 2,1,saydigit(2)

Exten => 3,1,saydigit(3)

Exten => I,1,playback(invalid-value)

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20101103/adf88b84/attachment.htm 


More information about the asterisk-users mailing list