Short answer: Three methods, increasing in accuracy: read the range (fast, crude), run a line-type lookup (accurate, and what apps actually use), and read behaviour (fallback with no tools). None of them is 100%.

Two different people ask this. One wants to know whether the number they bought will clear verification. The other wants to vet an unknown caller or signup. Same techniques, different thresholds.
Method 1: read the number range
Every country publishes some tell-tale ranges:
- Mainland China: MVNO ranges such as 170 and 171 are the classic case, and many platforms tighten rules on them by default.
- United States: there is no dedicated “virtual” range, but VoIP lines cluster under particular area codes and carriers.
- Universal hint: the carrier of record is a reseller nobody has heard of.
The weakness is false positives. MVNO lines are real SIMs, and plenty of VoIP numbers hide inside ordinary ranges. Treat this as a first-pass filter only.
Method 2: run a line-type lookup (the accurate one)
This is a carrier-level query returning which network currently holds the number, whether it is mobile or fixed/VoIP, and whether it is in service. Technically it is an HLR lookup — see what is an HLR lookup.
| Lookup returns | Meaning | Can it receive OTP? |
|---|---|---|
| Mobile, major network | Real SIM, in service | Usually yes |
| VoIP / fixed VoIP | Internet telephony | Most apps refuse |
| Not in service | Dead or recycled | No |
| Mobile, reseller carrier | MVNO real SIM | Depends on the app |
This is exactly what apps run at signup. So rather than guessing, understand their logic — see what is a non-VoIP number.
Method 3: read the behaviour
With no tooling, these signals still carry information:
- Voice callback fails, or rings once and drops — classic forwarding line.
- SMS arrives but latency is wildly inconsistent — there is a relay in the middle.
- The number is already registered on unrelated services — shared pool.
- Registered region disagrees with the displayed caller ID — see what is phone number spoofing.
Flip it: keeping your own number from being flagged
If your goal is passing verification, the detection method becomes your buying checklist:
- Choose a real-SIM pool over a network line — see SMS number sourcing explained.
- Keep your IP consistent with the number’s country.
- Avoid heavily reused shared lines — see phone number reputation.
- For strict targets, move to a long-term personal line or eSIM — see can you use an eSIM to receive SMS.
Wrap-up
Ranges only filter the obvious. Line-type lookup is the real criterion platforms apply, and behaviour is the no-tools fallback. If you want to pass verification, buy against criterion two.