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.
===============================================================================================================================
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")