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

如何通过TwiML Bin实现Twilio多号码振铃并接入会议?

解决Twilio号码同时呼叫多号码并接入会议的问题

你的问题出在当前TwiML的调用逻辑上:<Dial>标签下连续放置多个<Number>是串行呼叫——Twilio会优先拨打第一个号码,一旦对方接听,就会停止拨打第二个号码,自然无法让两个号码都接入会议。

要实现两个号码持续振铃直至接听、并全部接入会议的需求,需要改用主动发起双呼叫+会议转接的方案,具体步骤如下:

1. 核心逻辑说明

当主叫拨打你的Twilio号码时:

  • 先让主叫进入预设的会议房间(可搭配等待音)
  • 通过Twilio API同时发起对两个目标号码的呼出请求
  • 每个目标号码接听后,自动转接至同一个会议房间

2. 具体实现代码

步骤1:创建转接会议的TwiML Bin

新建一个TwiML Bin,内容为将接听方接入会议:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial>
    <Conference>MyTeamConference</Conference>
  </Dial>
</Response>

记下这个TwiML Bin的SID,后续会用到。

步骤2:创建Twilio Function触发双呼叫

新建一个Twilio Function(Node.js环境),用来处理来电并发起两个呼出呼叫:

exports.handler = function(context, event, callback) {
  const client = context.getTwilioClient();
  // 配置参数
  const conferenceName = 'MyTeamConference';
  const targetNumbers = ['XXX-XXX-XXXX', 'YYY-YYYYYY']; // 替换为你的两个目标号码
  const twilioNumber = context.TWILIO_PHONE_NUMBER; // 在Function环境变量中配置你的Twilio号码
  const redirectTwimlUrl = `https://handler.twilio.com/twiml/${context.CONFERENCE_TWIML_SID}`; // 替换为步骤1的TwiML Bin SID

  // 批量发起呼叫
  Promise.all(
    targetNumbers.map(number => {
      return client.calls.create({
        to: number,
        from: twilioNumber,
        url: redirectTwimlUrl
      });
    })
  )
  .then(() => {
    // 让主叫进入会议
    const twiml = new Twilio.twiml.VoiceResponse();
    // 可选:添加等待音,主叫在等待对方接听时会听到
    twiml.dial().conference({
      waitUrl: 'https://api.twilio.com/cowbell.mp3'
    }, conferenceName);
    callback(null, twiml);
  })
  .catch(err => {
    console.error('发起呼叫失败:', err);
    callback(err);
  });
};

在Function的环境变量中添加:

  • TWILIO_PHONE_NUMBER:你的Twilio号码
  • CONFERENCE_TWIML_SID:步骤1中TwiML Bin的SID

步骤3:关联Twilio号码与Function

将你的Twilio号码的"A Call Comes In"配置为"Function",选择刚才创建的Function即可。

3. 验证效果

当有来电拨打你的Twilio号码时:

  1. 主叫会进入会议并听到等待音
  2. 两个目标号码同时开始振铃
  3. 任意一个号码接听后,直接进入会议;另一个号码继续振铃,接听后也会接入会议
  4. 最终三方(主叫+两个被叫)在会议中连通

内容的提问来源于stack exchange,提问作者T. Reese

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:24:04