By Manny Fernandez

September 11, 2026

iPhone Codes to Check Forwarding of Calls and SMS Messages

iPhone Codes to Check Forwarding of Calls and SMS Messages

Your iPhone’s Phone app keypad doubles as a terminal into the GSM network stack. Dial the right sequence and hit call, and you’re not “calling” anyone. You’re sending a Supplementary Service (SS) or USSD request straight to your carrier’s switch, or triggering a manufacturer diagnostic mode on the device itself.

None of this is an Apple feature. These are decades-old GSM/3GPP standards that happen to work on any phone, iPhone included, because the codes get intercepted by the baseband before a normal call is placed. Support and exact behavior still vary by carrier, so treat every result below as “should work on AT&T, T-Mobile, and Verizon” rather than guaranteed.

Device Info

Code What It Does
*#06# Displays the IMEI (and MEID/serial on some models). No call is placed; the number just appears on screen. Useful for insurance claims, warranty checks, and confirming a used iPhone isn’t reported lost or stolen.
*#07# Opens the device’s regulatory and certification information (SAR values, compliance markings).

Call Forwarding

Call forwarding on iPhone is normally a Settings toggle, but the underlying codes let you check or set it directly, which matters if you’re troubleshooting a line that seems to be forwarding calls without an obvious setting change.

Code What It Does
*#21# Checks the status of unconditional call forwarding: is it on, and if so, to what number.
*#61# Checks the forwarding destination for calls you don’t answer.
*#62# Checks the forwarding destination used when your phone is off or out of coverage.
*#67# Checks the forwarding destination used when your line is busy.
##002# Cancels every type of call forwarding at once. This is the fastest way to be sure nothing is being redirected.
**21*[number]# Turns on unconditional forwarding to the number you enter.
##21# Turns off unconditional forwarding.

Call Waiting, Call Barring, and Caller ID

Code What It Does
*#43# Checks whether call waiting is currently enabled.
*43# / #43# Turns call waiting on or off.
*#33# Checks the status of call barring (blocking outgoing or incoming call classes).
*33*[PIN]# / #33*[PIN]# Enables or disables call barring using your barring PIN.
*#31# Checks whether your outgoing caller ID is being shown or hidden on calls you place.

Network Diagnostics

Code What It Does
*3001#12345#* Launches Field Test Mode, which replaces the signal bars with the actual signal strength in dBm. A reading closer to 0 (for example, -60) is a strong signal; a reading further from 0 (for example, -110) is weak. This is the same underlying data Apple used to expose via a secret bars-to-dBm tap sequence in older iOS versions.

The Spyware Myth

A claim that resurfaces constantly online: dialing *#21#, *#61#, *#62#, or *#67# will “reveal if your phone is tapped.” It won’t. These codes report the state of a legitimate carrier feature, call forwarding, not the presence of surveillance software or a wiretap. If one of these codes returns a number, in the vast majority of cases that number is your own carrier’s voicemail platform, returned because forwarding-to-voicemail is how “unanswered” and “unreachable” call handling is implemented on the network side. Seeing a number there is normal, not a red flag.

Actual mobile spyware runs as an app or a malicious profile, and it doesn’t announce itself through call-forwarding status. If you suspect a compromised device, the useful checks are Settings > General > VPN & Device Management for unrecognized configuration profiles, Settings > General > iPhone Storage for unfamiliar apps, and a review of Screen Time / battery usage for anything with outsized background activity, not a dialer code.

Quick Reference

*#06#                 Show IMEI / serial
*#07#                 Regulatory and certification info
*#21#                 Check unconditional call forwarding
*#61#                 Check forwarding: no answer
*#62#                 Check forwarding: unreachable
*#67#                 Check forwarding: busy
##002#                Cancel all call forwarding
**21*[number]#        Enable unconditional forwarding
##21#                 Disable unconditional forwarding
*#43#                 Check call waiting status
*43# / #43#           Enable / disable call waiting
*#33#                 Check call barring status
*33*[PIN]# / #33*[PIN]#   Enable / disable call barring
*#31#                 Check outgoing caller ID visibility
*3001#12345#*         Field Test Mode (signal strength in dBm)

Bottom Line

These codes are a fast, no-app way to audit call handling on a line, confirm an IMEI, or get a real signal-strength number instead of a bar graph. They are not a backdoor, and they are not a spyware detector. Know what each one actually queries, and they’re a genuinely useful five seconds on the keypad.

MacPorts vs. Homebrew: Choosing a macOS Package Manager in 2026

MacPorts vs. Homebrew: Choosing a macOS Package Manager in 2026

Compare MacPorts vs Homebrew for 2026. Learn the differences in security, architecture, and Intel support to pick the right macOS package manager for your...

Read More
IOS Focus Mode: Enabling, Configuring or Disabling it.

IOS Focus Mode: Enabling, Configuring or Disabling it.

Learn how to configure iOS Focus Mode to stop missed calls. Master every trigger, set allow lists, and permanently disable Focus so it never...

Read More
Homebrew Under the Hood: File Structure, Environment Variables and the Plumbing Behind brew

Homebrew Under the Hood: File Structure, Environment Variables and the Plumbing Behind brew

Map Homebrew file structure and environment variables. Locate Cellar kegs, understand opt symlinks, and configure shell paths for macOS and Linux.

Read More