Twilio,如何将正在进行的调用转移到另一个号码

标签 twilio twilio-php twilio-click-to-call

如何将正在进行的调用转移到另一个号码。我正在使用的概念是在调用正在进行时使用更新方法并调用我想要连接的号码并且它正在工作但与第一个来电者正在休息/

转移调用过程的代码-

1.调用电话的过程-

 <Response>
  <Dial callerId="callerid">
    <Number statusCallbackEvent="initiated ringing answered completed" statusCallback="urltohadlestatus">user_number</Number>
  </Dial> 
</Response>

2.进程到进程转移调用-
我已经使用更新方法来转移调用。
  function update_call1($CallSid, $admin_no) {
    $rr = array(
        "url" => "trurl?admin_no=".$admin_no,
        "method" => "POST"
    );
    $call = $this->client->calls($CallSid)->update($rr);
    return $call->to;
}

并使用了这个 TwiML
<Response>
        <Dial>admin_number_call_to_be_transfered</Dial>
</Response> 

这样做是转移调用,但是当管理员收到它时,它会断开调用。
当 jack 调用珍妮时,我需要什么,现在 jack 想把电话转给约翰尼,当电话转给约翰尼时, jack 应该与电话断开连接。

最佳答案

Twilio 开发人员布道者在这里。

您在这里有两个选择。一旦调用被转移出去,如果其他调用者无事可做,它将挂断。有两种方法可以实现这一目标。

您可以将调用者置于 <Conference> 中.然后,当调用者被转移时,另一个调用仍保留在 session 室中。有一个不错的tutorial on warm transfers使用这种技术,这可能会有所帮助。

或者,如果现在退出的调用一侧是 generated the call from the Twilio REST API您可以在 <Dial> 下方添加更多 TwiML动词让通话继续。例如:

<Response>
  <Dial>OTHER_NUMBER</Dial>
  <Say loop="0">You are still on the call.</Say>
</Response>

一旦另一端被转移,就会一直说“你还在通话中”。

您也可以使用 action attribute for <Dial> 来实现此目的。 .使用 action属性意味着 Twilio 将向您指定的 URL 发出 webhook 请求,并使用该响应中的 TwiML 进行调用。

关于Twilio,如何将正在进行的调用转移到另一个号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42249790/

相关文章:

php - 如何使用 Twilio PHP SDK 删除电话号码?

php - Twilio 调用连接问题

python - Twilio 语音调用 Django/python 中的应用程序错误

node.js - 使用 twilio 调用电话

Twilio 可编程聊天抛出无法连接到 twilsock

python - Twilio 'ConferenceSid'是如何生成的?

javascript - 在不激活相机或视频的情况下启动房间

java - "The From phone number is not a valid"带美国号码

angular - 如何在 Angular 2 中使用 Twilio 客户端?

python - 属性错误 : 'module' object has no attribute 'TwilioRestClient'