If you have ever entered a perfectly valid phone number into a signup form and been told "this number cannot be used," you have met the VoIP filter. The number worked. It could receive SMS. The platform simply decided not to send one.
Understanding why is the difference between guessing and choosing.
What actually separates the two
Every phone number in the world sits inside a numbering range that a national regulator allocated to a specific operator for a specific purpose. That allocation — not the technology carrying the call — is what classifies a number.
Mobile (non-VoIP) numbers come from ranges assigned to mobile network operators. Behind them sits a SIM card, an IMSI, and a subscriber record with a real network. Obtaining them in volume requires a relationship with a carrier.
VoIP numbers come from ranges assigned to internet telephony providers. There is no SIM. The number terminates at an IP endpoint. They can be provisioned in seconds via an API, in bulk, from anywhere.
That last sentence is the whole story. VoIP numbers are rejected not because they are technically worse, but because they are cheap to obtain at scale — and anything cheap to obtain at scale is attractive to whoever is creating ten thousand fake accounts.
How platforms detect number type
Nobody guesses. There are databases for this.
Number portability lookups (HLR/NPAC). A carrier lookup returns the operator currently serving a number and the type of network. This is the most reliable method and the most expensive, so large platforms use it and small ones do not.
Range databases. Regulators publish which blocks are allocated to whom. A static lookup against those tables is cheap and catches most VoIP ranges, though it lags behind portability.
Behavioural signals. How many accounts have used this number before? Was it seen ten minutes ago from a different IP in a different country? A number can be perfectly non-VoIP and still be refused because its history is bad.
That third category is why "get a non-VoIP number" is necessary but not sufficient advice. Number type gets you past the first gate. History gets you past the second.
Which platforms care, and how much
Strictness varies widely, and it changes over time as platforms tune their fraud models. As a rough map:
| Tier | Behaviour | Typical examples |
| --- | --- | --- |
| Strict | Non-VoIP effectively required; number history checked | Major messengers, large email providers, financial apps |
| Moderate | VoIP often rejected, non-VoIP usually fine | Social networks, marketplaces |
| Relaxed | Most numbers accepted | Smaller apps, forums, newer services |
Two practical notes. First, a platform's tier is not constant — a service that accepted anything last year may not today. Second, strictness is frequently country-specific: the same platform can be strict on high-fraud origins and relaxed elsewhere. This is why the same service can show plenty of stock in one country and none in another.
Where the confusion comes from
A few myths are worth clearing up.
"VoIP numbers can't receive SMS." They usually can. The question is whether the sender chooses to deliver to them.
"A number I can call from is non-VoIP." Call capability says nothing about the allocated range. A VoIP number places and receives calls perfectly.
"Toll-free numbers are safe." They are among the most consistently rejected for verification, because they are trivially provisioned and obviously not personal.
"Landlines work if the platform offers voice verification." Sometimes — but a growing number of platforms have dropped the voice fallback specifically because it was being abused.
Choosing a number that passes
If you need a verification to succeed, the decision tree is short:
- Select the target service first, the country second. Inventory that is accepted by service A is not automatically accepted by service B. A portal that tracks stock per service-country pair is telling you something a generic "virtual number" seller cannot.
- Prefer countries with deep live stock. Deep stock means numbers are rotating and being accepted. A country down to its last few numbers is usually a country where acceptance has already started failing.
- Do not optimise purely for price. The cheapest combination is cheap because demand for it is low, and demand is low because success rates are poor.
- Expect to retry occasionally. Even with a good number, delivery sometimes fails. What matters is that a failed attempt costs nothing — if a provider charges you for a code that never arrived, that provider is misaligned with you.
When you should not use a rotating number at all
Rented verification numbers are shared infrastructure that rotates between users. That is the right trade-off for a one-off signup and the wrong one for anything you need to keep.
If the account matters long-term — a business line, anything holding money, anything where re-verification months later would be painful — you want a number allocated to you and only you. That is a DID number: a real inbound number you hold for as long as you pay for it, routable to your own SIP infrastructure.
The distinction is not a sales pitch, it is a durability question. Rotating numbers are cheap because they rotate. If rotation would hurt you, do not buy rotation.
Summary
- Number type is determined by the regulator's range allocation, not by the technology.
- Platforms reject VoIP because it is cheap to obtain in bulk, not because it is worse.
- Detection uses carrier lookups, range databases, and behavioural history — number type alone is not enough.
- Choose service first, country second, and favour deep live stock over low price.
- If the account has to last, buy a dedicated number instead of a rotating one.
Our SMS verification numbers are drawn from mobile ranges and tracked per service and per country, with the full charge refunded automatically when no code arrives.