diff --git a/app/fax_queue/app_config.php b/app/fax_queue/app_config.php index 65345b81a4..8740002353 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 61c7dff3d7..b2fc4d3206 100644 --- a/app/fax_queue/resources/job/fax_send.php +++ b/app/fax_queue/resources/job/fax_send.php @@ -280,21 +280,23 @@ } //check to see if the destination number is local - $sql = "select count(destination_uuid) "; - $sql .= "from v_destinations "; - $sql .= "where ("; - $sql .= " destination_number = :destination_number "; - $sql .= " or concat(destination_prefix, destination_number) = :destination_number "; - $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 .= ")"; - $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'; + if ($setting->get('fax_queue','prefer_local', false)) { + $sql = "select count(destination_uuid) "; + $sql .= "from v_destinations "; + $sql .= "where ("; + $sql .= " destination_number = :destination_number "; + $sql .= " or concat(destination_prefix, destination_number) = :destination_number "; + $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 .= ") "; + $parameters['destination_number'] = $fax_number; + $destination_count = $database->select($sql, $parameters, 'column'); + if ($destination_count > 0) { + $local_destination = true; + $route_array[] = 'loopback/'.$fax_number.'/public'; + } } //define the fax file