You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Twilio Client中接收来电通知?Twilio新手技术咨询

在Twilio Client中获取来电通知的实现方案

嘿,我来帮你理清怎么在Twilio Client里获取来电通知~你现有的PHP代码已经走对了第一步,成功生成了具备呼入权限的Token,接下来主要是搞定前端事件监听和Twilio后台配置两部分,具体步骤如下:

1. 先检查Twilio TwiML应用的配置

登录Twilio控制台找到你的TwiML应用(对应代码里的$TWILIO_TWIML_APP_SID),在「Voice」配置项里,找到「A Call Comes In」的设置:

  • 选择「Webhook」作为处理方式,指向你自己的后端接口
  • 这个后端接口需要返回TwiML指令,把来电转接到你的Client身份(也就是代码里的$identity),示例TwiML如下:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial>
    <Client>你的Client标识(比如代码里的$identity值)</Client>
  </Dial>
</Response>

这样当有来电打到你的Twilio号码时,Twilio会把请求转发到这个接口,然后按照TwiML的指令把呼叫路由到你的Client。

2. 前端集成Twilio Client SDK并监听来电事件

首先在页面引入Twilio Client的SDK:

<script src="https://sdk.twilio.com/js/client/v1.13/twilio.min.js"></script>

然后初始化Client并监听incoming事件,这就是获取来电通知的核心:

// 从后端获取你PHP生成的Token(可以通过AJAX请求,或者直接渲染到页面中)
const token = "你的后端生成的Token字符串";

// 初始化Twilio Client
Twilio.Device.setup(token);

// 监听来电事件——这里就是你要的来电通知逻辑
Twilio.Device.incoming(function(connection) {
  // 获取来电号码等信息
  const callerNumber = connection.parameters.From;
  console.log(`收到来自${callerNumber}的来电`);
  
  // 这里可以自定义通知方式:弹出提示框、播放提示音、更新页面UI等
  alert(`有新来电:${callerNumber}`);
  
  // 可选:处理接听/拒绝操作
  // connection.accept(); // 接听来电
  // connection.reject(); // 拒接来电
});

// 可选:监听Client就绪状态,确认可以接收来电
Twilio.Device.ready(function(device) {
  console.log("Twilio Client已准备好接收来电");
});

3. 关于你现有PHP代码的说明

你写的PHP代码已经正确赋予了Client呼入和呼出的权限,不需要额外修改这部分。只要保证$identity是唯一的用户标识(比如用户ID、用户名),确保和前端初始化时对应上就可以了。

内容的提问来源于stack exchange,提问作者Gilbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:57:22