Commit Graph

422 Commits (c8eb52a57d6285171d5eb98969ac574e0e124e06)

Author SHA1 Message Date
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)
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)
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

Powered by TurnKey Linux.