Bryan Biedenkapp
afa47f4b58
fix bonehead mistake not cleaning up arrays before reallocating them;
2 years ago
Bryan Biedenkapp
a7f9cb93be
fix issue handling $F7E NAC; implement $F7F NAC support;
2 years ago
Bryan Biedenkapp
ae3a03b521
fix LC_GROUP_UPDT using duplicated data;
2 years ago
Bryan Biedenkapp
9b828fe7a4
ensure the lookup table thread is named; don't display the not transmitting CC messages unless the test timer is not paused; add aggressive watchdog logging for when timers exceed 1s intervals; split adj. site and affiliation updating into a separate thread (huge adj. site updates could be the cause of main loop processing delays); ensure threads are properly shutdown; increase P25 adj site update timer from 30 seconds to 60 seconds (5 minutes of no updates will now FAIL an adj. site);
2 years ago
Bryan Biedenkapp
36099367c8
fix condition where the Log and ActivityLog would overflow the character buffer by no properly calculating the length of the va_args string (this should resolve buffer overflow terminations on GCC 13+);
2 years ago
Bryan Biedenkapp
0ad47a1989
be a little less obtuse about the NAK reason in the FNE log;
2 years ago
Bryan Biedenkapp
cbb0af42ba
fix some minor DVRS/conventional weirdness;
2 years ago
Bryan Biedenkapp
a7e727a7ec
ensure we don't end up with badness;
2 years ago
Bryan Biedenkapp
01af69a954
make sure the data length for P25 is twice the PDU length; add support to log if a dedicated CC stops transmitting from the host perspective (the logic for this is: is host in appropriate digital mode for CC, is the modem reporting no Tx, has the modem reported its status initially, and is the CC in a running state);
2 years ago
Bryan Biedenkapp
a1a0065a74
when logging what the peer reports as identity use 8 character padding;
2 years ago
Bryan Biedenkapp
1cdd2aa56d
normalize log formatting better;
2 years ago
Bryan Biedenkapp
9cfde0e57e
report peer identity string in influx data; make sure non-alternate port reporting properly reports peer identity;
2 years ago
Bryan Biedenkapp
e57541c135
it would help if this was a string...;
2 years ago
Bryan Biedenkapp
b1e0058986
whoops handle boolean with yes/no output response instead of 0/1;
2 years ago
Bryan Biedenkapp
bcd2cf21e7
add support to report the textual identity in the logs for a peer along with its peer ID in most cases;
2 years ago
Bryan Biedenkapp
75dbc9e025
refactor parrot frame storage; add support to allow parrot responses to go only to the peer for which the parrot call originated;
2 years ago
Bryan Biedenkapp
e4aca9fc4f
don't register a CC with itself; be more clear in the config YAML that the controlChannel block should be left at defaults for dedicated control channels;
2 years ago
Bryan Biedenkapp
c249ee5803
fix offset issue for network generated TSDUs;
2 years ago
Bryan Biedenkapp
5650db1657
for LDU LC's pass thru any non-standard MFIDs without any further processing as-is;
2 years ago
Bryan Biedenkapp
c7b0fc3a9d
add support to encode a GRP_AFF_RSP as an AMBT (this is just the data serialization part and not the actual business logic in the host);
2 years ago
W3AXL
d980da74be
small fix to make preferred sites work via REST
2 years ago
Bryan Biedenkapp
41044d2271
fix a potential situation where we may get a length stuck on the queue (this shouldn't happen but, this is protection logic to ensure it never happens);
2 years ago
Bryan Biedenkapp
24082b9652
P25 data ( #52 )
...
NOTE: this does not indicate full P25 data support as working yet; this commit refactors a lot of the baseline PDU handling code, and better handles both confirmed and unconfirmed PDU data blocks, there is still some more work to do, I just didn't want p25_data to start getting overly out of sync with master.
* rework modem protocol to support variable length frames up to 64k; refactor P25 PDU handling to support TIA-102 minimum 512 byte frames;
* fix PDU length its 512 bytes not 500; ignore instead of report invalid modem frames; add double length checking to HostSetup;
* add support to send P25 long frames to the modem;
* adjust FIFO size to 522 (fits a single PDU frame); remove extra debug displays; match fixed FIFO sizes between modem and host;
* correct weird inverted CRC-9 that sometimes happen;
* ensure netPDU is reset at the beginning of a network data call; fix lengh used by data block dumping;
* fix some buffer lengths;
2 years ago
Bryan Biedenkapp
cf2469a2aa
revert previous change to ControlSignaling that pulled wrong commit from p25_data branch;
2 years ago
Bryan Biedenkapp
137dfbe918
use site data sysId for U_REG_RSP for a successful AUTH_RESP;
2 years ago
Bryan Biedenkapp
be7230d68d
used incorrect variables to set the WACN and system ID for the auth demand OSP (thanks max);
2 years ago
Bryan Biedenkapp
7e3e006fd1
fix comment typo;
2 years ago
Bryan Biedenkapp
e0b6da51fb
make the network presence announcment (VC -> CC and CC -> FNE) timing configurable (this value is in seconds); refactor RF channel enumeration, RF channels are now enumerated in their own class ChannelLookup instead of being integrated into AffiliationLookup, this allows the flexibility to update and change channel information at runtime; add support for VC -> CC presence/registration to tell the CC what the REST information is for that VC, this makes the restAddress and restPort entries for the voiceChNo list in the config.yml optional, the only mandatory fields are channelId, channelNo and restPassword;
2 years ago
Bryan Biedenkapp
f5a5d83f4b
fix potential issue with full group affiliation update;
2 years ago
Bryan Biedenkapp
0f7eabff82
implement support for peers that identify themselves as "conventional" to ignore affiliated talkgroup rules and be able to receive all traffic if the FNE is configured to allow promiscuous operation; implement extremely preliminary support to allow a CC to claim a VC peer, allowing for appropriate grouping of peers for trunked sites;
2 years ago
Bryan Biedenkapp
6d738432e2
fix missing break for AUTH_RESP case;
2 years ago
Bryan Biedenkapp
f8aa80a63f
continued work on P25 PDU handling (this has a long way to go...);
2 years ago
Bryan Biedenkapp
c99efa1f14
fix issue with bad offsets for AUTH_RESP data (this happened back in Decemeber when the payload array layout was altered);
2 years ago
Bryan Biedenkapp
424c7fa35a
fix missed nullptr checks for if networking is disabled;
2 years ago
Bryan Biedenkapp
7cc2b99000
pass VSELP1/2 frames (this is experimental, in my tests doesn't break anything else, but it could), this will also pass VSELP1/2 frames to the network core but the host doesn't currently carry code to retransmit network VSELP frames over the air [yet];
2 years ago
Bryan Biedenkapp
574ede103e
update hotspot and modem fw submodules;
2 years ago
Bryan Biedenkapp
17fae1d461
fix issue where the timeout timer wasn't running for the network which would never cause the connection to reset after a number of error attempts trying to login to the master;
2 years ago
Bryan Biedenkapp
d5ef9a0cb5
little bit of P25 data work (nothing amazing here yet);
2 years ago
Bryan Biedenkapp
9055e3aaa8
update copyrights;
2 years ago
Bryan Biedenkapp
4d776f6314
add support for DMR T3 adjacent site broadcast;
2 years ago
Bryan Biedenkapp
3d752bc363
add preferred peer ID lists to the REST API;
2 years ago
Bryan Biedenkapp
096efcef1a
ignore affiliation checks for ISSI-type peers, they are excluded from affiliation rule checking;
2 years ago
Bryan Biedenkapp
94da264f55
better handle checking if a peer affiliation table has become invalid (null); better handle cleanup and creation of peer affiliation tables;
2 years ago
Bryan Biedenkapp
690bac453d
remove clearBeforeWrite function argument for a lot of control singalling (and some data) cases, this was an old method of clearing the Tx packet queue before creating a frame to ensure it went out really fast, but shouldn't be done anymore, so I'm removing this so no one gets any bright ideas;
2 years ago
Bryan Biedenkapp
b19c1d5f6a
add support for processing CSBK on the FNE; add support to optionally log TSBK and CSBK network events to InfluxDB;
2 years ago
Bryan Biedenkapp
f603949879
make common strings #defines instead of copy and pasted static text;
2 years ago
Bryan Biedenkapp
1341690653
add call error (failed validation) events to InfluxDB logging;
2 years ago
Bryan Biedenkapp
96a9ba1c03
implement trunking site preference support for TGIDs, this implements a feature by which TGIDs can be gated to allow affiliation to preferred sites, all other non-preferred sites will DENY affiliation causing the radio to attempt to roam to another site (this is a trunking only feature and does not change conventional operation);
2 years ago
Bryan Biedenkapp
7d1af0235b
implement support for reporting activity, diagnostic and call events to an InfluxDB instance;
2 years ago
Bryan Biedenkapp
a8adeeaad7
implement missing parrot delay timer; fix bad implementation where parrot frames were only played if network packets were received (this logic changed when threaded network Rx was implemented);
2 years ago
Bryan Biedenkapp
1ef806fef1
handle edge-case scenario of RTP packet sequence overrun;
2 years ago
Bryan Biedenkapp
856fa98357
make the REST response wait time variable; use a quick response time of 150ms when using REST API during real-time OTA packet processing; add extra logging messages for UDP;
2 years ago
Bryan Biedenkapp
1632019650
port and implement /dmr/rid and /p25/rid REST APIs on the CFNE;
2 years ago
W3AXL
9675f42db5
added ability to save RID/TGID lookups from the FNE to local files
2 years ago
W3AXL
b75389cd47
simple fix for RID list updates, verified on list sizes of 49, 50, 51, 99, 100, and 101
2 years ago
W3AXL
01bd534c8f
fixed RID alias updates not working via REST
2 years ago
Bryan Biedenkapp
5571a71e4e
replace manual lock/unlock with lock_guard to ensure a lock is held in a scope, and released when a scope is closed;
2 years ago
Bryan Biedenkapp
b7c6282767
fix for possible race condition (that shouldn't have happened in the first place), if writeMaster is being used in queueOnly = false, do an immediate network socket write without attempting to enqueue a message;
2 years ago
Bryan Biedenkapp
86d736b0bb
revert change from 0ea6ee0 that changed the RingBuffer const char* to std::string to correct issue where the RingBuffer name is being copied incorrectly; change method for copying name std::string passed to AffiliationLookup; remove accidentally committed debug code;
2 years ago
Bryan Biedenkapp
f000639c7f
ensure m_forceHotspot is initialized to a sane default;
2 years ago
Bryan Biedenkapp
e2514c1f8f
mild include reorg;
2 years ago
Bryan Biedenkapp
31ca17449d
*BEWARE* this commit alters the RPI_ARM cross-compiler and may break things *BEWARE*; implement support for HTTPS SSL REST API configuration; add contrib binary overlay for the RPI_ARM compiler (to add libssl-dev dependences);
2 years ago
Bryan Biedenkapp
cda6b5965f
add support for optional TCP SSL/TLS sockets;
2 years ago
Bryan Biedenkapp
b4f9b2d201
fix some issues with the "unsupported no no mode" that people continue to abuse; correct issue with calculating list offsets when announcing RID lists to the host;
2 years ago
Bryan Biedenkapp
17d69cb950
add support to disable *ALL* passing of P25 ADJ_STS_BCAST from a CFNE instance; properly implement processing of TSDU messages from any peer; implement login flag from CFNEs to identify themselves as external when they are peering;
2 years ago
Bryan Biedenkapp
ecdce85e8a
clean up file;
2 years ago
Bryan Biedenkapp
9dadc06130
I was asked for ASCII art, and I deliver, thus, ASCII art;
2 years ago
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
Bryan Biedenkapp
31d9a3e1c3
implement support for "Tab" to cycle the selected and active host;
3 years ago
Bryan Biedenkapp
50f85538f8
refactor display of usage to be consistent with dvmhost;
3 years ago
Bryan Biedenkapp
8c5d9eb2c6
add command line option to auto hide the log window at startup;
3 years ago
Bryan Biedenkapp
caa2a37a49
fix incorrect handling of redraw during maximize of the log window;
3 years ago
Bryan Biedenkapp
c567378047
fix some label display issues;
3 years ago
Bryan Biedenkapp
65155c7010
fix detection of mode for command windows; fix detection of valid subscriber;
3 years ago
Bryan Biedenkapp
fcda472f3e
reset mode text if the status is none of the digital modes;
3 years ago
Bryan Biedenkapp
6465493e3d
relabel Last TG to Last Dst;
3 years ago
Bryan Biedenkapp
b341c7ee13
add support to report source ID; enhance coloring abit more;
3 years ago
Bryan Biedenkapp
180bce2d62
add support to log the last received source ID;
3 years ago
Bryan Biedenkapp
40596aadef
file cleanup;
3 years ago
Bryan Biedenkapp
4bb8c81360
adjust purple color (looks better and consistent as pinkish in PuTTY);
3 years ago
Bryan Biedenkapp
4f3c374285
adjust display of colors (these will vary terminal to terminal unfortunatly, best display is in a proper Linux desktop terminal);
3 years ago
Bryan Biedenkapp
4097e87ccd
add CMake option to selectively disable compiling dvmmon (-DDISABLE_MONITOR=1);
3 years ago
Bryan Biedenkapp
d45af90c07
initial bare-bones implementation of dvmmon; enhance REST API to return more detailed status information (for use by dvmmon); cleanup file code style;
3 years ago
Bryan Biedenkapp
298cd8da1f
properly handle the configured REST address for the "primary" DVM;
3 years ago
Bryan Biedenkapp
bbe6143001
mark a control channel as VOC when the VOC flag is in the status response;
3 years ago
Bryan Biedenkapp
8f7763cac4
initial implementation for a passive monitor tool; correct bad code style; implement feedback of last destination ID; enhance status REST API;
3 years ago
Bryan Biedenkapp
2b73c0539c
code cleanup; add whether or not the channel is VOC enabled in status REST response;
3 years ago
Bryan Biedenkapp
77ff4a551b
typo cleanup;
3 years ago
Bryan Biedenkapp
6f01647c6f
code style cleanup;
3 years ago
Bryan Biedenkapp
6a127f7e57
implement appropriate RS encoding of LDU1 DFSI parameters;
3 years ago
Bryan Biedenkapp
0374ed2f54
correct bad implementation of RTP SSRC, SSRC should be the *sending* peer ID;
3 years ago
Bryan Biedenkapp
412d6cfc7c
[KEEP CALM AND RELAX] remove some deprecated DFSI support code (this is going to be done in a different way and this code is essentially abandonded);
3 years ago
Bryan Biedenkapp
cdce663a55
remove affiliated flag from local talkgroup_rules (this is not used locally); refactor how P25 network message frames are made (mostly just a code cleanup); refactor out some magic numbers used in some places for code clarity;
3 years ago
Bryan Biedenkapp
702293b416
more work on frame loss counting;
3 years ago
Bryan Biedenkapp
3d7f04f523
split touch notify from incorrect logic statement;
3 years ago
Bryan Biedenkapp
c9f74e7abf
assume better defaults when the controlCh block is missing; split logic checks for ignoring a notifyCC_* call for clarity; add extra logging messages for whether or not CC notify is enabled, and whether or not CC REST API parameters were passed;
3 years ago
Bryan Biedenkapp
b99ecefd6a
experimental alteration to handling modem TAG_LOST during an active call for DMR, P25 and NXDN, instead of immediately dropping the call stream holding the call in progress, this will likely require additional thought and implementation, but the intention is to correct odd behavior for fringe or silghtly weak signals which would cause strange call behavior;
3 years ago
Bryan Biedenkapp
d5aa4c2cd9
add extra logging messages; fix issue with network P25 voice grant;
3 years ago
Bryan Biedenkapp
73cb3de6e8
log more detailed information about RINGBUFF_FULL;
3 years ago
Bryan Biedenkapp
34a6c14111
rename inhibitIllegal to inhibitUnauthorized; remove code that was clearing modem buffer before transmitting an immediate (this was extremely problematic); add new option for VOC users "redundantGrantTransmit" this option will cause a modem in P25 VOC mode to transmit redundant grant responses, helping ensure grants are received;
3 years ago
Bryan Biedenkapp
4aca5792db
adjust OSP_QUE_RSP slightly to ensure the service doesn't overflow; fix some minor U2U logic (this kinda sorta makes U2U work); adjust some timing parameters when clearing the modem queues (~5ms delay after writing the command to ensure the modem has time to clear); alter how grants are transmitted on VOC configurations (this will not only transmit a immediate grant but also buffer 3 more as an MBF);
3 years ago