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

时间:2017-02-15 12:44:13

标签: 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> 

这样做是转移呼叫,但是当管理员收到呼叫时,它会断开呼叫。     我需要的是当杰克打电话给jenny而现在杰克想要将呼叫转移到jhonny并且当呼叫被转移到jhonny时,杰克应该与呼叫断开连接。

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

这里有两种选择。一旦呼叫被转移,另一个呼叫者将丢弃,如果它没有别的办法。有两种方法可以实现这一目标。

您可以将来电者放在<Conference>中。然后,当呼叫者被转移时,另一个呼叫保留在会议室中。使用这种技术有一个很好的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>

只会继续说&#34;你还在接听电话&#34;一旦另一端转移了。

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