Your business texting probably ran fine for years from a Google Voice number, a Grasshopper line or a VoIP.ms number. Then appointment reminders started going missing. Customers said they never got the "your order is ready" text. Group sends began failing without an error you could act on. The phone didn't change. The carrier rules around it did.
The cause is almost always 10DLC. US mobile carriers now require businesses that send from a regular 10-digit number to register who they are and what they send. Traffic that isn't registered gets filtered before it reaches the handset. Budget and consumer VoIP lines were built for conversations, not for registered business messaging. This post covers why these lines run into trouble, when they're still fine, and how to move to a registered number without losing your customers or your opt-out history.
What 10DLC actually changed
10DLC stands for "10-digit long code," which is an ordinary local phone number. Carriers split texting into two kinds:
- P2P (person-to-person): you texting a friend, at conversational volume.
- A2P (application-to-person): a business texting customers. That covers reminders, order updates, promos and anything sent from software, even if a person typed it.
Since the 10DLC rollout, carriers expect A2P traffic on 10-digit numbers to be registered through The Campaign Registry. A brand record says who you are, and a campaign record says what you send and how people opted in. Unregistered A2P traffic gets throttled or filtered, often with no bounce you'd notice. Our 10DLC explainer covers the full mechanics.
The key point is that carriers judge the sender, not the app you used. A plumber texting 40 customers "We're running 20 minutes late" from Google Voice is a business sending to customers. That is A2P traffic.
Why Google Voice, Grasshopper and VoIP.ms lines struggle
These three products differ, and their policies change. Check your provider's current terms before you assume the details below apply to you. The pattern is the same for all of them, though.
They're designed around conversation
Google Voice's terms are written around personal and team communication, not automated or bulk sending. Grasshopper is a virtual phone system aimed at small businesses, and its texting is built for one-to-one replies from the app. VoIP.ms is a wholesale-style VoIP provider. SMS is a feature on its numbers, and you assemble everything around it yourself.
None of them were built to be a business messaging platform. That means no campaign tools, no quiet-hours holds, and no audit trail of what you sent and to whom.
Registration is limited, awkward or missing
Some VoIP providers offer a 10DLC registration path. Others restrict texting on unregistered numbers. Others don't support registered A2P sending at all. Where registration exists, it's often a form bolted onto a product built for something else.
When the line can't be registered, or you never did it, carriers see unregistered business traffic. They filter it.
VoIP numbers carry extra suspicion
Carriers and spam filters already treat some VoIP number ranges with caution, because those ranges are cheap to spin up and get abused. We cover this in can you text a VoIP number. An unregistered sender on a number type filters already watch closely tends to get filtered.
When your VoIP line is still fine
Not every business needs to move. Here's a fair read:
| What you're doing | VoIP line probably OK? | Why |
|---|---|---|
| Replying by hand to customers who texted you first | Usually yes | Low-volume, conversational traffic |
| A few one-off texts a day to existing customers | Often yes, but watch delivery | Low volume, though still business traffic |
| Same reminder sent to 50+ people at once | Risky | Looks like unregistered A2P |
| Promotions, coupons, "we're open Saturday" sends | No | Marketing to a list needs a registered campaign |
| Automated texts from a booking tool or CRM | No | Software-sent business traffic is A2P |
If you only ever reply to inbound texts, staying on Google Voice is a reasonable choice. Once you send the same message to a list, or a system sends for you, register.
What a registered setup costs
We make Ready, so here are our numbers. They work as a sanity check against whatever you're quoted elsewhere.
Registration:
- No setup fee. You pay $25 when you submit, which is the first month.
- After that it's monthly: $25/mo for registration, plus $2 per number.
- One number on one campaign comes to $27/mo.
- Most approvals take 2 to 7 days.
Sending:
- Ready Standard is $0.0075/segment, plus a $0.0045 carrier fee per segment.
- Replies you receive are billed the same way.
- There's one rate. Large business senders can talk to us about Enterprise.
Worked example: a salon's monthly reminders
These figures are assumptions for illustration, not a real customer. Assume a salon with 400 opted-in clients sends one reminder each per month.
The message is 150 characters, plain text, no emoji. That fits in one segment, since a single segment holds 160 GSM-7 characters.
- Sending: 400 × 1 segment × $0.0075 = $3.00, plus 400 × $0.0045 in carrier fees.
- Registration: $27/mo.
Now add one emoji to the same 150-character message. An emoji switches the text to unicode, which caps a segment at 70 characters, or 67 each once the text splits into parts. That makes the message 3 segments, so the sending cost becomes 400 × 3 × $0.0075 = $9.00 plus 1,200 × $0.0045.
A single smiley tripled the sending cost. Ready swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't change the count. Emoji still do.
If you want TCPA litigator and DNC scrubbing, or landline validation, each adds $0.003 per segment when switched on. Both are off by default.
On price alone, raw carrier APIs like Twilio are around $0.0083/segment, and GoHighLevel's LeadConnector is around $0.0083/message. What you pay us for is everything around the send:
- self-serve registration in the app
- automatic STOP handling
- quiet-hours enforcement
- an Inbox
- campaigns and templates
- CRM and automations
Those are the pieces a VoIP line never had.
How to move to a registered number
Work through these steps in order.
1. Write down what you actually send
List each type of text: reminders, order updates, promos, review requests. The campaign use case you register has to match real traffic. Registering "marketing" when you mostly send reminders can cost you throughput later.
2. Get your consent story straight
Carriers check that people opted in to texts. Pull together how customers agree: a booking-form checkbox, a sign-up sheet, a keyword they text in. Keep those records in your own system.
Ready records your attestation each time you send a campaign (and each API send that attests consent): who sent, to how many, and when. It does not store each recipient's opt-in time or wording. That's your job. The opt-in wording that passes registration shows phrasing that clears on the first try. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)
3. Export your opt-outs before you leave
Anyone who replied STOP on your VoIP line is still opted out. That list doesn't move to a new number on its own.
Export those numbers from the old line. In Ready, open Contacts, then Lists, and click Import CSV on the Ban list before you import your contacts, so those people arrive opted out. Texting them again from a new number is a compliance problem, not a fresh start.
4. Decide what happens to the old number
You have two realistic options:
- Keep the VoIP line for calls and text from a new registered number. This is the simplest path. Put the new number in your booking confirmations and email signature.
- Port the number so customers keep texting the one they know. Porting has an order of operations, and getting it wrong causes a gap in service. Our port and re-registration checklist walks through the sequence. It's written for Twilio, but the 10DLC steps carry over.
5. Sign up, get a number, register
In Ready, you buy a number and submit brand and campaign registration from the app. A few details matter here:
- Free texts: the first 20 texts are free and must be one-to-one sends. Campaigns are paid from the first text. The free texts end when you pay for registration, so use them to test before you register.
- Before registering: an account can send up to 500 texts a month at its normal per-text rate.
- During review: if you bought your number before registering, you send on Ready's shared registration at the same rate while your own registration is reviewed.
- Card on file: a card is required to send.
6. Ramp, don't flood
A brand-new number that sends to your whole list on day one looks suspicious to carriers. Start with your most engaged customers and grow volume over the first week.
What you get that the VoIP line didn't do
The registered setup also covers compliance work you were probably doing by hand, or not at all:
- STOP handling: an inbound STOP is honored on every campaign automatically.
- Quiet hours: sends are held outside permitted hours for the recipient's area and go out later. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
- Optional scrubbing: screen out known TCPA litigators and DNC numbers before you send.
- Attestation trail: a record of your sends, alongside the consent records you keep yourself.
None of this makes you lawsuit-proof. Compliance is still the sender's responsibility. It does take the most common mistakes off the table.
If you run software that texts for your own customers, the same setup is available through a REST API with sub-accounts per customer. Start with the quickstart.
The practical takeaway
Google Voice, Grasshopper and VoIP.ms are fine for answering customers who text you. They're the wrong tool once you send to a list or let software send for you. Carriers now filter unregistered business traffic, and these lines were never built for registered sending.
To move, follow the steps above:
- Inventory what you send.
- Document consent.
- Carry over your STOP list.
- Decide whether to keep or port the old number.
- Register.
- Ramp up gradually.
If you want to try it, create an account, send your 20 free one-to-one texts to see how delivery looks, then submit registration when you're ready.