diff --git a/app/calls/resources/classes/call_forward.php b/app/calls/resources/classes/call_forward.php index eb4de798c9..d5d42b1156 100644 --- a/app/calls/resources/classes/call_forward.php +++ b/app/calls/resources/classes/call_forward.php @@ -66,108 +66,6 @@ include "root.php"; } unset ($prep_statement); - //set the dial string - if ($this->forward_all_enabled == "true") { - $dial_string = "{instant_ringback=true"; - $dial_string .= ",domain_uuid=".$_SESSION['domain_uuid']; - $dial_string .= ",sip_invite_domain=".$_SESSION['domain_name']; - $dial_string .= ",domain_name=".$_SESSION['domain_name']; - $dial_string .= ",domain=".$_SESSION['domain_name']; - $dial_string .= ",extension_uuid=".$this->extension_uuid; - $dial_string .= ",toll_allow='".$this->toll_allow."'"; - $dial_string .=",sip_h_Diversion=extension."@".$_SESSION['domain_name'].">;reason=unconditional"; - if (strlen($this->accountcode) == 0) { - $dial_string .= ",sip_h_X-accountcode=\${accountcode}"; - } - else { - $dial_string .= ",sip_h_X-accountcode=".$this->accountcode; - $dial_string .= ",accountcode=".$this->accountcode; - } - - if (strlen($this->forward_caller_id_uuid) > 0) { - $sql_caller = "select destination_number, destination_description, destination_caller_id_number, destination_caller_id_name "; - $sql_caller .= "from v_destinations "; - $sql_caller .= "where domain_uuid = '$this->domain_uuid' "; - $sql_caller .= "and destination_type = 'inbound' "; - $sql_caller .= "and destination_uuid = '$this->forward_caller_id_uuid'"; - $prep_statement_caller = $db->prepare($sql_caller); - if ($prep_statement_caller) { - $prep_statement_caller->execute(); - $row_caller = $prep_statement_caller->fetch(PDO::FETCH_ASSOC); - - $caller_id_number = $row_caller['destination_caller_id_number']; - if(strlen($caller_id_number) == 0){ - $caller_id_number = $row_caller['destination_number']; - } - $caller_id_name = $row_caller['destination_caller_id_name']; - if(strlen($caller_id_name) == 0){ - $caller_id_name = $row_caller['destination_description']; - } - } - } - else { - if ($_SESSION['cdr']['call_forward_fix']['boolean'] === "true") { - if (strlen($this->outbound_caller_id_name) > 0) { - $dial_string .= ",origination_caller_id_name=".$this->cid_name_prefix.$this->outbound_caller_id_name; - } - if (strlen($this->outbound_caller_id_number) > 0) { - $dial_string .= ",origination_caller_id_number=".$this->cid_number_prefix.$this->outbound_caller_id_number; - } - } - } - - if (extension_exists($this->forward_all_destination)) { - // For support load_balance we need set `dialed_extension` - $dial_string .= ",dialed_extension=".$this->forward_all_destination; - // we do not need here presence_id because user dial-string already has one - $dial_string .= "}"; - $dial_string .= "user/".$this->forward_all_destination."@".$_SESSION['domain_name']; - } - else { - // setting here presence_id equal extension not dialed number allows work BLF and intercept. - $presence_id = extension_presence_id($this->extension, $this->number_alias); - - if (strlen($caller_id_number) > 0) { - //set the caller id if it is set - if (strlen($caller_id_name) > 0) { - $dial_string .= ",origination_caller_id_name=".$caller_id_name; - $dial_string .= ",effective_caller_id_name=".$caller_id_name; - } - $dial_string .= ",origination_caller_id_number=".$caller_id_number; - $dial_string .= ",effective_caller_id_number=".$caller_id_number; - } - else { - //set the outbound caller id number if the caller id number is a user - $dial_string .=',origination_caller_id_number=${cond(${from_user_exists} == true ? ${outbound_caller_id_number} : ${origination_caller_id_number})}'; - $dial_string .=',effective_caller_id_number=${cond(${from_user_exists} == true ? ${outbound_caller_id_number} : ${effective_caller_id_number})}'; - $dial_string .=',origination_caller_id_name=${cond(${from_user_exists} == true ? ${outbound_caller_id_name} : ${origination_caller_id_name})}'; - $dial_string .=',effective_caller_id_name=${cond(${from_user_exists} == true ? ${outbound_caller_id_name} : ${effective_caller_id_name})}'; - } - - // $presence_id = $this->forward_all_destination; - $dial_string .= ",presence_id=".$presence_id."@".$_SESSION['domain_name']; - $dial_string .= "}"; - - if ($_SESSION['domain']['bridge']['text'] == "outbound" || $_SESSION['domain']['bridge']['text'] == "bridge") { - $bridge = outbound_route_to_bridge ($_SESSION['domain_uuid'], $this->forward_all_destination); - $dial_string .= $bridge[0]; - } - elseif ($_SESSION['domain']['bridge']['text'] == "lcr") { - $dial_string .= "lcr/".$_SESSION['lcr']['profile']['text']."/".$_SESSION['domain_name']."/".$this->forward_all_destination; - } - elseif ($_SESSION['domain']['bridge']['text'] === "loopback") { - $dial_string .= "loopback/".$this->forward_all_destination; - } - else { - $dial_string .= "loopback/".$this->forward_all_destination; - } - } - $this->dial_string = $dial_string; - } - else { - $this->dial_string = ''; - } - //update the extension $sql = "update v_extensions set "; if (strlen($this->forward_all_destination) == 0) { @@ -192,7 +90,7 @@ include "root.php"; $db->exec(check_sql($sql)); unset($sql); - //delete extension from memcache + //delete extension from the cache $cache = new cache; $cache->delete("directory:".$this->extension."@".$this->domain_name); if(strlen($this->number_alias) > 0){