Key Takeaways
- A SIM swap failover drill proves your android phone as sms gateway can recover when the primary ICCID changes — before users discover wrong sender IDs or silent OTP failure during a real carrier outage.
- Physical SIM swap, slot promotion, and multi-device routing are three different failover paths; each needs its own drill script, asset sheet update, and post-swap canary SMS — mixing them without documentation is how production breaks.
- Failover is not automatic because you own a second phone: dashboard routing rules, API device targeting, Android default SMS SIM, and operator airtime on the standby path must all be tested under controlled downtime.
- Record RTO (time until OTP succeeds again) and RPO (messages accepted but not yet delivered during the window) on every drill; compare month over month — “it worked once in staging” is not an SLA.
- OTP apps using Google SMS Retriever expect a consistent app hash and message format; after swap, confirm sender MSISDN and template still match client expectations — see Google’s SMS Retriever docs for hash verification.
- Operator SMS credit is per SIM: swapping chips does not transfer prepaid balance; budget airtime on every standby ICCID before the drill, not during the incident.
- Service pricing is based on device count and total SMS sent through the gateway. Multi-device failover on Starter (2 devices), Professional (5), and Business (15) still meters seats and send volume — standby phones must be paired; free tier (300 SMS lifetime, one device) cannot simulate true fleet failover.
- Schedule quarterly drills minimum for OTP-critical paths; monthly if you hot-swap SIMs in the field or run bulk campaigns on shared hardware — link results to your hub asset registry and Developer Center runbooks.
If the drill success metric is “tray opened,” you practiced hardware theatre. The metric is a staff OTP with DLR on the standby ICCID.
A SIM swap failover drill is the rehearsal your OTP stream needs before a tray ejection, carrier fraud block, or water-damaged SIM turns into a weekend outage. When you operate an android phone as sms gateway, failover is not a checkbox in a cloud console — it is ICCIDs, tray positions, Android default SMS settings, dashboard routing, operator prepaid balance, and whoever is awake at 02:00. This spoke covers only the drill: how to simulate failure safely, promote a standby path, measure recovery time, and document what broke. For the full phone-as-gateway picture, start at the hub: How to use an Android phone as an SMS gateway.
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. Pair from device setup guide, confirm limits on device and SMS volume pricing (Priced by devices and SMS send volume. You use your own phone and operator SMS credit.), and read the how an Android SMS gateway works pillar for hardware context. Drills cost engineering time and a few canary SMS — cheaper than discovering your standby SIM was never topped up during a live incident.
This article assumes you already completed pairing, permissions, and slot selection from sibling hub spokes. If dual SIM roles are undocumented, fix slot mapping before your first failover drill — swapping chips on top of ambiguous slot A/B labels doubles confusion.
Why SIM swap drills matter
Production SIM swaps happen for mundane reasons: prepaid expiry, carrier migration, stolen tray, RF dead zone on one operator, or compliance requiring a new registered sender. Each swap changes at least one of ICCID, MSISDN, default SMS subscription, and template binding. Software stacks cache device identifiers; humans cache phone numbers in support macros. Without a drill, the first real swap surfaces as “OTP broken” tickets while the dashboard still shows green — because heartbeats use Wi-Fi and the control plane never exercised the new radio path.
Security teams sometimes confuse this operational drill with fraud SIM swap — social engineering at the carrier to hijack a number. This guide covers your controlled hardware and routing changes on gateway handsets you own. The fraud variant is out of scope except as a reminder: protect carrier portal credentials and port-out PINs with the same rigor as API keys in the SMS API documentation.
Drills convert tribal knowledge into timestamps. You learn whether failover takes four minutes or forty, whether bulk must pause, and whether your standby phone is actually paired or merely sitting in a drawer. Regulators and enterprise customers increasingly ask for recovery evidence; a wiki page titled “we have two SIMs” is not evidence.
Drills also train field staff. The person who swaps SIMs on a logistics shelf may not be the person who configured API routing. A signed runbook with photos beats Slack messages buried under alert noise.
Glossary: swap, failover, RTO
- SIM swap (operational)
- Physical removal and replacement of a SIM chip, or moving a chip between tray slots. Distinct from telecom fraud “SIM swap” — here we mean your controlled hardware change.
- Failover
- Shifting outbound SMS to a standby subscription or standby device when the primary send path is unavailable.
- RTO (recovery time objective)
- Wall-clock time from simulated failure until OTP canary succeeds through the failover path with acceptable DLR.
- RPO (recovery point objective)
- Acceptable gap of messages accepted by API but not yet delivered — often zero for OTP, relaxed for bulk.
- Canary SMS
- Pre-agreed test message through production routing to prove end-to-end delivery, not merely dashboard online status.
- Warm standby
- Secondary SIM or device powered, paired, funded with operator credit, and periodically canaried — not cold hardware in a box.
- Purpose pinning
- Routing policy keeping OTP on primary until explicit failover — bulk must not steal modem time during drill window.
How swaps fail in production
Failures cluster into layers. Radio and operator issues show as send timeouts with carrier reason codes. Android layer issues show as wrong sender ID despite “success” in app logs. Gateway service layer issues show as API targeting a device_id whose ICCID no longer matches reality. Application layer issues show as SMS delivered but backend rejecting OTP because webhook metadata still maps the old MSISDN.
The worst class is silent partial failure: heartbeats online over Wi-Fi while SMS modem on the new SIM never registered. Users receive no codes; ops assumes phone is fine because the dashboard dot is green. Drills must include an SMS canary, not only a connectivity ping.
| Symptom | Layer | Likely cause | Fix |
|---|---|---|---|
| Drill “success” but users see old sender ID | Android default SMS | Gateway API targets standby device; OS still defaults to old slot | Re-set default SMS SIM; align app slot preference; re-canary |
| Failover device online, sends never leave | Operator / balance | Standby SIM has zero prepaid or suspended account | Top up correct ICCID; verify registration before next drill |
| OTP delivers, auth backend rejects code | Application | Webhook maps old device_id; cache stale | Update device map in backend; flush cache; replay DLR test |
| Multi-device routing did not shift | Dashboard rules | Failover threshold never configured or primary still heartbeat | Set last-seen threshold; simulate offline; test routing weights |
| Bulk resumed too early, OTP delayed | Queue / modem | CSV import restarted before OTP canary on new path | Policy: OTP green for 24h before bulk on shared hardware |
| Permanent swap without template update | Compliance | Transactional template registered to old MSISDN | Re-register sender with carrier; update template docs |
| Drill passed, production failed next week | Process | Field tech swapped SIM without runbook | Lock tray; require checklist sign-off; monthly re-drill |
Failover strategy comparison
Teams choose among three patterns: scheduled drill on the same phone, reactive swap under fire, and multi-device routing with a standby handset. The comparison table below is the L024 decision matrix — fill the Notes column with your ICCIDs and device_ids before the drill, not after.
| Aspect | Planned drill | Reactive swap | Multi-device failover | Notes |
|---|---|---|---|---|
| Trigger | Scheduled maintenance window; stakeholders notified | Carrier outage, lost SIM, fraud block, field damage | Primary device last-seen timeout or manual promotion | Drills should mimic reactive steps — not a simplified happy path |
| Traffic handling | Bulk paused; OTP canaries only | Live user OTP may fail until recovery completes | Routing shifts if rules exist; else manual API change | First drill always OTP-only; add bulk after two clean quarters |
| Sender ID risk | Caught in canary before user tickets | Wrong MSISDN until Android + API aligned | Secondary device MSISDN must be pre-registered in templates | India TRAI and similar markets bind templates per sender |
| Operator airtime | Standby SIM topped up before drill | Empty standby SIM = extended outage | Each device SIM needs independent balance | 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. |
| RTO target (OTP) | Under 15 minutes including documentation | Often 60+ minutes without runbook | 5–10 minutes if routing pre-tested | Measure wall clock, not “felt fast” |
| Asset sheet update | Mandatory step in drill checklist | Often skipped under pressure | Device_id map must list primary/secondary roles | ICCID is source of truth when MSISDN ports |
| Dashboard changes | Rehearse rename, tags, routing weights | Forgotten labels cause wrong API targeting | Failover weights tested quarterly | See Developer Center for API device parameters |
| Client app impact | Verify SMS Retriever hash and copy still valid | Support docs may show old number | Same if secondary MSISDN was pre-communicated | Google SMS Retriever docs cover hash rotation |
| Rollback | Scripted restore to primary within same window | May leave standby permanent without review | Demote secondary after primary healthy | Rollback is part of the drill — not optional |
| Cost model | Engineering time only; minimal SMS canary cost | Revenue + support cost during outage | Extra device on plan + operator credit on standby | Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Paid from $19/month per production tier. |
Planned drills should be strictly harder than reactive swaps in one dimension: documentation. If you cannot write down what you did, you cannot repeat it when tired. Reactive swaps should become boring because the drill script already exists.
Decision tree before a swap
Walk this tree in order before any SIM change — drill or emergency:
- Is OTP on this path? If yes, schedule a window and pause bulk from bulk SMS from Excel and CSV imports until canaries pass.
- Is standby the same phone (dual SIM) or second device? Dual SIM drills swap slot promotion; multi-device drills shift API routing weights — different scripts.
- Does standby ICCID have airtime? Check operator balance, not dashboard SMS quota alone.
- Are templates bound to MSISDN? India and regulated markets may require re-registration before failover sends transactional traffic legally.
- Who updates the asset sheet? Name a single owner — split ownership guarantees stale ICCID maps.
- What is RTO target? Write minutes on the runbook cover; stop the drill if exceeded and file remediation before declaring success.
If any answer is “unknown,” your next action is inventory, not swap. Unknown standby balance is a planning failure, not bad luck during incident response.
Single phone vs multi-device
Single-handset failover drills exercise tray-level or slot-level promotion: primary SIM removed or disabled, secondary SIM or slot becomes default SMS, gateway app preference updated, canary sent. Hardware failure of the phone itself fails this model — OS crash, USB port death, or shelf power loss takes both slots offline together.
Multi-device failover drills exercise routing: primary device marked offline or last-seen threshold exceeded, API traffic shifts to secondary paired phone on another charger and ideally another operator. Starter and up meter extra device seats — but routing rules you never drill are fiction. Standby devices still count as devices on your plan; each needs operator SMS credit on its own SIM. Dual SIM is not a second seat.
Mature OTP shops combine both: dual-SIM on primary for slot-level swap drills quarterly, second phone on shelf for device-level drills semi-annually. Document which layer handles which failure mode so on-call does not debate architecture during an outage.
Pre-drill inventory
Before the drill window, export a snapshot: device_id, dashboard name, ICCID per slot, MSISDN, Android version, gateway app version, default SMS slot, last successful canary timestamp, operator balance screenshot, routing weights, and webhook endpoint health. Store beside the SMS API documentation API examples so the person executing swap can find curl samples without searching Slack.
Include environmental factors: shelf UPS runtime estimate, router model, Wi-Fi SSID, and whether heartbeats fall back to mobile data on dual-SIM hardware. Failover drills during router maintenance teach different lessons than SIM-only drills — tag drill type in the log so quarterly reviews compare like with like.
Verify backup API keys and webhook signing secrets are current — drills have failed because staging keys rotated while production canary used expired credentials, burning the window on auth errors unrelated to SIM path.
Photograph the SIM tray orientation and cable routing on the shelf. SIM swaps go wrong when chips slide into wrong slots under time pressure. If your organization uses PUK-locked trays, confirm keys are in the vault — drills have stalled on PIN entry lockout more often than on API bugs.
Notify stakeholders with explicit start/end times and expected user impact (“OTP may use backup sender +1… for fifteen minutes”). Support macros should include backup MSISDN before drill, not after users complain.
HowTo: run the failover drill
The HowTo schema at the top mirrors this sequence. Expand each step with OEM-specific screenshots in your internal wiki — Android settings labels move every release.
- Freeze non-critical traffic. Pause scheduled campaigns and CSV bulk jobs; record queue depth; confirm no marketing blast will start mid-drill.
- Simulate primary path failure. Choose one: disable primary SIM in settings, eject primary tray, or mark primary device offline in routing — match your real incident playbook, not the easiest option.
- Execute failover procedure. Promote standby slot or switch API default device; set Android default SMS SIM; verify gateway app points at the new path.
- Run OTP canary. Send via production API; confirm DLR, sender ID on handset, webhook correlation, and auth backend acceptance — start RTO timer at step 2, stop at successful auth.
- Record metrics and update asset sheet. Log RTO, RPO, manual steps, gaps; update wiki ICCID map; file tickets for threshold misses.
- Restore or commit. Rollback to primary if drill was simulation; if swap is permanent, update all docs and schedule re-drill in thirty days on the new primary.
Physical SIM swap sequence
Power policy varies by OEM: some prefer airplane mode before tray eject; others tolerate hot-swap with brief radio drop. Standard sequence: pause sends → airplane mode on → eject tray with SIM tool → replace chip or move to standby slot → reinsert → boot radio → wait for both SIMs to register (dual-SIM) → disable airplane mode → verify mobile data if used for heartbeats → open gateway app → confirm online → manual SMS from stock Messages on new default slot → gateway canary.
Never swap trays during active bulk sends on a single-modem phone — queue backlog plus radio reattach causes multi-minute OTP delay even when failover is “correct.” Physical swaps also trigger SIM PIN prompts on some carriers; drills expose PIN lockouts that soft failover tests miss.
Label chips with ICCID last-four on painter tape if your fleet swaps frequently — human-readable MSISDN stickers fade; ICCID matches recharge receipts.
Dashboard and API realignment
After ICCID change, update dashboard device display name, tags, and any routing profile notes. API integrations targeting device_id may still work if the same phone pairs — but sender MSISDN changed, so downstream analytics and user support must reflect new numbers. If swap moved traffic to a different paired phone, update default device in your backend config and secrets vault — hardcoded device_id is a common Laravel and cron failure.
Run three API calls during drill: send OTP, fetch message status, replay webhook payload to staging receiver. Compare from field to expected MSISDN. Mismatch here means your drill failed even if SMS arrived.
Developer Center alignment
The SMS API documentation documents REST parameters, webhook shapes, and retry semantics your drill must validate. Failover drills are integration tests against production radios — curl examples in docs should match the device_id and API keys used in the drill log. Add a “last failover drill” date to your internal API readme so new engineers know whether standby routing was ever proven.
Webhook receivers should treat unknown sender MSISDN as alert-worthy during drill windows — auto-accepting any OTP from any number masks misrouting. Temporarily tighten validation, then relax after canary passes.
OTP clients and SMS Retriever
Android client apps using Google SMS Retriever API read OTP bodies without broad SMS permissions. Retriever cares about message format and signing certificate hash, not tray slot — but users still see sender MSISDN on notifications. If your support docs show “codes come from +1…A” and failover sends from +1…B, login success rates may hold while trust tickets spike.
After swap, verify OTP template length and prefix still match Retriever rules; re-run hash validation if you rotated app signing keys. iOS and web clients unaffected by Retriever still need updated sender documentation.
Bulk traffic during failover
Bulk campaigns through bulk SMS from Excel and CSV share modem queue with OTP on single-device setups. Drills should pause bulk first — measure OTP RTO without contention, then optionally run a second drill phase with controlled bulk on standby path to observe throttling. Marketing teams prefer Friday sends; ops prefers Tuesday drills — negotiate a calendar, do not improvise.
If bulk must continue during real incident failover, route bulk to secondary device explicitly in API and accept different sender ID for promotional traffic — never silently share OTP sender with bulk during carrier stress.
Operator credit after swap
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. Gateway platform quota and carrier prepaid balance are independent meters. A standby SIM with zero balance fails sends while the platform still shows send volume remaining. Before every drill, screenshot operator balance for standby ICCID; after swap, confirm recharge notifications hit the correct subscription — mobile money typos send credit to the retired SIM on a monthly basis in some markets.
Postpaid accounts: verify both subscriptions appear on invoice and SMS bundles attach to the MSISDN you actually send from. Finance disputes during drills waste the same window as technical failures.
When to schedule drills
Baseline: quarterly for OTP-critical paths, monthly if field swaps are common. Always drill within seventy-two hours after gateway app major upgrade, Android OS upgrade on production handsets, dashboard routing rule change, or new OEM model joining fleet. Avoid first drill during peak login hour — learn on a low-traffic Tuesday, not Black Friday checkout.
Align with carrier maintenance windows when primary operator notifies planned outages — use their window as simulated failure with customer communication already primed.
Recording drill results
Minimum log fields: drill ID, date, participants, failure simulation method, failover path used, RTO seconds, RPO message count, canary message IDs, DLR timestamps, sender MSISDN observed, manual steps count, rollback duration, pass/fail against threshold, remediation tickets. Store in version control or ticket system — wikis without dates rot.
Trend RTO over quarters. Flat or rising RTO means process debt — usually asset sheet neglect or new staff skipping checklist items. Falling RTO without documentation means you might be drilling an unrealistic happy path; add harder simulations periodically.
Multi-device routing rules
Configure last-seen threshold and device priority in dashboard before drill — typical OTP shops use five to fifteen minutes offline before promotion. During drill, force primary offline by airplane mode or unplug Ethernet to router if heartbeats use Wi-Fi-only path; confirm secondary receives API sends within threshold window.
Test demotion too: restore primary, verify traffic returns according to policy — some teams prefer sticky secondary until manual demote to avoid flapping. Document flapping behavior; automatic bounce between devices duplicates OTP sends and confuses users.
Dual-SIM as warm standby
Dual-SIM drills promote slot B when slot A fails — faster than fetching second phone from drawer if slot B was canaried monthly. Limitations: shared battery, shared OS update domain, shared shelf power. Slot promotion drills pair well with the dual SIM slot selection hub spoke; multi-device drills pair with dedicated spare setup spoke.
Warm standby means slot B received a canary SMS within the last thirty days with logged MSISDN and DLR — not merely “SIM inserted.”
RTO, RPO, and success criteria
Suggested starting thresholds for OTP-only products: RTO under fifteen minutes including documentation for single-phone slot failover; under ten minutes for pre-configured multi-device routing; RPO zero accepted-but-undelivered OTP during drill window. Bulk-only products may accept higher RPO if business signs off.
Success requires end-to-end auth, not merely send API 200. A “successful” send that never reaches webhook fails the drill. DLR latency above your p95 baseline fails the drill even if average looks fine — tail latency kills login conversion.
Split metrics by phase: detection (when ops notices failure), decision (when failover script starts), execution (tray or routing change), verification (canary auth), and communication (stakeholders notified). Bottlenecks hide in decision and communication more often than in radio attach — a team that debates which standby SIM to use for twenty minutes fails RTO before Android boots.
Store raw timestamps in UTC and display in local shelf timezone. Post-mortems that mix timezones have invented hero stories and missed slow steps. Include gateway app version and Android security patch level in drill logs — OEM behavior changes across patches more than API semver suggests.
Incident communication template
Drills should rehearse customer-facing communication, not only technical steps. Draft three macros before the window: start (“testing backup SMS path”), success (“primary restored”), and extended (“failover active beyond fifteen minutes — login codes may arrive from backup sender”). Support, status page owner, and engineering lead should each have a copy in the ticket template.
If your product displays sender hints during login (“we sent a code from …”), update copy temporarily during drill to mention backup MSISDN. Users tolerate planned maintenance when told; they churn on surprise sender changes during unexplained outages. Internal Slack is not a substitute for user-visible status — practice both channels.
After drill, publish a one-paragraph internal summary: RTO achieved, gaps found, next remediation due date. Over time these summaries become audit evidence for enterprise security questionnaires asking how often you test telecommunications failover.
Field swap vs lab drill
Lab drills use a bench phone on the engineer desk; field drills use the production shelf unit in its real RF environment, charger, and Wi-Fi path. Lab drills teach API steps; field drills teach PIN prompts, weak signal on standby slot, and cable strain when the tray is awkwardly mounted. Run lab first for new staff; run field quarterly for OTP-critical handsets.
Field swaps introduce dust, static, and human sequencing errors — eject tool slips, chip flipped upside down, tray not fully seated. Document torque and click feedback for your tray hardware. Some teams mark “seated” with a dot of nail polish on tray edge aligned with phone body — crude but visible from across the shelf.
Logistics and retail deployments often swap SIMs regionally while API routing stays centralized. Field drill participants must include whoever physically accesses the device — remote API engineers alone cannot validate tray-level failover. Pair a video call with hands on hardware if staff is distributed.
Enterprise drill governance
Larger teams assign a drill coordinator role separate from executor: coordinator watches clock, enforces checklist, stops scope creep (“while we are here let us upgrade Android”). Change management tickets reference drill ID, rollback owner, and explicit authorization to pause OTP — avoids blame when product asks why login dipped Tuesday morning.
Map drills to your data handling narrative: SMS payloads transit operator networks and your gateway service; failover does not change encryption in transit but may change sender visibility in logs. Privacy officers care that standby devices have the same screen lock and MDM policy as primary — a drill exposing an unlocked standby phone in a shared office fails security review even if OTP delivered.
Vendor questionnaires often ask “describe failover testing frequency and last test date.” Maintain a single table: device_id, last drill date, RTO, pass/fail, next due. Link row to wiki log. When sales shares the how an Android SMS gateway works story with enterprise buyers, ops evidence backs marketing claims about own-SIM control — if and only if drills actually run.
Escalation path during failed drill: if RTO exceeds threshold twice consecutively, freeze further production SIM changes until root cause closed — usually asset sheet drift, missing standby balance, or routing not configured. Third consecutive miss triggers architecture review: single phone may be insufficient for stated SLA; add second device or accept cloud aggregator for auth tier.
Vs cloud number failover
Twilio-style platforms failover rented numbers in carrier cores — you update API From parameters and their ops handle radio. Android gateway failover is yours: trays, chargers, OEM battery killers, prepaid balance, template registration. Drills are the SLA you can actually enforce. Tradeoff remains: own SIM economics and sender control vs cloud per-message fees and abstracted hardware.
Pricing and fleet context
Service pricing is based on device count and total SMS sent through the gateway. Standby phones on multi-device plans count toward device caps — Starter 2, Professional 5, Business 15. Free tier (300 SMS lifetime, one device) supports learning drills on a single path only; fleet failover requires paid plans from $19/month. Operator airtime for every standby ICCID remains your direct carrier cost — budget recharge owners in the asset registry alongside drill dates.
SIM swap runbook checklist
- Drill window communicated; bulk and scheduled sends paused
- Primary and standby ICCID, MSISDN, slot labels recorded in asset sheet
- Standby SIM operator balance verified above minimum threshold
- Android default SMS SIM documented for primary and failover paths
- Dashboard device names encode role (primary-otp, standby-failover)
- API test credentials and canary recipient numbers ready
- Webhook logging enabled for DLR correlation during drill
- RTO and RPO targets written on runbook cover sheet
- Simulated failure method matches real incident type (eject, disable, route)
- Failover executed per script — no ad-hoc skipping
- OTP canary succeeded with correct sender ID on recipient handset
- DLR received within expected latency band
- Backend auth flow completed end-to-end with canary code
- Queue depth returned to baseline after recovery
- Rollback or permanent promotion documented with timestamps
- Asset sheet and wiki updated with new ICCID map if changed
- Remediation tickets filed for any step exceeding RTO
- Next drill date scheduled before closing the change record
Common mistakes
- Calling dashboard online “failover success” without SMS canary and auth test.
- Standby SIM never recharged — drill postponed until incident, then fails identically.
- Updating MSISDN in support docs but not in API backend device map.
- Drilling slot failover but production incident is device death — no second phone tested.
- Resuming bulk CSV import before OTP canary on new path clears.
- Skipping rollback phase — team forgets how to restore primary.
- No named asset sheet owner — ICCID map rots within one recharge cycle.
- Assuming SMS Retriever removes need to communicate sender ID changes to users.
- Drill only during business hours — night standby path never exercised.
- Confusing platform SMS quota with operator balance on standby ICCID.
- One drill ever — field tech swaps SIM next month without runbook.
- Hardcoded device_id in cron jobs — failover works manually, batch OTP still targets dead path.
Next steps
Schedule your first drill window this week: inventory ICCIDs, pause bulk, run the HowTo sequence, log RTO. Continue the hub at Android phone as SMS gateway, dual SIM roles in the slot selection spoke, overnight uptime for shelf power, and how an Android SMS gateway works for pairing context. Wire API drills through the SMS API documentation. Failover is boring infrastructure until the night primary SIM dies — then the drill log is the difference between fifteen minutes and fifteen hundred angry users.
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
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- SMS API documentationLive endpoint reference





