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

Twilio, How to transfer a in-progress call to another number

如何将正在进行的呼叫转移到另一个 number.The 我正在使用的概念是在呼叫正在进行时使用更新方法并拨打我想要连接的号码并且它正在工作,但与第一个呼叫者的连接中断/

呼叫转移过程代码-

1.拨号过程-

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

2。处理转移呼叫的过程- 我已经使用update方式转接电话

  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> 

这样做是转接电话,但当管理员收到电话时,它会断开通话。 当杰克给珍妮打电话时,我需要什么,现在杰克想将呼叫转移给 jhonny,当呼叫转移给 jhonny 时,杰克应该从呼叫中断开。

此处为 Twilio 开发人员布道师。

这里有两种选择。一旦呼叫被转移,另一个呼叫者如果无事可做就会挂断。有两种方法可以实现这一点。

您可以使用此技术将呼叫者置于 <Conference>. Then when the caller is transferred the other call remains in the conference room. There is a good 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>

对方一转走就一直说"You are still on the call"

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