Ten of thirty-two lines at an insurance brokerage were transmitting the literal text NO CALLED ID to every number they dialled. The platform's API could not fix it — and proving that was the cheap part.
Registration and labelling are two different columns, and conflating them is how agencies end up promising outcomes they cannot deliver. Registering numbers with the major reputation providers is a filing: it tells the ecosystem who owns a line and what it is for. It does not make carriers display that identity, and the filing surface says so in its own words — registration "does not guarantee positive treatment." So after a full caller-identity remediation across the phone estate of a commercial property-and-casualty brokerage, recorded in the August 2026 monthly ledger, the strongest honest claim available is exactly this: registered, monitored, labels re-checked monthly. Not "spam is fixed."
The four-step method that gets you to that bounded claim is what this post is about, and we call it Registration Is Not Reputation.
The audit that would have closed as "already compliant"
The first trap is upstream of everything else. An outbound caller-identity audit on this platform is normally run against the per-device configuration surface, and run that way it reports the requirement already met across the estate. The identity actually transmitted is resolved elsewhere — a feature-level setting the device-level view does not reflect.
Reading the correct surface changed the shape of the job: real scope was three configuration changes, not the roughly thirty the device-level reading implied. Ten lines were broadcasting a placeholder rather than a business name, and that placeholder is the single strongest spam-flag trigger available to a carrier heuristic — a call presenting as identity-less, at volume, from a commercial range.
Step 1 — Audit by record identifier, not by what the screen shows
Every target line was confirmed by its internal record identifier before anything was written to it, rather than by reading digits off a console listing.
The reason is a two-digit transposition. In this estate, one misconfigured line and one already-correct line differ by two transposed digits in their displayed number. An operator matching by eye, at the end of a long session, has a live path to writing a fix onto the line that did not need one and leaving the broken line broadcasting a placeholder — while the change log shows a successful write and the summary reports ten of ten. Matching on the record identifier costs an extra lookup per line and removes the entire class.
Step 2 — Fix the transmitted identity at the inheritance level
The obvious remediation is ten writes: set the caller name on each offending line through the API and read it back. That path does not exist. A direct write to the transmitted-name field returns 400 CMN-101 — the field is not writable through the API on this platform version, at any scope.
So the fix moved to a site-level inheritance setting: one change applied at the level the ten lines inherit from, rather than ten hand-typed copies of the same string. An API read-back in the same August 2026 session confirmed 10 of 10 lines carrying the correct identity, with an account-wide placeholder count of zero.
The failed API operation was then reverted rather than left in place. A partially-applied write against a field that can never accept it is not a harmless artifact; it is a path that looks like a remediation to the next person reading the log, and it will never work. Reverting cost a minute.
One caveat travels with the read-back and with any claim built on it. The vendor's console carries a 72-hour propagation banner on every save of this setting, and the standing note in the record is blunt about what a successful read-back proves: storing the value is not the same as carriers displaying it. The read-back is evidence about configuration, not about what a recipient's handset renders.
The end state is 31 + 1
After remediation the estate holds thirty-two lines carrying thirty-one instances of one business identity — plus one extension that deliberately transmits a different entity's name.
That line is a cross-entity extension. It belongs to a related but separate business, it is answered on behalf of that business, and transmitting the brokerage's name on it would be inaccurate in exactly the way this exercise exists to prevent. It was left untouched by design.
A summary that says "all 32 lines now transmit the correct identity" overstates by one and, worse, describes a state nobody wanted. Writing 31 + 1 and explaining the exception takes one extra sentence and is the better artifact: it says the operator knew what each line was for, rather than that a script ran to completion.
Step 3 — Register, then keep registration and labelling in separate columns
A single registry filing, submitted in the same August 2026 window, reached three major reputation providers and covered 29 of the 32 numbers.
Three numbers were held back deliberately: two cross-entity lines and one fax-only line. Registering another entity's numbers under your own filing would be a false certification. The form asks who owns and operates the number, and answering incorrectly on three rows to make a summary read cleanly is not a rounding error — it is an attestation.
A first pass at the same filing had been staged under the wrong entity's address. It was halted unsent at the terms screen. Nothing was submitted, nothing had to be retracted, and the only cost was the time already spent on the form.
Labelling is the other column and it moves independently. All 32 numbers now carry a descriptive label in the platform; 28 had none at all before this work. Labelling is internal metadata governing how the estate is administered and how a call is presented to the people answering it. Registration is an external filing. Neither is a carrier's decision about whether to display "Spam Likely," and neither should be described to a client as if it were.
Step 4 — Control-test every reputation check against a known-bad number
A reputation baseline was pulled in the same August 2026 session, 6 numbers against 10 providers — 60 rows. The result: 29 clean, 1 flagged, 30 unknown, the unknowns being provider surfaces gated behind an account or a carrier relationship we do not hold.
Five providers executed, and every one of the five was control-tested in the same run against a number already known to be flagged. That is the step that makes the other 29 rows mean anything. A lookup surface that has silently changed its response shape, or is rate-limiting, or is returning a default for an unrecognised query, will hand you "clean" for every number you feed it — including one that is definitively not clean. The known-bad control, in the same session against the same endpoint, converts "clean" from an assumption into a measurement. That control is where our Instruments That Lie series ends, as the positive-control rule deciding whether any clean reading counts as evidence at all.
The 30 unknown rows are reported as unknown. Three of the tools most commonly named in this category as reputation lookups are not lookup surfaces at all: one is registration-only with no query function, one requires an account we do not hold, and one is carrier-side. An audit step written around them "could only ever close as three unknowns," so the step was rewritten rather than run and reported as inconclusive.
The queues that were announcing the wrong name
The same defect class, pointed inward: all 16 call queues were renamed after two were found describing the opposite of their live function. The queue named for the general service group was in fact the two-person front desk; the queue named as that group's overflow was the ten-agent main pool.
The system had been announcing the wrong name to callers for as long as anyone could establish. Nothing failed. Every routing decision executed exactly as configured. The names were describing a structure that had been reorganised underneath them.
What we will not claim
The client-facing wording written at the close of this work is the correct register, and it is the part most agencies skip:
We fixed the configuration; the carriers' spam-label systems take time to re-evaluate. We will not claim the reputation outcome until we can show it.
Registered, monitored, labels re-checked monthly. That is the claim. The re-check is a recurring measurement with a date on each run, and if the labels do not move, that gets published in the same place as everything above.
What would prove this wrong
- A successful API write to the transmitted caller-name field on this platform version. Then the inheritance-level fix worked around something directly addressable, and
400 CMN-101was misread. - A reputation lookup returning "clean" for the known-flagged control number in the same run. Every clean result beside it becomes void, including the 29 above.
- A post-propagation read from a carrier-side surface showing a remediated line still transmitting the placeholder. Then the inheritance setting stores the value without transmitting it, and the read-back proves less than we think.
- A registered number and an unregistered number receiving identical carrier treatment over a monitored period. That collapses the two-column model and makes the filing ceremonial.
The two columns, kept apart
Before anyone promises you a spam-label outcome, ask them to separate the two columns out loud: what your lines are registered as, and what carriers actually display. The first is a filing you control and can verify with a read-back and a date. The second is a set of third-party heuristics nobody sells you access to. Any check on the second is worth exactly what its control test is worth — so ask what known-bad number was run beside your clean result, and in which session.
Get the kit, not just the theory.
We'll send the build checklist behind this post — and the next pillar when it ships. One email, no drip sequence. Unsubscribe in one click.