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"; $event = "sendevent PRESENCE_IN\n"; $event .= "proto: agent\n"; $event .= "from: ".$row['agent_id']."@".$row['domain_name']."\n"; $event .= "login: ".$row['agent_id']."@".$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 */ ?>