By Manny Fernandez

September 11, 2026

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.

Recent posts

  • If you've spent any time configuring user authentication on... Full Story

  • DNS is one of those technologies that quietly underpins... Full Story

  • BGP issues on FortiGate firewalls usually trace back to... Full Story

  • Every time your laptop talks to your router, a... Full Story

  • If you've spent any time configuring NAT on a... Full Story

  • If you have spent any time configuring firewall policies... Full Story

  • High availability on FortiGate is one of those features... Full Story

  • If you've configured SD-WAN on a FortiGate, you've almost... Full Story

  • FortiLink is the management protocol that turns a FortiSwitch... Full Story

  • FortiSwitches are pretty rock solid from Mean Time Between... Full Story

  • This is a quicky tip.  Have you ever gone... Full Story

  • DNS is one of those quiet pieces of internet... Full Story

  • This article is an updated version of the previous... Full Story

  • You will add ns2 as a secondary (slave) BIND9... Full Story

  • In the process of deploying my lab, I needed... Full Story

  • RFC 8805, used to be known as Self-Correcting IP... Full Story

  • Years back, I wrote an article about certificate pinning. ... Full Story

  • FortiGates have the ability to send alerts to Microsoft... Full Story

  • In this post, I am going to walk through... Full Story

  • Troubleshooting VoIP on a FortiGate can feel like trying... Full Story

  • Prior to FortiOS 7.0, there were three commands to... Full Story

  • In this post, I am going to go over... Full Story

  • What we are going to do:  We are going... Full Story

  • Choosing between FGCP (FortiGate Clustering Protocol) and FGSP (FortiGate... Full Story

  • Creating a VLAN on macOS (The "Pro" Move) A... Full Story

  • This blog post explores the logic behind how macOS... Full Story

  • Pretty Fly for a Wi-Fi Tell My Wi-Fi Love... Full Story

  • Part of my daily gig is creating BoMs (Bill-of-Materials)... Full Story

  • ICMP introduces several security risks, but careful filtering, rate... Full Story

  • The command diag debug application dhcps -1 enables full... Full Story

  • In the world of FortiOS, execute tac report is... Full Story

  • LLDP; What is it The Link Layer Discovery Protocol... Full Story

  • What it actually does When you run diagnose fdsm... Full Story

  • Monkey Bites are bite-sized, high-impact security insights designed for... Full Story

  • I have run macOS in macOS with Parallels but... Full Story

  • Don't be confused with my other FortiNAC posts where... Full Story

  • This is the third session in a multi-part article... Full Story

  • Today I was configuring key-based authentication on a FortiGate... Full Story

  • Netcat, often called the "Swiss Army knife" of networking,... Full Story

  • At its core, IEEE 802.1X is a network layer... Full Story

  • In case you did not see the previous FortiNAC... Full Story

  • This is our 5th session where we are going... Full Story

  • Now that we have Wireshark installed and somewhat configured,... Full Story

  • The Philosophy of Packet Analysis Troubleshooting isn't about looking... Full Story

  • Your iPhone's Phone app keypad doubles as a terminal... Full Story

  • Here is a quick article on running lldp on... Full Story

  • Executive Summary Objective: Give you a field by field... Full Story