Guide

Landline or unreachable carrier: why your texts failed and how to fix it

"Landline or unreachable carrier" is Twilio's error 30006. It means the number you texted couldn't take the message, and on a skip-traced list the usual reason is that it's a landline. Don't send it again. Check the line type, move the landlines to your call list, and text only the mobiles.

A texting tool showing a landline or unreachable carrier error next to the same numbers sorted into text, call and fix

What does "landline or unreachable carrier" mean?

Twilio returns error 30006 when the carrier at the other end won't take your text. Usually the number is a landline. Less often you sent from a short code that the person's carrier doesn't connect to.

Twilio doesn't refuse landlines up front, because a few of them can take texts. Some businesses add texting to their main office number, so in the US, Canada and the UK Twilio tries the send in case yours is one of them. When it isn't, the carrier says no, and you get 30006.

Owners on a skip-traced list rarely have one of those. Read 30006 as "this is a home phone" unless you know otherwise.

Why your tool might show a different code

Many texting tools run on Twilio underneath, so its numbered codes show up there too. GoHighLevel lists them in its own help center.

You may also see 21635, "'To' number cannot be a landline". Twilio returns it in countries where it doesn't try landlines at all, so the text never goes out. Same cause, same fix.

Six reasons a text to your list fails

Here they are in the order you're likely to hit them on a skip-traced list. The first three are problems with the list. The last three are problems with how you send.

1. It's a landline
Error 30006 or 21635. Skip traces mix home phones in with mobiles, often in the same row, and nothing in the number itself tells you which is which.
2. The number can't exist
Error 21211, "Invalid 'To' phone number". A digit dropped from a hand-typed form, an extension glued to the end, a number in an exchange no carrier holds. It fails before it leaves your tool.
3. It's a VoIP line with no texting
Some internet phone numbers live in an app that shows texts. Others ring a desk phone that never had texting switched on. The number alone won't tell you.
4. The phone is off or out of service
Error 30003 means the handset can't be reached right now. Error 30005 means the carrier doesn't know the number at all, which usually means it was disconnected.
5. The carrier filtered it
Error 30007 means the carrier read the text as spam. Error 30034 means your sending number isn't registered for business texting (10DLC), and US carriers block that traffic.
6. They replied STOP
Error 21610. The person opted out of texts from your number, and your tool won't send to them again until they opt back in.

Which errors a clean list fixes, and which it doesn't

This is the table worth bookmarking. A line-type check takes care of the top three rows before you send. It can't touch the bottom four, whatever a list-cleaning tool (ours included) might like you to believe.

Common texting errors and where the fix lives
ErrorWhat it saysFixed by cleaning the list?What to do
30006Landline or unreachable carrierYes, for landlinesCall the number
21635'To' number cannot be a landlineYesCall the number
21211Invalid 'To' phone numberYesFix the typo or drop it
30005Unknown destination handsetPartlyDrop it if it fails twice
30003Unreachable destination handsetNoTry again another day
30007Message filteredNoChange the wording and links
30034Message from an unregistered numberNoRegister your brand and campaign
21610Attempt to send to unsubscribed recipientNoLeave them off

30005 is only a partial yes. A number that can't exist comes back invalid from a check. A line cut off last month can still sit with its carrier and come back valid, and you'll only find out when the text bounces.

Four numbers from one send, traced back

Four numbers from one campaign, made up for this example. Next to each: what the texting tool reported, and what a line-type check says about the same number.

What the tool said, and what a check finds
NumberWhat your tool saidWhat a check findsNext send
(602) 555-0114DeliveredMobile, textableText it
(602) 555-012730006 Landline or unreachable carrierLandline, callableCall it
(602) 555-01421211 Invalid 'To' phone numberInvalid: a digit is missingFix it or drop it
(602) 555-016221610 Unsubscribed recipientMobile, textableLeave it off

Three failures. A check before the send would have caught two of them.

The third is a working mobile whose owner said stop. No lookup knows that. Your texting tool's opt-out list does, and it should stay the last word.

How to stop error 30006 before your next send

Run the check on the list itself, on the day you send. A line-type column your data provider filled in months ago is a guess by now, because people move numbers between home, mobile and internet phone services and keep every digit.

  1. Step 1

    Export the list with every phone column

    Keep it the way your skip trace gave it: one row per owner, Phone 1 to Phone 5 in their own columns. If it's an Excel file, use Save As and pick CSV.

  2. Step 2

    Upload it and check the phone columns

    We spot the phone columns and tick them for you. Make sure none are missing.

    The column step of a list upload with Phone 1, Phone 2 and Phone 3 ticked
  3. Step 3

    Look at the cost before anything runs

    Each different number is charged once, even if it appears in three rows. Repeats, blanks and badly formatted numbers are free, and anything that comes back unknown is refunded when the list finishes.

    The cost step showing rows, phone numbers to check and credits needed before the list starts
  4. Step 4

    Text the mobiles, call the rest

    Download "For texting" (texting.csv) into your texting tool and "For calling" (calling.csv) into your dialer. Owners with no working number are in removed.csv, ready to trace again.

    A finished skip-traced list with downloads for texting, for calling and for owners with no working number

Four mistakes that keep 30006 coming back

Resending to the same numbers
Twilio's own advice is not to retry a text to a landline. The second send fails exactly like the first.
Deleting the landlines
An owner who never answers a text might still pick up the house phone. Move landlines to the dialer instead of throwing away a number you paid to find.
Trusting the line type that came with the data
It was right when it was compiled. Numbers change hands and change type, so check them close to the send.
Blaming the list for 30007 or 30034
Those come from the carrier's spam filter and from registration. A perfectly clean list still fails if your sending number isn't registered.

What a line-type check won't catch

A check tells you what kind of line a number is and whether it can exist. It won't tell you that a mobile was switched off last week, that the number now belongs to someone else, or that you have permission to text it.

Consent and Do Not Call are still your job.

Sources

Common questions

Can a landline receive text messages?

Most can't. A few business landlines have texting added, which is why Twilio still tries the send. On a list of property owners, treat a landline as a number to call.

Should I resend after error 30006?

No. If the number is a landline, the next send fails the same way. Check the line type and call it instead.

What's the difference between error 30006 and 30003?

30006 means the number can't take a text, usually because it's a landline. 30003 means it's a phone that can, but it's off or out of signal right now. Retrying later can work for 30003. It won't for 30006.

Will cleaning my list stop error 30007?

No. 30007 is the carrier's spam filter reacting to your message or your sending setup. Cleaning the list keeps your failure rate down, which helps, but the wording, the links and your 10DLC registration are what fix 30007.

Am I charged for numbers you can't confirm?

No. A number that comes back unknown costs nothing, and it goes to calling.csv rather than texting.csv.

All guides

Find the landlines before your texting tool does

Upload the CSV your skip trace gave you and see the credit count before anything runs. New accounts get free credits and need no card.

Start with free credits