Unstructured Supplementary Service Data (USSD) codes, often referred to as "quick codes" or "feature codes," are powerful strings of characters that allow mobile devices to communicate directly with a service provider's computers. While the modern iOS interface has migrated most settings into the graphical "Settings" app, these legacy protocols remain a vital tool for technicians, network engineers, and power users who need to bypass standard menus.

Understanding the Technology Behind iPhone Secret Codes

To effectively use these codes, one must understand that they are not mere shortcuts but are part of a communication protocol used by GSM, UMTS, and LTE cellular telephones. Unlike an SMS message, a USSD request creates a real-time session between the iPhone and the network. This allows for an instantaneous exchange of data, which is why these codes are frequently used for checking prepaid balances or configuring call-routing preferences without requiring a data plan or an internet connection.

In the context of an iPhone, these codes are generally categorized into three types:

  1. USSD (Unstructured Supplementary Service Data): Codes that interact directly with the carrier's backend.
  2. MMI (Man-Machine Interface): Codes interpreted by the device hardware or software before reaching the network.
  3. SS (Supplementary Service): Codes used for managing specific telephony features like call forwarding or waiting.

How to Correctly Enter USSD Codes on iOS

The process of executing these codes on an iPhone is consistent across all models, from the legacy iPhone 6 to the latest flagship devices.

  1. Open the Phone app from the Home Screen or App Library.
  2. Navigate to the Keypad tab at the bottom of the screen.
  3. Input the code exactly as specified, including all asterisks (*) and hashes (#).
  4. In most cases, you must press the green Call button to initiate the request.
  5. Wait for the system response. This may appear as a full-screen text overlay or a notification-style message.

It is important to note that many of these codes are carrier-dependent. If a code fails to execute, it often results in an "Error Performing Request" message, indicating that your specific network provider has either disabled the feature or utilizes a different sequence.

The Most Critical iPhone Code: Checking the IMEI Number

The code *#06# is perhaps the most universally recognized USSD string. Dialing this sequence triggers the device to display its International Mobile Equipment Identity (IMEI) number.

Why the IMEI Matters

The IMEI is a unique 15-digit serial number used to identify an individual mobile station on a network. For iPhone users, this number is essential for several reasons:

  • Device Unlocking: When moving from one carrier to another, the provider will request the IMEI to process the unlock request.
  • Blacklisting: If an iPhone is lost or stolen, reporting the IMEI to a global database prevents the device from being activated on any participating network.
  • Hardware Verification: Buyers of used iPhones can use the IMEI to verify if the device is under warranty or if it has been reported as stolen.

On modern iPhones with Dual SIM or eSIM capabilities, dialing *#06# will display multiple IMEI numbers (IMEI and IMEI2), along with the MEID and EID (Embedded Identity Document) for the eSIM.

Mastering Field Test Mode for Network Diagnostics

For those seeking to understand the actual performance of their cellular connection beyond the simplified "signal bars," the Field Test Mode is the ultimate hidden feature. Accessed by dialing *3001#12345#*, this mode opens a technical dashboard that reveals real-time radio frequency data.

Interpreting Signal Strength (RSRP)

In the Field Test menu, the most valuable metric for users is RSRP (Reference Signal Received Power). While the bars at the top of your screen are a vague approximation, RSRP provides a precise measurement in decibels-milliwatts (dBm).

  • -40 to -80 dBm: Excellent signal strength. You will experience high-speed data and crystal-clear voice calls.
  • -80 to -90 dBm: Good, stable connection.
  • -90 to -100 dBm: Fair to poor. You might notice slower data speeds or occasional buffering.
  • -110 dBm and lower: A "dead zone" where calls are likely to drop and data becomes unusable.

How to Navigate the Dashboard

When you enter *3001#12345#*, you will see sections for LTE, UMTS, or 5G. By selecting "Serving Cell Info," you can identify the Physical Cell ID (PCI) and the frequency band currently in use. This information is invaluable when troubleshooting connectivity issues in specific geographic areas or when testing the efficacy of a signal booster.

Comprehensive List of Call Management USSD Codes

Managing how calls are handled is a primary function of supplementary service codes. While these settings can be found in Settings > Phone, using codes is often faster and allows for more granular control.

Call Forwarding Configurations

Call forwarding allows you to redirect incoming calls to another number (such as a landline or a colleague's phone). There are several variations:

  • Check Status of All Forwarding: *#21# Dialing this reveals whether your voice calls, data, and SMS are being redirected.
  • Forward When Unreachable: *#62# This shows the number where calls go when your phone is turned off or out of signal range (usually the voicemail center).
  • Forward When Busy: *#67# Displays the forwarding status for when you reject an incoming call or are already on another line.
  • Disable All Call Forwarding: ##002# This is a "master reset" code that deactivates all active forwarding rules, ensuring all calls come directly to your device.

Call Waiting and Call Barring

Call waiting ensures you are notified of a second incoming call while already engaged in a conversation.

  • Check Call Waiting Status: *#43#
  • Activate Call Waiting: *43#
  • Deactivate Call Waiting: #43#

Call barring is used to prevent certain types of calls from being made or received.

  • Check Outgoing Call Barring Status: *#33# This is particularly useful when troubleshooting why an iPhone is unable to make calls despite having a signal.

Privacy Features: Hiding Your Caller ID

Privacy-conscious users may want to hide their phone number when making specific calls. While this can be toggled globally in the settings menu, USSD codes allow for per-call or permanent modifications.

  • Check Caller ID Outgoing Status: *#31# This tells you if your number is currently set to "Private" or "Hidden" for all outgoing calls.
  • Mask Number for a Specific Call (North America): Dial *67 followed by the destination number.
  • Mask Number for a Specific Call (GSM Standard/Global): Dial #31# followed by the destination number.

Using these codes ensures that the recipient sees "Private Number" or "Restricted" on their display instead of your actual digits.

Carrier-Specific USSD Codes for Account Management

While the codes mentioned above are largely standardized under the GSM protocol, many carriers use proprietary codes for account-related inquiries. These are essential for users on prepaid plans or those monitoring their data limits.

AT&T (United States)

  • Check Account Balance (Prepaid): *777#
  • Check Data Usage: *3282#
  • Check Remaining Minutes: *646#
  • Request Bill Balance (Postpaid): *225#

T-Mobile (United States)

  • Check Account Balance: #225#
  • Check Data Usage: #932#
  • Check Minutes Used: #646#

Verizon (United States)

Verizon utilizes a slightly different system due to its CDMA heritage, though it now supports many standard USSD codes on its LTE/5G network.

  • Check Balance: #225
  • Check Minutes: #646
  • Check Data Usage: #3282

International Standard Codes

Outside the US, many providers follow a standard format for checking credit:

  • Check Balance (General): *100# or *123# (Varies by country)

Advanced Technical Codes: EFR and SMS Center

There are several specialized codes that interact with how the iPhone processes audio and text messages.

Enhanced Full Rate (EFR) Mode

Dialing *3370# is intended to activate Enhanced Full Rate mode. EFR significantly improves voice quality by using a higher bit rate for the speech codec. However, in our practical testing, we observed that this can lead to a slight decrease in battery life because the processor and radio must work harder to maintain the high-quality stream.

  • Note: Many modern carriers using VoLTE (Voice over LTE) or 5G have already implemented superior codecs, making this code redundant on newer networks.

Verifying the SMS Service Center (SMSC)

If your iPhone is unable to send or receive text messages (SMS), the problem may lie in an incorrectly configured SMS Center number.

  • Check SMSC Number: *#5005*7672# This displays the number that acts as the gateway for your text messages. If this number is wrong, SMS services will fail entirely.

Troubleshooting Common USSD Failures

It is common for iPhone users to encounter the "Unknown Error" or "Setting Registration Failed" message when attempting to use these codes. This does not necessarily mean your phone is broken.

Why Codes Fail

  1. VoLTE Conflicts: On some networks, having VoLTE (Voice over LTE) enabled prevents the phone from sending USSD commands over the legacy signaling channel. Switching the phone to "4G" or "3G" mode temporarily can sometimes resolve this.
  2. Carrier Restrictions: Some budget or MVNO (Mobile Virtual Network Operator) carriers disable USSD codes to prevent users from accidentally altering complex network settings.
  3. Network Type: Some codes only work when connected to a specific network type (e.g., LTE vs. 5G).
  4. Formatting Errors: Ensure there are no spaces in the code and that you have included the final # symbol.

How to Fix Failure Messages

If a critical code like *#06# or *#21# is not working, try the following:

  • Restart the iPhone: This clears the temporary cache of the Phone app and resets the network handshake.
  • Toggle Airplane Mode: Turning Airplane Mode on for 30 seconds and then off forces the device to reconnect to the carrier's USSD gateway.
  • Update Carrier Settings: Go to Settings > General > About. If a carrier update is available, a prompt will appear.

The Evolution of USSD in the 5G Era

As we move toward a fully digital, software-defined network architecture, the role of USSD is changing. Apple and major carriers are increasingly moving diagnostic tools and account management into dedicated applications.

However, USSD remains the "fail-safe" method. When an app crashes or when a user is in an area with signal but no data connectivity, these simple text-based strings are the only way to communicate with the network. Furthermore, for cybersecurity professionals, USSD codes provide a way to verify device settings that might be obfuscated by the iOS user interface.

Conclusion

iPhone USSD codes are more than just "secret" sequences; they are a direct line of communication between your hardware and the cellular network infrastructure. From the essential utility of *#06# for identifying your device to the deep technical insights provided by the Field Test Mode (*3001#12345#*), mastering these codes allows you to troubleshoot connectivity, manage privacy, and monitor account status with unparalleled efficiency.

While the shift toward GUI-based settings continues, the reliability and speed of USSD ensure its place in the toolkit of every savvy iPhone user. Always remember to use these codes with caution, especially those that modify call-routing or barring settings, to maintain the optimal performance of your mobile service.

FAQ

Can using USSD codes void my iPhone warranty?

No. USSD codes use standard network protocols authorized by your carrier. They do not modify the firmware or "jailbreak" the device. However, changing settings like call forwarding or barring may affect your ability to receive calls until you revert the changes.

Do these codes work on iPads?

Most USSD codes do not work on iPads, even those with cellular capabilities. This is because the iPad's operating system lacks the "Phone" app and the telephony stack required to initiate USSD sessions.

Is there a code to factory reset an iPhone?

While some older Android devices had USSD codes for factory resets, Apple does not include such a feature in iOS for security reasons. To reset an iPhone, you must use the Settings > General > Transfer or Reset iPhone menu or connect the device to a computer.

Why does my signal strength show as "N/A" in Field Test Mode?

This often happens on 5G networks where the iPhone is using a "Non-Standalone" (NSA) connection. In this mode, the phone uses LTE for signaling and 5G for data. You may need to look under the "LTE" section of the Field Test menu to find the primary signal strength metrics.

Are these codes free to use?

In almost all cases, carriers do not charge for USSD code usage. They are part of the basic signaling service provided with your SIM card. However, if you are roaming internationally, it is worth checking with your provider, although USSD is generally exempt from roaming fees.