Lance Arbuckle
2004-Feb-01 14:51 UTC
[Asterisk-Users] can a variable be redefined within extensions.conf
Can I define a variable in globals like this: [globals] timeout=60 and then in another context, redefine that same variable and only have the new value affect the call that hit that particular extension ? [example] exten => _9NXXXXXX,1,DBget(blah/blah) exten => _9NXXXXXX,102,Goto(3) exten => _9NXXXXXX,2,SetVar(#timeout=20) exten => _9NXXXXXX,3,Dial(${PSTN},${EXTEN:1},${timeout}) exten => _9NXXXXXX,104,Do something if busy exten => _9NXXXXXX,4,Do something else if no answer So, if a call goes priority 1,102,3... ${timeout} would = 60 but if the call went priority 1,2,3,.... then ${timeout} would =20. Or, could I just leave the variable definition out of globals all together ? What would ${timeout} evaluate to if it isn't defined ? I suspect dial wouldn't be happy since the comma right before timeout would still be there.... Thanks --Lance Go Panthers :)
Brancaleoni Matteo
2004-Feb-01 15:17 UTC
[Asterisk-Users] can a variable be redefined within extensions.conf
Hi> Can I define a variable in globals like this: > > [globals] > timeout=60 > > and then in another context, redefine that same variable and only have > the new value affect the call that hit that particular extension ?yes, works this way. mind : each var is unique for each call... a global var is simply shared between contexts, not between calls. each call is a standalone entity> > [example] > exten => _9NXXXXXX,1,DBget(blah/blah) > exten => _9NXXXXXX,102,Goto(3) > exten => _9NXXXXXX,2,SetVar(#timeout=20) > exten => _9NXXXXXX,3,Dial(${PSTN},${EXTEN:1},${timeout}) > exten => _9NXXXXXX,104,Do something if busy > exten => _9NXXXXXX,4,Do something else if no answer > > So, if a call goes priority 1,102,3... ${timeout} would = 60 but if the > call went priority 1,2,3,.... then ${timeout} would =20.yes.> > Or, could I just leave the variable definition out of globals all > together ? What would ${timeout} evaluate to if it isn't defined ? I > suspect dial wouldn't be happy since the comma right before timeout > would still be there....so this way dial isn't unhappy... simply dial will "dial" with no timeout Matteo. -- Brancaleoni Matteo <mbrancaleoni@espia.it> Espia - Emmegi Srl