我的移动短信(SMS 消息)无法通过 Amazon Simple Notification Service (Amazon SNS) 或 Amazon Pinpoint 发送。然后,我收到来自 Amazon SNS 或 Amazon Pinpoint 的短信,提示出现了“Unknown error attempting to reach phone”错误。
简短描述
短信通过第三方下游聚合器、短信供应商和移动运营商发送到移动设备。也就是说,如果您将短信与 Amazon SNS、Amazon Pinpoint,或者与 Amazon SNS 或 Amazon Pinpoint 集成的任何 AWS 服务一起使用,当这些下游合作伙伴无法访问移动设备时,您就会收到“Unknown error attempting to reach phone”错误。
**重要提示:**短信架构设计为分布式。最佳做法是不要假设应用程序的短信传输具有较高可靠性和性能。有关更多信息,请参阅互联网工程任务组 (IETF) 中的 RFC 5724。
解决方法
检查常见问题
排除与 Amazon SNS 或 Amazon Pinpoint 无关的常见问题。
您收到此错误的原因可能如下:
- 电话号码被运营商当作垃圾内容阻止。
- 目标被阻止。
- 信息正文无效。
- 电话号码位于“请勿打扰”列表中。
- 手机在漫游网络中。
- 手机运营商阻止此消息。
- 手机阻止短信。
- 手机暂时超出了覆盖区域。
- 手机已关机。
- 电话是固定电话号码(不是手机号码)。
- 消息正文中的 URL 未注册。
- 手机号码无效。
- 下游合作伙伴的给定号码或一组区域号码的网络配置不正确。
查看短信最佳实践
确认您遵循发送短信的目标国家/地区或 AWS 区域的短信最佳实践、规则和法规。
确认您使用的是正确的来源身份。如果需要,必须注册身份。有关更多信息,请参阅支持的国家/地区和区域(短信通道)。
如果您向美国发送短信,请参阅关于向美国目的地发送短信的特殊要求。
如果您使用本地路由向印度发送短信,请先预先注册专用的字母发件人 ID。然后,使用 DLT 注册的模板。有关更多信息,请参阅关于向印度收件人发送短信的特殊要求。
单个设备交付问题故障排查
设备级短信阻止、漫游、覆盖范围差距和其他因素都可能导致单个设备交付问题。
要对这些问题进行故障排查,请执行以下操作:
- 使用 Amazon Pinpoint API 验证电话号码。
- 从另一台设备发送短信,然后检查短信是否成功发送。
如果上述两个步骤都成功,则考虑在其他设备上进行测试。
如果问题仍然存在,那么设备所有者应联系其移动运营商以寻求支持。
多个设备交付问题故障排查
如果短信交付影响多台设备,可能是下游聚合器、供应商和运营商存在问题
要对潜在的下游问题进行故障排查,请就用于发送短信的服务创建支持案例。
在支持案例中提供以下信息:
- 您用来发送短信的区域
- 问题开始的时间戳
- 短信日志示例,其中包含至少三个或四个不同号码不超过三天的失败短信的消息 ID
**注意:**通常,移动运营商不会存储短信超过三天。