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

如何通过Twilio实现React Native应用外呼并获取通话录音?

实现React Native应用通过Twilio发起外呼并获取录音的方案

你需要实现的核心是让外呼通话经过Twilio中转,从而生成并获取录音。以下是几种可行方案,包含你现有思路的优化及替代方案:

方案一:优化你的现有思路(回呼模式)

你的现有方案逻辑可行,只需调整参数对应实际号码,确保通话路径正确:

client.calls.create({
  from: 'PhoneNumber3', // 使用Twilio购买的号码作为主叫号
  to: 'PhoneNumber1', // 先呼叫你自己的号码
  record: true, // 开启全程录音
  twiml: `
    <Response>
      <Say>正在连接联系人,请稍候</Say>
      <Dial record="true">PhoneNumber2</Dial> <!-- 接通后呼叫联系人,同时开启Dial环节录音 -->
    </Response>`
});

逻辑说明:Twilio先拨打你的PhoneNumber1,你接听后,Twilio会自动拨打联系人PhoneNumber2,双方接通后通话全程被录音,录音文件可通过Twilio控制台或API获取。
优缺点:实现简单,无需额外集成SDK;但需要你手动接听Twilio的来电,体验稍繁琐。

方案二:双向呼叫桥接模式

通过Twilio API同时发起两个呼叫:一个呼叫你,一个呼叫联系人,接通后自动桥接双方通话,全程录音。

// 第一步:创建呼叫你的请求
const callToMe = await client.calls.create({
  from: 'PhoneNumber3',
  to: 'PhoneNumber1',
  url: 'https://your-server.com/bridge-call', // 指向你的后端Twiml端点
  record: true
});

// 第二步:在后端Twiml端点返回桥接逻辑(当你接听后触发)
// 后端返回的Twiml示例:
`<Response>
  <Dial record="true">PhoneNumber2</Dial>
</Response>`

逻辑说明:Twilio呼叫你,你接听后,后端返回的Twiml指令Twilio呼叫联系人,双方通话被桥接,录音由Twilio自动生成。
优缺点:流程更顺畅,可自定义等待提示音或逻辑;需要搭建后端服务处理Twiml回调。

方案三:集成Twilio Voice SDK到React Native应用

直接在React Native应用内集成Twilio Voice SDK,发起VoIP呼叫,无需使用你的手机号直接呼出,通话全程通过Twilio中转并录音。

核心步骤:

  1. 在React Native项目中安装Twilio Voice SDK依赖
  2. 从你的后端获取Twilio访问令牌(Token)
  3. 发起呼叫并开启录音:
// 初始化Voice客户端
const voiceClient = new TwilioVoice.Client(token);

// 发起呼叫
const call = await voiceClient.connect({
  params: {
    To: 'PhoneNumber2',
    From: 'PhoneNumber3',
    Record: 'true' // 开启录音
  }
});

逻辑说明:App内直接通过VoIP连接Twilio,Twilio负责呼叫联系人并桥接通话,录音文件可通过Twilio API获取。
优缺点:用户体验最好,无需切换到手机原生通话;但需要集成SDK,处理VoIP权限及令牌生成逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:40:10