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

如何通过Voximplant实现来电转接至其他号码并录制通话

用Voximplant实现来电转接与通话录制

一、来电转接实现步骤

  1. 登录Voximplant控制台,创建或选择目标应用,进入**场景(Scenario)**页面新建场景。
  2. 在场景代码中监听来电事件CallAlerting,当有来电进入时,调用call函数发起转接请求:
    • 目标号码必须包含国际区号(如+1234567890)
    • 可通过call的参数设置转接时显示的主叫号码、超时时间等属性
  3. 监听转接通话的状态事件,处理接通或失败场景:
    • onCallConnected:转接成功后可执行后续操作(比如启动录制)
    • onCallFailed:转接失败时,可给主叫播放提示音后挂断

二、通话录制实现(推荐服务器端录制)

服务器端录制由Voximplant服务器处理,无需客户端参与,稳定性更高:

  1. 在场景中,当转接后的通话接通后,调用startRecording启动录制:
    • 支持设置录制格式(mp3/wav)、是否混音(默认混音,即录制双方完整通话)
    • 可指定录制文件的标签,方便后续查询管理
  2. 录制停止逻辑:
    • 通话自然结束时会自动停止录制
    • 也可主动调用stopRecording在特定时机手动停止
  3. 录制文件获取:
    • 录制完成后,文件会存储在Voximplant云存储中
    • 通过Voximplant API(如GetRecordings接口)可查询、下载录制文件

三、完整场景代码示例

// 监听来电事件
VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => {
  const incomingCall = e.call;
  const targetNumber = "+1234567890"; // 目标转接号码
  const displayNumber = "+0987654321"; // 转接时显示给被叫的号码

  // 发起PSTN转接通话
  const transferCall = VoxEngine.callPSTN(targetNumber, displayNumber);

  // 转接成功后启动录制并连接通话
  transferCall.addEventListener(CallEvents.Connected, () => {
    console.log("转接成功,启动通话录制");
    transferCall.startRecording({mix: true, format: "mp3"});
    VoxEngine.easyProcess(incomingCall, transferCall);
  });

  // 转接失败处理
  transferCall.addEventListener(CallEvents.Failed, () => {
    incomingCall.say("转接失败,请稍后再试");
    incomingCall.hangup();
  });

  // 主叫挂断后终止转接通话
  incomingCall.addEventListener(CallEvents.Disconnected, () => {
    transferCall?.hangup();
  });
});

注意事项

  • 确保Voximplant应用已开通PSTN权限,且账户余额充足以支付转接通话费用
  • 录制功能需在控制台提前开启,部分地区有合规要求,需提前确认
  • 转接号码必须符合国际格式规范,避免因格式错误导致转接失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:45:57