Bryan Biedenkapp
2de89d8088
add metadata network support for starting P25 and DMR subscriber operations, route protocol messages to the requested or registered peer and add operation start regression tests;
2 days ago
Bryan Biedenkapp
080d4d5714
implement time-limited FNE subscriber operations for P25 and DMR radio checks, P25 status queries, status updates and message updates, expose operation and status retrieval over REST and metadata networks, add dvmcmd queries, consume acknowledgements without peer fanout and add protocol, routing and store regression tests;
2 days ago
Bryan Biedenkapp
f83ba4862f
implement transaction scoped P25 MFId handling, retain manufacturer identity by source RID, destination RID and LCO, preserve last MFId as the DVRS compatible fallback, clear expired and completed transactions and add MFId isolation, cleanup, expiration and fallback regression tests;
2 days ago
Bryan Biedenkapp
b8db35ef30
implement FNE authoritative channel grant transactions for P25, DMR and NXDN, add U2U grant handling, local channel assignment, traffic channel permit and grant release cleanup, correct dedicated control channel traffic handling and P25 deny response decoding, remove supervisor configuration in favor of topology-driven traffic permits, document authoritative operating modes and add grant lifecycle regression tests;
2 days ago
Bryan Biedenkapp
93e38ee2c7
expand HTTP request framing tests, correct ServerConnectionManager lock scope during connection lifecycle callbacks;
3 days ago
Bryan Biedenkapp
59ecf16612
whoops add missing test file;
3 days ago
Bryan Biedenkapp
5177685e48
implement FNE synchronized talkgroup RID admission rules, enforce group access during affiliation, RF ingress and channel grants for P25, DMR and NXDN while excluding U2U and telephone interconnect traffic, and add round-robin and protocol controller admission tests;
3 days ago
Bryan Biedenkapp
88cb85cc8f
update copyright;
3 days ago
Bryan Biedenkapp
6911c69170
correct P25 secondary control channel and adjacent site status broadcasts, preserve per-channel service classes, properly encode and decode advertised site data and retain multiple secondary control channels;
3 days ago
Bryan Biedenkapp
d2ac635b9d
correct P25 group affiliation query handling, correlate and retry affiliation queries, refresh WUID validity only for acknowledged valid transactions and complete group affiliation query support;
3 days ago
Bryan Biedenkapp
a14bb62b0b
correct P25 system service broadcast field packing, implement configurable WUID validity timing and properly encode blank Motorola BSI callsign characters;
3 days ago
Bryan Biedenkapp
a8d0242cf1
correct P25 message and status update field widths and properly encode and decode TDULC group voice channel updates;
3 days ago
Bryan Biedenkapp
830a356757
WHACKERS REJOICE! implement and route emergency alarm and call signaling for P25, DMR and NXDN, including P25 ISP emergency alarm, cancellation and acknowledgement procedures;
3 days ago
Bryan Biedenkapp
bef33b1ca4
prevent telephone interconnect from flooding everywhere and properly peer routing like U2U calls;
3 days ago
Bryan Biedenkapp
479a0e90f3
add configurable private-call routing to the FNE; replace disallowAllUnitToUnit, dropUnitToUnit, and restrictPVCallToRegOnly with privateCallRouting and per-peer allowUnitToUnit policy; add a timestamped unit-route registry for explicit registrations and traffic-learned subscriber locations; route known DMR, P25, P25 Phase 2, and NXDN private calls only to the registered next-hop peer; reject or flood unknown destinations according to policy; enforce unit-to-unit authorization on ingress, egress, grants, and voice traffic; clean routes during registration replacement and peer teardown; correct private grant and unknown-destination flood handling; add comprehensive FNE routing and regression tests;
4 days ago
Bryan Biedenkapp
66751dd713
correct unit tests;
4 days ago
Bryan Biedenkapp
5162e54845
add unit test for disallowUnitToUnit on dvmhost;
4 days ago
Bryan Biedenkapp
b72823cfd7
preserve ACK_RSP addressing across network;
4 days ago
Bryan Biedenkapp
1b1d508d6f
correct DMR and NXDN private-call setup and network routing; implement DMR Tier III OACSU availability checks with response correlation, collision handling, retries, cancellation, and timeout cleanup; validate conventional private-call destinations without disturbing group routing; correct NXDN individual-call request, response, assignment, duplicate assignment, disconnect, and transmission-release signaling; fix NXDN response-cause decoding and ten-bit traffic-channel encoding; route private calls to registered trunked or eligible conventional peers; add DMR, NXDN, host, codec, and FNE regression tests;
4 days ago
Bryan Biedenkapp
2ba4dbf97c
correct P25 unit-to-unit routing across FNE sites; use the explicit network U2U flag for private-call validation, routing, and late-entry voice when a private LCO is unavailable; restrict network answer requests to the control site serving the target subscriber; document conventional interoperability requirements; add FNE and host regression tests;
4 days ago
Bryan Biedenkapp
bcb8894154
correct P25 unit-to-unit call setup and message-trunked continuation; correlate UU answer responses with pending availability checks; track private grants and voice channel permits by subscriber pair; preserve grants across talkspurts, advertise the current requester as first-to-talk, and clean up U2U state on cancellation; add comprehensive U2U regression tests;
4 days ago
Bryan Biedenkapp
b555b2a4f0
add synthetic U2U call tests;
5 days ago
Bryan Biedenkapp
048de3ab55
add per-stream ordered FNE traffic dispatching; route DMR, P25P1, P25P2, and NXDN traffic through a common receive validation and protocol dispatch path before enqueuing frames for processing; add a shared ordred frame queue model that preserves arrival order within each peer/SSRC/stream/direction keyh while allowing parallel calls to run concurrently on a single existing FNE worker pool, frames are scheduled immediately without waiting for headers or missing seq numbers; apply ordering model to direct and upstream traffic; add regression coverate for same-stream FIFO behavior, concurrent calls, burst traffic, stream reuse, key isolation, late-entry and duplicate seq;
6 days ago
Dev_Ranger
3ba67a1506
= Fix Bridge vocoder integration, framing, and buffer bounds
...
- Fix half-rate encoder input overread
- Bound NXDN FACCH1 and UDCH puncture-table access
- Fix P25 receive buffer bounds
- Correct NXDN transmit buffer strides and SACCH fragment assembly
- Fix DMR sync, burst sequencing, call termination, and buffer cleanup
- Add focused regression tests and correct static vocoder linkage
- Rename packet-state enum value to avoid a Windows macro collision
6 days ago
Bryan Biedenkapp
54cee44381
fixes for REST API handling, correct bad condition where TLS handshakes could leave dangling sockets, add deadlines for various operations to prevent deadlock scenarios, REST handlers operate async to prevent blocking ASIO event loop;
1 week ago
Bryan Biedenkapp
a5e0f0f315
parrot playback should also properly adhere to inclusion peer list rules; add more robust peer traffic routing tests;
2 weeks ago
Bryan Biedenkapp
944a434db3
add better handling for parrot playback to do typical eligibility checks; add testcases to test these conditions;
2 weeks ago
Bryan Biedenkapp
15e18e3ccf
file cleanup;
2 weeks ago
Bryan Biedenkapp
7ecb66ae93
whoops forgot to add source file;
2 weeks ago
Bryan Biedenkapp
a67733c671
add some lifecycle tests for telephone interconnect;
2 weeks ago
Bryan Biedenkapp
ffaf2ff88b
correct issue with direct literal assignment to the JSON structure (you cannot do this); correct LC_TEL_INT_VCH_USER reading data from an incorrect offset; correct a bad testcase assumption;
2 weeks ago
majmongoose
c0f4b89f6e
P25 telephone interconnect (TIA-102 PSTN calls) for trunked systems via 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>
2 weeks ago
Bryan Biedenkapp
067b622fe9
aggregate peer affiliations and unit registrations upstream;
4 weeks ago
Bryan Biedenkapp
b231a2f0fc
prevent peer replication traffic worker deadlocks; replace raw peer pointers 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;
4 weeks ago
Bryan Biedenkapp
9c66e6b8db
correct possible replication-based metadata worker deadlock;
4 weeks ago
Bryan Biedenkapp
32b8e625e5
add RF talkgroup steering and preemption coverage for P25 enhanced conventional grants;
4 weeks ago
Bryan Biedenkapp
3b1d249dd9
support standard unconfirmed P25 MBT packets; implement TELE_INT_DIAL_REQ encoding and decoding; add factory routing and unit tests;
4 weeks ago
Bryan Biedenkapp
55b7570701
implement Change-RSI KMM encoding/decoding; recover from authenticated invalid-MN rekey NAKs using Change-RSI; resume rekeying after successful message-number resynchronization; optionally issue keyset changeover after rekey completion;
4 weeks ago
Bryan Biedenkapp
042c6986d8
enhance PacketBuffer to support extended PacketBuffer delivery;
1 month ago
Bryan Biedenkapp
fb9db6ba1a
correct KMM tests after correction for maximum KMF RSI;
1 month ago
Bryan Biedenkapp
6c8becc8a6
correct some STP edge case failures; implement STP unit tests proper;
1 month ago
Bryan Biedenkapp
97208efc43
implement some PacketBuffer bounds and order fixes;
1 month ago
Bryan Biedenkapp
536997ac10
add Tier III UDT and registration authentication;
1 month ago
Bryan Biedenkapp
dbc30e97b4
correct DMR ACK_RSP dstId truncation;
1 month ago
Bryan Biedenkapp
33b9e25f55
recover Tier III grants for payload-channel re-key;
1 month ago
Bryan Biedenkapp
25dfc17d44
correct Tier III call teardown and slot allocation;
1 month ago
Bryan Biedenkapp
35a2716c07
add AACA Warm-Start Command encoding, CBC-MAC authentication, and temporary TEK handling; begin rekey immediately after a valid Warm-Start acknowledgment or after the response timeout; add upstream UKEK resolution through replica masters; rename LLA key request/response packets to generalized KEK exchanges; include algorithm metadata in KEK responses and network callbacks; improve KMM validation, MAC handling, and encrypted DLD/DLI processing; advertise idle inbound-channel status symbols on outbound P25 PDUs; add Warm Start configuration, test hooks, and expanded KMM/OTAR coverage;
1 month ago
Bryan Biedenkapp
5d32e6fe70
implement support to send the KMM changeover;
1 month ago
Bryan Biedenkapp
aba9c330ef
pace complete PDU transactions for air and hotspot modems; correct TIA-102 enhanced AES CBC-MAC generation; start outbound KMM message numbering at one; clear completed FNE response state before the next PDU; decode and log authenticated and invalid-MAC KMM NACKs; add KMM changeover command/response support;
1 month ago
Bryan Biedenkapp
cd4496b56c
correct OTAR response encryption and ACK ordering;
1 month ago