Key Takeaways
- NGO USSD on an Android gateway is a balance and menu session on a field SIM. Timeouts are normal; treat them as expected, not as product bugs.
- Fundraising SMS and operational alerts must not share a device pool. Donors STOP; clinics and drivers cannot.
- Check airtime with USSD before a field blast. Empty prepaid is the most common “gateway outage.”
- Slot maps drift after reboot. Dual SIM is not a second programme.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free: 1 device, 300 SMS lifetime, 300 contacts. Developer: 25,000 SMS per year.
Android SMS gateway scenario 970 is an NGO country office that already owns Android handsets and prepaid SIMs. They need USSD for balance and simple menus (*123# style), plus SMS for field alerts. The failure is treating USSD like a guaranteed API and treating donor SMS like operations.
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. USSD gateway. Live parameters: Developer Center. Operator menu behaviour varies by market — see GSMA for industry context, not a country playbook.
*123# · timeout ok
USSD is a carrier menu, not SMS
USSD sessions are short, region-sensitive, and can die mid-tree. You are automating a phone keypad, not a REST resource the operator promised you. Log session ids, last menu step, and timeout. Do not parse screenshots in Slack as the system of record.
If the field blast goes out on a SIM whose last USSD balance check failed, you paid for silence and you burned staff trust.
Ops alerts vs fundraising
| Work | Radio | Device | Consent |
|---|---|---|---|
| Airtime / bundle check | USSD | Field modem | Staff SIM only |
| Driver / clinic ops SMS | SMS | Same ops pool | Employment / programme |
| Donor fundraising | SMS | Separate MSISDN | STOP required |
Caps: Starter 2 devices, Professional 5, Business 15. Multi-country offices usually hit the device meter before the platform volume meter.
Airtime checks before a blast
Prepaid death is the outage. Schedule USSD balance before any bulk ops SMS. If the menu changed after a carrier promo, the parser fails — treat that as a change ticket, not a silent zero.
Failed SMS retries still cost airtime. Budget them. Operator cost how-to.
Timeouts are expected
Backoff. Cap retries. Do not hammer *123# from a worker every 10 seconds. Some networks throttle USSD harder than SMS. Document which codes work per MNO in the country office runbook.
Field SIMs and dual-slot maps
Dual SIM fails when slot maps drift after reboot. Dual SIM. Re-pair after SIM swaps. Spare charged devices in the capital office matter more than a promised SLA.
REST only — PHP samples, C# samples. MCP wraps REST.
Beneficiaries are not a list
Programme participants are not a fundraising CSV. Store purpose with the number. Opt-out on outreach is not optional because the message “feels operational.” Blacklist · STOP.
Devices, volume, prepaid
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free: 300 SMS lifetime. Developer: 25,000 SMS per year. Starter / Pro / Business uncap platform SMS volume; devices still meter. We do not sell carrier packs and we do not cash out unused SMS as prepaid credits.
Country office ownership
Name who tops up, who owns pairing, who updates USSD codes after a carrier change. HQ should not fire a cross-border blast from a laptop timezone. Canary staff numbers in-country first.
Menu data and staff phones
USSD responses can include balances and identifiers. Restrict who can trigger sessions. Do not screenshot menus into public Slack. Rotate API keys when a local contractor leaves. Not a turnkey “sell SMS” white-label.
When USSD is the wrong tool
If the MNO has no stable code, or you need a signed API, use the operator’s business portal or a local aggregator for that menu. Keep SMS alerts on Android when local numbers and airtime economics win.
Checklist
- Ops SMS and fundraising SIMs are split.
- USSD codes documented per MNO with timeout policy.
- Balance check before bulk ops SMS.
- Slot map re-verified after reboot.
- Spare charged device in-country.
- Consent purpose stored with numbers.
- On-call and top-up owners named.
Next steps
Run one USSD balance on the field modem, then one staff SMS, then a deliberate timeout drill. Setup · API docs.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- USSD balance and menu automationOperator USSD codes
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy





