diff --git a/resources/install/scripts/app.lua b/resources/install/scripts/app.lua index 9f44f4a8f9..e59a6fe97e 100644 --- a/resources/install/scripts/app.lua +++ b/resources/install/scripts/app.lua @@ -65,8 +65,7 @@ end end if (originate_disposition ~= nil) then - send_to_voicemail = session:getVariable("send_to_voicemail"); - if (originate_disposition == 'USER_BUSY' and send_to_voicemail ~= "true") then + if (originate_disposition == 'USER_BUSY') then freeswitch.consoleLog("notice", "[app] forward on busy: ".. scripts_dir .. "/app/forward_on_busy/index.lua" .. arguments .."\n"); forward_on_busy = loadfile(scripts_dir .. "/app/forward_on_busy/index.lua")(argv); freeswitch.consoleLog("notice", "[app] forward on busy: ".. tostring(forward_on_busy) .. "\n"); diff --git a/resources/install/scripts/app/forward_on_busy/index.lua b/resources/install/scripts/app/forward_on_busy/index.lua index 052b46ae92..40eae77d12 100644 --- a/resources/install/scripts/app/forward_on_busy/index.lua +++ b/resources/install/scripts/app/forward_on_busy/index.lua @@ -43,6 +43,10 @@ context = session:getVariable("context"); domain_name = session:getVariable("domain_name"); uuid = session:getVariable("uuid"); + send_to_voicemail = session:getVariable("send_to_voicemail"); + if (send_to_voicemail == nil) then + send_to_voicemail = "true"; + end --get the domain_uuid domain_uuid = session:getVariable("domain_uuid"); @@ -85,15 +89,15 @@ if ( debug["info"] ) then freeswitch.consoleLog("notice", "[forward_on_busy] forward_busy_destination: " .. forward_busy_destination .. "\n"); end - session:transfer(forward_busy_destination, "XML", context); forward = true; else if ( debug["info"] ) then freeswitch.consoleLog("notice", "[forward_on_busy] forward on busy disabled or destination unset - HANGUP WITH USER BUSY \n"); end - - session:hangup("USER_BUSY"); + if (send_to_voicemail == "false") then + session:hangup("USER_BUSY"); + end forward = false; end end