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

AWS Connect外呼接口返回200但未发起通话,是否因使用免费号码?

问题:AWS Connect外呼返回200但目标手机未响铃,免费号码是否是根源?

我需要实现一个基础流程,通过编程方式向客户发起外呼,并播放文本转语音消息(如“您的2FA验证码是123456”)。以下是我使用的C#代码:

var request = new StartOutboundVoiceContactRequest
{
    ContactFlowId = contactFlowId,
    DestinationPhoneNumber = destinationPhoneNumber,
    SourcePhoneNumber = sourcePhoneNumber,
    InstanceId = "INSTANCE-ID"
};

var response = await connectClient.StartOutboundVoiceContactAsync(request);

// Check the response for success or additional processing.
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
{
    // Contact flow successfully initiated.
}
else
{
    // Handle errors or failure cases.
}

运行代码后,接口返回200状态码,但目标手机号(我的手机)从未响起。我注意到自己使用的是免费号码而非DID号码作为主叫号码,这是否是问题的根源?


回答
  • 免费号码确实是核心问题:AWS Connect要求外呼的主叫号码必须是已分配给你的Connect实例的DID(直接拨号)号码,免费临时号码不具备外呼权限,也无法被Connect系统识别为合法发起号码——即便接口返回200,实际外呼请求会在后台被拦截,无法触达目标手机。
  • 额外排查要点:
    • 验证ContactFlowId对应的流程配置:确保流程包含有效的TTS播放节点,且没有错误分支逻辑导致外呼提前终止。
    • 检查目标号码格式:必须严格遵循E.164标准(例如+12345678901),格式错误可能导致外呼失败但接口仍返回200。
    • 查看AWS Connect联系日志:在控制台的「联系追踪」模块可以查看外呼的全流程状态,能精准定位是号码问题还是流程配置问题。
  • 修复步骤:
    1. 在AWS Connect控制台的「号码管理」中购买并分配一个DID号码到你的实例。
    2. 将代码中的sourcePhoneNumber替换为该合法DID号码(需用E.164格式)。
    3. 重新测试外呼,同时通过联系日志确认流程执行情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:05:11