Bryan Biedenkapp
b555b2a4f0
add synthetic U2U call tests;
4 days ago
Bryan Biedenkapp
ab348543cf
do not start RF TG hangtimer for U2U calls;
5 days ago
Bryan Biedenkapp
7bbb6ade1b
do not check unit registration for U2U calls if unitToUnitAvail check is disabled;
5 days ago
Bryan Biedenkapp
df800c2998
add guard check to prevent null dereference;
5 days ago
Bryan Biedenkapp
b08629a896
support Linux versions of the AMBE library as well;
5 days ago
Bryan Biedenkapp
38604c34f2
correct runtime issue grabbing talkgroups that could cause a crash;
5 days ago
Bryan Biedenkapp
fc59f50680
file cleanup;
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;
5 days ago
Dev_Ranger
c68149421f
= Fix NXDN receive ordering in FNE
...
- Dispatch local NXDN packets through a dedicated single-worker queue
- Prevent voice frames overtaking their preceding call header
- Preserve existing dispatch for other protocols
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
7fa3c16fe1
better handle logging grant failures on the host for network traffic 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;
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
cfc036ca38
add support for C++ peers to trigger a radio alias sync request;
2 weeks ago
Bryan Biedenkapp
9e25bb8fbf
remove DMR disable network grant demand options (it made no sense);
4 weeks ago
Bryan Biedenkapp
56c35c21e1
refactor P25 RF grant steering when in enhanced conventional; add option to hide remote grant demand messaging;
4 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
7367a5f734
for the AI generation, lets ensure we have a proper AGENTS.md to dictate what the code style, formatting and helper uses should be;
4 weeks ago
Bryan Biedenkapp
b68fadb533
correct file formatting and style;
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
4c30d3f4e7
comment out vtun qdisc args;
4 weeks ago
Bryan Biedenkapp
f68bc9fb67
allow disabling KMF UDP DLI by setting otarPort to 0;
4 weeks ago
Bryan Biedenkapp
04d12f154e
reorganize and cleanup FNE configuration (this was overdue sorry everyone 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;
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
b7ec27d93b
correct issue where P25 OTAR KMF RSI is fixed to 16777212 and not configurable;
1 month ago
Bryan Biedenkapp
fd0426814d
correct crash condition that can be caused by retrieving KMF keys;
1 month ago
Bryan Biedenkapp
d07deb8280
correct formatting;
1 month ago
Bryan Biedenkapp
a1315ee82e
remove the STP from health it has no good use;
1 month ago
Bryan Biedenkapp
6e0f7c7c05
unify strings;
1 month ago
Bryan Biedenkapp
30e7099971
implement GET /health FNE API that can be used to fetch a snapshot of the current FNE health;
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
b533ea178b
file cleanup;
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