Event socket bug fix and more docs (#6823)

* Add documentation to methods. Use is_resource for added type detection

* Allow connect to specify timeout in microseconds with default 30,000

* Update calling mechanism for event sockets

* Update project for new singleton event sockets

* remove unused variable

* catch errors on closing the socket
This commit is contained in:
frytimo
2023-12-02 20:16:18 -04:00
committed by GitHub
parent 44567f7a05
commit 3a4c2f72e2
74 changed files with 1620 additions and 1533 deletions
@@ -141,9 +141,9 @@
$default_voice = 'callie';
$switch_cmd = "conference ".$conference_room_uuid."@".$_SESSION['domain_name']." play ".$_SESSION['switch']['sounds']['dir']."/".$default_language."/".$default_dialect."/".$default_voice."/ivr/ivr-recording_started.wav";
//connect to event socket
$fp = event_socket_create();
if ($fp) {
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
$esl = event_socket::create();
if ($esl->is_connected()) {
$switch_result = event_socket::api($switch_cmd);
}
}
+7 -7
View File
@@ -98,9 +98,9 @@
$default_voice = 'callie';
$switch_cmd = "conference ".$meeting_uuid."@".$_SESSION['domain_name']." play ".$_SESSION['switch']['sounds']['dir']."/".$default_language."/".$default_dialect."/".$default_voice."/ivr/ivr-recording_started.wav";
//connect to event socket
$fp = event_socket_create();
if ($fp) {
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
$esl = event_socket::create();
if ($esl) {
$switch_result = event_socket::api($switch_cmd);
}
}
@@ -137,12 +137,12 @@
//get conference array
$switch_cmd = "conference xml_list";
$fp = event_socket_create();
if (!$fp) {
//connection to even socket failed
$esl = event_socket::create();
if (!$esl->is_connected()) {
trigger_error('Unable to connect to FreeSWITCH', E_USER_WARNING);
}
else {
$xml_str = trim(event_socket_request($fp, 'api '.$switch_cmd));
$xml_str = trim(event_socket::api($switch_cmd));
try {
$xml = new SimpleXMLElement($xml_str, true);
}
@@ -37,8 +37,8 @@
//feature_event method
public function send_call_center_notify() {
$fp = event_socket_create();
if ($fp) {
$esl = event_socket::create();
if ($esl->is_connected()) {
//send the event
$event = "sendevent PRESENCE_IN\n";
$event .= "proto: agent\n";
@@ -50,9 +50,8 @@
$event .= "login: agent+".$this->agent_name."@".$this->domain_name."\n";
$event .= "unique-id: ".$this->agent_uuid."\n";
$event .= "answer-state: ".$this->answer_state."\n";
event_socket_request($fp, $event);
event_socket::command($event);
//echo $event."<br />";
fclose($fp);
}
} //function
@@ -687,10 +687,10 @@ if (!class_exists('conference_centers')) {
$switch_cmd_notice = "conference ".$meeting_uuid[$uuid]."@".$_SESSION['domain_name']." play ".$_SESSION['switch']['sounds']['dir']."/".$default_language."/".$default_dialect."/".$default_voice."/ivr/ivr-recording_started.wav";
//execute api commands
// if (!file_exists($recording_dir.'/'.$meeting_uuid[$uuid].'.wav')) {
$fp = event_socket_create();
if ($fp) {
// $switch_result = event_socket_request($fp, 'api '.$switch_cmd_record);
$switch_result = event_socket_request($fp, 'api '.$switch_cmd_notice);
$esl = event_socket::create();
if ($esl->is_connected()) {
// $switch_result = event_socket::api($switch_cmd_record);
$switch_result = event_socket::api($switch_cmd_notice);
}
// }
}