Access and Squelch Codes Explained

PL, DPL, tone burst, Color Code, CAN, RAN, NAC, DG-ID — what they are and why every mode has its own.


Program any radio — analog or digital — and you'll meet a setting that decides whether your receiver makes a sound and whether a repeater will answer you. In analog FM it's a PL tone or a DPL code. On DMR it's a Color Code. On M17 it's a CAN; on NXDN a RAN; on P25 a NAC; on Fusion a DG-ID. Different names, different number ranges, one job. This page explains that one job, walks through each system, and shows why they can't be swapped for one another.

First, what these are not. They are not talkgroups or reflectors — they don't route your call anywhere or pick which internet room you land in. They are not your identity — that's your callsign or DMR ID. And despite the marketing name "Private Line," they are not privacy or encryption. They are simply access and squelch codes: a gate at the door of a single RF channel.

The one job, two sides

Every code in this family does the same thing from two directions:

That's the whole idea. The code is a key that has to match on both ends: it lets the right people in and keeps everyone else's noise out of your speaker.

TRANSMIT code = 100.0 RX set to 100.0 → unmutes, you hear it ✓ RX set to 123.0 → stays muted (wrong code) RX on carrier squelch → unmutes (hears everything)
One signal, three radios. The matching code unmutes; the wrong code stays silent; a radio with no code set (carrier squelch) hears it all. The same logic governs every mode — only the form of the "code" changes.

The baseline: carrier squelch (no code at all)

Before any code, there's the absence of one. Carrier squelch (CSQ) means the radio opens for any signal strong enough to break the noise threshold — no tone or code required. Repeater builders sometimes call this "running naked," because anything that lands on the frequency, including computer hash and stray noise, can trip it. Carrier squelch is the simplest setup and still common on quiet frequencies, but on any busy or shared channel it's exactly the problem the rest of this page solves.

The analog FM family

Analog FM can't carry a digital access field the way the newer modes do, so its access codes are clever tricks layered onto the audio.

PL / CTCSS — the continuous sub-audible tone

CTCSS (Continuous Tone-Coded Squelch System) is the workhorse. Your transmitter adds a steady, very low tone — between about 67 and 254 Hz — underneath your voice. It sits below 300 Hz, where the audio path filters it out, so you never hear it; the receiver has a sharp filter that watches for it and opens the squelch only when the exact tone is present. There are roughly 50 standard tones in the EIA list, and a repeater publishes the one it wants (sometimes sent in Morse as a letter at the end of its ident).

You'll almost always hear CTCSS called PL — "Private Line," a Motorola trademark that became the everyday word for it. Other makers had their own brand names (GE's "Channel Guard," Kenwood's "QT"), but PL is the one that stuck. The name oversells it, though: a continuous tone is not private. Anyone monitoring on carrier squelch hears the whole conversation.

DPL / DCS — the continuous sub-audible code

DCS (Digital-Coded Squelch) does the same job with a digital twist. Instead of one tone, it sends a continuous low-speed digital code word (134.4 bits per second) under the audio, repeating for as long as you transmit. It's written as a three-digit octal number — 023, 754, and so on — and there are more usable codes (around 80) than there are CTCSS tones, so it's a little harder to trip by accident. Motorola's brand name for it is DPL, "Digital Private Line." Functionally it's interchangeable with CTCSS; it's just a different way to ride a code under the voice.

Tone burst — the momentary 1750 Hz "knock"

The other analog method works once, at the start, instead of continuously. A tone burst is a short blast of a single tone — by convention 1750 Hz, lasting no more than about half a second — sent to "knock" a repeater out of standby and bring its transmitter up. It's the traditional repeater-access method across the UK and much of Europe and is rare in North America. Because 1750 Hz is in the audible range, an operator with good pitch can literally whistle into the microphone to open the repeater — hams call it "whistling up."

The key difference from PL/DPL: a tone burst only opens the repeater; it doesn't keep it open, and it doesn't give you selective squelch on receive. After the burst, the repeater holds itself up on your carrier and its own timer. It's a doorbell, where CTCSS is a key you hold in the lock the whole time. The tone burst's one lasting virtue is that it's universal — if you don't know a repeater's CTCSS tone, 1750 Hz will often still get you in.

Reverse burst — cleaning up the "squelch tail"

One side effect worth knowing, since it's another "burst." When you unkey a tone-squelch transmission, there's a brief instant where the carrier is still up but the tone has stopped, and the receiver lets out a short rush of noise — the squelch tail. Reverse burst (also called squelch-tail elimination) fixes it: just before the transmitter drops, it flips the phase of the CTCSS tone by 120–180° for about 150–200 ms. That phase flip makes the receiver's tone detector give up immediately and slam the squelch shut before the carrier disappears, so there's no tail. DCS has an equivalent — a brief turn-off code sent at the end. It's not an access method; it's the polish that makes tone squelch sound clean.

DTMF — the keypad tones

Finally, the touch-tone digits from a telephone keypad (DTMF) show up on many repeaters — usually not as the main access gate but as a control channel: enabling an autopatch, linking and unlinking nodes, sending commands. It's the same pair-of-tones signaling used on phones, repurposed to push buttons on a repeater. Worth knowing it exists in this family, even though it's a control tool more than a squelch system.

The digital family

Every digital voice mode builds an access field straight into its own frame structure, so the "code" is part of the digital signal rather than a tone layered under audio. The job is identical to PL — selective squelch and repeater access — but the implementation, and the number of available values, depends on how many bits each protocol set aside for it.

DMR — Color Code

DMR carries a 4-bit Color Code, values 0–15, inside its TDMA framing. A subscriber radio and a repeater must agree on the color code, exactly the way two analog radios must agree on a PL tone; it lets DMR repeaters that are near each other (or share a frequency) coexist without cross-triggering. Sixteen values isn't many, so coordinators assign them carefully in dense areas.

M17 — CAN (Channel Access Number)

M17 uses a 4-bit CAN, values 0–15, carried in its link-setup data. The M17 project describes it directly as the equivalent of a CTCSS/PL tone — set the same CAN as the station or reflector gateway you want, and you're through. Set CAN 0 and a receiver decodes everything, which makes it the carrier-squelch equivalent for monitoring.

NXDN — RAN (Radio Access Number)

NXDN's RAN is a 6-bit field, values 0–63 — 64 possibilities, four times DMR's range. Same role: a receiver stays muted unless the RAN matches, and a repeater answers only to the RAN it's set for. RAN 0 behaves like carrier squelch, passing anything it can decode. The wider range makes RAN collisions less likely than Color Code clashes on crowded bands.

P25 — NAC (Network Access Code)

P25 has the largest space of all. Its NAC is a 12-bit field written as three hex digits, $000$FFF4,096 possible values, with $293 as the common default. It rides in the header of every P25 frame and controls repeater access and receive squelch just like the others. With 4,096 codes, NAC almost never collides; it's the roomiest access namespace in amateur digital voice, befitting P25's public-safety heritage.

C4FM / Fusion — DG-ID (and the older DSQ)

Yaesu System Fusion uses a DG-ID (Digital Group ID), values 0–99. It does double duty: DG-ID 0 is "open/monitor," and non-zero values both gate access and steer you toward matching groups and rooms — which is why Fusion's access code blurs slightly into the routing layer. Older Fusion radios used DSQ (Digital Squelch, codes 1–126) for the same selective-squelch purpose; DG-ID has largely superseded it on current hardware.

D-STAR — the exception that proves the rule

D-STAR is the odd mode out: it has no PL-style access code at all. Instead of a numeric gate, D-STAR uses callsign routing — the radio carries your callsign and a set of routing callsign fields (UR, RPT1, RPT2) that identify the repeater and destination directly. Access and addressing are handled by who you are and where you're pointing, not by a shared tone or number. So when you're hunting for "the D-STAR equivalent of a color code," there isn't one — that's by design.

All of them, side by side

Mode / signal Code Common name What it is Range Values
Analog FM CTCSS PL (Motorola) continuous sub-audible tone 67.0–254.1 Hz ~50 tones
Analog FM DCS DPL (Motorola) continuous sub-audible digital code octal codes ~80 usable
Analog FM Tone burst 1750 Hz momentary access tone (Europe) single tone 1
DMR Color Code CC 4-bit field in the frame 0–15 16
M17 CAN Channel Access Number 4-bit field in link setup 0–15 16
NXDN RAN Radio Access Number 6-bit field in the frame 0–63 64
P25 NAC Network Access Code 12-bit field in the header $000–$FFF 4,096
C4FM / Fusion DG-ID Digital Group ID (older: DSQ) group ID in the frame 0–99 (DSQ 1–126) 100
D-STAR — none — callsign routing UR / RPT callsign fields n/a n/a

Why they're all different — and not interchangeable

Read that table and the obvious question is: if they all do the same job, why isn't there just one? Three reasons.

The code has to ride inside its own mode's signal. A CTCSS tone is an audio trick that only works on analog FM. A Color Code is a handful of bits in DMR's frame; a NAC is a different handful of bits in P25's. You can't put a DMR Color Code on an NXDN signal any more than you can speak French grammar with German words — the access field is built into each protocol's structure, so each mode needs its own. That's the whole reason a P25 NAC and an NXDN RAN, which look similar on paper, are not interchangeable.

The range is set by the bit budget. Each protocol set aside a fixed number of bits for its access field, and that number is the ceiling. Four bits give DMR and M17 sixteen values; six bits give NXDN sixty-four; twelve bits give P25 over four thousand. More values means less chance two nearby systems accidentally pick the same one — which is why coordinators sweat Color Code assignments but rarely worry about NACs.

Analog had to improvise; digital could design it in. The analog methods — sub-audible tones, sub-audible codes, audible bursts — are all workarounds bolted onto a voice channel that was never meant to carry data. The digital modes simply reserved a field for it from the start. Same goal, very different elegance.

The shared advantages

The shared limits

One handy convention: zero means "monitor"

Across several digital modes, the value 0 is the universal "off / hear everything" setting — NXDN RAN 0, M17 CAN 0, and the carrier-squelch idea in general all mean the same thing: decode and unmute anything you can, regardless of code. It's the digital equivalent of switching your analog radio to carrier squelch to see who's really on the channel. When you're listening around and don't know a system's code, zero is where you start.

The bottom line

PL, DPL, tone burst, Color Code, CAN, RAN, NAC, DG-ID — peel off the names and they're all the same idea wearing different clothes: a code that decides whether your speaker makes noise and whether a repeater answers your call. Analog FM improvises it with tones under the audio or a whistle at the front; each digital mode reserves a field for it and sizes that field differently; and D-STAR skips the whole concept in favor of routing by callsign. None of them route your traffic, none of them identify you, and none of them keep a secret — they just keep the right door open and the wrong noise out.