[Freeswitch-users] unable to check hangup cause in lua

Vincent Xia gmangudai at gmail.com
Thu Jul 18 14:36:25 MSD 2013


the scenario is Alice calls Bob and Alice hangs up before Bob answers the
call,
while using the default dialplan as
<action application="bridge" data="user/${dialed_extension}@${domain_name}"
/>
Bob instantly goes hangup after Alice hung up,

but after change the dialplan to have a lua script process the bridging, as
<action application="lua" data="bridge.lua $1" />  // $1 is the
destination_number
Bob will still be ringing for quite a long time, the bridge.lua is simple:

dest = argv[1]

session:execute("set", "hangup_after_bridge=true");
dial_string = string.format('user/%s', dest)
sessionB = freeswitch.Session(dial_string)

if sessionB:ready() then
freeswitch.bridge(session, sessionB);
else
freeswitch.consoleLog("info", "---session NOT ready \n ")
-- ORININATOR_CANCEL can be checked here though omitted for simplicity
session:hangup();
end

why the bridge.lua is not able to respond to ORININATOR_CANCEL after Alice
hangs up?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130718/9d0a0d5a/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list