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
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
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
a14bb62b0b
correct P25 system service broadcast field packing, implement configurable WUID validity timing and properly encode blank Motorola BSI callsign characters;
4 days ago
Bryan Biedenkapp
bef33b1ca4
prevent telephone interconnect from flooding everywhere and properly peer routing like U2U calls;
4 days ago
Bryan Biedenkapp
d68848872a
correct some issues handling U2U call routing;
5 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
62e79752e2
when disallowUnitToUnit is enabled both inbound and outbound U2U is blocked;
5 days ago
Bryan Biedenkapp
d357736f24
add initial support to drop inbound network U2U calls at the host;
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
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
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
32b8e625e5
add RF talkgroup steering and preemption coverage for P25 enhanced conventional grants;
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;
1 month ago
Bryan Biedenkapp
4c30d3f4e7
comment out vtun qdisc args;
1 month ago
Bryan Biedenkapp
f68bc9fb67
allow disabling KMF UDP DLI by setting otarPort to 0;
1 month 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;
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
536997ac10
add Tier III UDT and registration authentication;
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
72b7ba4b58
EXPERIMENTAL: add support to bridge to duplicate traffic to analog when encoding digital audio;
1 month ago
Lorenzo L. Romero
1040ba35e8
Add FNE console patch status registry service ( #121 )
2 months ago
Bryan Biedenkapp
cb5429da93
add example .dat file for radio aliases;
3 months ago
Bryan Biedenkapp
193055330a
handle replicating radio aliases from FNE to FNE; implement RADIO_ALIAS_SYNC for fnecore consoles to be able to request the radio alias list from the core;
3 months ago
Bryan Biedenkapp
2b3276f3d0
add FNE support to transmit P25 Phase 2 traffic; ensure critical Phase 2 data (such as scrambler offset and MAC PDU Opcode) are sent in P25 Phase 2 frames;
3 months ago
Bryan Biedenkapp
dea6d400db
implement SQLite metrics DB table pruning; cleanup code;
3 months ago
Bryan Biedenkapp
94ad2de4f4
implement support to send logging and metrics to an SQLite DB; refactor how metrics and DB logging are handled;
3 months ago
Bryan Biedenkapp
82f0c0c375
implement support to encrypt any TEK data with a preshared key;
4 months ago
Bryan Biedenkapp
15886661bd
undocument forceAllowTG0 option, this option is undocumented now and is really only intended for debugging purposes;
4 months ago
Bryan Biedenkapp
e16685fc4a
add rudimentary experimental support for NXDN to dvmbridge; correct a few issues with trunked voice handling for NXDN, when a VC is a trunked participant the outgoing voice frames are RTCH vs RDCH;
4 months ago
Bryan Biedenkapp
5e3524dfef
updates to various PDU handling functionality;
5 months ago
Bryan Biedenkapp
1d09439d06
document logging disabled level;
5 months ago
Bryan Biedenkapp
27ed5fc15f
remove m_peers lock around peer update in erasePeer(); add hacky fuzzy matching logic to allow up to 3 bit errors for a CRC-CCITT162 (this better helps some P25 conditions where a TSBK may fault with a CRC-CCITT error, usually while enc enabled); implement support for selectively setting talkgroup encryption modes, selectable, strapped or clear (note due to how both DVMs implementation and how the protocols work there are some limitations, for example in DMR the FNE cannot reliably prevent calls from flowing to the network based on the selective talkgroup encryption modes, NXDN cannot reliably prevent a call grant because the encryption state isn't known at grant time, dvmhost provides no network-sourced traffic protection for clear or strapped as the assumption is the FNE will not allow a call to flow to begin with);
5 months ago
Bryan Biedenkapp
e550b46c4b
fix issue with SysView in WebSocket mode dieing and not starting network services;
5 months ago
Bryan Biedenkapp
da4669659a
now that we have proper UKEK and LLA FNE-side in the crypto container, implement proper per RID LLA support;
5 months ago
Bryan Biedenkapp
b83a2f2d9b
allow RID 0 KEY_REQ override optionally (this maintains older behavior where KEY_REQs are gated by PEER ID);
5 months ago
Bryan Biedenkapp
5d7de897f3
initial support for adding KID ACLs per RID, this change allows the RID 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;
6 months ago
Dev_Ranger
7326f42c2a
+ Add AI/LLM Notice in example configs & readme
6 months ago
Bryan Biedenkapp
ec91c0fcad
allow EKC container remote access to be disabled; add some extra documentation around dvmhost voice channels in the config stanza;
6 months ago
Bryan Biedenkapp
7d5db97449
add support for handling remote EKC management via new metadata traffic opcodes;
6 months ago
Bryan Biedenkapp
74473bb6ad
bump default nakFallOver count from 10 to 50 to decrease NAK fallover sensitivity;
6 months ago
Bryan Biedenkapp
739c8bbf85
allow configuration of the logging for RID ACL list, TGID ACL list, and FNE peer list;
6 months ago
Bryan Biedenkapp
06df86e713
add support for group affiliation timeout similar to unit registration 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;
6 months ago
Bryan Biedenkapp
436bbf634e
slight adjustments to cal and setup for dvmbbsdr support;
6 months ago
Bryan Biedenkapp
ed028fdb94
add experimental NAK fallover logic, this is intended for use in situations where excess NAKs from an upstream master can be used to trigger a shutdown of the FNE, intentionally, this requires external scripts or systemd/init system to then restart the process after it automatically shuts down, the intention here is to very heavy handedly force a full state reset of the FNE in a case where it is unable to reconnect properly through other means;
7 months ago
Bryan Biedenkapp
a703d4efbc
add option to disallow radio monitor at the FNE;
8 months ago
Bryan Biedenkapp
7d4ca986d2
use syslog by default, users who want file can disable this option;
8 months ago
Bryan Biedenkapp
8f0ba24059
you know how some parents need to best effort child proof electrical sockets to prevent shocks? yea lets at least *try* to child proof 700mhz;
8 months ago