我想从电话会议中删除参与者。我的案例是同时呼叫电话会议中的多个参与者。如果有人首先接听电话,则断开与所有其他参与者的通话。我想在响铃时执行此操作。就像先接电话而其他人仍在响铃一样,我想断开所有正在响铃的电话。
foreach ($participants as $participantPhoneNumber) {
$conferenceOptions = ['startConferenceOnEnter' => true, 'endConferenceOnExit' => true];
$dial = $response->dial('');
$dial->conference($conferenceName, $conferenceOptions);
$toPerson = "client:" . $participantPhoneNumber . "?typeOfCall=" . $typeOfCall . "&minimumMinutes=" . $minimumMinutes . "&language=" . $language . "&speciality=" . $speciality;
$participant = $twilio->conferences($conferenceName)->participants->create("client:".$from, $toPerson, [
"conferenceStatusCallback" => "http://****/**/**/status-callback.php",
"conferenceStatusCallbackEvent" => "start end join leave mute hold modify speaker announcement",
"conferenceStatusCallbackMethod" => "POST",
"beep" => "false",
]);
}
$conferences = $twilio->conferences->read([
"status" => "in-progress",
"friendlyName" => $conferenceName,
]);
foreach ($conferences as $conference) {
$participantsIDs = $twilio->conferences($conference->sid)->participants->read([], 20);
foreach ($participantsIDs as $record) {
//need to remove/disconnect all other participants that are still ringing if one already picked the call.
}
}
您寻求的结果可以使用 Dial 动词和 Number 名词来实现。没有必要使用会议。
动词中最多可以使用十个名词 同时同时呼叫所有这些人。第一个接听的电话是 已接通当前通话,其余通话均挂断。对于每个 名词,您可以指定您想要的呼叫进度事件 接收网络钩子。
如果您必须使用会议,您可以将第一个应答的人重定向到会议中。
无论哪种方法,您都需要处理语音邮件,因为可能看起来有人应答,但实际上是语音邮件。
更可靠的方法是让会议中的所有工作人员知道他们有空,然后将可用的工作人员连接到呼叫。您可以使用或不使用Taskrouter来执行此操作。