Twilio在交响乐中暂停通话并取消通话



如果我将呼叫挂起,则表示主号码处于挂起状态,但辅助号码已断开。。

$arrR = array();
$callSid = "sample callsid here";
$client = new Client(SmsSpool::$arrTwilioSetting['sid'], 
SmsSpool::$arrTwilioSetting['auth_token']);

$rr = array(
"url" => "http://demo.twilio.com/docs/voice.xml",
"method" => "POST"
);
$call = $client->calls($callSid)->update($rr);
$op = $call->to;
$arrR[] = $op;

return $arrR;  

在这里,它在主呼叫保持时工作,并断开辅助呼叫方的连接。

请引导我取消挂断电话。

这里是Twilio开发人员的传道者。

处理挂起电话的最简单方法是使用会议来主持电话。一旦您有与会者参加会议,您可以通过向与会者资源发出更新请求,将hold设置为True,并为保持音乐设置holdUrl来将他们置于暂停状态。

$participant = $client
->conferences("CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
->participants("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
->update([
"hold" => True,
"holdUrl" => "http://www.myapp.com/hold_music"
]);

然后,您可以再次更新参与者,将hold设置为False以使他们返回呼叫。

如果你想使用常规呼叫,还有更多的工作要做。正如你所发现的,当你更新呼叫的一个分支以将其发送到其他地方时,另一个分支会完成呼叫并挂断。为了解决这个问题,你需要为另一条腿提供一个地方。您可以通过在<Dial>之后提供更多的TwiML来实现这一点。

<Response>
<Dial>+CUSTOMER_NUMBER</Dial>
<Redirect>https://example.com/hold</Redirect>
</Response>

在上面的TwiML中,如果您更新调用的另一个分支,则<Dial>将完成,调用将转到<Redirect>(尽管您可以在此处放置任何TwiML)。解除呼叫时,需要重新连接呼叫的两个分支。最好通过<Enqueue>取消挂起的呼叫,然后在取消挂起时,将另一条腿更新为<Dial>并将其更新为<Queue>

但是,正如我所说,使用<Conference>比像这样处理单独的调用腿要容易得多。

相关内容

  • 没有找到相关文章

最新更新