On Wed, Aug 3, 2011 at 7:56 PM, Avi Marcus <avi@avimarcus.net> wrote:
If the channel is hung up, then it's hung up.. that's what the hangup hook is, afaik. If you look at the wiki page for this: http://wiki.freeswitch.org/wiki/Variable_session_in_hangup_hook it only says that you can "access" the variable, not that the channel still exists or that you can set them.
Ok. I still have some problems with this. My dialplan contains the following: <action application="export" data="session_in_hangup_hook=true"/> <action application="export" data="api_hangup_hook=luarun transfer_check.lua ${uuid}"/> The transfer_check.lua script is the following: session = freeswitch.Session(argv[1]) local cause = session:hangupCause() if cause == "ATTENDED_TRANSFER" or cause == "BLIND_TRANSFER" then api = freeswitch.API() api.execute("log", "NOTICE Transfer detected, billsec is " .. session:getVariable("billsec")) end The problem is that, as already discussed, the channel no longer exists so the UUID is not referring to anything. Basically, my question is: How do you obtain the session object in a hangup hook? Cheers. -- Isaac Jurado Internet Busines Solutions eConcept