How do I troubleshoot mobile text message (SMS) failures in Amazon SNS?

Last updated: 2021-06-21

My mobile text messages (SMS messages) are failing to send through Amazon Simple Notification Service (Amazon SNS). How do I troubleshoot SMS message failures in Amazon SNS?

Resolution

Turn on and view Amazon CloudWatch Logs for your SMS messages

Check if you've exceeded your monthly SMS spending quota

1.    Review your delivery status logs for failed SMS message deliveries ("status": "FAILURE").

2.    Check the failed SMS delivery logs for the following value: "providerResponse": "No Quota left for account". If you see this value in the failed SMS delivery logs, you've exceeded your monthly SMS spending quota.

Failed SMS message delivery CloudWatch log event example

{
    "notification": {
        "messageId": "efgh9a7-c68f-abcd-bdbe-21ada245e18f",
        "timestamp": "2020-10-21 16:32:10.981"
    },
    "delivery": {
        "destination": "+1234567890",
        "smsType": "Transactional",
        "providerResponse": "No quota left for account",
        "dwellTimeMs": 145
    },
    "status": "FAILURE"
}

Note: You can also check the SMSMonthToDateSpentUSD metric in your CloudWatch metrics to confirm if you've exceeded your monthly SMS spending quota or not.

3.    If you've exceeded your monthly SMS spending quota, request a spending limit increase for SMS messages in Amazon SNS. For more information, see How do I request a spending limit increase for SMS messages in Amazon SNS?

Important: After you receive confirmation that your SMS spending quota is increased, you must also adjust the spending quota for your account on the Amazon SNS console. If you don't update your SMS settings on the Amazon SNS console, your SMS spend limit won't increase.

If you're sending SMS messages using one of the AWS SDKs, check if you've exceeded your maximum message price

1.   Review your delivery status logs for failed SMS message deliveries ("status": "FAILURE").

2.   Check the failed SMS delivery logs for the following value: "providerResponse": "delivery would exceed maxprice". If you see this value in the failed SMS delivery logs, you've exceeded the price limit that's configured in your AWS.SNS.SMS.MaxPrice message attribute.

Note: You can also check the PublishSize metric in your CloudWatch metrics to confirm if you've exceeded your message size limit. Amazon SNS won't send the message if it determines that doing so would incur a cost that exceeds the maximum price that you've set.

3.    If you've exceeded your maximum message price limit, either increase your AWS.SNS.SMS.MaxPrice value or reduce the size of your SMS message. For more information, see Publishing to a mobile phone.

Confirm that the originating identities you're using are supported in the country that you're sending messages to

For a complete list of countries that either support or don't support each type of originating identity, see Supported countries and regions (SMS channel).

Confirm that your account is approved to send SMS messages

1.    Review your delivery status logs for failed SMS message deliveries. ("status": "FAILURE")

2.    Check the failed SMS delivery logs for the following value: "providerResponse": "Your account requires additional review prior to being able to send SMS messages". If you see this value in the failed SMS delivery logs, the Amazon SNS team doesn't have the information it needs to allow your account to send SMS messages.
Note: To prevent abuse, Amazon SNS requires customers to have their spending limit and use case approved before sending SMS messages.

3.    If your account doesn't have approval to send SMS messages, open a Service limit increase case in the AWS Support Center. For more information, see How do I request a spending limit increase for SMS messages in Amazon SNS?


Did this article help?


Do you need billing or technical support?