i want to originate 5 calls after one second sleep using lua and get the response using playandgetdigits(), but scipt originate call one by one. please guide me how i can call 5 numbers at the same time, here is my code =============================================================================================================================== *-- TestCall.lua* function PlayMessageAndGetResponse(message) count = 1 invalid = 'say:flite:slt:nvalid input , please enter again' audio_for_prompt = 'say:flite:slt:press 1 for YES, Press 2 for No, Press 3 for Record Message and Press 4 for Replay' while session:ready() == true and count <= 3 do session:sleep(250) session:streamFile(message) session:sleep(250) digits = session:playAndGetDigits(1, 1, 3, 5, "#", audio_for_prompt, invalid, "^(1|2|3|4)$") if digits == "" then return 0 elseif digits == "4" then count = count + 1 else return digits end end return 0 end number = argv[1] message= argv[2] greeting = "Welcome! You have a Mesage" bye_message = "Bye bye." response = 0 freeswitch.consoleLog("info", "The Number "..number..", message "..message.."\n") session = freeswitch.Session("{ignore_early_media=true,origination_caller_id_number=321}user/"..number.."") session:setAutoHangup(false) session:set_tts_parms("flite", "slt") dispoA = "None" while(session:ready() and dispoA ~= "ANSWER") do dispoA = session:getVariable("endpoint_disposition") freeswitch.consoleLog("INFO","Leg A disposition is '" .. dispoA .. "'\n") os.execute("sleep 1") end -- legA while if session:ready() == true and dispoA == "ANSWER" then uuid = session:getVariable("uuid") session:speak(greeting) response = PlayMessageAndGetResponse(message) session:speak(bye_message) session:hangup() end cause = session:hangupCause() session:destroy() freeswitch.consoleLog('info',"Number "..number..", respond "..response.." hangup cause is "..cause.."\n") =============================================================================================================================== *-- campaign.lua* count = 1000 number = {} for i = 1, 5 do number[i] = count count = count + 1 end for i = 1, 5 do freeswitch.consoleLog("warning", "Calling " ..number[i].. "\n") api = freeswitch.API(); reply = api:executeString("luarun TestCall.lua "..number[i].." ".."test_msg.wav") os.execute("sleep 1") end =============================================================================================================================== Regards Shahzad Bhatti