Skip to content

Merge R06A00 (r05a06_dev) into master - #132

Open
gatekeep wants to merge 279 commits into
masterfrom
r05a06_dev
Open

gatekeep wants to merge 279 commits into
masterfrom
r05a06_dev

Conversation

@gatekeep

Copy link
Copy Markdown
Member

Summary

This is the team r05a06_dev branch merge into master. This will include several outstanding next version changes, and bump the overall project version from R05A04 to R06A00.

This is a major version release, as such all configurations should be validated and vetted. There are very likely breaking changes that will need to be addressed.

Component(s)

Which part(s) of the project does this affect?

  • dvmhost
  • dvmfne
  • dvmbridge
  • dvmpatch
  • dvmcmd
  • sysview
  • tged
  • peered
  • Other (explain below)

Type of change

  • Bug fix
  • Refactor / cleanup
  • Performance improvement
  • Documentation update
  • Build / tooling change

Related issues

Link any related bug reports.

Closes #
Refs #

Build & test notes

Debian 12 x86_64
GCC 12.2.0

Checklist

  • Change is scoped and focused
  • Existing functionality verified
  • No unrelated refactors included
  • Documentation updated if needed
  • No secrets or credentials included

Notes for maintainers

gatekeep and others added 30 commits May 15, 2026 13:15
…Lookup, instead of maintaining a list in which we add or remove elements as they are available or in use, we will maintain a mapped channel ID to index bit array, where each bit index within the array of bits represents the availability state of the channel, this should make it far more stable to mark a channel as free or allocated instead of manipulating an array everytime;
…ing the source ID check and denying the grant to a source RID that is different from the originator, the purpose behind this logic is to allow the source RID that is currently holding the grant to grant retry;
… the way locking was being done on the REST API could cause it to become deadlocked when querying affils; correct issue with auth token length in REST API;
…n timeout (should handle #122); add support for bulk announcement of peer unit registration data to the FNE; move announcement handling from main traffic port to metadata port (for now there is a code redirect on the traffic port that will be maintained for a few versions before being deprecated;
…plementing some fixes because my testcases are blowing up;
…nstead of trying to directly delete the connection, although this may cause problems of its own...;
…hread pool exhaustion from failed metadata updates; add better logic around checking in-flight and pending metadata announcements to peers; add checking to drop an update entirely if the peer disappears;
…we accumulate NAKs then are suddenly fine, this can cause a situation where the NAK fallover logic never activates;
…mentation around dvmhost voice channels in the config stanza;
…nk/TAC-10; correct indentation issue for voiceChNo reported by digilink/TAC-10; fix missing configuration parameter;
…ID ACL list to contain whether or not a RID can request keys from the FNE KMF and wwhether it can request a OTAR rekey (future), it additionally adds a pipe delimited list of KIDs the RID is allowed to request;
…he serial port would still be buffering data and would return 0 bytes when the packet length was attempted to be read;
gatekeep and others added 30 commits October 12, 2026 16:22
…yone be sure you COMPARE YOUR CONFIGURATION TO THE EXAMPLE); correct conventional reg requesting 0.0.0.0, this allocates an IP and responds to the radio; reimplement the all-peer broadcast of data packets with a "broadcast" option under packetData in the FNE config; allow OTAR DLD KMMs without conventional registration;
…d invalid-MN rekey NAKs using Change-RSI; resume rekeying after successful message-number resynchronization; optionally issue keyset changeover after rekey completion;
…_REQ encoding and decoding; add factory routing and unit tests;
…ate what the code style, formatting and helper uses should be;
…ointers with shared ownership and use short-lived peer registry locks with stable snapshots; avoid holding peer locks during traffic queue writes, metadata updates, replication, and REST serialization, while keeping connections alive during concurrent disconnects;
…ia a gateway peer (#133)

* add P25 telephone interconnect TSBKs (TELE_INT_VCH_GRANT, TELE_INT_PSTN_REQ, TELE_INT_ANS) and decode them in TSBKFactory;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* add telephoneInterconnect control channel option; forward P25 telephone interconnect PSTN requests, answer responses and interconnect cancels to the network, and only transmit network answer requests for units registered to the site;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* add contributor copyright for P25 telephone interconnect control channel changes;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* add telephone interconnect gateway peer flag (peer list, REST API, peered); route P25 telephone interconnect voice and signalling only between gateway peers and the peer the unit is registered to, and validate interconnect calls against the RID ACL instead of talkgroup rules;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* route gateway telephone interconnect traffic to the voice channel peers of the site the unit is registered to;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* add P25 telephone interconnect channel grants; grant interconnect calls on network grant demand, hold the grant for the whole call (message trunking) with grant demand keepalives, release it on the terminating TDULC or a unit cancel, and deny on network grant denial;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* handle P25 telephone interconnect calls on voice channels; decode the TEL_INT_VCH_USER address as the call dstId and encode dstId as the address, correct the TEL_INT_VCH_USER LC and TDULC encoders, hold telephone interconnect permits through TG hang, and attribute talkgroup-less HDUs to the permitted unit;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* add the explicit channel form of the P25 telephone interconnect channel grant (MBT_OSP_TELE_INT_VCH_GRANT, AMBT); grant telephone interconnect calls on explicit channel sites with the AMBT grant instead of refusing them;

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ou cannot do this); correct LC_TEL_INT_VCH_USER reading data from an incorrect offset; correct a bad testcase assumption;
…in certain conditions (like TGs that are sent always regardless of aff status); correct parrot playback thread not testing if affiliations were present before repeating parrot frames;
…cks; add testcases to test these conditions;
…les; add more robust peer traffic routing tests;
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.

7 participants