Bryan Biedenkapp
fb0e51f36a
make Win32 compiles work again; correct incorrect behavior handling try_lock_for;
1 year ago
Bryan Biedenkapp
7d6d4f4134
for peer FNE connections we should never disable network services on ACL NAK (this would result in a condition where the peer FNE would need to be restarted in order to reconnect, which isn't convenient);
1 year ago
Bryan Biedenkapp
6e589d9665
add peer connect and disconnect callbacks (for future use);
1 year ago
Bryan Biedenkapp
8dd504adea
add support to enable/disable CC message stream debug when a protocol debug is enabled; correct some bad handling of the MESSAGE_TYPE_REG NXDN command;
1 year ago
Bryan Biedenkapp
63c85f3781
implement proper blocking operations for RPC; don't allow a RPC instance to call itself (i.e. you can't listen on port 127.0.0.1:9890 and then use req() to send an RPC to the listening instance); fix issue with RPC_PERMIT_XXX_TG not being a blocking operation; fix issue with RPC_DMR_TSCC_PAYLOAD_ACT not being a blocking operation;
1 year ago
Bryan Biedenkapp
b86a5ce939
add some mutex locking around modification of the channel lookup table;
1 year ago
Bryan Biedenkapp
3da4eb2d40
REST -> RPC Migration ( #84 )
...
* migrate away from REST API for inter-dvmhost operations towards a custom UDP RPC framework;
* replace config parameters for REST API in some places with properly named RPC; swap peer Network, FNE DiagNetwork and FNENetwork over from if-else-if ladders to switch statements (switch statements perform logically better after compilation because the compiler tends to optimize these into jump-tables which execute faster);
* continued work on inter-dvmhost REST to RPC transition;
* update build bumper for R04G20 to R04G21;
* cleanup config file;
* clean up doc/commenting;
1 year ago
Bryan Biedenkapp
d7b887a32d
implement enhancement/alterations to allow back-to-back configuration of dvmhost in TIA-102 DFSI mode (with FSC enabled); correct minor nullref handling in FSCACK; add writeImmediate() to ModemV24 to support TIA-102's need to immediately ack a Start of Stream block;
1 year ago
Bryan Biedenkapp
ff3733ffef
starting offset for ARC4 is 0;
1 year ago
Bryan Biedenkapp
e533ac495f
fix potential nullptr problem with Log when used from multiple threads during shutdown; reduce the intercycle delay to 2ms from 5ms for all main FNE threads;
1 year ago
Bryan Biedenkapp
2258e3a065
correct issue with passing a key request to the upstream master; comment on self-delete operations, stop() for lookup tables;
1 year ago
Bryan Biedenkapp
a2fa303217
reorganize code, move Network class from host into common as its being used more as a generic peer network class; add some warning messaging to the FNE when a peer link or external peer (i.e. intra-FNE connection) drops;
1 year ago
Bryan Biedenkapp
5a96f10906
add peer ID editor; implement support in the peer lookup and FNE to validate whether or not a peer can perform a encryption key request;
1 year ago
Bryan Biedenkapp
2d3aeb5307
reorganize code make things cleaner -- move P25 crypto into its own common class for reuse purposes;
1 year ago
Bryan Biedenkapp
727ff3ed7b
add preliminary encryption support to dvmbridge (P25-only supports AES256 and ARC4); correct and hide some debug trace for FNE KMM messaging; implement support to generate a ARC4 keystream;
1 year ago
Bryan Biedenkapp
33d6c919d7
runAsThread should not automatically cleanup the passed thread_t, this should be done by the caller;
1 year ago
Bryan Biedenkapp
db5a2310a4
send a return ACK on reception of a Start of Stream;
1 year ago
Bryan Biedenkapp
3798c52b54
reorganize SIP handler code slighty;
1 year ago
Bryan Biedenkapp
cf2dee95d2
code cleanup; add SIP lexer and data handlers;
1 year ago
Bryan Biedenkapp
9806ece4f5
add KMM opcodes for dereg, reg, NACK, no service, and zeroize;
1 year ago
Bryan Biedenkapp
79f00524ba
add support to KMM factory for inventory lists;
1 year ago
Bryan Biedenkapp
7dc90b577f
fix KMM copy issue; implement list key IDs and keysets inventory reponses;
1 year ago
Bryan Biedenkapp
c4eefac2c7
typo;
1 year ago
Bryan Biedenkapp
df648a2c50
add more KMM frames; implement support in the network core for key request and response (this allows peers to request a encryption key from a EKC file loaded on the FNE to use for encryption/decryption, i.e. peer keyloading);
1 year ago
Bryan Biedenkapp
27162d197d
add key request and response opcodes (not implemented yet);
1 year ago
Bryan Biedenkapp
0ee2b5c756
bump version to 4.20G (from 4.11G) [THIS MARKS INCLUSION OF IN-CALL CONTROL IN MASTER]; ensure always peers can violate the rules as usual; add permitted RIDs assignment to JSON handling for REST APIs;
1 year ago
Bryan Biedenkapp
6812029491
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
ded260216a
implement the beginnings of KMM frame handling (for future use);
1 year ago
Bryan Biedenkapp
b1f10a87ab
add some helper routines to the peer list lookup;
1 year ago
Bryan Biedenkapp
cb335cffed
add some exception checking around some cases where vector types are used;
1 year ago
Bryan Biedenkapp
8823fc09b6
correct erroneous log messages; fix remote UDP mode handler (this was mishandling frames in some situations); update hotspot and modem submodules;
1 year ago
Bryan Biedenkapp
ef1a0df496
refactor FNE RTP packet handling, this change better handles a peer end-point transmitting multiple varied RTP streams; refactor promiscuous handling of RTP streams on the host network API; refactor handling non-promiscuous handling of RTP streams on the host network API; bump project version from 4.11F to 4.11G to reflect these larger changes; correct bad use of magic numbers when dealing with signal values;
1 year ago
Bryan Biedenkapp
f051434e7b
adjust lookup table logging slightly;
1 year ago
Bryan Biedenkapp
64bcb56228
enhance debug logging to incorporate both file and line numbers (when provided by the compiler) and optionally implement LogDebugEx macro to also incorporate the caller identifying the function name; correct LogDebug uses in some cases that should have been LogMessage;
1 year ago
Bryan Biedenkapp
c68b99dc61
silence frame queue read errors after 5 consecutive errors (this is to prevent log spam);
1 year ago
Bryan Biedenkapp
086730320d
code cleanup;
1 year ago
Bryan Biedenkapp
cbce2fbdf0
update copyright dates;
1 year ago
Bryan Biedenkapp
151275ce6f
implement initial DMR remote grant demand logic (this is mostly untested);
1 year ago
Bryan Biedenkapp
3177d38897
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
02581f2c3f
file cleanups;
1 year ago
Bryan Biedenkapp
da5cb6eb7d
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
8c48c9bcbe
fix huge glaring bug where the dvmhost was trying to transmit TDULCs across the network as TSBKs; implement proper support to transit TDULC data across the network;
1 year ago
Bryan Biedenkapp
e88a3a0b2a
add support to decode LC_CALL_TERM when DVM is used in some reverse repeater situations;
1 year ago
Bryan Biedenkapp
1e6282c92b
ensure the group flag is set if the LCO is PRIVATE;
1 year ago
Bryan Biedenkapp
3f75869a92
add some mutex locking to the timestamp map updates to prevent concurrency bugs;
1 year ago
Bryan Biedenkapp
f3c86d2a8e
support configuring SSL TCP sockets for non-blocking operations;
2 years ago
Bryan Biedenkapp
3b395a99cf
fix issue with potentional concurrency crash when updating lookup tables in PEER_LINK;
2 years ago
Bryan Biedenkapp
a82f848de4
correct bad handling for signal and compact fields of the TIA-102 control octet; enhance how the length of a TIA-102 full rate voice frame is determined; better handle initialization of the additional data fields for a TIA-102 full rate voice frame; correct bug using LDU2 frame 10 vs LDU2 frame 18 for LSD data on a full rate voice frame; implement a naive approach to performing superframe counting; correct bug causing the first full rate voice frames to never be transmitted for LDU1 or LDU2; remove assertion check for control port;
2 years ago
Bryan Biedenkapp
2e0ffab13d
correct un-updated debug handles in LC; correct TIA mode HDU handling;
2 years ago
Bryan Biedenkapp
406943d75f
add FSCSelChannel message decoding (not that we need it);
2 years ago
Bryan Biedenkapp
164d2b6c87
whoops actually instantiate FSCMessage for FSC_SEL_CHAN;
2 years ago
Bryan Biedenkapp
6d5e158808
just ack the FSC_SEL_CHAN command when requested; fix data offset for TIA-102 DFSI data;
2 years ago
Bryan Biedenkapp
418ffeea24
fix null reference;
2 years ago
Bryan Biedenkapp
0e5d075c62
expose configuring the FSC heartbeat interval; expose enabling TIA mode DFSI frames; correct FullRateVoice memory copy for additional data;
2 years ago
Bryan Biedenkapp
2d450f64b0
[EXPERIMENTAL] initial TIA-102 DFSI packet support (not enabled yet);
2 years ago
Bryan Biedenkapp
ddda823b55
whoops forgot to add files for previous commit;
2 years ago
Bryan Biedenkapp
ca7149e9f4
add FSC_REPORT_SEL_MODES;
2 years ago
Bryan Biedenkapp
da3a2a1869
fix long standing dvmhost shutdown bug (object cleanup wasn't occuring due to bad state change handling); refactor FSC packet data classes; remove FSCResponse and FSCConnectResponse (these were ill conceived due to bad interpretation of TIA-102 specifications); correct FSCACK not properly decoding response user data after packet data; refactor the way the FSC message factory createMessage() function created instances of FSC packets; refactor how opening and closing the FSC port is handled; better implement the FSC state machine; correct bad response to an FSC_CONNECT (due to incorrect understanding of TIA-102 specifications);
2 years ago
Bryan Biedenkapp
19d8f2237f
refactor FSC (it was entirely just broken);
2 years ago
Bryan Biedenkapp
80542e246a
use *DESTINATION ID* not *SOURCE ID* for outgoing U_DEREG_ACK frames;
2 years ago
W3AXL
0481a1fc68
FNE Peer ACL Rest Improvements ( #80 )
...
* initial support for peer ACL aliases, reworked peer ACL REST endpoints
* oops, fixed peer list saving
---------
Co-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>
2 years ago
Bryan Biedenkapp
f3fa7053b8
minor cleanups; ensure pad length is handled properly by PDU code;
2 years ago
Bryan Biedenkapp
1b4ea4d8c7
refactor status bit handling slightly;
2 years ago
ilyacodes
dc5e156a6a
Update documentation for Golay (23,12,7) FEC ( #75 )
2 years ago
Bryan Biedenkapp
2979110421
add some mutex locking for affiliation lookups;
2 years ago
Bryan Biedenkapp
77291533c6
Merge branch 'master' into incall_ctrl
2 years ago
Bryan Biedenkapp
8a0412524a
fix issue with DataBlock destructor trying to free a unallocated array; fix issue with dispatchUserFrameToFNE allowing local FNE network packets to cross external peer boundary; allow peers to connect if the peer list ACL is enabled, but the peer list itself is empty;
2 years ago
Bryan Biedenkapp
8f74260d5d
Merge branch 'master' into incall_ctrl
2 years ago
Bryan Biedenkapp
05fa1c2114
increase SSL timeout delay from 2 to 5 seconds;
2 years ago
Bryan Biedenkapp
eedd067489
correct order of initialization, and ensure m_stop is set to false by default;
2 years ago
Bryan Biedenkapp
ebfbed1ef5
Merge branch 'master' into incall_ctrl
2 years ago
Bryan Biedenkapp
f810351847
use non-blocking IO for the SecureTcpClient accept routine;
2 years ago
Bryan Biedenkapp
619cb548df
add support for per TGID RID permission lists; add call router support to check for source RID permission to TGID;
2 years ago
Bryan Biedenkapp
59f85c5976
implement in-call control mechanism (this allows the FNE to command a host to stop transmitting if a ACL check fails);
2 years ago
Bryan Biedenkapp
f40e6c6af0
Merge Peer Link Enhancement Changes ( #73 )
...
* add support for Peer-Link CFNEs to pass activity and peer status messages to the prime/master CFNE; add support for Peer-Link CFNEs to transmit their currently active peer list to the prime/master CFNE; add support on the master/prime CFNE to support reporting Peer-Link peer IDs in the /peer/query REST API request; add support to pass affiliation updates from Peer-Link CFNEs to the prime/master CFNE (Note: this passing does not preserve the original peer ID the affiliation came from, from the prime/master perspective, currently, the affiliation will appear as if it came from the Peer-Link CFNE); correct a bug with buffer overflow for Peer-Link configuration transfers;
* hide debug messages;
* remove debug print;
2 years ago
Bryan Biedenkapp
8c00c7b81c
add missing peer link parameter when saving peer list;
2 years ago
Bryan Biedenkapp
2e2e8bf957
fix all instances of (uint32_t) for calcTxOffset;
2 years ago
Bryan Biedenkapp
3ed87d4f89
slim down the embedded zlib library;
2 years ago
Bryan Biedenkapp
5f601247b7
add zlib 1.3.1 dep (included in common); implement Peer-Link feature, this allows a master CFNE, when configured by peer list, to transmit complete talkgroup, RID and peer list data to subordinate CFNEs;
2 years ago
Bryan Biedenkapp
ff6658cae7
how did no one find this, like how was this missed? add missing affiliated flag being sent from FNE to host;
2 years ago
Bryan Biedenkapp
ab32e8c8be
implement getDefault for json::value, this helps correct a flaw in picojson that causes get to fail with an assertion;
2 years ago
Bryan Biedenkapp
4f5369a582
because I just made this error, lets make sure debug builds are clearly labeled [and as such we'll label them in a cheeky way ;)];
2 years ago
Bryan Biedenkapp
fe66aff8ab
correct long lingering frequency rounding error when calculating freq in MHz;
2 years ago
Bryan Biedenkapp
8f6319d15e
refactor SysView and more tightly integrate with the DVM stack; add CC voice channel reporting in the peer status message; add support on the FNE to report activity log and peer status to SysView instances;
2 years ago
Bryan Biedenkapp
cd56011f87
refix issue with REST client (I shrunk a buffer for testing and didn't re-enbigen it); enhance some sysview displays slightly;
2 years ago
Bryan Biedenkapp
fe6f7508c0
add code dump of private sysview FNE monitoring utility to public GPL; correct issue with large REST responses getting truncated;
2 years ago
Bryan Biedenkapp
ce008197fd
bug fixes for tged;
2 years ago
Bryan Biedenkapp
538763c203
allow length written to be returned;
2 years ago
Bryan Biedenkapp
582629c395
add rule name alias for future use;
2 years ago
Bryan Biedenkapp
4786923b1e
fix sleep deprived typos;
2 years ago
Bryan Biedenkapp
f68532ed33
[EXPERIMENTAL] add possible support to convertToAir V.24 PDU frames;
2 years ago
W3AXL
8c836ec336
whoops, put this in the right place
2 years ago
W3AXL
babfdeb4f3
fixed U: log messages causing journalctl spam
2 years ago
Bryan Biedenkapp
d106fbb062
add some extra length documentation for RTP packets; make network ringbuffer initialized value a constant; continue logic implementation for P25 data; correct buffer issue on P25 data;
2 years ago
Bryan Biedenkapp
a880d2734e
implement call collision timeouts; fix GRP_VCH_GRANT_UPD allow it to carry 2 channels per spec;
2 years ago
Bryan Biedenkapp
8ba2528533
bump overall version number with release of dvmbridge C++ alpha and Win32 support;
2 years ago
Bryan Biedenkapp
65fa91b7cb
[THIS MAY BREAK THINGS, BE AWARE] Merge Win32 support and C++ dvmbridge into master. ( #67 )
...
* experimental support for WIN32 compilation (tested only with VS2022);
* fix up incorrect return;
* make debug compile verbose; ensure ws2_32.lib is included;
* initial commit of vocoder library to main source tree; initial commit of C++ port of bridge (non-functional);
* calculate the length of the preamble tone and properly write it;
* implement MDC callback to detect MDC unit ID; implement UDP audio reception; implement local audio reception;
* very alpha working verison;
* correct buffer size;
* correct issue with enabled Tx mode not properly being set on the network; correct issue with DMR not setting the appropriate frame length after packing AMBE bits; correct false call starts by faking the txStreamId (this isn't correct but works for now); fix issue with P25 non-GROUP LCOs causing audio breaks; correct bad logic for call lockup thread;
* cleanup and properly align log messages;
* implement missing Rx/Tx manual gain control; fix missing srcId overrides;
* eliminate the __ALLOC_VLA macro (this really only works on VS2022, GCC explodes in a fit of horror);
* fix missing comment;
* fix bad CFLAGS; correct missing dl library when linking dvmbridge on linux; fix various typos and bad variable types in bridge;
* fix some bad memset calls not taking array size into account; fix some missing parens;
* implement missing cal options;
* don't start the timer till the first LDU1 for cal mode;
* I'm just full of bad mistakes today;
* ignore logging excessive sync frame errors;
* update modem submodule;
* Add DVM-V24 Firmware Submodule And Enable Building It (#66 )
* Added v24 firmware as a submodule
* Added v24 firmware compilation
* V24 doesn't have make clean, so remove it from cmake
* Added V24 firmware to tarballs
* Fix my 1D107 error...
---------
Co-authored-by: faulty <faulty@evilcomputing.net>
* correct compilation flags for Win32; add support to dump sample levels on bridge (this is useful for tuning the vox level); add various fixes for local audio flag; add various fixes for not starting loops until completely running; ensure audio input/output device settings are output to the log; fix issue with Rx and Tx gain controls not being applied appropriately;
* fix compilation issues for RPI_ARM; ensure math constants are defined; remove unused command line arguments;
---------
Co-authored-by: Jim <25770089+faultywarrior@users.noreply.github.com>
Co-authored-by: faulty <faulty@evilcomputing.net>
2 years ago
Bryan Biedenkapp
6542443ca7
add support to transmit dynamic regroup IR extended commands;
2 years ago
W3AXL
f0d7ecb021
removed individual RID lookup prints
2 years ago
firealarmss
e031b2bb8f
Add support for GRP UNAFFIL opcode. ( #65 )
...
* Add support for GRP UNAFFIL opcode
* Fix line spacing
2 years ago