You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ADN-DMR-Peer-Server/docs/en/server/user-guide/talker-alias.md

4.7 KiB

Talker Alias (DMR)

DMR Talker Alias (ETSI TS 102 361-2, 2016) carries a short alphanumeric label in the voice stream. On the Homebrew Protocol (HBP) it appears as separate DMRA UDP packets (15 bytes each, up to four per transmission).

This is not the same as subscriber ID aliases in subscriber_ids.json used for logs and the monitor UI. Talker Alias is embedded signaling intended for radio displays (OLED, Hytera/MD380tools, etc.).

See also: Configuration.


How ADN handles Talker Alias

When enabled on a MASTER system, the server can:

Mode Behaviour
both (default) Pass through TA from the source hotspot/radio when all four DMRA blocks were received; otherwise inject from subscriber_ids + template.
passthrough Relay buffered DMRA only.
inject Always build TA from the configured template and alias data.

On bridge forward at voice header (VHEAD), the server sends four DMRA packets to each HBP target (MASTER peers or PEER upstream) once per stream, then forwards DMRD as usual.

MMDVMHost / DMRGateway (Pi-Star, WPSD): stock MMDVMHost does not consume standalone downlink DMRA UDP; it decodes Talker Alias from embedded LC inside DMRD voice (FLCO 4–7). When TA is enabled, ADN injects TA into the embedded LC of voice bursts B–E (dtype 1–4) on bridge forward to HBP targets, in addition to optional standalone DMRA packets for clients that support them.

On the same MASTER, when REPEAT copies group voice to other logged-in hotspots, the server also sends those four DMRA packets on VHEAD (excluding the transmitting peer). Bridge forwarding to the same system shares the same once-per-stream dedupe, so TA is not sent twice.

Not supported: OpenBridge legs (no standard DMRA on OBP/DMRE wire). Legacy ADN never implemented TA beyond debug logging.


Configuration

Under GLOBAL (optional per-system override with the same keys):

GLOBAL:
  TALKER_ALIAS: false
  TALKER_ALIAS_MODE: both
  TALKER_ALIAS_FORMAT: "{callsign} {fname}"
Key Meaning
TALKER_ALIAS Master switch (false by default).
TALKER_ALIAS_MODE both, passthrough, or inject. Default both if omitted.
TALKER_ALIAS_FORMAT Python format string; fields: {callsign}, {fname}, {surname}, {id}.

Maximum string length is 29 characters (ETSI / MMDVMHost). This limit is fixed in code and is not configurable, to avoid incompatible payloads on radios and hotspots.

Subscriber JSON may include fname, surname, or a dedicated talker_alias field per record.


HBP DMRA wire format

Offset Field
0–3 DMRA
4–6 Source DMR ID (3 bytes, big-endian)
7 Block index 0–3
8–14 7 payload bytes

Encoding uses UTF-8 format (format 2), matching MMDVMHost DMRTA.cpp.

Embedded TA in DMRD voice alternates superframes: one cycle (bursts B–E) with the normal group embedded LC, the next with a TA block (FLCO 4–7), repeating until the stream ends.


Pi-Star / MMDVM operator settings

For TA to reach the local RF radio:

Setting Recommendation
DMR DumpTAData 1 (on, Pi-Star default): write embedded Talker Alias to the MMDVM log — required for Pi-Star dashboard / log-based tools to show TA; with 0 nothing appears there. This does not block TA on RF.
DMR EmbeddedLCOnly off (default). If on, Talker Alias from the network is disabled.

Pi-Star’s web dashboard does not show TA; use the radio OLED, MD380tools, or tools such as pistar-lastqso.

Radio compatibility: Hytera PD6/7/9 and MD380tools firmware generally work. Many Motorola radios do not support TA; some older firmware may show audio issues when TA is present.

The adn-monitor proxy already forwards DMRA to the master unchanged.


Limitations and follow-up work

Topic Status
TA on OpenBridge targets Not available (no DMRA on standard OBP wire).
Monitor dashboard live TA column Separate work (monitor uses DB aliases, not live DMRA).
Unrelated RuntimeError in bridge iteration Tracked as a separate fix.

References

Powered by TurnKey Linux.