From 33ff275c12efd1cdc3cd1aa9cc2f4a263a11b946 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 8 Sep 2022 13:52:08 -0600 Subject: [PATCH] Add call_center_agents.php as agent blf helper. --- .../resources/jobs/call_center_agents.php | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 app/call_centers/resources/jobs/call_center_agents.php diff --git a/app/call_centers/resources/jobs/call_center_agents.php b/app/call_centers/resources/jobs/call_center_agents.php new file mode 100644 index 0000000000..89395b53b0 --- /dev/null +++ b/app/call_centers/resources/jobs/call_center_agents.php @@ -0,0 +1,115 @@ +select($sql, $parameters, 'all'); + unset($sql, $parameters); + +//view_array($results); + foreach($agents as $row) { + + //update the agent status + if (is_array($agent_list)) { + foreach ($agent_list as $r) { + if ($r['name'] == $row['call_center_agent_uuid']) { + $agent_status = $r['status']; + } + } + } + + //answer_state options: confirmed, early, and terminated + if ($agent_status == 'Available') { + $answer_state = 'confirmed'; + } + else { + $answer_state = 'terminated'; + } + + //build the event + if ($fp) { + $event = "sendevent PRESENCE_IN\n"; + $event .= "proto: agent\n"; + $event .= "from: ".$row['agent_name']."@".$row['domain_name']."\n"; + $event .= "login: ".$row['agent_name']."@".$row['domain_name']."\n"; + $event .= "status: Active (1 waiting)\n"; + $event .= "rpid: unknown\n"; + $event .= "event_type: presence\n"; + $event .= "alt_event_type: dialog\n"; + $event .= "event_count: 1\n"; + $event .= "unique-id: ".uuid()."\n"; + $event .= "Presence-Call-Direction: outbound\n"; + $event .= "answer-state: ".$answer_state."\n"; + } + + //send message to the console + if (isset($debug)) { + echo "\n"; + echo "[presence][call_center] agent+".$row['agent_name']."@".$row['domain_name']." agent_status ".$agent_status." answer_state ".$answer_state."\n"; + } + + //send the event + $result = event_socket_request($fp, $event); + if (isset($debug)) { + print_r($result, false); + } + + } + + //close event socket connection + fclose($fp); + +/* +* * * * * cd /var/www/fusionpbx && php /var/www/fusionpbx/app/call_centers/resources/jobs/call_center_agents.php +*/ + +?>