Skip to content

Conversation

@taclane
Copy link
Contributor

@taclane taclane commented Dec 19, 2025

This (finally) adds support for Motorola OTA aliases on P25 systems. These aliases are broadcast on the voice channel and visible to units in the talkgroup. If used in the system, they can supplement the current unitTags metadata about participants in a call.

To this effect, the following changes are proposed:

  • P25 TDMA/FDMA decoders to parse relevant opcodes, and send data into a separate message queue for processing downstream
  • A c++ implementation of @ilyacodes decoder algorithm, with a pre-computed inverse lookup table for added efficiency
  • Configuration settings to retain aliases between sessions (unitTagsOTA), and toggle whether OTA or user-defined aliases take precedence (unitTagsMode)
  • Rewrite of unit_tags.cc to use the improved csv handler and support the unitTagsOTA cache

General operation is as follows:

  • TDMA/FDMA decoder detects an alias, it is turned into plain text and provided to the parent shortName
  • If it is a new alias, it is added to an internal list, and appended to the unitTagsOTA file if configured
  • Calls including that radio ID will have the alias text added to the call metadata
  • On each restart, trunk-recorder will clean up the alias cache, sorting entries and trimming duplicates
  • If a unitTagsOTA entry has incomplete metadata (i.e. started as a simple [unit, alias] list), records will be enriched with additional information as it is discovered

While this PR does not handle other types of aliases, enabling the message queue will allow further analysis and development of information present on the voice channel.

@robotastic
Copy link
Collaborator

🎅

@robotastic robotastic closed this Dec 25, 2025
@robotastic robotastic reopened this Dec 25, 2025
@robotastic robotastic merged commit e01795c into TrunkRecorder:master Dec 25, 2025
2 checks passed
@Dygear
Copy link
Contributor

Dygear commented Dec 25, 2025

Champagne for everyone!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants