# "This number cannot receive SMS": what the error means and how to check a number before you send

> Why a number is not SMS-capable (landline, toll-free, VoIP, invalid, opted out), what the API error codes mean, and how to check a number before you send.

Canonical: https://mobilevalidate.com/blog/number-cannot-receive-sms · Last updated: 2026-10-18

![A text message passes a line type panel with four rows: mobile ticked, landline and toll-free crossed out, VoIP with a question mark. Only the mobile row reaches a phone; the others go to a call card and another-channel card.](https://mobilevalidate.com/images/blog/number-cannot-receive-sms.svg)

*Check the line type before you send: only mobile lines reliably take texts, and other numbers need a call or another channel.*


By MobileValidate team (https://mobilevalidate.com/about) · Published: 2026-10-18 · Category: Deliverability · Tags: SMS, Deliverability, Line type, Landline, VoIP, OTP

"This number cannot receive SMS" means the destination can't take a text message from you. In most cases the number is a landline, a toll-free or VoIP number without texting turned on, or a number that is invalid or no longer in service. Less often the number can receive texts but opted out of yours, or your account can't send to that country. Most of these causes can be found before you send, with a line type lookup and a live network check.

This guide covers that one class of failure: numbers that can't receive a text at all, or can't receive one from you. It lists the wording SMS providers use for it, the causes behind each message, and a pre-send routine that keeps these numbers out of your sends. For every other reason a text goes missing (phones switched off, carrier filtering, handset problems), read [why SMS messages aren't delivered](/blog/why-sms-is-not-delivered). For the meaning of each delivery report status, see [SMS delivery report statuses explained](/blog/sms-delivery-report-status-meanings).

## What does "this number cannot receive SMS" mean?

**An SMS-capable number is one whose network will accept a text message addressed to it and deliver it to a device.** When a tool says a number "has no SMS capability", "is not a valid mobile number" or "is a landline", it is telling you that one of three things is wrong:

1. **The number itself.** It is badly formatted, impossible, unassigned or disconnected, so there is nothing to deliver to.
2. **The line.** The number is real and in service, but it belongs to a kind of line that doesn't take texts: most fixed lines, many toll-free numbers, some VoIP services, pagers and voicemail-only numbers.
3. **The relationship.** The number can receive texts, just not yours: the person replied STOP, your sender isn't allowed on that network, or your account isn't enabled for that country.

The first two are facts about the number, and you can check them before you pay to send. The third is about you as a sender, and the fix is in your own records and account settings.

The exact sentence you see depends on the tool. Messaging apps, CRM texting features and SMS APIs all phrase it differently. Wording such as "the number you are sending an SMS to currently has no SMS capabilities" is the same message in plain language: the tool looked the number up, found a line type that doesn't take texts, and refused to send.

## What do SMS API error codes say about non-SMS-capable numbers?

**Every major SMS API has a code for this, and they split into two groups: rejected before sending, and failed after sending.** The difference matters for troubleshooting. A send-time rejection appears in the API response, often because the provider ran its own number check. A delivery failure arrives later, in a delivery report or status callback, after the message was passed towards the destination network.

The table below shows how five widely used providers describe the main cases, from their public documentation as of October 2026. Provider names are used descriptively. MobileValidate is not affiliated with any of them.

| Provider | Code or status | What the provider says | Group |
|---|---|---|---|
| Telnyx | 40001 | "Not routable": the destination is a landline or another number that can't be routed ([docs](https://developers.telnyx.com/docs/messaging/messages/error-codes)) | Failed after send |
| Telnyx | 40012 | "Invalid destination number": the carrier rejected the number ([docs](https://developers.telnyx.com/docs/messaging/messages/error-codes)) | Failed after send |
| Infobip | EC_TELESERVICE_NOT_PROVISIONED (11) | The subscription doesn't include the requested service, such as SMS ([docs](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes)) | Network error, permanent |
| Infobip | EC_UNKNOWN_SUBSCRIBER (1), REJECTED_DESTINATION (52) | The network doesn't recognise the number; the prefix or length matches no operator ([docs](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes)) | Permanent error, rejected at send |
| Plivo | 50, 70, 100, 200 | Invalid destination number (including landlines that aren't SMS-enabled), destination permanently unavailable, prohibited by carrier, blocked by STOP ([docs](https://www.plivo.com/docs/messaging/troubleshooting/error-codes)) | Failed after send |
| Sinch | 402, 412 | Message unroutable, unprovisioned region ([docs](https://developers.sinch.com/docs/sms/api-reference/sms/delivery-reports/delivery-report-error-codes)) | Rejected by the network |
| AWS End User Messaging | INVALID, BLOCKED, UNREACHABLE | Invalid destination number, recipient device blocking the sender, device currently unreachable ([docs](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-format.html)) | Message status events |

Three patterns run through these codes:

- **"Landline" and "invalid" often share a code.** Plivo's 50 covers a number that was entered incorrectly and a landline that isn't SMS-enabled alike. You can't tell which from the code alone, so check the format first and the line type second.
- **Temporary and permanent cases look alike unless the provider splits them.** Plivo separates "destination temporarily unavailable" (80) from "permanently unavailable" (70), and Infobip marks each network error as permanent or not: an absent subscriber is temporary, an unknown subscriber is permanent. A permanent code is a reason to stop texting the number. A temporary one isn't.
- **A mobile number can still be "not SMS-capable".** The network-level error "teleservice not provisioned" means the subscription itself has no SMS, as on some data-only plans. A line type of `mobile` makes SMS likely, not certain.
- **Opt-out is reported as a number problem.** Plivo calls it "source number blocked by STOP from destination number". The number is fine. Your permission to text it is gone.

## Why can't a phone number receive text messages?

**There are eight common causes, and each one has its own fix.** Most are visible in the number's data before you send.

### 1. It's a landline

**Most fixed lines can't receive SMS, so a text to a landline is the most common cause of this error.** A landline is a number on a fixed network, tied to an address rather than a SIM. The SMS protocol was built for mobile networks, and most fixed networks have no way to deliver a text to a desk phone.

There are exceptions, and they explain why some texts to landlines seem to work:

- **Text-to-speech landlines.** In the UK, BT began converting texts sent to its landlines into spoken messages in the mid-2000s. In January 2006 *The Register* reported that it even hired the actor Tom Baker to voice them ([The Register](https://www.theregister.com/2006/01/31/tom_baker_bt_text_voice/)). The text "arrives" as a phone call or a voicemail.
- **Text-enabled business lines.** In the US, a business can register its landline or toll-free number with a texting provider so texts to it reach a web inbox or app. This is a service on top of the line, not a property of the number range.

Neither exception helps a one-time code or a delivery update. Treat a fixed line as not SMS-capable unless you know otherwise.

### 2. It's a toll-free number that isn't text-enabled

**Toll-free numbers can receive texts in the US and Canada only after they are text-enabled.** Since July 2015, North America has had a central registry for text-enabled toll-free numbers, the Texting and Smart Services (TSS) Registry. A registrar adds a number with the owner's authority, and the registry shares the routing with message-routing providers ([Somos](https://www.somos.com/insights/somos-launches-texting-and-smart-services-tss-registry)). A toll-free number nobody has registered has no messaging route, so a text to it fails. Outside North America, freephone numbers almost never take texts.

### 3. It's a VoIP number without SMS

**Some internet phone services receive texts, some don't, and some accept texts only from people.** A [VoIP number](/glossary/voip-number) is served over the internet rather than by a mobile network. Texting support is up to the provider. Some deliver person-to-person texts but not messages from short codes or business senders. A VoIP line type is a reason to test, offer another channel or [add an extra verification step](/blog/non-fixed-voip-number). It isn't proof that the text will fail, and it isn't evidence of fraud on its own.

### 4. The number is invalid or badly formatted

**A number your provider can't parse can't receive anything.** Common mistakes are a missing country code, a national trunk zero left in front of the international number (`+44 07700…`), a mixed-up country, too few digits, or letters and spaces your system didn't strip. SMS APIs expect the international [E.164](/glossary/e164) format: a plus sign, the country code and the national number, at most 15 digits ([ITU-T E.164](https://www.itu.int/rec/T-REC-E.164)). Plivo's error 50 lists "entered incorrectly" next to "landline" ([Plivo](https://www.plivo.com/docs/messaging/troubleshooting/error-codes)), and Infobip rejects numbers whose prefix or length matches no operator before sending ([Infobip](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes)). Fix the format first, because a format error can look like a line type error.

### 5. The number is disconnected or unassigned

**A number that is no longer in service has nobody to deliver to.** It may have been cancelled, never assigned, or [recycled](/blog/number-recycling-and-list-decay) after a period without use. The format and line type can still look perfect: a mobile range, the right length, a real network. Only a live query to the number's home network shows whether it is assigned today. That's what an [HLR lookup](/services/hlr-lookup) does. Validation libraries can't do it: libphonenumber's own FAQ says "do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable" ([libphonenumber FAQ](https://github.com/google/libphonenumber/blob/master/FAQ.md)).

### 6. The person opted out of your messages

**After a STOP reply, the number can still receive texts, but not from you.** US mobile industry guidelines expect senders to honour opt-outs such as STOP ([CTIA](https://api.ctia.org/wp-content/uploads/2023/05/230523-CTIA-Messaging-Principles-and-Best-Practices-FINAL.pdf)), and many providers enforce this themselves by refusing the send. Don't try to work around the block. Sync your provider's opt-out list with your own, and only text again after a fresh opt-in.

### 7. Your account or sender can't reach that destination

**Some "cannot receive" errors are about your sending setup, not the number.** New SMS accounts are often limited to their home country until other destinations are switched on. Sinch reports 412 "unprovisioned region" when an account isn't set up for a destination, and AWS reports UNROUTABLE for a bad account configuration ([Sinch](https://developers.sinch.com/docs/sms/api-reference/sms/delivery-reports/delivery-report-error-codes), [AWS](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-format.html)). Short codes are another case, because many work only on certain networks. If every number in one country fails the same way, check your account settings before blaming the numbers.

### 8. The mobile subscription doesn't include SMS

**Some mobile numbers have no SMS service on their subscription.** Data-only plans, SIMs in trackers, meters and routers, and some barred business lines sit in mobile ranges but can't take ordinary texts. The network reports this with the standard error "teleservice not provisioned", which Infobip describes as a subscription that doesn't include the requested service, such as SMS ([Infobip](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes)). Only the operator can switch the service on. If you text devices, ask your provider about machine-to-machine messaging rather than retrying.

### What is not a capability problem?

**Phones that are switched off, out of coverage or full are temporary problems, and carrier filtering is a sender problem.** These cases produce "unreachable", "absent subscriber" or "spam" errors, not "cannot receive SMS". The number can take texts, just not right now or not this message. They are covered in [why SMS messages aren't delivered](/blog/why-sms-is-not-delivered). Mixing them up is costly in both directions: you either stop texting good numbers or keep paying to text numbers that will never answer.

## Symptom, cause and pre-send check

**Use this table to go from the error you see to the check that would have caught it.**

| What you see | Likely cause | Check before sending | What to do instead |
|---|---|---|---|
| "Not a valid mobile number", rejected at send | Landline, or a badly formatted number | Normalize to E.164, then line type lookup | Fix the format; for a fixed line, ask for a mobile or call |
| "Not routable" or "landline" after sending | Fixed line, or a VoIP or toll-free number without SMS | Line type lookup | Don't retry; switch to voice or another channel |
| "Unknown handset", "permanently unavailable", "absent subscriber (permanent)" | Disconnected, unassigned or recycled number | Live network status (HLR lookup) | Remove or re-confirm the number |
| "Unsubscribed", "blocked by STOP", "illegal number" | Opt-out from your sender | Your own suppression list | Don't send until a fresh opt-in |
| "Unroutable", "unprovisioned region", "destination country disabled" | Account or sender setup | Your provider's country and sender settings | Enable the destination or use another sender |
| "Prohibited by carrier" on one network | That network won't accept the message from your route or sender type | Current carrier (line type lookup) | Ask your provider which sender types reach that network |
| Texts to a toll-free number never arrive | Toll-free number not text-enabled | Line type lookup (`toll_free`) | Call, or ask the business for a texting number |
| Texts to one VoIP range fail, others work | VoIP provider doesn't accept business texts | Line type lookup (`voip`), then a test send | Offer a voice call or another channel |

## Is this number SMS-capable? How to check before you send

**Four checks find most non-SMS-capable numbers before you send, and the first one is free.** Run them in this order, so each one only sees the numbers that passed the one before.

1. **Normalize and validate.** Convert every number to E.164 with the right default country, and reject impossible ones. This catches cause 4 and costs nothing. Every MobileValidate request does it automatically, and invalid numbers are never charged.
2. **Look up the line type.** A [carrier lookup](/services/carrier-lookup) returns the number's line type from carrier data, not just the digits. That matters because numbers keep their digits when they [move between networks](/glossary/mobile-number-portability). Send to `mobile`. Don't text `fixed_line`, `toll_free`, `premium_rate`, `shared_cost` or `uan`. Treat `voip` as "send, but have a fallback ready". `fixed_line_or_mobile` means the country's ranges don't tell the two apart, which is common in North America: send under your normal rules and watch the result. This catches causes 1, 2, 3 and 8.
3. **Check live status for messages that matter.** For one-time codes, payment alerts or a list you haven't texted in months, an [HLR lookup](/services/hlr-lookup) asks the number's home network whether it is assigned and reachable now. `reachable` means send. `invalid` means the network doesn't know the number, so remove it. `unreachable` means the phone is off or out of coverage at the moment, so send later or by another channel. This catches cause 5.
4. **Check your own lists and settings.** Suppress numbers that opted out, and make sure your account and sender are enabled for each destination country. This catches causes 6 and 7, and only you can run it.

A real-time line type check in test mode looks like this:

```bash
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001", "+447700900002"], "checks": ["carrier"], "wait": 5}'
```

Response (excerpt of `results`, test mode):

```json
[
  {"input": "+447700900001", "e164": "+447700900001", "number_status": "valid",
   "checks": {"network.carrier": {"status": "completed",
     "attributes": {"line_type": "mobile", "carrier": "Test Carrier", "country": "GB"}, "billed": false}}},
  {"input": "+447700900002", "e164": "+447700900002", "number_status": "valid",
   "checks": {"network.carrier": {"status": "unknown", "registered": null, "reason": "NO_DATA", "billed": false}}}
]
```

The first number is a mobile line, so send. The second has no carrier data. `unknown` means "no evidence", not "can't receive", so send under your normal rules. It isn't charged. In live mode, a landline comes back as `"line_type": "fixed_line"`, and that's your signal not to text it.

### What does the check cost, and when is it worth it?

**A line type check costs less than the text it saves in most markets.** At current [prices](/pricing), the carrier lookup costs $0.003 per number in real time and $0.0015 in bulk ($3.00 and $1.50 per 1,000). A live network check costs $0.006 in real time and $0.005 in bulk. Only conclusive answers are charged: unknowns, unsupported countries, timeouts, invalid numbers and duplicates are free. The carrier lookup is in beta, and its coverage still varies by country.

Whether it pays off depends on your message price and on how many non-mobile numbers your list holds. A form that accepts any phone number tends to collect office lines and switchboards. A sign-up form that sends a code tends to collect mobiles. [When does an HLR lookup pay for itself?](/blog/when-does-an-hlr-lookup-pay-for-itself) works through the arithmetic for live checks, and the same method applies to line type checks.

## What should you do when a number can't receive texts?

**Stop texting it and offer another way to reach the person.** Retrying a text to a landline only repeats the cost. Better options, in rough order:

- **Ask for a mobile number** at the point of entry. If a form field rejects a fixed line in real time, the person can correct it while they're still on the page. See [phone number input field best practices](/blog/phone-number-input-field-best-practices).
- **Offer a voice call for one-time codes.** Most verification services can read a code aloud to a landline. Protect voice codes against [toll fraud](/blog/toll-fraud-in-voice-otp) the same way you protect SMS codes.
- **Use a channel the person already has.** A [WhatsApp number check](/services/whatsapp-number-check) or an [RCS capability check](/services/rcs-capability-check) tells you whether that channel can reach the number. The [channel selection use case](/use-cases/channel-selection) shows how to pick a channel per number.
- **Mark the number in your records.** Store the line type and the date you checked it, and suppress the number from future SMS sends. Line types change rarely, but numbers do get ported and reassigned, so recheck old records before a big send. [How long are phone check results valid?](/blog/how-long-are-phone-check-results-valid) gives practical refresh intervals.

Two things not to do. Don't treat every VoIP or `fixed_line_or_mobile` answer as a reason to block a sign-up, because many real customers have those numbers. And don't use these checks to text people who never gave you their number. A line type lookup shows whether a number *can* receive a text. It doesn't make sending one lawful. The [TCPA checklist for SMS](/blog/tcpa-compliance-checklist-for-sms) covers consent in the US.

## How is this different from an "undelivered" SMS?

**"Cannot receive SMS" is a fact about the number, while "undelivered" is an outcome of one message.** Every non-SMS-capable number produces undelivered messages, but most undelivered messages go to numbers that can receive texts: the phone was off, the message was filtered, or the handset dropped it.

| | Not SMS-capable | Undelivered this time |
|---|---|---|
| What it describes | The number or line | One message |
| Typical causes | Landline, toll-free without texting, VoIP without SMS, invalid, disconnected | Phone off, out of coverage, carrier filtering, handset problems |
| Retry? | No | Sometimes, after a delay |
| Found before sending? | Mostly, with line type and live status checks | Partly: a live check shows unreachable phones |
| Where to read more | This guide | [Why SMS messages aren't delivered](/blog/why-sms-is-not-delivered) |

## Key takeaways

- "This number cannot receive SMS" usually means a landline, a toll-free or VoIP number without texting, or an invalid or disconnected number. Sometimes it means an opt-out or an account restriction.
- SMS APIs report it either at send time ("not a valid mobile number") or after sending ("landline or unreachable carrier"). Read which one you have.
- Fix the format first, because format errors and landline errors often share a code.
- Before sending: normalize to E.164 (free), look up the line type, and run a live network check for messages that matter.
- When a number can't take texts, switch to voice or another channel the person already uses, and suppress the number from future SMS sends.

## Sources

1. [Response status and error codes](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes) — Infobip Docs, 2026
2. [Messaging error codes reference](https://developers.telnyx.com/docs/messaging/messages/error-codes) — Telnyx Developer Docs, 2026
3. [Messaging error codes](https://www.plivo.com/docs/messaging/troubleshooting/error-codes) — Plivo Docs, 2026
4. [Delivery report error codes](https://developers.sinch.com/docs/sms/api-reference/sms/delivery-reports/delivery-report-error-codes) — Sinch Developer Documentation, 2026
5. [Example AWS End User Messaging SMS event data](https://docs.aws.amazon.com/sms-voice/latest/userguide/configuration-sets-event-format.html) — Amazon Web Services, 2026
6. [Somos launches Texting and Smart Services (TSS) Registry](https://www.somos.com/insights/somos-launches-texting-and-smart-services-tss-registry) — Somos, 2015
7. [Doctor Who reads out your TXTs](https://www.theregister.com/2006/01/31/tom_baker_bt_text_voice/) — The Register, 2006
8. [libphonenumber FAQ](https://github.com/google/libphonenumber/blob/master/FAQ.md) — Google (libphonenumber project), 2026
9. [Messaging Principles and Best Practices](https://api.ctia.org/wp-content/uploads/2023/05/230523-CTIA-Messaging-Principles-and-Best-Practices-FINAL.pdf) — CTIA, 2023
10. [Recommendation E.164: The international public telecommunication numbering plan](https://www.itu.int/rec/T-REC-E.164) — ITU-T, 2010

## Frequently asked questions

### What does "this number cannot receive SMS" mean?

It means the destination can't take a text message from you. Usually the number is a landline, a toll-free or VoIP number without texting turned on, or a number that is invalid or no longer in service. Less often the number can receive texts in general, but it opted out of your messages or your account isn't allowed to send to that country.

### Can a landline receive text messages?

Usually not as a normal text. Some landlines can: in the UK, BT began delivering texts sent to its landlines as spoken voice messages in the mid-2000s, and in the US a business can text-enable its landline or toll-free number through a registration process. Without that, a text to a fixed line fails or is rejected.

### How can I tell if a phone number is SMS-capable before sending?

Normalize the number to E.164 and drop impossible ones, then run a line type lookup: mobile means you can send, fixed line, toll-free and premium-rate mean you shouldn't, and VoIP depends on the provider. For important messages such as one-time codes, add a live network (HLR) check to see whether the number is in service and reachable now.

### Is a 'not a valid mobile number' error the same as a delivery failure?

No. A send-time rejection means your provider refused the message before sending it, often because its own lookup says the number is a landline or badly formatted. A delivery failure such as 'not routable' or 'unknown subscriber' comes back later, after the message was sent towards the network. The fixes overlap, but only the second shows up in delivery reports.

### Why can't a VoIP number receive my texts?

Not every internet phone service supports SMS, and some that do only accept texts from other people, not from business senders or short codes. A VoIP line type is a reason to test or offer another channel, not proof that texts will fail, and not on its own a sign of fraud.

### What should I do when a number can't receive SMS?

Don't keep retrying the same text. Ask the person for a mobile number, offer a voice call for codes, or use a channel they already have, such as WhatsApp or RCS, after checking it. Keep a suppression list so numbers that failed as not SMS-capable aren't texted again on the next send.
