Use this guide to understand why an SMS failed and what you can do to resolve it. It explains common SMS error codes and the recommended next steps for failed messages in CallHub texting campaigns.
Every message CallHub sends goes through a telecom carrier, and the carrier sends back an acknowledgment for each one. When a message fails, the carrier attaches an error code that tells you the reason.
Reading the code correctly saves you from guessing: some failures fix themselves on retry, some mean the number should come off your contact list, and a few point to a compliance issue you must act on.
You can see the code for any failed message in the Error Codes column of the SMS Report, and you can filter the report by error code to see how widespread a problem is.
Error code reference
Error code |
Reason |
Description |
|---|---|---|
30003 |
Unreachable Destination Handset |
The recipient's number is unreachable. The number could be out of service or may not accept messages. |
30004 |
Message blocked |
If a message you send is not delivered to the end device, it means the message failed because the destination number is blocked from receiving it. |
30005 |
Unknown Destination Handset |
The destination number is unknown or no longer in service. |
30006 |
Landline or unreachable carrier |
The destination number is unable to receive this message. Potential reasons could include trying to reach a landline or, in the case of shortcodes, an unreachable carrier. |
30007 |
Carrier Violation |
The number is blocked, and the messages are filtered and/or marked as "Spam" for violating carrier regulations. |
50 |
Invalid destination number |
The destination number you entered is either not entered correctly or not SMS-enabled. |
300 |
Failed to dispatch Message |
An error occurred while sending the message to carriers. This is an internal failure, and messages with this error code will be retried at a later time. |
1000 |
Unknown error |
Delivering your message failed for reasons that are unknown to us and to our carriers. |
450 |
Destination Country Disabled |
Messages to this destination country have been disabled for your account. To enable them, please create a ticket with Support. |
200 |
Source number blocked by STOP from destination number |
The destination has opted out of your campaign and blocked all messages sent from your phone number. Opt-outs are typically received via text message replies with an opt-out keyword, including STOP. |
20 |
Network Error |
The carrier delivering the text message had network issues. This is a temporary error. You can retry at a later time when the carrier network is unaffected. |
30/40002 |
Spam Detected |
This error occurs when the messages you are trying to send are filtered by the carrier when the carrier detects spam. |
40004 |
Rejected by destination |
The recipient server is rejecting the message for an unknown reason. |
30008/40008 |
Undeliverable |
The destination may not have a messaging service, their account may not be in good standing, or the destination network may be experiencing a temporary problem. |
40012 |
Invalid destination number |
The destination phone number was deemed invalid by the carrier and was rejected. |
80 |
Destination temporarily unavailable |
The number is temporarily unavailable; the phone is currently unreachable due to being turned off or not connected to a carrier network. |
30034 |
Unregistered Traffic |
The number used to send texts is not registered with any 10DLC use case. |
40018 |
AT&T Limit Reached |
This error occurs if the texting limit is exceeded for specified carriers like AT&T or T-Mobile. |
40305 |
Invalid 'from' address |
The Sender number or ID used for texting is either set up incorrectly or not active. |
Most common codes and what to do
30003: recipient's handset is unreachable
- Symptom: Messages to certain contacts keep failing with 30003.
- Cause: The number is out of service, turned off for a long period, or cannot accept messages.
- Fix: Retry once later. If the code repeats for the same contact, remove the number from your contact list; it is unlikely to ever deliver.
30007, 30, and 40002: carrier filtered your message as spam
- Symptom: A large share of messages fail at once, often to recipients on the same carrier.
- Cause: The carrier's filters flagged your content or sending pattern as spam, or your number violated carrier regulations.
- Fix: Rewrite the message to sound personal and specific. Remove public link shorteners, all-caps words, and excessive punctuation. Make sure you are texting people who opted in, and slow your sending rate before retrying.
30006: you texted a landline
- Symptom: Failures cluster on contacts whose numbers are landlines.
- Cause: Landlines cannot receive SMS, so the carrier rejects the message. For shortcodes, the recipient's carrier may be unreachable.
- Fix: Remove landline numbers from your contact list before the next send. Fewer failed sends also protects your sender reputation.
200: the recipient texted STOP
- Symptom: A contact who previously received messages now fails with code 200.
- Cause: The recipient replied with an opt-out keyword such as STOP, which blocks all messages from your number.
- Fix: Nothing to fix on delivery. Leave the contact opted out. See the warning below.
30034: your number is not registered for 10DLC (US only)
- Symptom: Most or all messages to US numbers fail with 30034.
- Cause: The phone number you are sending from is not registered with any 10DLC use case, so US carriers reject the traffic.
- Fix: Register your number for 10DLC before sending to US contacts. See registering for 10DLC.
Notes & limits
⚠ Error code 200 means the recipient texted STOP and opted out. Never message them again from any campaign. Texting an opted-out contact violates compliance rules and can expose you to penalties.
⚠ Error code 30034 means your sending number is not registered for 10DLC. Register the number before sending any US traffic, because carriers block unregistered messages and repeated violations can hurt your account standing. See registering for 10DLC.
ⓘ Error code 450 means the destination country is disabled on your account. Create a ticket with Support to enable texting to that country.
ⓘ Error code 40018 reflects daily volume limits set by carriers like AT&T and T-Mobile. If you hit it, spread your sends over more time or across additional registered numbers.
FAQs
I got a spam-related code (30007, 30, or 40002). What should I do?
Treat it as feedback on your content and audience. Rewrite the message so it reads like a person wrote it, drop link shorteners and spam-trigger words, confirm every recipient opted in, and send at a slower rate. If failures continue after those changes, contact Support with examples.
Why are some numbers failing every time?
Codes 30003, 30005, 30006, 40012, and 50 usually point at the number itself: it is a landline, out of service, or invalid. Clean these numbers out of your contact list. Retrying them wastes credits and drags down your delivery rate.
I need help with a specific failed message. What should I send Support?
Open your Text Broadcast results and SMS reports, find the failed message, and share its Gateway message ID along with the error code. That ID lets Support trace the exact message with the carrier.
Comments
0 comments
Please sign in to leave a comment.