LeadRefinery — How the Platform Works

Who decides a call is spam

The platform's own carrier does not decide that a call is spam. The network of the person called makes that decision, and it buys a score from an outside company. This page states who decides, what the platform can see, and what the platform cannot see.

The decision happens at the far end

The platform buys its phone numbers from one carrier. That carrier signs every outbound call. The signature states one fact: this caller can use this number.

Five facts follow from that arrangement:

  • The platform's carrier does not judge the call. It signs the call and sends it.
  • The carrier of the person called asks a scoring company for the number's score.
  • That carrier then acts on the answer. It shows a label, it stops the call, or it does nothing.
  • The platform has no contract with the scoring companies, and it gets no message from them.
  • Different phone networks use different scoring companies. The same number can be clean on one network and labelled on another.
The diagram follows one call from left to right. The platform's carrier signs the call and sends it into the phone network. The decision happens at the far end: the carrier of the person called asks a scoring company for the number's score, and then acts on the answer. Three outcomes leave that decision. In the first, the phone rings and shows the number. In the second, the phone rings and shows a spam label; the call still connects and the platform still pays for it. In the third, the phone does not ring, because the network sends the call to voicemail or rejects it. Only the rejected call returns a failure code to the platform. A broken line marked 'no message' shows that the labelled call returns nothing at all.
Notice two things. The decision happens at the far end, inside the network of the person called. And the labelled outcome returns no message of any kind to the platform.

Three things can happen to a call

A dialled call reaches one of three outcomes:

  1. The phone rings and shows the number. This is the normal outcome.
  2. The phone rings and shows “Spam Likely”. The call still connects.
  3. The phone does not ring. Some networks send the call to voicemail. Some networks reject the call.

The second outcome is the damaging one, because it is silent:

  • The call connects, so the platform pays for it.
  • No error of any kind comes back to the platform.
  • Fewer people answer.
  • Some people answer, read the label, and end the call within seconds.

The third outcome divides into two records. A rejected call returns a failure code. A silenced call looks the same as an ordinary no-answer.

How the platform finds a label today

A daily job is built and connected to read each number's own standing with the phone company directly: weekly for every number, and daily for any number not already judged low-risk, reading the cached answer Telnyx holds rather than paying for a fresh one each time. (built) The job is switched off everywhere today, because each fresh reading is billed per number, and the owner has not yet decided how often to pay for one. A deployment with the job switched off reports nothing checked, rather than a false all-clear, and the platform falls back entirely on the signals below. (open gap)

The platform also reacts inside the call itself, the moment it ends, rather than waiting for the next daily check. (built) When the calling service's own reason for ending a call says the carrier blocked it outright (the network's codes 607 and 608; a person who presses decline, code 603, does not count), or the carrier has refused most of a number's recent calls, the platform throttles that number or takes it out of service at once. A related but separate signal: if the calling service flags the call itself — not a number — as a scam, the platform stops every further dial on the campaign that agent was working, or on the whole client when the call belonged to no campaign, since those calls were not going to connect anyway. See running a calling campaign for how automatic stops work.

The platform also watches the behaviour of each number, as a second, independent signature of a label:

  • The answer rate of the number falls sharply.
  • At the same time, the count of connects that end inside 15 seconds rises.
  • The two together mean one thing: people answer, read the label, and end the call.

This rule is decided, but the daily job does not yet compare a number against the rest of the pool, so this pattern does not move a number on its own today. (open gap) See number rotation for the full state of this rule.

When a number is taken out of service, four steps follow:

  1. The platform takes the number out of service.
  2. One attributable complaint would also take a number out of service, immediately — but the platform has no way to receive a complaint about one of its numbers today, so this trigger never fires. (open gap)
  3. The removed number rests.
  4. The number comes back through warm-up, and never straight to full service.

Two effects reach the rest of the platform. A number that is out of service never wins the healthy-number claim in the checks before each dial. A smaller pool also has less daily capacity, so the campaign pacer releases fewer leads each day.

The full life cycle of a number gives each stage, each daily limit, and the route back into service.

A new number does not give a clean start

Since 2023 the scoring companies grade a caller across all of its numbers. The grade belongs to the organisation, not to the single number.

The scoring companies state this plainly:

  • They detect a rotation of numbers.
  • A new number starts with the organisation's score, not with a clean one.
  • A rest for one number does not change the organisation's score.

The platform cannot escape a bad score by buying numbers. One thing raises the score: calls that people answer and do not end early. The quality of the conversation therefore decides the score, and the platform tests that quality before a change reaches live callers.

The diagram shows one calling organisation with four phone numbers below it, and one of the numbers is new. A bracket gathers all four numbers into one score. On the right, two crossed statements say that a new number and a rested number do not change the score, and one checked statement says that calls people answer and do not end early are the only thing that raises it.
Notice that the arrow from the organisation reaches the new number too. A new number starts with the organisation's score. Only calls that people answer, and do not end early, raise that score.

How the scoring companies connect one organisation's numbers

The scoring companies do not publish their exact rules. Four methods are known from the published standards and from the scoring companies' own product pages:

  • The tag inside each signed call. The carrier puts a tag in each signed call. The standards let the carrier choose what the tag identifies.
  • The carrier's signature. The signature names the carrier itself. This link is certain, because all of one carrier's customers form one visible group.
  • The blocks of numbers. A carrier sells numbers in blocks. Numbers bought together sit in one visible block, and that block names the carrier.
  • The calling pattern. Numbers that call the same people, at the same times, and for the same call lengths group together. This method needs no identifier at all, and nobody can turn it off.

The first method held an open question, and the platform has now searched the carrier's published material for an answer. The carrier does not say. Its documents state which grade a number receives, and nothing about what the tag identifies.

The standards give the carrier a free hand. The tag can name one customer, one connection, one account, one part of the carrier's own network, or it can differ on every call. Every one of those follows the rules. When the carrier supplies the numbers itself — as it does here — the standards explicitly release it from grouping the tag by customer.

One consequence follows for the platform. Separation cannot rest on the tag. Three things the platform does buy real separation, and none of them is the tag:

  • Each client holds its own numbers. This separates the score at the number, and it is the protection that matters. The platform will not add a number to a second real client's pool at all. Only a demo or test organization's number can be shared, after a staff member confirms it; the platform then treats that number's score as one shared fact between its holders, rather than pretending each holder has its own copy of a reputation that is really one physical line.
  • Separate connections separate the platform's own routing and its own records.
  • A separate carrier account separates who the carrier bills, and who the carrier suspends.

The platform therefore assumes the stricter case: every client under one carrier account can share that account's standing with the carrier. The carrier's own filings describe watching traffic per account, and comparing accounts that share an address. The platform builds its protection on the part it controls — each client keeps its own numbers, and those numbers carry their own score.

The second and third methods group the platform's clients together at the carrier, even though almost every number belongs to exactly one client inside the platform.

Three known gaps

A daily job is built and connected to read Telnyx's own risk report for each number, but it is switched off everywhere, as the section above explains. (open gap) Three more parts of the full design do not run automatically:

  1. Asking for a review of a wrong label is still a person's task. The platform is built to record what Telnyx reports; asking Telnyx's own networks to reconsider a wrong label is an operator's job today. (a person does this today)
  2. The behaviour pattern does not yet move a number on its own. A falling answer rate and a rising share of short calls are a decided signature of a label, but the daily job does not yet compare a number against the rest of the pool. Until it does, the platform learns about a label this way only after the answers have already fallen. (open gap)
  3. No complaint reaches the platform. One complaint from a person about a number would take it out of service at once, but the phone company sends no complaint feed, so that trigger never fires. (open gap)