From 7f2f0df9b8619f0d3ef5f83dae3d0ca9a7975224 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 4 Feb 2025 18:40:46 -0700 Subject: [PATCH] Fax queue setting prefer_local default false This allows control over whether to prefer sending to the voip provider or attempt local fax call. --- app/fax_queue/app_config.php | 8 ++++++++ app/fax_queue/resources/job/fax_send.php | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/fax_queue/app_config.php b/app/fax_queue/app_config.php index cfc89c9884..af3b07abb2 100644 --- a/app/fax_queue/app_config.php +++ b/app/fax_queue/app_config.php @@ -76,6 +76,14 @@ $apps[$x]['default_settings'][$y]['default_setting_value'] = "30"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Number of days to retain the fax queue logs in the database for the maintenance app."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "5506cf35-e19d-4f02-ab9d-43fd0f8460f7"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "fax_queue"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "prefer_local"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Determine whether fax calls should attempt to stay local or route to the provider."; //$y++; //$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "afd729d9-cf69-4793-a140-21093814d314"; //$apps[$x]['default_settings'][$y]['default_setting_category'] = "fax_queue"; diff --git a/app/fax_queue/resources/job/fax_send.php b/app/fax_queue/resources/job/fax_send.php index 2532533042..d87fb4d59f 100644 --- a/app/fax_queue/resources/job/fax_send.php +++ b/app/fax_queue/resources/job/fax_send.php @@ -279,6 +279,8 @@ } //check to see if the destination number is local + $local_destination = false; + if ($setting->get('fax_queue','prefer_local', false)) { $sql = "select count(destination_uuid) "; $sql .= "from v_destinations "; $sql .= "where ("; @@ -287,14 +289,14 @@ $sql .= " or concat(destination_trunk_prefix, destination_number) = :destination_number "; $sql .= " or concat(destination_area_code, destination_number) = :destination_number "; $sql .= " or concat(destination_prefix, destination_area_code, destination_number) = :destination_number "; - $sql .= ")"; + $sql .= ") "; $parameters['destination_number'] = $fax_number; $destination_count = $database->select($sql, $parameters, 'column'); - $local_destination = false; if ($destination_count > 0) { $local_destination = true; $route_array[] = 'loopback/'.$fax_number.'/public'; } + } //define the fax file $common_variables = '';