Skip to content

Why Are My Business Texts Not Being Delivered? Every Carrier Error Explained

Why Are My Business Texts Not Being Delivered? Every Carrier Error Explained

You sent a text from your business number and the customer never got it. Your provider shows a code like 30007 or 40002, and it means nothing to you. This guide explains every common texting error on Twilio and Telnyx in plain English: what it means, whether it is your fault, and exactly what to do next.

The short version

Most failed texts fall into five groups: the number cannot receive texts (landline, wrong or inactive number), the person opted out (they texted STOP), your number is not registered for business texting, you hit a carrier limit (speed or daily cap), or a carrier filtered it as spam. Find your code below, fix the cause, and only then resend.

First, find the error code

  • Twilio: open the message in the Console's messaging logs. Failed and undelivered messages show a five-digit code, usually starting with 30 or 21.
  • Telnyx: the message detail in the portal, or the delivery report your system receives, shows a code starting with 40.
  • In TelBuddy: each text you send shows whether it was delivered, and failed ones show the reason in plain English right under the message.

Twilio error codes, explained

CodeTwilio's nameWhat it meansWhat to do
30003Unreachable destination handsetThe phone is off, out of signal or out of service.Try again later, or call them.
30004Message blockedThe person (or their carrier) blocked messages from your number.Do not keep resending. Reach them another way.
30005Unknown destination handsetThe number does not exist or is no longer active.Check the number with the customer.
30006Landline or unreachable carrierIt is a landline or a line that cannot receive texts.Call instead, and ask for a mobile number.
30007Message filteredA carrier filtered it, usually as possible spam.Check your registration and your message content (see below).
30008Unknown errorThe carrier gave no reason.Retry once later. If it repeats, contact your carrier's support.
30022US A2P 10DLC - Rate Limits ExceededYou sent faster than your registration allows.Slow down and resend.
30023US A2P 10DLC - Daily Message Cap ReachedT-Mobile's daily limit for your brand is used up.Wait for the reset at midnight Pacific. See the 10DLC daily cap.
30032Toll-Free Number Has Not Been VerifiedToll-free texting needs verification first.Complete toll-free verification with Twilio.
30034US A2P 10DLC - Message from an Unregistered NumberYour local number is not attached to an approved campaign.Finish A2P 10DLC registration and link the number.
21211Invalid 'To' Phone NumberThe number is not in a valid format.Use 10 digits for the US, or + and the country code.
21408Permissions disabled for the destination regionYour account is not allowed to text that country.Enable the country in your Twilio messaging settings, if you mean to.
21610Attempt to send to unsubscribed recipientThe person texted STOP to your number.Do not text them. They can text START to opt back in.
21614'To' number is not a valid mobile numberThe number cannot receive texts.Call instead, or ask for a mobile number.

Telnyx error codes, explained

CodeTelnyx's nameWhat it meansWhat to do
40001Not routableA landline or a number that cannot receive texts.Call instead, and ask for a mobile number.
40002Blocked as spam (temporary)A carrier spam filter blocked it, for now.Review your content and registration before sending more.
40003Blocked as spam (permanent)The carrier has permanently blocked your sending number.Contact Telnyx support; you may need a new number and a clean-up.
40006Recipient unavailableThe recipient's carrier could not take it right now.Retry later.
40008UndeliverableThe carrier did not accept it.Check the number; retry once.
40010Not 10DLC registeredYour number has no approved 10DLC campaign.Finish registration and assign the number to the campaign.
40011Rate limit exceeded (upstream)You sent faster than the carrier allows.Slow down and resend.
40012Invalid destination numberThe carrier rejected the number.Check the number with the customer.
40016T-Mobile sending limitYou exceeded T-Mobile's limit for your campaign.Slow down; spread sends out over time.
40300Blocked (STOP)The person texted STOP.Do not text them unless they text START.
40310Invalid 'to' addressThe number is not valid.Correct the format and resend.

Code names are from the official Twilio error dictionary and Telnyx messaging error codes, checked October 2026.

If your texts are being filtered as spam

Filtering (Twilio 30007, Telnyx 40002 or 40003) is the error that worries people most, because nothing about the number looks wrong. The usual causes:

  1. Not registered, or registered for something else. Your messages must match the A2P 10DLC campaign you registered. See why registered numbers still get suspended.
  2. Spam-like wording. All capitals, lots of exclamation marks, "FREE", "act now", or urgent money language.
  3. Public link shorteners. Use links on your own domain.
  4. Sudden volume from a number that is usually quiet.
  5. Texting people who did not ask, which shows up as complaints and STOP replies.

Fix the cause first. Resending the same message to the same people usually makes filtering worse.

If the error is about registration

Twilio 30034 and Telnyx 40010 mean the same thing: your local number is not attached to an approved 10DLC campaign. Registration happens with your carrier, under your business: a Brand first, then a Campaign, then the number is linked to that campaign. Our guide to A2P 10DLC registration walks through it, and the week-one mistake covers what usually goes wrong.

If you hit a limit

  • Speed limits (Twilio 30022, Telnyx 40011 and 40016): you are sending too many texts per second or minute for your registration. Slow down and resend.
  • The daily cap (Twilio 30023): T-Mobile limits how many texts a brand can send to its customers each day. It resets at midnight Pacific. The full story is in the 10DLC daily cap explained.

If the person opted out

Twilio 21610 and Telnyx 40300 mean the person replied STOP. Do not try another number or another wording. They can text START to opt back in. See what to do when a customer texts STOP.

How TelBuddy shows delivery

TelBuddy runs on the Twilio or Telnyx number you already own and attaches a delivery report to every text it sends, on both carriers. In the inbox, each sent text shows whether it was delivered, and failed ones carry a plain-English reason, such as "That number is a landline or cannot receive texts", "The carrier blocked it as possible spam" or "Your 10DLC daily limit (T-Mobile) is used up. It resets at midnight Pacific." Texts to people who opted out are refused before they reach the carrier, with a clear message instead of an error code.

See how it fits with the rest of your texting in the shared team inbox.

A quick troubleshooting checklist

  1. Find the error code on the failed message.
  2. Is it the number? (landline, invalid, inactive) Check it with the customer.
  3. Is it the person? (STOP, blocked) Stop texting them.
  4. Is it registration? Finish or fix your 10DLC campaign.
  5. Is it a limit? Slow down, or wait for the daily reset.
  6. Is it filtering? Fix content, links and consent before sending more.

Frequently asked questions

Why are my business texts not being delivered?

The usual reasons are a landline or invalid number, the person opted out, your number is not registered for A2P 10DLC, you hit a carrier speed or daily limit, or a carrier filtered the text as spam. The error code tells you which.

What does Twilio error 30007 mean?

Message filtered: a carrier blocked the text, usually as possible spam. Check that your messages match your registered campaign, avoid spammy wording and public link shorteners, and only text people who opted in.

What does Twilio error 30034 mean?

Your local number is not attached to an approved A2P 10DLC campaign. Finish registration with your carrier and link the number to the campaign.

What does Twilio error 30023 mean?

US A2P 10DLC daily message cap reached: T-Mobile's daily limit for your brand is used up. It resets at midnight Pacific time.

What does Telnyx error 40002 mean?

Blocked as spam (temporary): a carrier spam filter blocked the message. Review your content and registration before sending more. 40003 is the permanent version.

What does error 21610 or 40300 mean?

The person replied STOP to your number, so the carrier blocks further texts. Do not text them unless they text START to opt back in.

Should I resend a failed text?

Only after fixing the cause. Resending to a landline, an opted-out person or into a spam filter does not help and can make filtering worse.

Can TelBuddy show why a text failed?

Yes. TelBuddy shows the delivery result of every text it sends on Twilio or Telnyx, with failed ones explained in plain English right in the conversation.

Shared Team Inbox in TelBuddy

One inbox for every text to your numbers, shared by your whole team.

Joseph Johnson
Founder of TelBuddy. Built it on the Twilio and Telnyx APIs after getting his own number blocked, and went through A2P 10DLC registration the hard way. More about me.