<!-- https://heyly.ai/blog/call-forwarding-codes-us-carriers -->
# Call forwarding codes for every US carrier


Call forwarding is the oldest feature on your phone and still the least understood. Set it correctly and a second line can answer everything you miss without your customers noticing anything. Set it wrong and you either send every call away, including the ones you wanted, or you set nothing at all and never find out.

This is the reference we use ourselves. It covers the four codes that matter, what each US carrier expects, how to read what is currently set, and the failure modes that make forwarding look like it worked when it did not.

## The four kinds of forwarding

Every carrier supports the same four conditions underneath, whatever they call them in their app.

| Condition | What it means | Common name |
|---|---|---|
| Unconditional | Every call goes to the target immediately. Your phone never rings. | CFU, "always forward" |
| No answer | Rings your phone first, forwards after N seconds. | CFNRy |
| Busy | Forwards when you are already on a call. | CFB |
| Unreachable | Forwards when the phone is off or has no signal. | CFNRc |

The three at the bottom are collectively **conditional forwarding**, and they are what you almost always want. Your phone rings normally, and anything you do not pick up lands somewhere useful instead of in voicemail. Unconditional forwarding is the blunt version: useful when you are away for a week, wrong as a permanent setting for most businesses.

## Verizon

Verizon uses star codes rather than GSM MMI strings, a legacy of its CDMA past.

| Action | Dial |
|---|---|
| Forward when busy or unanswered | `*71` then the number, then call |
| Forward all calls | `*72` then the number, then call |
| Cancel all forwarding | `*73` then call |

You dial the code and the destination as one string, for example `*715551234567`, then press call. You will hear a confirmation tone or a short message, and the call ends itself. The confirmation is the only proof it worked, so do not skip listening to it.

## AT&T

AT&T is a GSM network, so it takes the standard MMI strings.

| Action | Dial |
|---|---|
| Forward all calls | `**21*15551234567#` |
| Forward when unanswered | `**61*15551234567#` |
| Forward when busy | `**67*15551234567#` |
| Forward when unreachable | `**62*15551234567#` |
| Cancel all forwarding | `##002#` |
| Cancel unconditional only | `##21#` |

AT&T also honours `*21*number#` as a shorter form of unconditional forwarding. The double-star version registers the setting with the network, which is the one to prefer.

## T-Mobile

Same GSM strings as AT&T, and T-Mobile documents them openly.

| Action | Dial |
|---|---|
| Forward all calls | `**21*15551234567#` |
| Forward when unanswered | `**61*15551234567#` |
| Forward when busy | `**67*15551234567#` |
| Forward when unreachable | `**62*15551234567#` |
| Set all three conditional forwards at once | `**004*15551234567#` |
| Cancel all conditional forwards | `##004#` |

`**004*` is the one worth remembering. One string sets busy, no-answer and unreachable together, which is exactly the set an answering service or an AI receptionist needs.

## MVNOs

An MVNO rides on one of the big three networks, and it usually inherits that network's codes. Mint, Google Fi and Metro sit on T-Mobile and take the GSM strings. Cricket sits on AT&T and does the same. Visible and Total Wireless sit on Verizon and generally want the star codes.

"Generally" is doing real work in that sentence. Some MVNOs disable conditional forwarding entirely, and some charge for it. Test before you rely on it.

## Setting the no-answer delay

On GSM carriers you can append a delay in seconds to the no-answer string:

```
**61*15551234567**20#
```

That rings your phone for twenty seconds before forwarding. The value is rounded to a multiple of five, and most networks cap it at thirty. Five seconds is too fast, and by thirty you have sent the caller most of the way to giving up. Twenty is the setting we use.

## How to check what is set right now

Dial `*#21#` to see the status of unconditional forwarding, and `*#61#` for the no-answer condition. On most Android and iOS handsets this returns a dialog listing the service (voice, data, fax) and the number each is forwarded to.

This one check is worth doing before you change anything. Two things it catches:

- Forwarding you did not know was on, usually pointing at an old voicemail service from a carrier you left
- A previous setup that pointed somewhere dead, which is why calls have been vanishing

## Why forwarding silently fails

We have watched every one of these happen on a real line.

**The code succeeded and did nothing.** A dialled MMI string that the carrier does not support often returns "connection problem or invalid MMI code", but some networks simply return nothing at all. No error, no confirmation, no forwarding. If you did not get a positive confirmation, assume it did not take.

**The number format was wrong.** Some carriers want a plain ten-digit number, some want the leading 1, and a few want E.164 with a plus. If the string fails, try the other formats before concluding the feature is unavailable.

**Voicemail won the race.** Carrier voicemail is itself implemented as a forward. Setting a no-answer forward usually replaces it, but on some networks and some plans the voicemail forward is pinned and takes precedence. The symptom is that everything still lands in voicemail after a setup that reported success.

**Wi-Fi calling or a dual-SIM handset changed the routing.** Conditional forwarding is a property of the line on the network. A second SIM, a numbers-in-an-app service, or an aggressive battery saver that drops the radio can all put a call in a state the network reads as answered.

**It worked, then a carrier-side change reset it.** Plan changes, SIM swaps and eSIM transfers routinely clear forwarding without telling anyone. Re-check with `*#21#` after any of them.

## What this looks like with an AI receptionist

The reason to care about the difference between conditional and unconditional forwarding is that it decides who your customer talks to.

With conditional forwarding, your phone rings first. You pick up the ones you can, and everything else, at 9pm, on a roof, mid-job, goes to the assistant instead of to voicemail. Your number never changes, the caller sees nothing different, and nothing gets ported.

That is exactly how [Heyly](/) sits behind an existing business line. If you want to hear what the caller hears before you set a single code, call our own AI receptionist on +1 208 504 3639. It is the product answering, not a recording.

## FAQ

### Does call forwarding cost anything?

Forwarding to a number in your own plan area is included on most modern US plans. Some prepaid and MVNO plans charge per forwarded minute, and forwarding to a toll-free or international number can carry a cost. Check your plan before you leave it on permanently.

### Will the caller know their call was forwarded?

No. They hear ringing and then whoever answers. There is no announcement and no change to what they dialled.

### Does forwarding drain my battery or use my minutes?

Battery, no. Minutes, sometimes: a few carriers count the forwarded leg against your plan minutes, because your line is technically carrying it.

### Can I forward only after hours?

Not with carrier codes alone. The network has no idea what time your business closes. Either set and clear the forward yourself, or forward everything conditionally and let whatever answers apply your hours.

### What is the difference between *72 and **21*?

Both set unconditional forwarding. `*72` is the Verizon-style star code and `**21*` is the GSM MMI string. Use the one your carrier supports; using the wrong family is the most common reason a code appears to do nothing.

### How do I turn it all off?

`##002#` clears every kind of forwarding on a GSM carrier, and `*73` clears it on Verizon. Follow it with `*#21#` to confirm rather than assuming.

