1

我已经使用 PHP/Laravel 和 Twilio Client JS SDK 为浏览器内调用实现了 Twilio Client。实现工作正常,我可以从浏览器拨打电话,甚至可以在浏览器中接听电话。

现在,我想显示来电,同时我正在与浏览器中的其他客户通话,然后我可以处理他们是否要接听电话如果我接听电话,那么输入- progress 客户应该暂停,我可以与另一个客户交谈,就像我们在手机上做的一样。

场景是这样的,我正在与在线的某个客户通话,现在同时另一个客户正在拨打同一个 Twilio 号码,所以,现在我应该得到通知/弹出窗口来接听该电话,拒绝, 并保持等。

因此,如果有人可以帮助我提供正确的代码/示例,我们将不胜感激。

PS:我在 Twilio 中经历了 Enqueue 的概念,但不明白如何实现它。

提前致谢。

4

1 回答 1

2

从官方文档Twilio.Device.incoming收到来电时获取呼叫,作为回调,您将获得一个connection, callconn.accept()方法以启动音频流,添加一个全局变量以检查是否已经在进行呼叫

var isOngoing = false; // Global variable 
Twilio.Device.incoming(function(conn) {
   console.log('Incoming connection from ' + conn.parameters.From);
   // accept the incoming connection only if you are not on another call.
   if(!isOngoing) { 
      isOngoing = true;
      conn.accept();   
   } else {
      // Add you other implementation for displaying your popup or a message box.
      conn.reject();
   }
});
/* Callback for when a call ends */
Twilio.Device.disconnect(function(connection) {
    isOngoing = false
});
  • 现在在终止呼叫时,您需要将isOngoing变量重置为,false以便您可以接听另一个呼叫。
于 2019-08-19T07:46:18.000 回答