Bryan Biedenkapp
|
c3f9b69454
|
catch and log certain situations where a buffer in a buffer vector may be released (this is likely due to a non-tread safe network flush); expose size of inclusion, exclusion and rewrite lists so we don't need to copy them to know the size;
|
2 years ago |
Bryan Biedenkapp
|
ba785f3d91
|
hide debug here (m_debug/m_verbose should be adhered to in classes as they *optionally* enable debug trace for modules, allowing the LogLevel to be set to 1 and not spam the log/console with unintended debug statements); alter bad handling of a compiler constant string for the Server/User-Agent strings;
|
2 years ago |
Bryan Biedenkapp
|
1e8a842a30
|
document functions in the Thread class; add a helper detach() method for future use;
|
2 years ago |
Bryan Biedenkapp
|
4acb60aeff
|
add more plumbing to the CFNE for future use;
|
2 years ago |
Bryan Biedenkapp
|
e7ce1d1f20
|
report errno errors from pthread_create;
|
2 years ago |
Bryan Biedenkapp
|
92a5bbd580
|
treat threadedNetworkRx and threadedACLUpdate with pthread_detach and ensure they will not retain resources waiting for a pthread_join that'll never happen;
|
2 years ago |
Bryan Biedenkapp
|
d38e8d00da
|
remove accidental debug code left in last commit;
|
2 years ago |
Bryan Biedenkapp
|
c4ca72581f
|
for performance reasons on very noisy/busy setups that may have *lots* of peers, use of an alternate port to service diagnostic and activity log transfers helps ensure the traffic port doesn't become overloaded with data;
|
2 years ago |
Bryan Biedenkapp
|
8ca4ed5a40
|
implement a few more CFNE NAK types to notify the peer of invalid conditions; take first steps towards FNE-side authoritative grants by implementing some logic plumbing;
|
2 years ago |
Bryan Biedenkapp
|
b7ebfa43e4
|
reorganize source code slightly, we shouldn't define logic in the CPP files for the talkgroup rules data classes, and instead we should define the logic in the header (since logic for these data classes shouldn't be anything complicated anyway);
|
2 years ago |
Patrick W3AXL
|
d8eff1f1f4
|
got tgid editing via REST mostly working (#49)
|
2 years ago |
Bryan Biedenkapp
|
5d6c99da43
|
add missing mutex unlocks for the lookup tables (I'm not sure how this hasn't caused a problem); reorganize the code in FNENetwork and make threadedNetworkRx private; add some counting logic to ensure the voice tag classes flush voice frames every 5 peers to ensure timely delivery of packets;
|
2 years ago |
Bryan Biedenkapp
|
e348b15d7f
|
for the purpose of performance handle incoming packets in their own threads (NOTE: this commit is *experimental* and may burn your house down and kick your dog, and it most certainly has a memory leak I'm working on somewhere);
|
2 years ago |
Bryan Biedenkapp
|
c6c1c72f79
|
institute a hard 250 peer cap on the CFNE for performance, stability and call quality reasons; implement support for the user to configure the connection limit on a CFNE; implement support to resolve a master NAK to a reason on the host;
|
2 years ago |
Bryan Biedenkapp
|
b28c685ee3
|
add missing documentation; properly annotate time value; add missing thread join wait;
|
2 years ago |
W3AXL
|
4632bfb4b9
|
updated copyrights
|
2 years ago |
W3AXL
|
18f5d69a36
|
implemented RID ACL file save
|
2 years ago |
Bryan Biedenkapp
|
b9c89aebf1
|
for sanity reasons -- huge RID lists make the log *VERY VERY* noisy, we'll silence this by not logging the toggle events;
|
2 years ago |
Bryan Biedenkapp
|
86985a5ecc
|
update peer ping time in RID ACL update; move core network process/read into its own thread;
|
2 years ago |
Bryan Biedenkapp
|
49343917d6
|
add copyright lines for Patrick;
|
2 years ago |
Bryan Biedenkapp
|
0ea6ee07ed
|
fix missed change of const char* to std::string (GCC 11+ didn't catch this but 4.9 did? Isn't that something?);
|
2 years ago |
Bryan Biedenkapp
|
eb57f1b5d8
|
implement functionality to block traffic to specific peers from specific external peers; use std::string over const char* wherever possible to limit pointer passing; implement support in FrameQueue and RawFrameQueue to bypass the queue and directly send messages to specified peers (useful in some situations for packets to be immediately dispatched vs queuing and batching); chunk RID list transmissions to aid in increasing performance (this will likely also need to be done with the TGID lists in the future as well); refactor transmitting ACL lists to peers into its own spun off thread so we don't block the main network processing loop (and infact, this requires documentation; since at a certain peer size DVM network partitioning should be considered to reduce the number of concurrent peers serviced by any given FNE and to better load balance connections across a network, instead of relying on a singular central FNE); implement /peer/count REST API to simply return the known connected count of peers; disable the forced ACL list update functionality (for now);
|
2 years ago |
Patrick W3AXL
|
a279b33876
|
Add RID alias to RID ACL (#48)
* initial RID alias support
* don't use toggle for an RID update from the REST API
|
2 years ago |
Bryan Biedenkapp
|
987e944d4b
|
add flag to denote traffic flow for external peers (that is a peer connection the CFNE makes to another CFNE);
|
2 years ago |
Bryan Biedenkapp
|
7dc850669a
|
reorganize messages for ADJ_STS_BCAST;
|
2 years ago |
Bryan Biedenkapp
|
0ce9a374ee
|
change source file to match configuration file change;
|
2 years ago |
Bryan Biedenkapp
|
af516f33fd
|
report local and remote peer ID information for peer connection log messages;
|
2 years ago |
Bryan Biedenkapp
|
98dacab03c
|
refactor RPTL handling slightly to better handle a RPTL condition while the peer state is in connection state 4 (RUNNING); refactor RPTL slightly to better handle non-valid connection states for RPTL (i.e. non-INVALID/CONNECTED, or RUNNING); reword logging messages for clarity; increase default configuration max pings from 5 to 10, this has the effect of making the time out for a peer 50s in total length before the connection is considered stale (for future reference the formula for the timeout is: PingTime * MaxPings = TimeoutInSeconds);
|
2 years ago |
Bryan Biedenkapp
|
083517326e
|
fix nullptr reference for a non-existent peer affiliation list (can happen if the peer hasn't completed login); slightly reorganize RPTL (this stil has some bizarre problem);
|
2 years ago |
Bryan Biedenkapp
|
e523798e3c
|
log offending PEER IDs for illegal TSDUs, because .. we want to know who these people are...;
|
2 years ago |
Bryan Biedenkapp
|
34ae323166
|
implement option to disable the CFNE from sending P25 ADJ_STS_BCAST to external peers (that is CFNE's the CFNE receiving the ADJ_STS_BCAST is connected to via peers list in the configuration file); add logging around the RPTL NAK condition; don't validate the connection state when performing a connection cleanup for an RPTL NAK; attempt to erase a peer ID from the peer table if during an RPTL the connection is null (this should never happen); correct a bunch if TG validation issues; correct condition where the FNE would try to pass traffic with *both* srcId and dstId 0 (this should never happen on any protocol really, and if there is some scenario that requires it, contact me on Discord please); add more processing for TSDUs to perform TGID checks and other validations;
|
2 years ago |
Bryan Biedenkapp
|
0e20d4fec0
|
add separate config option for reporting peer pings to the log; add extra logging around an RPTL NAK condition;
|
2 years ago |
Bryan Biedenkapp
|
64e3e91e2e
|
fix missed message;
|
2 years ago |
Bryan Biedenkapp
|
25d81b93a4
|
make sure the ping response message is displayed when verbose is set to true;
|
2 years ago |
Bryan Biedenkapp
|
6219929cd5
|
preliminary support for management APIs RID (Query/Add/Delete/Commit), TGID (Query/Add/Delete/Commit) [note: commit doesn't work pending modification to RadioIdLookup and TalkgroupRulesLookup to implement commit/saving to disk];
|
2 years ago |
Bryan Biedenkapp
|
49f1b02ccf
|
add preliminary support for CFNE to have the "affiliated" flag to pass traffic;
|
2 years ago |
Bryan Biedenkapp
|
345495076b
|
fix issue with the FNE not properly rewriting TGIDs for configured peers (the original implementation was slighly naive in assumptions, the new implementation techincally allows rewrites to *any* peer *from* any peer not just ISSI peers); perform some minor cleanup of the REST classes; revert change in ClientConnection and ServerConnection initializing the m_buffer class variable (hopefully this may fix some strange issues being seen);
|
2 years ago |
Bryan Biedenkapp
|
bafad81722
|
fix idiotic issue where armhf for RPI-ARM failed because the 4.9 compiler is garbage;
|
2 years ago |
Bryan Biedenkapp
|
80d38ccf3a
|
refactor and reorganize network socket handling classes to be more consistent;
|
2 years ago |
Bryan Biedenkapp
|
6fb3ede4ef
|
whoops inadvertant bad logic;
|
2 years ago |
Bryan Biedenkapp
|
91a995af43
|
correct issue where writeMaster wasn't being properly treated as an immediate (we cannot queue peer master packets like we can master peer packets); fix issue with peer title for affiliation lists;
|
2 years ago |
Bryan Biedenkapp
|
7d1c233875
|
I'm a moron;
|
2 years ago |
Bryan Biedenkapp
|
a4ec7fbfa8
|
add a check for RTP payload type $57 (which we deprecated) so that its essentially ignored, so people on older versions can abuse the newer software; ensure we don't try to transmit terminators for calls that didn't exist on the first place;
|
2 years ago |
Bryan Biedenkapp
|
e75caf0337
|
correct some edge case issues with nullptrs at inappropriate times; check for error condition trying to transmit encrypted network frames with no key;
|
2 years ago |
Bryan Biedenkapp
|
9e27875bb8
|
ensure network is a valid instantiation before trying to run;
|
2 years ago |
Bryan Biedenkapp
|
5b5efcbe9d
|
add support for network announcement of unit registration, deregistration and group affiliation so the FNE can collate the data more accurately; implement REST API on dvmfne to support retreiving the list of known affiliations; correct a bug in enumeration of RID and TGID lists that could cause weirdness; remote unnecessary "control" RTP payload type and just use a singluar payload type;
|
2 years ago |
Bryan Biedenkapp
|
3e5fe8b349
|
update submodules;
|
2 years ago |
Bryan Biedenkapp
|
5a5104ba2f
|
treewide: perform general refactor of file headers, I've modified the file headers to follow rules from: https://www.kernel.org/doc/html/next/process/license-rules.html, this trims/compresses the file header section a bit reducing the number of lines at the top of every file quite a bit, going forward all new files should follow this new format (if its good enough for the Linux kernel, its good enough for me);
|
2 years ago |
Bryan Biedenkapp
|
0687b1da80
|
include TCP headers;
|
2 years ago |
Bryan Biedenkapp
|
bad8129d7d
|
file header updates;
|
2 years ago |
Bryan Biedenkapp
|
d9e2458722
|
implement support for low-level TCP sockets; deprecate and remove new_unique macro and use appropriate std::make_unique; apply various clang linting;
|
2 years ago |
Bryan Biedenkapp
|
68bfae72bb
|
remove unused variable;
|
2 years ago |
Bryan Biedenkapp
|
8ff7067eca
|
mplement experimental support to AES-256 encrypt the network connection; cleanup some instances where buffers were not being cleaned up properly; cleanup some of the AESCrypto implementation; remove references to some little used compiler macros;
|
2 years ago |
Bryan Biedenkapp
|
9b55c67ac9
|
fix issue where the converged FNE would continue to update an unauth'ed PEERs ping time resulting in it never timing out properly;
|
2 years ago |
Bryan Biedenkapp
|
eba4db6104
|
refactor RTP code slightly to better handle tracking the RTP timestamp properly;
|
2 years ago |
Bryan Biedenkapp
|
5ed3d79a0b
|
fix inversion of MINOR_VERSION; fix missing HOST_SW_API markers;
|
2 years ago |
Bryan Biedenkapp
|
1447d9dbe0
|
fix bad C++14 handling of overrides (forgot the override keyword);
|
2 years ago |
Bryan Biedenkapp
|
f0be2e0079
|
fix incorrect variable set in P25 SiteData; add VIM YouCompleteMe project configuration;
|
2 years ago |
Bryan Biedenkapp
|
051dc0eb7f
|
allow overriding of group voice channel data in IOSP_GRP_VCH; make sure to instantiate values to sane defaults;
|
2 years ago |
Bryan Biedenkapp
|
6d5e35d361
|
fix issue with net active and roamer reaccess bits in OSP_RFSS_STS_BCAST; add helper function to AffiliationLookup to allow for reverse resolving of grants from source to destination; migrate FNEPeerConnection from a non-pointer reference to a pointer (this allows better tracking of values without copying the connection structure);
|
2 years ago |
Bryan Biedenkapp
|
1c28bed062
|
fixup log messages; allow special CRC bypass conditions; add roamer reaccess flag to OSP_RFSS_STS_BCAST;
|
2 years ago |
Bryan Biedenkapp
|
7513bccf52
|
refactor PROPERTY_PLAIN and READONLY_PROPERTY_PLAIN;
|
2 years ago |
Bryan Biedenkapp
|
c94ddc3421
|
remove unused macros; use __SET_UINT16B for some BaseNetwork values;
|
2 years ago |
Bryan Biedenkapp
|
9611af1374
|
reorganize utility macros from Defines.h to Utils.h; cleanup unneeded includes in some places; cleanup files;
|
2 years ago |
Bryan Biedenkapp
|
f7ecb54b86
|
during shutdown ensure the log network pointer is cleared (prevents a shutdown/exit SEGFAULT);
|
2 years ago |
Bryan Biedenkapp
|
98cf9513ba
|
correct badness when dealing with ISSI peers;
|
2 years ago |
Bryan Biedenkapp
|
d0e4e08b31
|
allow some BaseNetwork functions to be overridden by inheriting classes; allow extension payload header length to be modified by the user;
|
2 years ago |
Bryan Biedenkapp
|
926c9f0c77
|
better comment these buffer value helpers;
|
2 years ago |
Bryan Biedenkapp
|
6c3735befe
|
make hex2Bin and bin2Hex util functions;
|
2 years ago |
Bryan Biedenkapp
|
9fb2201139
|
code cleanup; some minor modifications for out-of-band software;
|
2 years ago |
Bryan Biedenkapp
|
140b4ecd3c
|
further cleanup/rework of CMake scripts;
|
2 years ago |
Bryan Biedenkapp
|
1e4bdbd1fa
|
typo;
|
2 years ago |
Bryan Biedenkapp
|
7b95ddff95
|
refactor and rework the CMake build system slightly (so it behaves better when compiled out-of-tree, shhh);
|
2 years ago |
Bryan Biedenkapp
|
bde6284308
|
ensure FNE software reports itself differently; make host Network class private section protected so the FNE codebase can inherit from it; create PeerNetwork inherited class on FNE;
|
2 years ago |
Bryan Biedenkapp
|
cf0d8bb430
|
port RTP header changes from fnecore for better handling the RTP timestamp; relabel conference FNE to converged FNE; refactor version slightly so that the running DVM host version is properly reported to the FNE and when saved to modem configuration area;
|
2 years ago |
Bryan Biedenkapp
|
abbe6cd41c
|
properly queue FNE peer messages (these are distinct from peers connected *to* the FNE, FNE peer messages are messages sent to FNE masters that are "ISSI"ed); better handle logging activity logging;
|
2 years ago |
Bryan Biedenkapp
|
c60b69b54e
|
add conference FNE REST API to report the currently configured TGID list;
|
2 years ago |
Bryan Biedenkapp
|
9bd06b916a
|
use better terminology for FNE peer TGID rewriting;
|
2 years ago |
Bryan Biedenkapp
|
2226e1e6f7
|
implement confernece FNE API to force list updates on demand; better organize FNE dvmcmd commands;
|
2 years ago |
Bryan Biedenkapp
|
bf72dcbee8
|
add support to picojson for uint64_t; correct issue with conference bridge FNE never incrementing a connections ping counter; implement /status and /peerlist APIs for conference bridge REST API; implement support for /peerlist in dvmcmd;
|
2 years ago |
Bryan Biedenkapp
|
6b18089d75
|
implement REST API stub for conference bridge FNE;
|
2 years ago |
Bryan Biedenkapp
|
21a4a97ec3
|
ensure if the network changes the destination ID for P25 and NXDN in-flight the LC data is properly replaced; implement talkgroup mutation by peer on conference bridge FNE;
|
2 years ago |
Bryan Biedenkapp
|
1766121686
|
fix issue with dvmmon not properly initializing;
|
2 years ago |
Bryan Biedenkapp
|
0e705f74a6
|
report whether or not the host is transmitting CW;
|
2 years ago |
Bryan Biedenkapp
|
71438abb87
|
consider peer IDs for systems the conference bridge is peered to for inclusion/exclusion lists;
|
2 years ago |
Bryan Biedenkapp
|
bd3a947964
|
enhancement for better dealing with voice in unsupported modes;
|
2 years ago |
Bryan Biedenkapp
|
d8dec70665
|
fix missing foreground option on dvmfne; add extra CC halt cases; correct bad check for enable control for conventional grant demand; fix incorrect creation og control byte for grant demand; add clear log message that a grant demand is being generated;
|
2 years ago |
Bryan Biedenkapp
|
19465cb6b3
|
add DVMV1 firmware compile options; update dvmfirmware submodule;
|
2 years ago |
Bryan Biedenkapp
|
d2968d63f4
|
add logic check for VOC to ensure network grants are always allowed;
|
2 years ago |
Bryan Biedenkapp
|
506c59c52b
|
fix range for softpots in TUI to be 0 thru 255;
|
2 years ago |
Bryan Biedenkapp
|
73e32df310
|
ensure DMR doesn't try to perform supervisory control for the opposing slot on a CC instance; correct TSBK ToString();
|
2 years ago |
Bryan Biedenkapp
|
479c472694
|
add firmware as submodules to host; add support to compile firmware using CMake, adds make targets "dvmfw" and "dvmfw-clean" to compile and/or clean after compile;
|
2 years ago |
Bryan Biedenkapp
|
6a2e9f8876
|
whoops used wrong boolean for DMR TSCC dedicated check;
|
2 years ago |
Bryan Biedenkapp
|
71f28d13a7
|
split DMR writers into separate threads, one for slot 1 and one for slot 2 so they can write independantly; fix issue with cuts in Tx due to the DMR Tx timer not being properly canceled for TSCC enabled hosts;
|
2 years ago |
Bryan Biedenkapp
|
2d809e0a61
|
complete the job Faulty started and remove remnants of deprecated ENABLE_DMR, ENABLE_P25 and ENABLE_NXDN compiler options;
|
2 years ago |
Bryan Biedenkapp
|
ddfb6aaedc
|
properly handle swapping between Rx and Tx antennas for BER operations on hotspots (this requires updated firmware);
|
2 years ago |
Jim
|
105b0d1e7d
|
Removes support for selectively enabling or disabling protocols via CMake arguments. (#45)
Co-authored-by: faulty <faulty@evilcomputing.net>
|
2 years ago |
Bryan Biedenkapp
|
5748420055
|
apply proper clamping to DMR network ID;
|
2 years ago |
Bryan Biedenkapp
|
a4ffa1d164
|
fix issue with local asio::asio not being properly used when compiling libcommon;
|
2 years ago |
Bryan Biedenkapp
|
97af96a6ad
|
be verbose in cmake output when enabling various debugs; correct issue with startup messages;
|
2 years ago |
Bryan Biedenkapp
|
0f770462b7
|
update headers to properly reflect which module/package the file belongs;
|
2 years ago |
Bryan Biedenkapp
|
2150b69137
|
move AMBT packets into their own directory; create common static library CMakeLists;
|
2 years ago |
Bryan Biedenkapp
|
1379482fcc
|
reorganize entire codebase structure; move common classes, files into a compile time static library; reorganize CMake files to make use of common static library to reduce compile time;
|
2 years ago |
Bryan Biedenkapp
|
083bfd9bdb
|
implement support to send network grant demand TDU for conventional stations; bump copyright date to 2024;
|
2 years ago |
Bryan Biedenkapp
|
b343ca7efa
|
don't attempt to send ADJ_STS_BCAST if the modem is busy;
|
2 years ago |
Bryan Biedenkapp
|
999159c3af
|
start ADJ_STS_BCAST announce timer regardless of whether the CC is running or not;
|
2 years ago |
Bryan Biedenkapp
|
d1b2b19c08
|
refactor how we clock ADJ_STS_BCAST; correct wrongly used site data for ADJ_STS_BCAST;
|
2 years ago |
Bryan Biedenkapp
|
01dfa15173
|
correct some issues with NXDN channel identification and some incorrect restriction calculations;
|
2 years ago |
Bryan Biedenkapp
|
234279fe80
|
fix incorrect LC reference;
|
2 years ago |
Bryan Biedenkapp
|
fe3d0b7e35
|
add command line argument to override enable modem debug (faster then continually modifying the YAML config file);
|
2 years ago |
Bryan Biedenkapp
|
243ad6ce0c
|
increase NXDN voice call verbosity; correct incorrectly calculated data offset for NXDN voice data;
|
2 years ago |
Bryan Biedenkapp
|
7c674daeaf
|
fix buffer overflow for certain unsupported configurations (the log message was irritating me so I fixed this);
|
2 years ago |
Bryan Biedenkapp
|
1bda15cd85
|
add some extra compilable debug logging information;
|
2 years ago |
Bryan Biedenkapp
|
12edb913b4
|
correct issue with AMBEFEC not properly calculating FEC for NXDN; correct buffer offset issue for P25 and NXDN;
|
2 years ago |
Bryan Biedenkapp
|
d40960bba5
|
cleanup and refactor how TSBK, TDULC, CSBK buffers are handled (optimization to buffer sizes); fix use of magic numbers in NXDN RCCH handlers;
|
2 years ago |
Bryan Biedenkapp
|
58780d9e3d
|
cover more potential exception states withn the REST service;
|
2 years ago |
Bryan Biedenkapp
|
1d498fc48f
|
transmit P_CLEAR at the end of a TSCC call;
|
2 years ago |
Bryan Biedenkapp
|
8c083a7bee
|
don't issue a P_GRANT immediately after TSCC payload activation, instead wait 250ms and then issue P_GRANT, then if traffic has not started issue P_GRANT every 500ms until either traffic starts or the payload activation is cleared;
|
2 years ago |
Bryan Biedenkapp
|
99e56b338a
|
properly catch CSBK_MAINT;
|
2 years ago |
Bryan Biedenkapp
|
23ff7a50d4
|
ensure late entry bursts are flagged as such;
|
2 years ago |
Bryan Biedenkapp
|
262eb1c76c
|
store srcId from DMR payload channel activation; implement running timer to retry payload activation until either traffic starts or the payload activation is cleared;
|
2 years ago |
Bryan Biedenkapp
|
9da279ac88
|
reduce number of P_GRANTs; ensure late entry is properly transmitting;
|
2 years ago |
Bryan Biedenkapp
|
d76bb77966
|
file cleanup;
|
2 years ago |
Bryan Biedenkapp
|
b3c803e918
|
implement fix for CSBK verbosity not being set; during CC stream hide CSBK/TSBK/RCCH verbosity; implement CSBKO_MAINT CSBK; correct missing behavior to perform DMR payload activation; add CRC handling for MBC;
|
2 years ago |
Justin Richards
|
a64dfa38fd
|
Adding CORS headers to the REST api (#42)
* Adding CORS headers to default replies
* adding CORS headers and set payload OK for options method
|
2 years ago |
Bryan Biedenkapp
|
a4d6857922
|
even tho the timestamp field is not used by DVM, lets ensure we roll the timestamp so the difference calculation never results in a rollover;
|
2 years ago |
Bryan Biedenkapp
|
8bbcea2c6d
|
force redundant grant transmit in certain situations;
|
2 years ago |
Bryan Biedenkapp
|
4aaf9e5494
|
readd an extremely undocumented feature, that no one ever should use, for a close friend who asked nicely;
|
2 years ago |
Bryan Biedenkapp
|
41e4d7fccf
|
refactor CC/VC notification log messages;
|
2 years ago |
Bryan Biedenkapp
|
685ea4df14
|
implement partial fix for trunked UU calls (calls can be made now, but operation is still glitchy);
|
2 years ago |
Bryan Biedenkapp
|
26981f1345
|
deprecate and remove Voice On Control support (this commit marks end of support for VOC operation); make buffer overflow errors more apparent in the log; increase verbosity of CC notification logging messages;
|
2 years ago |
Bryan Biedenkapp
|
b76334dbb4
|
ugh -- I missed the broadcast timer too, oops;
|
2 years ago |
Bryan Biedenkapp
|
d107bdd679
|
ensure CW doesn't go out of the channel is an NXDN control channel;
|
2 years ago |
Bryan Biedenkapp
|
e045f0d0f0
|
bump Debian package version in CMakeLists;
|
2 years ago |
Bryan Biedenkapp
|
addf751999
|
remove threading for protocol readers (this didn't make sense, as the data for Rx is queued by the Modem class, so reading can't really happen till after a modem clock anyway);
|
2 years ago |
Bryan Biedenkapp
|
362898a6e0
|
correct typo;
|
2 years ago |
Bryan Biedenkapp
|
07084269aa
|
add support to textually name threads;
|
2 years ago |
Bryan Biedenkapp
|
4e758bba91
|
Merge branch 'master' into dev_355
|
2 years ago |
Bryan Biedenkapp
|
388e23c67c
|
fix issue where the gain mode wasn't being appropriately selected;
|
2 years ago |
Bryan Biedenkapp
|
c67314e49d
|
rename getData to get in RingBuffer; ensure the RingBuffer contains a data to the given length before attempting to return that data;
|
2 years ago |
Bryan Biedenkapp
|
2e65458008
|
refactor Host.cpp into more partial clas files for better code organization;
|
2 years ago |
Bryan Biedenkapp
|
c035a7ba60
|
Merge branch 'master' into dev_355
|
2 years ago |
Bryan Biedenkapp
|
278ce22e5f
|
potential fix for crash issue during low/bad signal on DMR;
|
2 years ago |
Bryan Biedenkapp
|
a5a220bf9d
|
clarify text documentation for Trellis class;
|
2 years ago |
Bryan Biedenkapp
|
8fdaa60d32
|
clarify text documentation for Trellis class;
|
2 years ago |
Bryan Biedenkapp
|
5a1f672dfe
|
ensure threads die immediately if the g_killed flag is set when the threads are started; block clocking operations when performing CW;
|
2 years ago |
Bryan Biedenkapp
|
7a90f953fd
|
add proper mutex locking to prevent thread clobbering during clocking (i.e. attempts to make modem and protocol clocking thread safe); split frame read nad write operations into their own threads;
|
2 years ago |
Bryan Biedenkapp
|
629c2fe75e
|
initial commit for dvmhost 3.55 dev branch; add support for std::function<> based lambdas as threads; split DMR, P25 and NXDN frame processing into their own source files for the host (Host.DMR.cpp, Host.P25.cpp, Host.NXDN.cpp) these files will contain host-level processing code for the specific protocols; implement protocol frame processors as their own running threads;
|
2 years ago |
Bryan Biedenkapp
|
82a5b775a9
|
code cleanup;
|
2 years ago |
Bryan Biedenkapp
|
e7d1e86e90
|
code cleanup;
|
2 years ago |
Bryan Biedenkapp
|
13d398480d
|
OCD file cleanup;
|
2 years ago |
Bryan Biedenkapp
|
d9c4f0d79d
|
fix inverted byte order for LLA auth packets; add logging for when a SU fails LLA authentication;
|
2 years ago |
Bryan Biedenkapp
|
4d234ccfe7
|
okay at least my APX6000 fails authentication now;
|
2 years ago |
Bryan Biedenkapp
|
936402275f
|
very very preliminary work for U_REG LLA support;
|
2 years ago |
Bryan Biedenkapp
|
5ea4ccc98e
|
just some OCD file formatting cleanup;
|
2 years ago |
Bryan Biedenkapp
|
1eb24608a0
|
add tiny AES library (for future LLA use);
|
2 years ago |
Bryan Biedenkapp
|
0ebd3f7c79
|
fix bad TSBK layout (this looks like a poor copy and paste job);
|
2 years ago |
Bryan Biedenkapp
|
4a764f67df
|
[EXPERIMENTAL] add support to configure voice channel iden table IDs;
|
2 years ago |
Bryan Biedenkapp
|
102d6a5674
|
don't bother with last destination ID checking during grant processing if in dedicated CC mode [this may turn out to be a dirty hack];
|
2 years ago |
Bryan Biedenkapp
|
19190ce69d
|
implement missing rfLossWatchdog on DMR and NXDN (this fixes edge case issues where end of call single frame loss could cause a call to not terminate properly);
|
2 years ago |
Bryan Biedenkapp
|
06f25ca7de
|
combine DMR and P25 Trellis implementations into a single EDAC implementation for conciseness;
|
2 years ago |
Bryan Biedenkapp
|
015b9e2f0a
|
add support to test TG grant status when determining sloppy-voting overlap; ensure RF states are returned to RS_RF_LISTENING upon failure (don't assume state);
|
2 years ago |
Bryan Biedenkapp
|
21555a1119
|
add support for marking whether or not a talkgroup was granted on a channel by RF or network;
|
2 years ago |
Bryan Biedenkapp
|
df2a2b3f14
|
slightly reorganize where buffers and states are reset at the beginning of late entry calls;
|
2 years ago |
Bryan Biedenkapp
|
f2de61a92f
|
better handle packet sequence out-of-sync checking (additional current - 1 check);
|
2 years ago |
Bryan Biedenkapp
|
28552617e4
|
handle edge case where network traffic is in progress with a running net TG hang timer but no set dest id;
|
2 years ago |
Bryan Biedenkapp
|
050d5e3a5c
|
fix issue with internal net TG hang not appropriately holding a TG;
|
2 years ago |
Bryan Biedenkapp
|
b05c631081
|
ensure fileLevel 0 never writes to log files; potential fix for netLastDstId;
|
2 years ago |
Bryan Biedenkapp
|
da7ae2f550
|
upstream: fix Trellis bit order;
|
2 years ago |
Bryan Biedenkapp
|
3b3bc884a4
|
implement parrot grant demand support for FNE conference bridge; correct issue with grant demands appearing as U2U instead of GROUP;
|
2 years ago |
Bryan Biedenkapp
|
31fae83b3d
|
always process network grant responses regardless of dedicated control state if control processing is enabled;
|
2 years ago |
Bryan Biedenkapp
|
9a871eba41
|
fix wrong variable used to populate MI data for encryption for network packets;
|
2 years ago |
Bryan Biedenkapp
|
5c371c97cb
|
add support to grant demand to support denying a grant and supporting unit to unit; better support LOC_REG_RSP being sent over the network;
|
2 years ago |
Bryan Biedenkapp
|
a09338f57d
|
refactor quick-and-dirty table entry check to a more proper unordered_map find; implement new REST API to return the current affiliations; correct instance where a affiliation response would be sent across the network for denied/rejected affiliations (this would result in the FNE2 for example erroneously adding affiliation entries to its internal tables);
|
2 years ago |
Bryan Biedenkapp
|
abb57affe2
|
refactor how GROUP VCH UPDATEs are sent; ensure notifyEnable is set to true by default;
|
2 years ago |
Jim
|
4ae6a946f4
|
Fixed incorrect channel spacing sanity check (#39)
* Fixed incorrect channel spacing sanity check
* Updated comments
---------
Co-authored-by: faulty <faulty@evilcomputing.net>
|
2 years ago |
Bryan Biedenkapp
|
37fe46df12
|
make redundant immediate an option (for experimentation purposes);
|
3 years ago |
Bryan Biedenkapp
|
5fa4da4caf
|
correct display of redundant grant transmit startup message;
|
3 years ago |
Bryan Biedenkapp
|
d0715f4b92
|
ensure immediate P25 packets are queued at least twice;
|
3 years ago |
Bryan Biedenkapp
|
27acf348d2
|
better deliniate sections of ControlSignaling classes;
|
3 years ago |
Bryan Biedenkapp
|
09dd03f946
|
rename and reorganize some code to better be consistent across the project;
|
3 years ago |
Bryan Biedenkapp
|
e4cc23a3a3
|
better handle same TGID RF preemption during grants when network call grants are disabled;
|
3 years ago |
Bryan Biedenkapp
|
ebd973b226
|
invert flag check;
|
3 years ago |
Bryan Biedenkapp
|
5f7b62ece2
|
some minor code reorganization for clarity; implement new disableNetworkGrant feature for non-trunk mode P25 operations, this disables network calls from making channel grants that would exclusively lock the channel for the duration of that call (when SUs are utilizing a mode that makes them obey grants), this is useful for systems where RF-only TG steering is required;
|
3 years ago |
Bryan Biedenkapp
|
31f6b072fb
|
correct some problems reported for --cal not writing the modem tuning partition; correct some issues with Rx tuning not properly applying during calibration procedures;
|
3 years ago |
Bryan Biedenkapp
|
4559a9c273
|
fix long standing oopsie, this assertion check should have been changed a long time ago;
|
3 years ago |
Bryan Biedenkapp
|
69bb8ec5ea
|
fill out LDU2 DFSI data;
|
3 years ago |
Bryan Biedenkapp
|
3e25951d9d
|
neuter the DFSI implementation (we only use parts of the TIA-102.BAHA spec here, the real DFSI work will happen elsewhere);
|
3 years ago |
Bryan Biedenkapp
|
7cb639027d
|
add support to transmit LC_FAILSOFT during conventional fallback (an option, no one uses yet...);
|
3 years ago |
Bryan Biedenkapp
|
0c40b2b254
|
fix override of packet sequence when it shouldn't; fix handling TDU from a specific source;
|
3 years ago |
Bryan Biedenkapp
|
54a2afc0bc
|
silence TSCC disabled error when attempting to fetch the TSCC slot instance;
|
3 years ago |
Bryan Biedenkapp
|
9a03d084c9
|
fix issue where TGID ACL may never be enabled; check ACLs before issuing a grant from a grant demand;
|
3 years ago |
Bryan Biedenkapp
|
962744ab50
|
alter out-of-sequence warnings to be less noisy;
|
3 years ago |
Bryan Biedenkapp
|
ed9ee36507
|
i thought i removed this check, damn it Git; ensure we immediately return after a grant demand;
|
3 years ago |
Bryan Biedenkapp
|
8447bee31a
|
oh goody fix assinine logic check I invente that breaks the universe for everyone;
|
3 years ago |
Bryan Biedenkapp
|
dfdaa98434
|
only allow grant demands if we're also control enabled;
|
3 years ago |
Bryan Biedenkapp
|
ab1c84243e
|
add support for the control byte on P25 TDUs, this implements a required remote grant demand request allowing remote network applications to get a channel grant before sending traffic;
|
3 years ago |
Bryan Biedenkapp
|
4f6fcd421b
|
refactor network data buffer sizes;
|
3 years ago |
Bryan Biedenkapp
|
edb2529f68
|
allow the frame loss threshold to be configurable (this could help in fringe signal fading situations to prevent premature call termination in some situations);
|
3 years ago |
Bryan Biedenkapp
|
84b13d668a
|
move netId and sysId 0 check;
|
3 years ago |
Bryan Biedenkapp
|
a3234a8583
|
reorganize code slightly;
|
3 years ago |
Bryan Biedenkapp
|
a0f5a8302d
|
reorganize code slightly;
|
3 years ago |
Bryan Biedenkapp
|
c62d79e2be
|
implement support for explicit source ID;
|
3 years ago |
Bryan Biedenkapp
|
24ad09c5ee
|
whoops forgot to include defines;
|
3 years ago |
Bryan Biedenkapp
|
3cce6e0b68
|
implement support for TIA-102.AABF-D LC_EXPLICIT_SOURCE_ID;
|
3 years ago |
Bryan Biedenkapp
|
2a3c827cab
|
properly complete grantTG REST API implementation;
|
3 years ago |
Bryan Biedenkapp
|
ca3810fa12
|
report destination ID being rejected when for non-authoratative mode;
|
3 years ago |
Bryan Biedenkapp
|
952606b304
|
revert commit fbf8ec3 (I mistakenly added this with a group of other commits);
|
3 years ago |
Bryan Biedenkapp
|
fbf8ec32c1
|
add support to send raw CSBK or TSBKs from the network;
|
3 years ago |
Bryan Biedenkapp
|
ee36fc5927
|
fix missed constant name change;
|
3 years ago |
Bryan Biedenkapp
|
f6167360d6
|
fix missed constant name change;
|
3 years ago |
Bryan Biedenkapp
|
f42b9f597c
|
whoops forgot header file in last commit;
|
3 years ago |
Bryan Biedenkapp
|
88f67ec7f5
|
cleanup more direct frame queue calls;
|
3 years ago |
Bryan Biedenkapp
|
9dd2fc2ce6
|
replace direct calls for FrameQueue enqueue and flush;
|
3 years ago |
Bryan Biedenkapp
|
d0be614c27
|
split announcement group config into its own config var;
|
3 years ago |
Bryan Biedenkapp
|
7014d3823e
|
complete conference bridge FNE peer communication;
|
3 years ago |
Bryan Biedenkapp
|
27f73c1089
|
cleanup RTP protocal and remove vestigial text tags in most cases;
|
3 years ago |
Bryan Biedenkapp
|
054a9a5da8
|
refactor conference bridge FNE slightly; remove mostly unused functions;
|
3 years ago |
Bryan Biedenkapp
|
f2de006954
|
ensure stream IDs are maintained from source peer to destination peer;
|
3 years ago |
Bryan Biedenkapp
|
e94964ea2f
|
refactor TG hang to only apply to authoritative voice channels; correct handling of non-authoritative permitted destination IDs for NXDN and DMR; move non-authoratative handling into main processNetwork() for P25;
|
3 years ago |
Bryan Biedenkapp
|
bed079f68e
|
implement a fixed internal TG hangtimer for network traffic, this will put a hold on the last received TG for 2 seconds; refactor how P25 handles simultaneous calls from the network and how RF preemption of in-progress network calls when RF wants to transmit on a different TG works;
|
3 years ago |
Bryan Biedenkapp
|
1128d28d97
|
actually AMBT PDUs don't transit the network, so we'll ignore network PDUs for control only mode;
|
3 years ago |
Bryan Biedenkapp
|
c1639729a6
|
correct typo;
|
3 years ago |
Bryan Biedenkapp
|
7a86b4f5b8
|
allow PDUs to be processed for dedicated CCs; enhance W3AXLs code Data.cpp code to check the dedicatedControl flag too;
|
3 years ago |
Patrick W3AXL
|
74838f990a
|
initial re-commit based on latest master (#35)
|
3 years ago |
Bryan Biedenkapp
|
a2865f7052
|
be verbose on VC's about when we send the grant release REST call;
|
3 years ago |
Bryan Biedenkapp
|
6330a4c2a9
|
fix some log messages; ensure VOC is forcibly disabled if control support is disabled;
|
3 years ago |
Bryan Biedenkapp
|
ff66d6bbe2
|
ensure DataHeader's are always passed by reference;
|
3 years ago |
Bryan Biedenkapp
|
9a71eb344f
|
refactor how confirmed data blocks are handled; better handle determining src and dst LLIds during PDU processing; better handle data offset and PDU data length calculations; handle properly acknowledging confirmed packets with A/N flag set;
|
3 years ago |
Bryan Biedenkapp
|
9b43411376
|
when decoding a PDU data block ensure class variables are set to reasonable defaults (since the actual DataBlock class tends to be reused); ensure DataHeader is passed to DataBlock decode() and setFormat() by reference; implement supporton DataHeader to retreive the raw byte contents of a decoded PDU header; ensure the PDU Rx process resets the second header data, irregardless of use; if we are using a PDU second header, ensure its data contents are added to pduUserData as the second header contents are CRC-32'ed along side all the data blocks (infact only the initial header is excluded from CRC-32 all other blocks following initial header *must* be CRC-32'ed with the data blocks); refactor PDU last block detection; ensure writeRF_PDU_Buffered and writeNet_PDU_Buffered regenerate the full packet CRC-32;
|
3 years ago |
Bryan Biedenkapp
|
20882d5100
|
whoops actually fix the PDU confirmed last block problem;
|
3 years ago |
Bryan Biedenkapp
|
798ca22315
|
fix incorrect use of secondary header;
|
3 years ago |
Bryan Biedenkapp
|
8c26de644f
|
reset pdu data length at the end of handling a PDU sequence;
|
3 years ago |
Bryan Biedenkapp
|
4daac87c1a
|
refactor P25 PDU network handling code; better handle PDU confirmed extended addressing;
|
3 years ago |
Bryan Biedenkapp
|
41f590fb0f
|
better handle SIGHUP (reset g_killed to false at the top of the HostMain signal loop);
|
3 years ago |
Bryan Biedenkapp
|
99c908e475
|
fix buffer copy lengths for FNENetwork;
|
3 years ago |
Bryan Biedenkapp
|
31e6769ddc
|
don't network repeat AMBT PDUs; ensure AMBTs aren't processed if control processing is disabled;
|
3 years ago |
Bryan Biedenkapp
|
b4bbca3ca5
|
introduce RF loss watchdog to prevent a situation where a frame loss could cause a deadlock; fix message output for TDULC;
|
3 years ago |
Bryan Biedenkapp
|
c97c3f9412
|
prevent possible deadlock scenario from a failed login sequence, allow RPTL to reset to login sequence if the peer hasn't reached a running state;
|
3 years ago |
Bryan Biedenkapp
|
b1718f3e0a
|
fix payload calculation for activity log; correct order of operations for testing if the RF hangtimer is running;
|
3 years ago |
Bryan Biedenkapp
|
8cd92914ba
|
reword some warning messages to be more verbose; reorder when embedded FNE will transmit parrot frames;
|
3 years ago |
Bryan Biedenkapp
|
91a79cfc24
|
fix issue with using a reference vs copy for the talkgroup rules YAML filename;
|
3 years ago |
Bryan Biedenkapp
|
95e0ed9260
|
be more verbose in logging when the REST service network layer returns errors;
|
3 years ago |
Bryan Biedenkapp
|
ca7eb1a407
|
remove TCP_NODELAY socket option, refactor when SO_LINGER is set on the socket options; correct some file formatting;
|
3 years ago |
Bryan Biedenkapp
|
8c15cb5b50
|
don't attempt a socket tear down, the shutdown of the ioService should clean these up;
|
3 years ago |
Bryan Biedenkapp
|
220ad671ac
|
remove extraneous messages from reconnect loop; m_ioService must be the *LAST* object in the ASIO chain to be destroyed, otherwise weirdness will happen;
|
3 years ago |
Bryan Biedenkapp
|
963a9ab421
|
fix warning message when failing to update status;
|
3 years ago |
Bryan Biedenkapp
|
6573386cd7
|
perform status update 4 times before switching a node into a failed state;
|
3 years ago |
Bryan Biedenkapp
|
a020dd84d0
|
ensure socket processing loop for HTTPClient won't try to process when the the request is considered "completed"; properly set SO_LINGER and TCP_NODELAY;
|
3 years ago |
Bryan Biedenkapp
|
ee74cad81b
|
report network peer ID in status API call; display network peer ID on dvmmon;
|
3 years ago |