AWS Cognito SNS 未向 Sprint 发送用户电话号码验证短信

时间:2020-12-29 23:47:48

标签: amazon-web-services amazon-cognito amazon-sns

我正在尝试使用 Amazon SNS 向使用 cognito 注册帐户并验证其电话号码的用户的电话发送确认短信。我的 Cognito 用户池位于 us-east-2,我最近将 us-east-1 和 us-east-2 的支出限额提高到 50 美元。我测试了通过 sns 控制台向我的手机发送短信,效果很好。但是,在尝试验证 Cognito 上的用户时,我没有收到短信。检查 sns 控制台时,似乎唯一成功发送到我的手机的消息是我从控制台手动发送的消息,其他一切都失败了。任何帮助将不胜感激。

我发现错误来自我作为 sprint 运营商的特定电话号码,并得到以下日志失败响应:

{
    "notification": {
        "messageId": "5dab56f3-2dd3-5a6d-b96e-0e96904d334b",
        "timestamp": "2020-12-29 23:27:26.712"
    },
    "delivery": {
        "phoneCarrier": "SPRINT Spectrum L.P.",
        "mnc": 880,
        "numberOfMessageParts": 1,
        "destination": "+1******3252",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 311,
        "providerResponse": "Blocked as spam by phone carrier",
        "dwellTimeMs": 202,
        "dwellTimeMsUntilDeviceAck": 1254
    },
    "status": "FAILURE"
}

但是,我使用 AT&T 手机和 TMobile 手机进行了测试,它们通过以下日志响应成功发送了消息:

{
    "notification": {
        "messageId": "3106a00c-40de-53ce-9f40-f869fc025013",
        "timestamp": "2020-12-29 23:24:12.183"
    },
    "delivery": {
        "phoneCarrier": "T-mobile USA Inc.",
        "mnc": 800,
        "numberOfMessageParts": 1,
        "destination": "+1******1131",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 310,
        "providerResponse": "Message has been accepted by phone",
        "dwellTimeMs": 238,
        "dwellTimeMsUntilDeviceAck": 601251
    },
    "status": "SUCCESS"
}

这个错误对我来说真的很奇怪,因为 SPRINT 没有理由阻止我的手机仅在 Cognito 上从 aws sns 接收短信,但其他电话服务允许接收消息。我也仍然能够从 SNS 控制台获取消息,但只有 Cognito 无法发送,运营商阻止了它。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

由于您可以接收来自 AT&T 和 T-Mobile 电话运营商的 SNS 短信,我强烈建议您联系 AWS Premium Support 以帮助您确定向 SPRINT Spectrum LP 发送短信的原因未交付。