Try setting the schedule hangup parameter before calling Bridge, I don't think this has any effect while in originate string.
-- test_call
-- create first leg, wait, then connect 2nd leg
--
local calling_user = argv[1];
local called_num = argv[2];
freeswitch.consoleLog("INFO","Attempting to contact user " .. calling_user .. "\n");
local session1 = freeswitch.Session("{origination_caller_id_number=9876}user/"..calling_user);
leg1_dispo = 'None';
while (session1:ready() == true and leg1_dispo ~= 'ANSWER') do
leg1_dispo = session1:getVariable("endpoint_disposition");
freeswitch.consoleLog("INFO","Leg 1 disposition:" .. leg1_dispo .. "\n");
os.execute("sleep 1");
end
if ( not session1:ready() ) then
-- Oops, leg 1 hung up. Bummer.
freeswitch.consoleLog("INFO","It appears that " .. calling_user .. " disconnected...\n")
else
freeswitch.consoleLog("INFO","Playing a prompt to " .. calling_user .. "\n");
session1:streamFile('ivr/ivr-hold_connect_call.wav');
session2 = freeswitch.Session("{origination_caller_id_number=" .. calling_user .."}user/" .. called_num);
leg2_dispo = 'None';
while(session1:ready() and session2:ready() and leg2_dispo ~= "ANSWER") do
if ( not session1:ready() ) then
-- oops, leg 1 hung up
freeswitch.consoleLog("INFO","Well, it appears that " .. calling_user .. " has disconnected.\n");
else
os.execute("sleep 1");
leg2_dispo = session2:getVariable("endpoint_disposition");
freeswitch.consoleLog("INFO","Leg 2 disposition: " .. leg2_dispo .. "\n");
end
end -- While
if ( session1:ready() and session2:ready() ) then
-- Looks good, bridge 'em
freeswitch.bridge(session1,session2);
else
-- Uh oh, someone went away
freeswitch.consoleLog("INFO","Somebody hung up :(\n");
end
end
Regards,
Sammy.
On Sun, Dec 25, 2011 at 10:19 PM, Faheem
<faheem_imt@yahoo.com> wrote:
Hi all, I am new in this list and this is my first email to this group.
I need help regarding Bridge application using Lua script.
I want to set the auto hangup for a bridge call in lua script. my script originate leg-A to local extension and then originate leg-b to a carrier and then bridge two legs. I want to hangup the leg-b after some seconds say 20 seconds.
I did the available option, but nothing worked for me. Please help me.
Here is my lua code.
----------------------------------------------------------------------------------------------------------------
originate_str1 = "{origination_caller_id_number=".. caller.. ",effective_caller_id_number=".. caller ..",originate_timeout=45,ignore_early_media=true}sofia/internal/".. caller .."%" ..domain .."";
originate_str2 = "{origination_caller_id_number=".. callee.. ",effective_caller_id_number=".. callee ..",originate_timeout=60,sched_hangup=20,ignore_early_media=true}sofia/internal/".. carrier_dial_prefix1 .. callee .."%" ..carrier_gateway1 .."";
session1 =
freeswitch.Session(originate_str1);
session2 = freeswitch.Session(originate_str2);
freeswitch.bridge(session1, session2);
Thanks!
Faheem Muhammad
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org