---
title: "An SMS wasn't delivered, or arrived late"
url: "https://enfonica.com/help/sms/sms-not-delivered"
summary: "Check the message's status in Cloud SMS > Messages. Undelivered, or stuck on Sent, usually means that the number is wrong, inactive, or out of reach. Late delivery means that the phone was off or out of coverage. A message that isn't listed at all was refused when sent, and the API response gives the reason."
type: troubleshooting
audience: everyone
products: ["Cloud SMS", "SMS Marketing"]
who_can_do_this: "Anyone who can view messages in your Enfonica project"
---

# An SMS wasn't delivered, or arrived late

**Short answer:** Check the message's status in Cloud SMS > Messages. Undelivered, or stuck on Sent, usually means that the number is wrong, inactive, or out of reach. Late delivery means that the phone was off or out of coverage. A message that isn't listed at all was refused when sent, and the API response gives the reason.

**Applies to:** Cloud SMS, SMS Marketing  
**Who can do this:** Anyone who can view messages in your Enfonica project

First check the [Enfonica status page](https://enfonica.status.io/) for a known incident.

## Start with the message's status

Every message you send is listed in the Enfonica Console with its delivery status. The status tells you which section below to read.

To find the status:

1. In the Enfonica Console, open the project you sent from, and go to **Cloud SMS > Messages**.
2. Find the message by the number you sent it to and the time you sent it, and then open it.
3. Note its status. If they appear, also note the **Error code** and **Error message**. Then look at the **Timeline**, which shows when the message was created, sent, and delivered.

| Status | What it means |
| --- | --- |
| Queued | The message is waiting in Enfonica's queue to be sent. |
| Sending | Enfonica is handing the message to a carrier. |
| Sent | The carrier has accepted the message. Enfonica is waiting for the network to confirm delivery. |
| Delivered | The network confirmed that the message reached the phone, on networks that report delivery. |
| Undelivered | The network reported that the message wasn't delivered. |
| Failed | The message couldn't be sent within Enfonica's network. A problem further along shows as Undelivered instead. |
| Received | An incoming message to one of your numbers. |

If you send with the API, the message has the same details in `status`, `errorCode`, `errorMessage`, `sendTime`, and `deliverTime`.

## The message shows Undelivered, or stays on Sent

The carrier accepted the message, but the network couldn't confirm that it reached the phone. The network doesn't always say why. So Undelivered can't tell a disconnected number apart from a phone that's been switched off for a long time. These are the usual causes, most likely first.

### The number is in the wrong format

Cloud SMS needs numbers in international format (E.164): the country code followed by the number, without its leading 0. A number such as `+610491570006` has an extra 0 and can't be delivered.

**To check**, look at the **To** number in the message. If it has a 0 straight after the country code, or it's missing the country code, this is the cause.

**To fix it**, drop the leading 0 and add the country code. The Australian mobile `0491 570 006` is `+61491570006`. Correct the number in your system or contact list, and then send the message again.

### The number isn't in use

A mobile number with no active service can't receive messages, whether it was disconnected or never connected.

**To check**, compare this number with others. If messages to this number never deliver, but messages to other numbers from the same sender do, this is the cause.

**To fix it**, check the number with the recipient another way. Then update the number or remove it from your list.

### The phone is off or out of coverage

When the phone can't be reached, the network keeps trying for a while. If the phone stays unreachable for a very long time, the message can stay on Sent or end as Undelivered.

**To fix it**, you don't need to change anything on your side. If the phone comes back in time, the message is delivered late. See [The message was delivered hours or days later](https://enfonica.com/help/sms/sms-not-delivered#delivered-late).

### A carrier filtered the message

Australian carriers run scam SMS filtering, which looks at the message itself as well as the sender. It checks the wording and any links, including the domains they point to and the redirects along the way. A message can be filtered even when the number that sends it is in good standing.

**To check**, compare your messages. If one particular message, or messages that contain one particular link, fail much more often than your other messages to the same people, this is the cause.

**To fix it:**

- Say who you are at the start of the message.
- Keep the wording plain and consistent between sends.
- Avoid anything that reads like urgency, a prize, or a payment request.
- Avoid public URL shorteners, which scam messages use heavily. To learn why, see [How SMS short links and link tracking work](https://enfonica.com/help/sms/short-links).
- In marketing messages, keep an opt-out such as "Reply STOP to opt out".

## The message shows Failed

Failed means that the message didn't leave Enfonica's network, so this one is ours to look into.

**To fix it**, open the message, and note its **Error code** and **Error message**. Then send them to us with the details in [What to send us](https://enfonica.com/help/sms/sms-not-delivered#what-to-send-us). If you sent the message with the API, include its `name`, which looks like `projects/my-project/messages/j6tfskeu3q0t6k3hp4fnh7d19c1p1p`.

## Sending fails straight away and the message isn't listed

Some checks happen the moment you send. If a check fails, the message is refused before it's created. Nothing is sent or charged, and the message doesn't appear in **Cloud SMS > Messages**.

The API returns the reason as an error (an HTTP 400 over REST). 3CX, Genesys Cloud, and Yeastar show it as a failed send. Match the error text to one of the causes below.

### The sender ID isn't registered for Australia

**To check**, look for this error: `This sender ID is not registered for Australian SMS.`

**To fix it**, register the sender ID. Messages to Australian numbers from an alphanumeric sender ID need that sender ID to be registered, and Active, in the project you send from. See [SMS from your sender ID won't send to Australian numbers](https://enfonica.com/help/sender-ids/sender-id-not-sending).

### The recipient has opted out

**To check**, look for this error: `Recipient is unsubscribed`.

The person replied STOP, or opted out another way. Marketing and unclassified messages to them are blocked in this project. For more information, see [How SMS opt-outs (STOP) work](https://enfonica.com/help/sms/sms-opt-outs).

### The number or destination isn't valid

**To check**, look for one of these errors: `to is invalid`, `to must be E164`, or `Unsupported destination country`.

**To fix it**, send to the full international number, for example `+61491570006`. To send to another country, see [Sending SMS to the US, New Zealand, and other countries](https://enfonica.com/help/sms/international-sms).

### The project can't be billed

**To check**, look for one of these errors: `Project must be associated with an open billing account` or `Billing account does not have available credit`.

**To fix it**, make sure the project has an open billing account with credit available. If your services have stopped because of an unpaid balance, see [Why have my services stopped?](https://enfonica.com/help/billing/services-stopped) Otherwise, contact us, and we'll check the project's billing with you.

## The message was delivered hours or days later

Most messages arrive within seconds. Cloud SMS has a median delivery time of 2.7 seconds, from sending to the delivery receipt. When a message arrives much later, the delay almost always happened after the carrier accepted it.

### The phone was off, out of coverage or overseas

After a carrier accepts a message, the network holds it while the phone is switched off, out of coverage, temporarily unavailable, or roaming. The network delivers the message when the phone is back.

**To check**, look at the message's **Timeline**. If the message was sent within moments of being created, and delivered much later, this is the cause.

Nothing is wrong with the message or your setup.

Some messages are useful only for a short time, such as one-time codes. For these, set `validityPeriodSeconds` when you send with the API. It limits how long a message waits in Enfonica's queue. The default is 432,000 seconds, or five days. After a carrier accepts a message, Enfonica can't recall it, so a message can still arrive late if the phone was unreachable.

## It shows Delivered, but the recipient says they didn't get it

Delivered means that the network confirmed the message reached the phone. Phones increasingly filter messages themselves, for example into the iPhone's Unknown Senders list or with Android's spam protection. Those messages still show as Delivered. Nothing comes back to Enfonica to say how the phone treated a message.

**To fix it**, ask the recipient to check their phone's filtered, unknown senders, or spam folder, and to save your number as a contact. The wording advice in [A carrier filtered the message](https://enfonica.com/help/sms/sms-not-delivered#a-carrier-filtered-the-message) also helps.

## Messages to another country aren't delivered

Each country sets its own rules for business SMS. For example, the United States and New Zealand block most messages that aren't sent from a sender registered in that country. Many countries don't accept alphanumeric sender IDs.

**To fix it**, find out what the country needs in [Sending SMS to the US, New Zealand, and other countries](https://enfonica.com/help/sms/international-sms). Then contact us to set it up.

## Picture messages (MMS) sent to your number never arrive

Enfonica's virtual mobile numbers support calls and SMS, but not MMS. A photo or picture message sent to one of them isn't received, and the sender's phone might not show an error.

**To fix it**, ask people to send text only, or to email photos instead.

## How do I track delivery automatically?

When you send with the API, set `statusUpdateUrl` on the message. Enfonica then sends a webhook to that address each time the status changes to Sent, Delivered, Undelivered, or Failed. For more information, see [message webhooks](https://enfonica.com/docs/cloud-sms/webhooks/).

## Still not working?

If nothing on this page explains what you're seeing, send us the details in [What to send us](https://enfonica.com/help/sms/sms-not-delivered#what-to-send-us), and we'll trace the message.

## What to send us

Include these and we can trace the message.

- The number or sender ID you sent from, and the number you sent to.
- The date and time you sent it, with your timezone.
- The message ID, if you sent it with the API.
- What you expected and what happened instead.

[Contact support](https://enfonica.com/contact-support?article=%2Fhelp%2Fsms%2Fsms-not-delivered&topic=sms)

## Related

- [SMS from your sender ID won't send to Australian numbers](https://enfonica.com/help/sender-ids/sender-id-not-sending.md)
- [Sending SMS to the US, New Zealand, and other countries](https://enfonica.com/help/sms/international-sms.md)
- [How SMS opt-outs (STOP) work](https://enfonica.com/help/sms/sms-opt-outs.md)
- [Why is my SMS billed as more than one message?](https://enfonica.com/help/sms/message-segments.md)
- [Message webhooks and delivery receipts (docs)](https://enfonica.com/docs/cloud-sms/webhooks/)
- [Message fields and statuses (docs)](https://enfonica.com/docs/cloud-sms/api-reference/rest/v1/projects.messages/overview/)

---

Web version: https://enfonica.com/help/sms/sms-not-delivered
