-
Notifications
You must be signed in to change notification settings - Fork 16
fix(dmr): generic gateway forwarding and custom TG maps #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dbehnke
wants to merge
84
commits into
nostar:main
Choose a base branch
from
dbehnke:fix/dmr-mini-mode-forwarding
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Added CImrsProtocol and CImrsClient for IMRS protocol handling. - Updated CPacket to include IMRS-specific fields. - Integrated IMRS into CReflector and CProtocols. - Added IMRS configuration options to urfd.ini. - Resolves nostar#13
- Added M17Parrot.h/cpp for multi-threaded voice and packet echo. - Integrated Parrot routing and cleanup in M17Protocol. - Added LSTN (Listen-only) mode support for M17 nodes. - Added M17P (Packet Mode) routing support. - Fixed M17 keep-alive validation bug. - Improved protocol architecture by inheriting SM17Protocol from CSEProtocol.
# Conflicts: # reflector/Configure.h
- Replace TCP sockets with NNG pair protocol - Support IPC connections via file paths - Add thread-safe packet queues - Fix YSFProtocol header signature mismatch
…stical aggregation for NNG events
…roidStar/M17-259)
Implemented M17LegacyCompat flag (default true). Added dual-mode receiver for 54/56-byte frames. Updated transmitter and Parrot to respect compat flag.
…ent 0-byte recordings
fix(audio): Thread-safe AudioRecorder UUIDs to prevent 0-byte recordings
* docs: Add Mini DMR architecture documentation * Feat: Implement Flexible DMR (Mini DMR) mode * Fix: Audio routing and Egress TG ID for Mini DMR mode * Fix: Set client reflector module in Mini DMR mode to enable OpenStream * Fix: Options parsing and TG 4000 Disconnect logic * Fix: Add Ip argument to IsValidOptionPacket to fix compilation error * Fix: Sync visual module from options and improve calling logging * Fix: Strict module/timeslot routing logic and documentation updates * Fix: Multi-module dashboard display, DMR protocol rename, and detailed subscriptions in JSON * Fix: Add missing JsonReport declaration to DMRMMDVMClient.h * Fix: Make CClient::JsonReport virtual * Fix: Enable simultaneous dual-slot operation by tracking per-slot scanner hold timers * Fix: Enable simultaneous dual-slot operation in OnDvHeaderPacketIn * Fix: Add missing slot argument to CheckAccess declaration * Fix: Define DMRScanner state members as arrays * Fix: Update GetCurrentScanTG to accept slot argument * Fix: Update DMRScanner implementation to handle m_CurrentScanTG as array * Debug: Log outgoing Talkgroup ID to console * Fix: Propagate dynamic Destination ID to all MMDVM encode functions * Feat: Implement Static vs Dynamic Subscriptions and Single Mode Logic * Fix: Clear client from module list on subscription timeout * Docs: Fix Mermaid syntax error in DMR_Mini_Mode.md * Fix: Improve MMDVM debug logging to accurately reflect sent packets * Fix: Ensure SetReflectorModule is called on every valid DMR Header to prevent Orphaned Frames * Debug: Fix callsign logging and add PTT subscription tracing * Fix: Fallback to default DMR ID for analog sources (e.g. ALLSTAR) with ID 0 * Fix: Handle slot=0 in CheckAccess to support unspecified-slot checking * Fix: Callsign fallback for unknown DMR IDs and Extended SSID support * Cleanup: Remove debug logs * Fix: Module Assignment Regression + Dashboard Backend Support * Tmp: Add debug logs for DMR Dashboard * Fix: Deduplicate DMR client reporting * Feat: Include DMRID in JSON Report * Feat: Renew dynamic subscription on PTT (and cleanup debug logs) * Docs: Update DMR Mini Mode guide with Dashboard and Renewal info * Feat: Rename MMDVM DMR to DMR in logs/dashboard * fix(dmr): preserve raw destination ID in header to support flexible TGs * fix(dmr): report Talkgroup as Target in dashboard events instead of Gateway ID * fix(dmr): revert egress TG propagation to fix timeouts, keep ingress tracking * fix(dmr): revert UR modification to prevent protocol timeouts, fix dashboard display manually * fix(dmr): resolve compiler errors - variable scope and constructor args * fix(dmr): restore working protocol state from last good commit, apply dashboard target display fix * fix(dmr): resolve uiDstId scope error in dashboard fix by recovering TG from module * fix(core): update ModuleToDmrDestId to respect configured mappings (MapA=...) with XLX fallback * fix(dmr): prevent null pointer dereference of moved Header in OpenStream flow * fix(dmr): correct 24-bit DestID encoding in Link Control (prevents TG 90 truncation)
* debug: add DMR burst logging (Header+6 frames) * feat: add raw packet logging and header detection for counter reset * fix(dmr): remove hardcoded Slot 2 restriction allowing TS1 RX * fix(dmr): correctly propagate and use TS slot for subscriptions * fix(dmr): pass uiSlot to OnDvHeaderPacketIn call in IsValidDvFramePacket * fix(protocols): sanitize source callsigns to strip suffixes/modules for Dashboard reporting
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes TG routing for generic DMRGateway packets by parsing actual Destination TG from header (ignoring RPT2 suffix) and supporting custom reverse TG-to-Module maps in DmrDstIdToModule.