Your messages aren't arriving. Your calls say Spam Likely. Someone has to own that.
I'm David Rios. I get business phone numbers working again — texts that quietly stop arriving, and calls that come up as Spam Likely. Those look like two problems. They are one problem showing up in two places, and I work both sides of it.
They let it ring out, and often the next tap is Block this Caller — which happens on their handset, is permanent, and is never reported back to you. Your log shows this call exactly the way it shows a genuine no-answer, so the number just quietly stops working for that person.
Same number as the call. It arrived, and was filed next to a gift-card scam in a folder nobody opens. Technically delivered — which is exactly why it never shows up as a delivery problem and nobody goes looking.
What are you actually seeing?
Four things people say to me in the first ten minutes of a call. Pick the one that sounds like your week — it's the fastest way to the part of this you need.
“Our texts say delivered, but customers swear they never got them.”
Delivered usually means it left the gateway, not that it reached a handset. The carrier will often return a filtering code — it just lands in a log nobody reads instead of your CRM.
Start with the fleet audit →
“Our campaign got rejected and nobody can tell us why.”
Rejections cite a policy, not a fix. Some are a paperwork problem and some are terminal — the use case will never approve, no matter how it's rewritten. Those two need opposite responses.
Registration & rescue →
“Customers say we come up as Spam Likely.”
The label is painted on the recipient's handset, so from your side the call completes and logs as no answer. Your carrier is telling the truth when they say everything looks fine.
Caller-ID remediation →
“We're moving to a new CRM or phone platform.”
A migration moves contacts and pipelines. It usually leaves behind the opt-out list, the consent evidence, the registration and the reputation attached to your numbers — none of which are in the vendor's export.
Migrations & builds →
None of those, or you genuinely don't know? That's the most common answer, and it's the one worth checking. Four questions about what's on file for your numbers — ten minutes, no email required, and if you can't answer question four, you've found the problem yourself. Run the self-check →
Running an agency with a fleet of sub-accounts, or one business with a main line and a handful of numbers? Same audit either way — the second is usually faster, because there's one consent story to account for instead of twenty.
The message never reaches the phone.
Your automation fires, your platform accepts it, and it stops one hop short — at a company you have no account with.
CRM automation
Workflow fires the appointment reminder.
Your messaging platform
Accepts it, queues it, bills you for it.
The carrier
Filters it. You have no account here and no ticket you can raise.
Your customer's phone
Nothing arrives. No error, no notification, no trace.
Two of those four hops are yours. The one that stopped it is not — which is why this is usually where a fix stalls, and why somebody has to go work it.
Your CRM says the call was placed.
A rep clicks dial on a client record. What happens next has three endings, and from that desk they are almost impossible to tell apart.
1 · What your CRM shows
- Mobile
- (830) 555-0142
- Consent
- Opted in 04 Mar
- Last touch
- SMS · no reply
Identical on all three tabs. That is the problem.
2 · What happens in between
- Your voice provider Signs the call — attestation B, partial
- An analytics engine Scores it as likely spam
- Their carrier Delivers it, with the label attached
SIP 200 OK
Three analytics engines score independently — Hiya, First Orion, TNS — so a number can be clean on one carrier and flagged on another.
None of this reaches a dashboard you own.
3 · Your customer's phone
One tap from never reaching them again.
The call connected. That is exactly what makes this one hard to see.
Nothing failed. Your provider placed it, the carrier delivered it, and the phone rang — with a label on it that your customer has been trained to ignore. There is no error code to look up, because there was no error.
The only thing that moved is your answer rate. Which is why this usually goes unnoticed for months and then gets blamed on the list, the script, or the reps.
1 · What your CRM shows
- Mobile
- (830) 555-0143
- Consent
- Opted in 04 Mar
- Last touch
- SMS · no reply
Identical on all three tabs. That is the problem.
2 · What happens in between
- Your voice provider Signs the call — attestation C, gateway
- Somewhere downstream Refuses it before it rings
- Their carrier Never rings the handset
SIP 603 Decline
An analytics block, a carrier block list, or a terminating carrier acting on that low attestation all return the same code. Separating them is the diagnosis.
None of this reaches a dashboard you own.
3 · Your customer's phone
Nothing. They do not know you tried.
Refused before it ever rang.
On your dashboard this is a zero-second no-answer, which is the single most common row in any call log and the one nobody reviews. The customer has no missed call, no voicemail, and no idea you tried.
603 tells you it was declined. It does not tell you by whom — an analytics block, a carrier block list, or a terminating carrier acting on a low attestation are all the same code from where you are sitting. Separating those is the diagnosis.
1 · What your CRM shows
- Mobile
- (830) 555-0144
- Consent
- Opted in 04 Mar
- Last touch
- SMS · no reply
Identical on all three tabs. That is the problem.
2 · What happens in between
- Your voice provider Looks up which carrier owns the number today
- The lookup, or the route Comes back wrong, or dead-ends — the recording won't say which
- An announcement Plays back to your rep, before the call is ever answered
“Your call cannot be completed at this time.”
SIT · in-band
Attestation decides how a call is labeled, never where it goes — so on a routing fault it is irrelevant, and on a block it might not be. Rule the plumbing out before paying anyone to fix your reputation.
None of this reaches a dashboard you own.
3 · Your customer's phone
Nothing. They do not know you tried.
The most misdiagnosed one on this page.
An intercept is most often a routing or provisioning fault: the number is not assigned, or it was ported and your provider is routing on stale data, or there is simply no path from your carrier to the one that owns it now. Sometimes it is a block wearing an announcement instead. The recording sounds the same in every one of those cases.
It is also the one case where the fault may be on your own side — a trunk restriction, a caller ID your carrier will not accept, a billing block. That is precisely why it gets ruled out first. Teams routinely spend weeks filing reputation complaints about a number that was never reachable in the first place.
Two of those hops are yours: the dialer and the voice provider that signs your calls. The one that decides is not — and unlike an email bounce, none of the three endings above sends you anything to read. Somebody has to go and find out which one happened.
Six places to start, one job underneath
Get the numbers registered, get the flags off, keep them off as the fleet grows — and build the rest so it doesn’t undo the first three.
Fleet Audit
Everything you own, listed out: which registrations are good, which are stuck, which will never be approved no matter what, and which of your numbers are being flagged as spam. You get the bad news first, in writing.
Learn more →
A2P / 10DLC Registration & Rescue
Clean registrations and, more often, rescues — campaigns that have already been rejected once or twice. I rebuild the use case, the consent flow, and the evidence, then shepherd it through resubmission.
Learn more →
Caller-ID & “Spam Likely” Remediation
Filed with all three analytics engines, your STIR/SHAKEN attestation audited with your voice provider, branded calling where it's available, and a written report on the dialing behavior that caused the flag.
Learn more →
Scalability & Systems Review
A different question from the audit. Not what's broken today, but whether the way your numbers, brands and platform are put together holds when you double the volume, add locations, or take on a client base that isn't your own.
Learn more →
The Compliance Desk
Ongoing ownership. New sub-accounts, re-vetting, new numbers, changing carrier rules — the rejection stream never ends, so someone has to own it month to month. That's the job.
Learn more →
CRM, Automation & AI
The work that got me into this, and still a service line: CRM builds, pipelines, funnels, calendars, AI assistants and websites — wired so the phone side is right from day one instead of being fixed after the first rejection.
Learn more →
You already paid for the conversation you never had.
Count everything that happens before a number gets dialed. You bought the lead or you earned it. Somebody built the list, wrote the sequence, set up the automation, and put a rep on the phone. All of that is spent before the first ring.
A bad lead you can disqualify early and stop spending on. This isn't that. This is a lead you paid full price for, worked all the way to the end, and then couldn't reach — because the text was filtered, or the number came up "Spam Likely" and they let it ring out.
You know your cost per lead. You've probably never worked out your cost per conversation. If a quarter of your contact attempts don't land, the second number is about a third higher than the first — and it isn't on any dashboard you're currently looking at.
Book a callWhy it goes unnoticed
The evidence usually exists. It just doesn't reach you:
- Texts. Carriers do return a filtering code — but it lands in the raw carrier log, not your CRM. Most dashboards collapse anything that isn't a hard failure into sent, which only means it left the gateway.
- Calls. There is no equivalent at all. The label is applied on the recipient's handset; from your side the call completes and logs as no answer.
- So your provider is telling the truth when they say everything looks fine on their end. It does.
None of that reads as a reputation problem. It reads as a conversion problem — so the business buys more leads, rewrites the script, or leans on the reps. More money at the wrong end of the funnel while the actual leak stays open.
I've been billed by this problem, not briefed on it.
I run GoHighLevel sub-accounts and Twilio pass-through billing for live clients. I've had the rejections, paid the vetting fees twice, and watched a number get flagged and take the answer rate down with it. That's a different starting point than a consultant who read the carrier documentation.
- Messaging and voice together — most vendors do one. The flag usually isn't sitting where you're looking.
- I'll tell you when it's unfixable — some businesses will never be approved to text, no matter how the paperwork is written. You get that inside 48 hours, not in month three.
- I'll tell you when it's free — the caller registry submission costs nothing and takes minutes. If that's genuinely all you need, I'll say so.
- I work your vendors and carriers directly — the things only they can answer, and only on their own schedule. Chasing them isn't anyone's job inside your business. It's mine.
- Ongoing, not one-and-done — new sub-accounts, new numbers, changing carrier rules. It doesn't stay fixed on its own, and you can have me short-term or standing.
Audit, triage, fix — and keep it fixed
-
Audit
I list out what you actually have — every number, every registration, every past rejection. Most fleets have never been looked at end to end.
-
Triage
We separate fixable from terminal. Some campaigns cannot be made compliant by better paperwork, and you'll hear that from me early instead of after you've paid for it.
-
Fix, then keep it fixed
I do the rebuild, the filings, and the back-and-forth with the carriers until it clears — then keep owning it as new accounts and numbers come online.
Find out what's actually wrong before you pay to fix it.
Book a call and tell me what you're seeing — rejections, flagged numbers, messages that vanish. I'll tell you which of those I can fix, which are terminal, and which you can do yourself for free.