mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 19:53:56 +00:00
Use the agent_id as an alternative way to get the extension_uuid
This commit is contained in:
@@ -658,6 +658,44 @@
|
|||||||
$caller_id_name = preg_replace('#[^a-zA-Z0-9\-.\#*@ ]#', '', $caller_id_name);
|
$caller_id_name = preg_replace('#[^a-zA-Z0-9\-.\#*@ ]#', '', $caller_id_name);
|
||||||
$caller_id_number = preg_replace('#[^0-9\-\#\*]#', '', $caller_id_number);
|
$caller_id_number = preg_replace('#[^0-9\-\#\*]#', '', $caller_id_number);
|
||||||
|
|
||||||
|
//get the extension_uuid and then add it to the database fields array
|
||||||
|
if (isset($xml->variables->extension_uuid)) {
|
||||||
|
$extension_uuid = urldecode($xml->variables->extension_uuid);
|
||||||
|
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (isset($domain_uuid) && isset($xml->variables->dialed_user)) {
|
||||||
|
$sql = "select extension_uuid from v_extensions ";
|
||||||
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and (extension = :dialed_user or number_alias = :dialed_user) ";
|
||||||
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
$parameters['dialed_user'] = $xml->variables->dialed_user;
|
||||||
|
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
||||||
|
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
||||||
|
unset($parameters);
|
||||||
|
}
|
||||||
|
if (isset($domain_uuid) && isset($xml->variables->referred_by_user)) {
|
||||||
|
$sql = "select extension_uuid from v_extensions ";
|
||||||
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and (extension = :referred_by_user or number_alias = :referred_by_user) ";
|
||||||
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
$parameters['referred_by_user'] = $xml->variables->referred_by_user;
|
||||||
|
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
||||||
|
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
||||||
|
unset($parameters);
|
||||||
|
}
|
||||||
|
if (isset($domain_uuid) && isset($xml->variables->last_sent_callee_id_number)) {
|
||||||
|
$sql = "select extension_uuid from v_extensions ";
|
||||||
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and (extension = :last_sent_callee_id_number or number_alias = :last_sent_callee_id_number) ";
|
||||||
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
$parameters['last_sent_callee_id_number'] = $xml->variables->last_sent_callee_id_number;
|
||||||
|
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
||||||
|
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
||||||
|
unset($parameters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//misc
|
//misc
|
||||||
$this->array[$key][0]['xml_cdr_uuid'] = $uuid;
|
$this->array[$key][0]['xml_cdr_uuid'] = $uuid;
|
||||||
$this->array[$key][0]['destination_number'] = $destination_number;
|
$this->array[$key][0]['destination_number'] = $destination_number;
|
||||||
@@ -741,6 +779,18 @@
|
|||||||
$call_center_queue_uuid = $this->database->select($sql, $parameters, 'column');
|
$call_center_queue_uuid = $this->database->select($sql, $parameters, 'column');
|
||||||
unset($parameters);
|
unset($parameters);
|
||||||
}
|
}
|
||||||
|
if (empty($extension_uuid) && !empty($xml->variables->cc_agent)) {
|
||||||
|
//use the agent_id as an alternative way to get the extension_uuid
|
||||||
|
$sql = "select extension_uuid from v_extensions ";
|
||||||
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and extension in ( ";
|
||||||
|
$sql .= " select agent_id from v_call_center_agents where call_center_agent_uuid = :agent_id ";
|
||||||
|
$sql .= ") ";
|
||||||
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
$parameters['agent_id'] = $xml->variables->cc_agent;
|
||||||
|
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
||||||
|
unset($parameters);
|
||||||
|
}
|
||||||
if (!empty($call_center_queue_uuid) && is_uuid($call_center_queue_uuid)) {
|
if (!empty($call_center_queue_uuid) && is_uuid($call_center_queue_uuid)) {
|
||||||
$this->array[$key][0]['call_center_queue_uuid'] = $call_center_queue_uuid;
|
$this->array[$key][0]['call_center_queue_uuid'] = $call_center_queue_uuid;
|
||||||
}
|
}
|
||||||
@@ -1005,43 +1055,6 @@
|
|||||||
//build the call detail array with json decode
|
//build the call detail array with json decode
|
||||||
$this->call_details = json_decode($this->json, true);
|
$this->call_details = json_decode($this->json, true);
|
||||||
|
|
||||||
//get the extension_uuid and then add it to the database fields array
|
|
||||||
if (isset($xml->variables->extension_uuid)) {
|
|
||||||
$this->array[$key][0]['extension_uuid'] = urldecode($xml->variables->extension_uuid);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (isset($domain_uuid) && isset($xml->variables->dialed_user)) {
|
|
||||||
$sql = "select extension_uuid from v_extensions ";
|
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
|
||||||
$sql .= "and (extension = :dialed_user or number_alias = :dialed_user) ";
|
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
|
||||||
$parameters['dialed_user'] = $xml->variables->dialed_user;
|
|
||||||
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
|
||||||
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
|
||||||
unset($parameters);
|
|
||||||
}
|
|
||||||
if (isset($domain_uuid) && isset($xml->variables->referred_by_user)) {
|
|
||||||
$sql = "select extension_uuid from v_extensions ";
|
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
|
||||||
$sql .= "and (extension = :referred_by_user or number_alias = :referred_by_user) ";
|
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
|
||||||
$parameters['referred_by_user'] = $xml->variables->referred_by_user;
|
|
||||||
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
|
||||||
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
|
||||||
unset($parameters);
|
|
||||||
}
|
|
||||||
if (isset($domain_uuid) && isset($xml->variables->last_sent_callee_id_number)) {
|
|
||||||
$sql = "select extension_uuid from v_extensions ";
|
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
|
||||||
$sql .= "and (extension = :last_sent_callee_id_number or number_alias = :last_sent_callee_id_number) ";
|
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
|
||||||
$parameters['last_sent_callee_id_number'] = $xml->variables->last_sent_callee_id_number;
|
|
||||||
$extension_uuid = $this->database->select($sql, $parameters, 'column');
|
|
||||||
$this->array[$key][0]['extension_uuid'] = $extension_uuid;
|
|
||||||
unset($parameters);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//save the call flow json
|
//save the call flow json
|
||||||
$key = 'xml_cdr_flow';
|
$key = 'xml_cdr_flow';
|
||||||
$this->array[$key][0]['xml_cdr_flow_uuid'] = uuid();
|
$this->array[$key][0]['xml_cdr_flow_uuid'] = uuid();
|
||||||
|
|||||||
Reference in New Issue
Block a user