I therefore spent one week punching in inscrutable character strings on both an iPhone and a tower of Android phones, which turned my dialer into a command center. Those “MMI/USSD” codes—there are hundreds, maybe thousands—were baked into GSM/LTE standards and only selectively enabled by carriers, but they articulate hidden menus, network diagnostic tools, and even service toggles that you don’t see on the home screen.
Most are harmless; a few can have significant effects. Anything to double‑check before you dial, and back up your data first! And the launching nearly all codes need has to involve going to the phone dial screen and tapping on the call button. On Android, codes ending in *#*#…#*#* usually just execute themselves as soon as you finish typing the final pound star sequence.

iPhone codes: field test and core network checks
1) *3001#12345#* — Field Test Mode: Opens Apple’s hidden radio diagnostics panel, which offers info on signal strength in dBm (you want it to be around −70 for a strong signal, less than −110 for a weak signal), LTE cell metrics, and so on. It’s great for identifying inside dead zones. The measurements are described in both Apple’s support materials and 3GPP specs, but the menu is the quickest way to view them in real time.
2) *#06# — IMEI/EID display: Quickly displays the IMEI (as well as EID for eSIM) for your device. Carriers and police use the IMEI to blacklist stolen gadgets by registering with the GSMA IMEI database and the FCC wants it available for theft reports and warranty exchanges.
3) *#21# — Call forwarding status (all): It will tell you whether the all-calls (unconditional) forwarding is enabled. This check solves the mystery in seconds if your iPhone sends all calls to voicemail for no apparent reason.
4) *#61# — Forward when not answered: This command lets you know the number the phone is currently set to forward to when you don’t pick up calls, along with the time delay (ring timeout), helpful if you’re trying to configure a setup in which calls are rolled over to another line if they haven’t been answered after a specific number of rings.
5) *#62# — Forward when unreachable:<Show where calls are going if your phone is unplugged, turned off or you are out of cellular service (covers gas station store or locations of minimal coverage or when in roam).
6) *#67# — Forward when busy: The target number is confirmed if occupied. It’s a convenient way to ensure that calls overflow to a colleague or a second device.
7) *#43# — Call Waiting status: This tells you if Call Waiting is enabled. Some networks still support *43# to enable and #43# to disable, but iPhone Settings > Phone is still the consistent toggle if your carrier does not want to allow MMI changes.
8) *#31# — Caller ID restriction status (CLIR): Show whether your phone number is visible over or not. For one‑off overrides, most US carriers support *82 before the number to show your ID on that one call.
9) *5005*25371# – Test Alerts status: Checks if FEMA/WEA test alerts are supported on the device. If you want to flip test participation on or off without going into Settings, some networks take *5005*25370# to do it. This is for test alerts only, public safety alerts are still controlled by carrier and system settings.
Android codes: diagnostic tool and secret panel
10) *#*#4636#*#* — “Testing” menu: The Swiss Army knife.*#*#4636#*#* — This code on it doesn’t really do much but you can be used to get information about how to update/upgrade your software for your device. You’ll find Phone information (radio, data network type, signal strength in dBm and ASU), usage statistics, and Wi‑Fi and SIM information. Engineers use it to check VoLTE/NR registration and see cell handoffs in a neighborhood. The Android Open Source Project explains a fair amount of what you’re reading here.

11) *#*#426#*#* — Google Play services diagnostics: Opens a status screen for FCM (push notifications), with connection state and heartbeat shown. It’s a quick sanity check for when your messaging apps are lagging.
12) *#*#225#*#* — Calendar storage view: Presents a list of upcoming events fetched from Calendar Provider. It’s a niche tool but it’s good for checking if sync is even populating the device db.
13) *#0*# — Samsung hardware test: This diagnostic hub can check things like display color patterns, touch layers, sensors, camera modules and vibration motors on virtually every Galaxy model. It’s also the same screen that many repair centers use before and after they fix a device.
14) *#*#7780#*#* — Factory data reset (danger): This immediately wipes any user apps and data, and will return your device to its factory default settings. Do not call unless you’re intentionally resetting. BACK UP FIRST, VERIFY YOUR CLOUD RESTORES, AND REMEMBER THESE ARE PERMANENT WHEN TRIGGERED.
Carrier caveats and why codes don’t work sometimes
Results vary by network. Operators have the ability to block or redirect MMI codes at the switch, in particular on VoLTE and 5G cores. MVNO’s may use less queues than the host network. If a code just returns “Error” or does nothing at all, that means the carrier has it locked down, not your phone.
Legacy differences linger, too. Many of the codes came out of the now-ancient GSM standards; phones moving over from older CDMA networks often did not support the codes. CTIA and carrier support pages also suggest that both forwarding and caller‑ID controls are continually moving away from the dialer into the hands of various apps in use.
Beyond practical use, pro tips
When selecting a location for a home office, perform a field test (iPhone) or testing (Android) so you can take repeatable signal readings. In my own informal tests, moving a desk into a room with fairly open space improved LTE RSRP from about −108 dBm to −89 dBm, enough to maintain calls. Combine this with a speed test for a more complete view.
Keep your IMEI handy if your phone is stolen or if it needs warranty service; consumer advocates and the FCC suggest jotting it down the day you activate a device. And if you use conditional forwarding for business, check *#61#, *#62# and *#67# after switching SIMs or carriers — those settings don’t always migrate cleanly.
If a code is not working
Attempt again with Wi‑Fi Calling off, ensure you’re using the active SIM line, and restart the phone. If you’re on an MVNO, look on its support pages for which short codes it supports. If all else fails, try the official routes: Apple’s Settings > Phone, Android’s Phone app settings or your carrier account app.
One final warning: get suspicious with any reset or provisioning code. An ounce of prevention — backups, sign‑in checks, reading the on‑screen prompt — is worth a thousand hours of recovery.
