Key Takeaways
- Exam-week login SMS is a radio capacity problem, not a CMS theme problem.
- Failover only counts if the spare is charged, paired, and already known to the control plane.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free is 300 SMS lifetime on 1 device.
- Pin OTP to a primary pool; leave parent-newsletter blasts on a different SIM.
- Semester calendar is the load test. Do not discover device count on midterms.
- Canary staff numbers the Friday before exams, not during the first 08:00 login spike.
Summary
Edtech multi-device failover is how an LMS login code survives a dead USB cable at 07:55. Android SIMs send the OTP. Service pricing is based on device count and total SMS sent through the gateway. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance.
A spare that is powered off in a locked cupboard is inventory, not failover. The control plane can only hand work to a phone it already sees.
Aggregators hide the radio. You do not. Compare the model on Twilio vs Android SMS gateway. Device meters still apply when you add a second campus handset.
Key takeaways
- Exam-week login SMS is a radio capacity problem, not a CMS theme problem.
- Failover only counts if the spare is charged, paired, and already known to the control plane.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free is 300 SMS lifetime on 1 device.
- Pin OTP to a primary pool; leave parent-newsletter blasts on a different SIM.
- Semester calendar is the load test. Do not discover device count on midterms.
- Canary staff numbers the Friday before exams, not during the first 08:00 login spike.
Related reading
SMS gateway for Bangladesh, how an Android SMS gateway works, SMS webhook integration, NIST MFA basics.
Context
Schools and bootcamps spike OTP at term start, weekly quizzes, and invigilated exams. The LMS can enqueue faster than one modem can submit. Failure looks like “SMS delayed” in the helpdesk while a Xiaomi policy killed the only radio overnight.
Free (300 SMS lifetime, 300 contacts, 1 device) is for a staging course, not a national exam board.
Core scenario guidance
Declare a primary OTP pool and a hot spare before the semester. Health checks must prove pairing, battery, and a recent successful submit — not just “the app icon is there.”
Hold parent and marketing CSVs outside the exam window. If you must send operational “exam room changed” texts, treat them as transactional and still keep them off the hottest OTP SIM if volume is large.
Raise OEM SMS rate ceilings where the handset allows. Carrier fair-use and consent still apply. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
Exam-window failover table
| Role | When it takes traffic | How it actually fails |
|---|---|---|
| Primary OTP radio | Always preferred when online + DLR healthy | OEM sleep, SIM out of credit, USB unplugged |
| Hot spare A | Primary unpaired > 90s or submit errors spike | Spare discharged in a drawer — not a spare |
| Campus B radio | Regional outage on carrier A | Same tower, same APN — not diversity |
| Promo / parent list | Never during exam login windows | Shared queue starves OTP |
Cost and ownership
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Two campus phones are two devices on the plan. Operator credit is a second ledger: invigilation weeks burn more airtime because students retry logins.
Assign SIM top-ups to a named ops owner, not “IT generally.” Prepaid exam SIMs die on Saturday night.
Operations
Friday before exams: canary, confirm spare charge, confirm both carriers if you claim diversity. After OEM updates, re-pair and send a staff OTP end to end.
On-call during the first 90 minutes of a national paper. Rollback is “hold newsletters,” not “reboot the LMS.”
Security and compliance
Do not log full OTP codes into Discord with students’ MSISDNs. Rotate keys when a contractor LMS plugin is removed. Webhooks that trigger “resend code” must be authenticated or you will amplify fraud.
Minors and parent contacts need a lawful basis. Promotional school marketing is not an exam OTP.
Decision guide
Ship when primary + spare are proven on a rehearsal Saturday. Delay if the only phone lives in a teacher’s bag. If the institution forbids handset ops, buy CPaaS for OTP and keep Android for low-stakes notices.
Checklist
- Primary and spare paired a week before exams.
- Battery exemptions on both OEMs.
- OTP isolated from parent lists.
- Carrier diversity is real, not two SIMs on one tower story.
- Airtime topped up Friday.
- Staff canary passed.
- On-call named for 07:30–10:00.
- Resend webhook authenticated.
- Developer Center consulted for deviceIds pinning.
- Plan device cap covers the spare.
Next steps
Review device and SMS volume pricing, device setup, and SMS API documentation.
Deep dive: production hardening
Dual-SIM campus phones must re-map after reboot. Exam OTP on slot 2 yesterday can be slot 1 after an OEM patch.
USB hubs brown out when six phones share one cheap brick. One charger per radio.
Watch DLR, not HTTP 200. The LMS accepted the enqueue; the radio may still be sleeping.
Disable auto-reply on OTP numbers. A “STOP” handler that answers a login code thread creates support chaos.
Deep dive: scaling and failure modes
Add devices before enrollment doubles. Starter is two devices; Professional is five. Do not invent a hidden unlimited-handset SKU.
Chunk resend storms. A “resend all” button after a rumor of delay will melt airtime and trip OEM ceilings.
Multi-country campuses need number format and quiet-hour policy per market. One UTC cron is a student complaint generator.
Deep dive: integration discipline
Idempotency on send-otp: the same exam attempt should not emit three codes because the SPA retried.
Feature-flag the spare into the pool during rehearsal, not as a wiki instruction at 07:58.
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Developer Center owns field names. This scenario owns the exam-week runbook.
Exam-week rehearsal
Two Saturdays before midterms, run the real student count against staging courses. Measure submit-to-DLR on the primary radio. If the tail exceeds your login SLA, add a device before you write another LMS plugin.
Label phones physically: “OTP PRIMARY,” “OTP SPARE,” “PARENT LISTS.” Tape is cheaper than a merged queue.
Diversity means two operators or two sites, not two SIMs that both die when the campus microwave goes out. Test by unplugging primary Ethernet-to-USB and watching the spare take a canary OTP.
Invigilators will mash “resend code.” Rate-limit per student attempt. A hall-wide resend is an airtime event and an OEM-ceiling event. Log it as such.
Parent newsletters about sports fixtures belong in a held window after the exam morning. If marketing cannot wait four hours, they do not get the OTP radio. They get a no.
International campuses: store destination country on the student, format E.164 correctly, and do not send exam-login SMS into a market at 03:00 local because HQ cron is lazy.
Minors: keep message bodies to “Your login code is … It expires in N minutes.” No course title that outs a medical or disciplinary class if that is sensitive in your jurisdiction.
When a spare takes over, page humans. Silent failover that nobody notices for three days is how you discover the spare is also prepaid-empty.
Semester start is not “unlimited platform SMS” theatre. Count devices, count expected OTP, count retries, buy operator credit. Free remains 300 SMS lifetime — a lab course, not a board exam.
After the exam window, drain leftover “exam room changed” templates so they cannot fire in reading week. Stale schedules are a special kind of cruelty.
Contracted LMS vendors get their own key. When the contract ends, rotate. Students should not authenticate through a plugin you no longer control.
Write the abort: hold newsletters, keep OTP, call estates if both radios are dark. If the institution cannot host handsets, say so and budget CPaaS for login SMS instead of pretending a drawer phone is HA.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- multi-device and dual SIM routingCapacity and failover
- OTP and 2FA SMS on AndroidAuthentication flows
- SMS delivery reports (DLR)Delivery status tracking
- SMS API documentationLive endpoint reference





