Bryan Biedenkapp
a603808d66
add support to store subscriber emerg alarm and calls in the operation store;
8 hours ago
Bryan Biedenkapp
3577544578
extend subscriber operation tracking for inbound DMR/P25 and P25 KMM requests, and expose recent operation history over REST and metadata;
1 day ago
Bryan Biedenkapp
dd4d050cdb
time to piss everyone off, this commit changes logging to move things to a async queue when using file logging for performance; it also removes the .activity.log files, activity logging is still created however instead of being stored locally to conserve disk space on lower-end machines they are transmitted from peer to FNE and the FNE will either log them or store them to the metrics db;
2 days ago
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;
3 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;
3 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;
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;
4 days ago
Bryan Biedenkapp
bef33b1ca4
prevent telephone interconnect from flooding everywhere and properly peer routing like U2U calls;
4 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;
5 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;
5 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;
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;
7 days 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
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
6c8becc8a6
correct some STP edge case failures; implement STP unit tests proper;
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
Bryan Biedenkapp
1cb1281839
harden PDU delivery and batch OTAR rekey commands;
1 month ago
Bryan Biedenkapp
ce57f48302
corrected short/long modem frame serialization without mutating source lengths or overrunning buffers; removed double-counted PDU padding in common and V.24 assembly; added checked native-modem size enforcement before transmitting oversized PDUs; fixed exact-boundary padding calculations for P25 DataHeader; corrected unconfirmed Auxiliary ES handling, including the 13th-byte EXSAP field; removed incorrect test-side padding-length workarounds that caused tests to pass when they should not have; added exact-boundary and Auxiliary ES regression assertions;
1 month ago
Bryan Biedenkapp
10e681d87f
harden OTAR KMM handling and add bearer integration tests;
1 month ago
Bryan Biedenkapp
0bdac24d07
correct KMM NACK responses where necessary;
1 month ago
Bryan Biedenkapp
808aa8b70f
correct bad KMM authentication and replay protection; correctly negotiate proper response authentication; correct key-format semantics (there was a serious mismatch in P25Defines causing incorrect handling of values); harden KMM parsing and framing; fix PDU AES OFB processing; expand the P25 OTAR and crypto tests;
1 month ago
Bryan Biedenkapp
a2dea3c4c6
add PatchRegistry sanity tests;
2 months ago
Bryan Biedenkapp
fc23017cf2
P25 OTAR unit tests;
2 months ago
Bryan Biedenkapp
5e684228f5
add APIs for managing the separate RID alias data; add Catch2 tests;
3 months ago
Bryan Biedenkapp
d736e7b598
implement FNE REST API tests;
3 months ago
Bryan Biedenkapp
47fff42173
add support for FNE tests via dvmtests harness;
3 months ago