[Asterisk-Users] Re: passing variables to h extension
Tony Mountifield
tony at softins.clara.co.uk
Tue Sep 13 09:37:29 MST 2005
In article <4326EACA.1020409 at gmail.com>,
Simone Cittadini <mymailforlists at gmail.com> wrote:
> Is there a way to pass variables/arguments to the h extension ?
>
> for example :
>
> [default]
>
> exten => _1098933X.,1,NoOp(CARRIER TWT->TIM, EXTEN: ${EXTEN}},
> SIPCALLID: ${SIPCALLID}, SIPDOMAIN: ${SIPDOMAIN})
> exten => _1098933X.,2,SetVar(_PROVA="bla")
> [lot of stuff, agi, goto, tricks and magic that happens]
> exten => _1098933X.,10,Dial(${CHAN_DEST},,L(3600000:3599900)) <- don't
> mind L, a quick hack for dtmf not working with sip
> exten => _1098933X.,11,Hangup
> exten => _1098933X.,12,Playback(no-credit)
> exten => _1098933X.,13,Hangup
>
>
> exten => h,1,NoOp(${PROVA})
>
>
> When the calls hangup, no "bla" is printed on screen, I think it's fine,
> since "the variable is automatically trashed when the channel is
> hungup.", sigh ...
It works for me (using CVS HEAD, but I'm sure it's worked in the past for
me on Stable too). I think there must be some other reason it's not working
for you.
Just done a little test for it, as follows...
My extensions.conf:
[vartest]
exten => _X.,1,SetVar(FRED=hello)
exten => _X.,2,NoOp(FRED=${FRED})
exten => _X.,3,Playback(demo-congrats)
exten => _X.,4,Hangup
exten => h,1,NoOp(FRED=${FRED})
Console output:
-- Executing Goto("SIP/2002-238e", "vartest|8200|1") in new stack
-- Goto (vartest,8200,1)
-- Executing SetVar("SIP/2002-238e", "FRED=hello") in new stack
-- Executing NoOp("SIP/2002-238e", "FRED=hello") in new stack
-- Executing Playback("SIP/2002-238e", "demo-congrats") in new stack
-- Playing 'demo-congrats' (language 'en')
== Spawn extension (vartest, 8200, 3) exited non-zero on 'SIP/2002-238e'
-- Executing NoOp("SIP/2002-238e", "FRED=hello") in new stack
-- Executing Goto("SIP/2002-9d08", "vartest|8200|1") in new stack
-- Goto (vartest,8200,1)
-- Executing SetVar("SIP/2002-9d08", "FRED=hello") in new stack
-- Executing NoOp("SIP/2002-9d08", "FRED=hello") in new stack
-- Executing Playback("SIP/2002-9d08", "demo-congrats") in new stack
-- Playing 'demo-congrats' (language 'en')
-- Executing Hangup("SIP/2002-9d08", "") in new stack
== Spawn extension (vartest, 8200, 4) exited non-zero on 'SIP/2002-9d08'
-- Executing NoOp("SIP/2002-9d08", "FRED=hello") in new stack
On the first call, I hung up during the announcement. On the second,
I let the system hang up on me. The h extension showed the variable
value in both cases.
Cheers
Tony
--
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org
More information about the asterisk-users
mailing list