VoIP vs Real SIM: Why Your AI Agent Phone Number Gets Blocked
These articles are AI-generated summaries. Please check the original sources for full details.
VoIP vs Real SIM: Why Your AI Agent Phone Number Gets Blocked
Developers frequently report Twilio numbers being rejected by Stripe, Google, and WhatsApp because VoIP numbers fail authoritative carrier lookups. These services query a chain of databases including LERG and HLR to verify if a number is backed by a physical SIM or an internet gateway.
Why This Matters
In the technical reality of modern telecommunications, phone numbers are not just strings but entries in the Local Exchange Routing Guide (LERG) maintained by iconectiv. While ideal software models treat SMS as a simple API call, carrier infrastructure differentiates between mobile and VoIP line types, causing automated agents using legacy VoIP providers to face 0% success rates during verification. This discrepancy is exploited by advanced security systems that check for real-time HLR (Home Location Register) registration and active IMSI (International Mobile Subscriber Identity) status.
Key Insights
- The LERG database maps every NPA-NXX to an Operating Company Number (OCN) and line type, permanently labeling Twilio/Bandwidth blocks as ‘voip’.
- The Home Location Register (HLR) is a real-time carrier database that tracks active IMSI and cell tower registrations, which VoIP numbers lack.
- Stripe and Google query LERG to identify line_type; if the result is ‘voip’ or the carrier is a known wholesale provider, the request is rejected.
- WhatsApp maintains an internal VoIP blocklist and checks number history, including spam reports and previous bans, during the HLR lookup phase.
- AgentSIM provides a technical bridge by provisioning actual SIM cards on carrier networks that expose a real ‘mobile’ line_type via API.
Working Examples
Using the AgentSIM SDK to provision a real mobile number for OTP verification.
import agentsim
agentsim.configure(api_key="asm_live_xxx")
async with agentsim.provision(agent_id="my-agent", country="US") as num:
print(num.number) # +14155552671 (real T-Mobile number)
# This number passes LERG, NPAC, and HLR checks
otp = await num.wait_for_otp(timeout=60)
print(otp.otp_code) # "391847"
Configuration for integrating AgentSIM via Model Context Protocol (MCP).
{
"mcpServers": {
"agentsim": {
"url": "https://mcp.agentsim.dev/mcp",
"headers": {
"Authorization": "Bearer asm_live_xxx"
}
}
}
}
Practical Applications
- Use case: AI agents verifying accounts on Stripe or WhatsApp using AgentSIM to ensure 100% success through real mobile network registration.
- Pitfall: Using Twilio or Bandwidth for automated account creation results in immediate rejection because these numbers are registered as ‘nonFixedVoip’ in the LERG.
References:
Continue reading
Next article
Engineering Deliverability: Overcoming AI Pattern Detection in Cold Outreach
Related Content
Analyzing Asterisk CDR for ViciDial Performance Optimization
Optimize ViciDial environments by analyzing Asterisk Call Detail Records to resolve routing failures and monitor agent performance using SQL and Bash.
Balancing Speed and Stability: The Real Cost of Fast Deployments
Mustafa ERBAY analyzes how rapid deployment pressure creates technical debt and team stress, citing real-world PostgreSQL failures and systemd OOM errors.
Operational Efficiency: Implementing DevOps Without Added Complexity
Learn why most DevOps projects fail and how to use metrics like MTTR and lead time to drive real software delivery improvements.