Update fax_retry.lua (#4756)
Setting ignore_early_media=true has a better chance of success for T38 fax transmissions. Setting this as a fax variable in default settings is enough for most cases where a successful transmission occurs on the first attempt. However if fax retries are needed this variable was ignored until now. This change ensures that IF the user sets ignore_early_media=true as a default fax setting it will also be used for fax retry scenarios when T38 is enabled. If ignore_early_media is not set to true then the changes here are ignored thus minimizing risk.
This commit is contained in:
parent
1c87245645
commit
cf6c940e73
|
|
@ -149,6 +149,15 @@
|
|||
storage_path = storage_path:gsub("${voicemail_dir}", voicemail_dir);
|
||||
end
|
||||
end
|
||||
ignore_early_media = "false";
|
||||
if (settings['fax']['variable'] ~= nil) then
|
||||
for i, var in ipairs(settings.fax.variable) do
|
||||
--freeswitch.consoleLog("notice", "variable #" .. i .. ": " .. var .. "\n");
|
||||
if (var == "ignore_early_media=true") then
|
||||
ignore_early_media = "true";
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--be sure accountcode is not empty
|
||||
|
|
@ -462,7 +471,11 @@
|
|||
if (hangup_cause_q850 ~= 17) then
|
||||
fax_retry_attempts = fax_retry_attempts + 1;
|
||||
end
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=false,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
if (ignore_early_media == "true") then
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,ignore_early_media=true,fax_disable_v17=false,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
else
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=false,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
end
|
||||
|
||||
elseif (fax_retry_attempts == 2) then
|
||||
--send t38 off, ECM on
|
||||
|
|
@ -478,8 +491,11 @@
|
|||
if (hangup_cause_q850 ~= 17) then
|
||||
fax_retry_attempts = fax_retry_attempts + 1;
|
||||
end
|
||||
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=true,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
if (ignore_early_media == "true") then
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,ignore_early_media=true,fax_disable_v17=true,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
else
|
||||
cmd = "originate {fax_retry_attempts="..fax_retry_attempts..","..originate_same..",fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=true,fax_busy_attempts='"..fax_busy_attempts.."',api_hangup_hook='lua fax_retry.lua'}"..fax_uri.." &txfax('"..fax_file.."')";
|
||||
end
|
||||
|
||||
elseif (fax_retry_attempts == 4) then
|
||||
--send t38 off v17 [slow] on ECM off
|
||||
|
|
@ -545,13 +561,25 @@
|
|||
else
|
||||
--Success
|
||||
if (fax_retry_attempts == 0) then
|
||||
fax_trial = "fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=default";
|
||||
if (ignore_early_media == "true") then
|
||||
fax_trial = "fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,ignore_early_media=true,fax_disable_v17=default";
|
||||
else
|
||||
fax_trial = "fax_use_ecm=false,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=default";
|
||||
end
|
||||
elseif (fax_retry_attempts == 1) then
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=false";
|
||||
if (ignore_early_media == "true") then
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,ignore_early_media=true,fax_disable_v17=false";
|
||||
else
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=false";
|
||||
end
|
||||
elseif (fax_retry_attempts == 2) then
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=false,fax_enable_t38_request=false,fax_disable_v17=false";
|
||||
elseif (fax_retry_attempts == 3) then
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=true";
|
||||
if (ignore_early_media == "true") then
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,ignore_early_media=true,fax_disable_v17=true";
|
||||
else
|
||||
fax_trial = "fax_use_ecm=true,fax_enable_t38=true,fax_enable_t38_request=true,fax_disable_v17=true";
|
||||
end
|
||||
elseif (fax_retry_attempts == 4) then
|
||||
fax_trial = "fax_use_ecm=false,fax_enable_t38=false,fax_enable_t38_request=false,fax_disable_v17=false";
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue