← Blog

Blog

US SMS Carrier Filtering Mechanisms and How to Resolve Each (2026)

Sahand Seifi5 min read
  • SMS
  • A2P
  • 10DLC
  • Engineering

Common US SMS carrier filters such as: 10DLC, not routable, unreachable, undeliverable, expired, 30034, 30032, 30963, with recommendations for each.

US SMS carriers filter outbound messages for various reasons. The main filtering mechanism is requiring registeration for senders (A2P 10DLC, toll-free, short-code) before the first message can even go out. But there are other filtering mechanisms in place too. This article lists these filters and how to resolve them.

Before you start

Product teams that use Pingram typically don’t face these issues, because unlike Twilio or Telnyx, Pingram correctly submits your registerations (A2P and others) and sets up your telecom infrastructure automatically vs. requiring you to learn and handle it alone. Learn more about Pingram SMS.

The mechanisms

This is a comparison of filters, not a delivery-rate ranking. The same block uses a different number on Telnyx and on Twilio.

Mechanism What it blocks Error codes How to resolve it
A2P 10DLC Long-code traffic with no approved campaign on that number 40010, 30034 Complete A2P registration by submitting your brand, then campaign. Pingram handles this for you.
Toll-free US or Canada traffic from a toll-free number that is not verified 30032, 30442 Complete toll-free verification Pingram handles this for you.
Spam Content or a pattern the carrier treats as unwanted 40002, 30007 Review what you are sending. Ensure your API keys or system is not being abused by spammers.
Bitly and public shorteners A link that hides the destination 30963 Put the link on a domain you own.
Not routable A landline, a 555 number, or a number the carrier will not accept 40001, 40012, 10002, 30006, 21211, 30005, 21614 Not possible to text this number. Try a different number or channel.
Unreachable A mobile that is off or out of coverage 30003 Retry with backoff.
Undeliverable The carrier refused a wireless number and did not say why 40008, 30008 Retry. Repeated failures on numbers that otherwise deliver are abuse filtering.
Expired The message aged out before the handset got it 40005, 30036 Resend only if the content is still valid.
STOP The recipient opted out 40300, 21610 Wait for START.
Volume Traffic past the campaign class (4)780 File the class for the volume you send or switch to Pingram which automatically handles this.

A2P 10DLC

40010 and 30034 mean the long code is not attached to an approved 10DLC campaign, so carriers drop the traffic. Register the brand and campaign, attach the number you send from, and match the samples, opt-in, and privacy policy to the live text. If you want to do this yourself, refer to our Ultimate A2P 10DLC Guide. If you prefer to skip these requirements and focus on shipping faster, Pingram handles this for you.

Toll-free

30032 means the toll-free number is not verified, so US and Canada traffic is blocked. 30442 means verification was rejected because the use case looked like spam. Finish verification before production traffic, or send that traffic from a registered 10DLC number. Pingram supports both on one account.

Spam

40002 and 30007 mean the carrier or the provider filtered the content or the sending pattern. Match the live text to the registered samples, name the business, and keep a real opt-out. If compliant messages still fail, open a support case with three or more undelivered message IDs.

Bitly and other public shorteners

This is usually caused by your content containing links from public shorteners (bit.ly, tinyurl.com, or a domain that only redirects) which are heavily abused for phishing. Replace your links with URLs on a domain you own.

Volume

Each registration (A2P, toll-free, short-code) has a volume cap based on the brand, type of registration, and recipient’s telecom operator. These errors mean you are over the cap. If you are not using Pingram, find the limit, file the appropriate campaign, register a new brand, or open a ticket to review your volume.

If you are using Pingram, you won’t have to worry, because the Pingram team and software automatically handles the necessary compliance for your caps to increase as your traffic grows.

If you want to learn more about these caps, refer to our 10DLC Throughput Limit on a Low Volume Campaign (2026) blog.

Not routable

40001, 40012, 10002, 30006, 21211, 30005, and 21614 mean the carrier will not route to that number: a landline, a 555 number, or a wireless number it has marked invalid. We recommend removing the number or reaching the customer through an alternate channel (Pingram supports emails and voice too).

Unreachable or Undeliverable or Expired

30003 means a mobile handset did not respond, because it was off or out of coverage. 40008 and 30008 mean the carrier refused and did not name a rule. 40005 and 30036 means the message expired while the carrier was delivering it.

Don’t remove the number, instead continue sending. You can retry the same message with a backoff (recommended to be hours).

You may also receive these errors if you are sending too many messages to the same number, so your messages are being delayed or filtered to avoid abuse. You may want to check if you’ve been sending too many messages to the same person. This keeps happening if you are a developer testing an SMS feature with your own number.

STOP

40300 (HTTP 409) and 21610 mean the recipient texted STOP, so further SMS to that number is blocked. The next send that will go through is after they text START. On Pingram, STOP suppresses later SMS to that number, including the same notification, and START turns them back on.

It’s recommended that you stop attempting to send to the user, so you are not incurring more SMS fees. Depending on your application’s terms of use, you may be allowed to continue sending through another channel like Email if you have their email opt-in, and if their SMS STOP does not imply an email opt-out.

Sec. 02FAQ

Common questions

01What are the carrier SMS filtering mechanisms in the US?

The most common is requiring A2P 10DLC or Toll-Free registration before sending SMS. Pingram helps companies get this registration very quickly. However, there are other filterings in place such as: spam or off-campaign content, URL shorteners, and volume caps.

02How do I resolve US SMS carrier filtering?

Match the error to the mechanism, then fix that mechanism. Register 10DLC or switch to Pingram for 30034, verify toll-free or switch to Pingram for 30032, align the copy with the campaign for 30007, and replace bit.ly with a link on your own domain for 30963. Read this complete Pingram article for more details.

Ready when you are

Launch today.

Free tier with 3,000 emails, plus 100 SMS and calls per month. No credit card required. Paid plans start at $20/month.