在 Twillio 响铃时将参与者从通话中删除

问题描述 投票:0回答:1

我想从电话会议中删除参与者。我的案例是同时呼叫电话会议中的多个参与者。如果有人首先接听电话,则断开与所有其他参与者的通话。我想在响铃时执行此操作。就像先接电话而其他人仍在响铃一样,我想断开所有正在响铃的电话。

 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. 
    }
}

    

 

php twilio twilio-api twilio-php
1个回答
0
投票

您寻求的结果可以使用 Dial 动词和 Number 名词来实现。没有必要使用会议。

动词中最多可以使用十个名词 同时同时呼叫所有这些人。第一个接听的电话是 已接通当前通话,其余通话均挂断。对于每个 名词,您可以指定您想要的呼叫进度事件 接收网络钩子。

如果您必须使用会议,您可以将第一个应答的人重定向到会议中。

无论哪种方法,您都需要处理语音邮件,因为可能看起来有人应答,但实际上是语音邮件。

更可靠的方法是让会议中的所有工作人员知道他们有空,然后将可用的工作人员连接到呼叫。您可以使用或不使用Taskrouter来执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.