Key Takeaways
- SIM not ready is a telephony state on the handset — PIN, airplane, missing SIM, or the modem still coming up after reboot — not a missing API field.
- HTTP accept from the control plane can still sit Pending while TelephonyManager reports SIM_STATE_NOT_READY.
- Dual SIM: the “ready” slot may not be the slot you mapped for OTP.
- Retries while the SIM is not ready burn nothing useful and can pile a burst when it finally is.
- You bring the phone and operator credit. Platform pricing is devices plus send volume.
The radio never claimed the job
Dashboards show Pending. The phone is “online.” Sends do not leave. Android often surfaces this as SIM not ready: the modem has not finished attaching, the tray is empty, PIN is locked, or airplane mode just flipped. Setup: pairing. Product: how the gateway works.
We meter devices and volume. A stuck SIM does not pause operator billing once the radio recovers and dumps the queue. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
What Android means by not ready
TelephonyManager states include absent, pin required, puk required, network locked, ready, and not ready (transient after boot or radio reset). Reference: TelephonyManager. The gateway app cannot invent a SIM that the OEM radio has not presented.
“If Settings still shows ‘SIM not ready,’ your JSON retry loop is arguing with a tray.”
Symptom catalog
| Symptom | Likely cause | First check |
|---|---|---|
| After reboot, 2–5 min of Pending | Radio still attaching | Wait; lock autostart; don’t reboot-loop |
| Permanent not ready | PIN, PUK, bad tray, damaged SIM | Unlock PIN; reseat; spare SIM |
| Airplane / signal bars gone | RF off | Airplane off; Wi-Fi-only is not SMS |
| Wrong slot after dual-SIM swap | Map drift | Slot map |
| Looks ready, sends fail | No load / barred / default SMS app | USSD balance; default SMS role |
Dual SIM and PIN
A PIN on SIM 2 with OTP mapped to SIM 2 is “not ready” even if SIM 1 has bars. Disable SIM lock on gateway phones or document the PIN in the runbook (not in git). Last-seen can stay healthy on data while SMS is dead.
Do not patch JSON first
Live send fields: Developer Center. DLR: delivery reports. Canary a staff MSISDN after the tray is actually ready.
Next steps
Photograph the SIM status screen into the incident ticket. Spare charged device beats a 40-minute PIN hunt. Plans: pricing. Operator credit stays yours.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





