Eg-> Если агент A делает вызов пользователю, а теперь агент A передает вызов агенту B теперь, как я могу отключить агент A от вызова и пусть пользователь и B все еще находятся на вызове.Twilio как отключить вызов, когда агент передал вызов другому агенту
1.Когда я звоню, я использую этот TwiML.
<Response>
<Dial callerId="id">
<Number statusCallback="statusCallbackurl" statusCallbackMethod="POST">ag1_num</Number>
</Dial>
<Redirect>music_url</Redirect>
</Response>
2.I я переадресация вызова с помощью метода обновления и набора другого агента с помощью этого code-
function transfer_call($Sid,&ag2_num){
$childCalls = $this->client->calls->read(array("ParentCallSid" => $Sid));
$childSid = $childCalls[0]->sid;
$rr = array(
"url" => "tr_url".$ag2_num,
"method" => "POST"
);
$call = $this->client->calls($childSid)->update($rr);
return $call->to;
}
и на tr_url я использовал TwiML-
<Response>
<Dial>ag2_num</Dial>
<Redirect>disconnectedcallurl-usingemptyqueue(todisconnectthefirstagent)</Redirect>
</Response>
и для отключения вызова я назвал этот метод и передал callid-
function disconnect_call($callsid){
$rr = array("status" => "completed");
$call = $this->client->calls($callsid)->update($rr);
echo $call->direction;
}
Я использую вызов sid, чтобы отключить агент от вызова и отключить весь вызов.
Не могли бы вы рассказать немного больше о своем коде, пожалуйста? – philnash
Хорошо, я добавлю в свой вопрос. –
Когда вы перенаправляете другой конец вызова, 1-й агент, который был набран, должен просто повесить трубку. Разве это не происходит? – philnash