[Asterisk-Users] h extension seems to wipe variables?

James Golovich james at wwnet.net
Wed Aug 13 11:39:14 MST 2003


Once the call has hungup the AGI functions stop working, so executing an
AGI from an h extension will not do what you expect.  but you can still do
all kinds of perl stuff there, so you could stick the info in mysql or
somewhere else

James

On Wed, 13 Aug 2003, Alastair Maw wrote:

> Hi.
> 
> I'm trying to do some custom call logging, and I want to call an AGI 
> script from a hangup handler to log call durations and things. Although 
> the script executes, it isn't retrieving variables from the AGI 
> interface. Looking closer, I realised the variables are actually getting 
> unset before the h extension is reached.
> 
> [foo]
> s,1,SetVar,foo=bar
> s,2,Play(audio/a-long-prompt)
> h,1,AGI(log-call-duration.pl)
> 
> When I do an $agi->get_variable("foo") from the perl, I get the string 
> "noresponse" returned.
> 
> This all works fine if I don't call the AGI from the hangup extension, 
> but from a normal one instead.
> 
> Does anyone have any idea how I might fix or work around this? It's 
> important for us to log call durations (and other things), which 
> obviously needs to be done when the users hangs up. Storing stuff using 
> the cdr isn't really an option.
> 




More information about the asterisk-users mailing list