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

Twilio JS SDK外呼转接问题:需将客户直连转接对象

解决方案:Twilio呼叫转接时保留客户来电信息

核心问题分析

转接时直接建立Rohit与Kevin的连接,导致Kevin端显示主叫为Rohit的号码。要实现客户与Kevin的直接连接并显示客户号码,需通过指定主叫ID的方式重新发起呼叫逻辑。

1. 使用TwiML转接时指定客户号码为来电显示

当触发转接请求时,返回给Twilio的TwiML需明确设置callerId为客户号码,让Twilio以客户身份呼叫Kevin:

<Response>
  <Dial callerId="+9179********">
    <Client>Kevinemp</Client>
  </Dial>
</Response>

此方式下,Kevin的客户端会接到来电显示为客户号码的呼叫,同时Twilio会建立客户与Kevin的直接连接。

2. 通过JavaScript SDK发起转接时指定from参数

若使用Twilio JavaScript SDK发起转接API请求,需将from字段设为客户号码,to设为Kevin的客户端标识:

const twilio = require('twilio');
const client = twilio('你的账户SID', '你的认证Token');

// 发起转接呼叫
client.calls.create({
  from: '+9179********', // 设置为客户号码
  to: 'client:Kevinemp',
  twiml: '<Response><Connect><Stream url="wss://你的服务地址/stream" /></Connect></Response>'
})
.then(call => {
  console.log('转接呼叫SID:', call.sid);
  // 挂断原有的Rohit与客户的呼叫
  return client.calls('原有呼叫的SID').update({status: 'completed'});
})
.then(() => console.log('原有呼叫已终止'))
.catch(err => console.error('转接失败:', err));

3. 关键注意事项

  • 来电显示权限:若客户号码非Twilio托管号码,需在Twilio控制台的「来电显示设置」中验证并授权该号码作为主叫ID使用。
  • 原有呼叫处理:转接成功后务必终止Rohit与客户的原有呼叫,避免出现三方通话或资源浪费。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:47:40