- Newest
- Most votes
- Most comments
The situation you're experiencing is not uncommon with SMS delivery through Amazon SNS. Even though the CloudWatch logs indicate a successful delivery with the status "SUCCESS" and the provider response "Message has been accepted by phone," this doesn't always guarantee that the message has been received on the mobile device.
There are several reasons why this might occur:
-
Carrier issues: Even when SNS marks the message as delivered, the final delivery depends on the phone carrier. Carriers may sometimes temporarily block messages if they detect unusual traffic patterns.
-
Sender ID registration: For some countries, including India (which seems to be the case here given the mention of Reliance Telecom), the sender ID needs to be properly registered with the carrier. If the sender ID doesn't match the registered phone number used to send SMS, carriers may intermittently accept messages without actually delivering them.
-
Downstream provider or aggregator issues: There could be problems with the providers that route traffic between SNS and carriers, causing intermittent failures.
-
Delayed delivery: Sometimes, SMS messages may experience delays due to network congestion or other factors. The message might eventually be delivered, but it could be significantly delayed.
To troubleshoot this issue:
-
Check your CloudWatch logs for any specific failure reasons like "PhoneNumberOptedOut" or "ThrottlingLimitExceeded".
-
Ensure that your sender ID is properly set up and registered, especially if you're sending to Indian phone numbers.
-
Monitor your SMS usage to make sure you're not hitting any service quotas that might force your messages into a low priority queue.
-
If the problem persists, it's recommended to contact AWS Support. Provide them with recent message logs (ensure they're not older than 72 hours). AWS Support can work with the providers and carriers to identify and resolve any underlying issues.
-
Verify that the destination phone number is correct and hasn't opted out of receiving SMS messages from your sender ID.
Remember, while SNS provides delivery status information, the final step of message delivery is handled by mobile carriers, which can introduce variables outside of AWS's direct control.
Sources
AWS SNS - SMS not receive to mobile at some times | AWS re:Post
SMS not being received by user even after a successful 'Message has been accepted by phone' | AWS re:Post
Adding and verifying phone numbers in the Amazon SNS SMS sandbox - Amazon Simple Notification Service
answered 2 years ago
Relevant content
asked a year ago

Thanks for the response. However "Ensure that your sender ID is properly set up and registered, especially if you're sending to Indian phone numbers." seem to be something i need to be more worried about. I need to set up sender ID. But this issue is not happening with Airtel numbers though.