Field Guide · term

Also known as: talker alias, radio alias, unit alias

A talker alias is a short human-readable name a radio transmits for itself — “ENGINE 12”, “DISPATCH”, a unit’s callsign — so a listener sees a name instead of a bare numeric radio ID.1 On Motorola P25 systems the alias is a proprietary feature: the radio periodically broadcasts its display name, framed together with its full source identity and a checksum, spread across several small fragments that a receiver reassembles. GopherTrunk decodes the framing and identity; the alias text itself is protected by a proprietary cipher that remains unverified.

frag 0frag 1frag 2 WACN 20 Sys 12 RID 24 obfuscated alias bytes CRC-16 SUID (56 bits) identifies the radio · CRC-16/GSM validates the reassembly
Fragments concatenate into one message: a 56-bit SUID that names the radio, the cipher-obfuscated alias, and a trailing CRC-16 that rejects a garbled fragment sequence.

Message framing

Once its fragments are concatenated, an alias message has the same layout regardless of which carrier delivered it (internal/radio/p25/motorola/alias.go):

Bits Field Meaning
0–19 WACN 20-bit wide-area network ID
20–31 System ID 12-bit system ID
32–55 Radio ID 24-bit source unit ID
56 … end−16 Alias cipher-obfuscated display name (UTF-16 BE once decoded)
last 16 CRC-16/GSM checksum over everything before it

The first 56 bits are the SUID (system unit ID) — WACN, System, and Radio ID together — which uniquely names the radio across the network. The alias bytes that follow are run through the per-byte cipher to recover the name. A trailing CRC-16/GSM (polynomial 0x1021, init 0x0000, xor-out 0xFFFF) validates that the fragments reassembled correctly and rejects a garbled sequence.

Carriers and reassembly

Three on-air carriers deliver alias fragments, and all reassemble to the same framing above: LDU1 link control, TDULC link control, and the Phase 2 FACCH-S MAC PDU. On the trunking side, the alias also rides in a vendor TSBK (opcode 0x15, under either the Motorola or Harris MFID), each block carrying a source ID, a block index, a block count, and three bytes of alias data. GopherTrunk keeps the cipher, framing, and CRC in one shared package so each carrier owns only its fragment transport and shares the decode.

Verification and trust

The SUID framing is verified: the reassembly fix (issue #778) reproduces SDRTrunk’s fragment byte stream exactly, which is why the WACN, System, and Radio ID fall out correctly on real traffic. The alias text is not — the obfuscation cipher is unverified and gated off (CipherVerified = false, issue #773), so GopherTrunk never surfaces the decoded name as a confirmed alias. Even the CRC is advisory: its parameters are inferred from open decoders and not yet confirmed against a committed real-frame fixture, so GopherTrunk logs the CRC result rather than gating on it — a wrong polynomial must not suppress a valid alias. The net effect is that GopherTrunk reliably tells you which radio is announcing an alias, while being scrupulous about not fabricating what the alias says.

Sources

  1. Project 25 — Wikipedia, on the P25 standard. The talker alias is a proprietary Motorola feature; its framing is verified against SDRTrunk while the alias cipher remains unverified (issues #778, #773). 

See also