Bryan Biedenkapp
1c51ff59bd
add support to inject silence frames during a hang time when using UDP audio, where UDP audio has ended but the drop timer hasn't timed out;
10 months ago
Bryan Biedenkapp
fb0e51f36a
make Win32 compiles work again; correct incorrect behavior handling try_lock_for;
10 months ago
Bryan Biedenkapp
4fc8990d16
make InfluxDB queries async (non-blocking);
10 months ago
Bryan Biedenkapp
d669410e46
whoops no drunk programming allowed;
10 months ago
Bryan Biedenkapp
dbf67a4211
fix SysView shitting the bed when the JSON object for a peer is in an unknown state because it is state transitioning or still connecting;
10 months ago
Bryan Biedenkapp
7d6d4f4134
for peer FNE connections we should never disable network services on ACL NAK (this would result in a condition where the peer FNE would need to be restarted in order to reconnect, which isn't convenient);
10 months ago
Bryan Biedenkapp
6e589d9665
add peer connect and disconnect callbacks (for future use);
10 months ago
Bryan Biedenkapp
8dd504adea
add support to enable/disable CC message stream debug when a protocol debug is enabled; correct some bad handling of the MESSAGE_TYPE_REG NXDN command;
10 months ago
Bryan Biedenkapp
27c852e4c2
remove the broken last IMBE logic; add logic to ensure a consistent LDU superframe stream (this will result in in-call garble for the length of a missed LDU, where LDUs are dropped due to extreme call load on the FNE);
10 months ago
Bryan Biedenkapp
ecc8bfa32e
fix issue where peer identity was being used instead of peer ID for FNE peer network lists; appropriately log blockTrafficTo configurations at startup;
10 months ago
Bryan Biedenkapp
5ecfc58300
permitted TG RPCs shouldn't test for m_enableControl;
10 months ago
Bryan Biedenkapp
63c85f3781
implement proper blocking operations for RPC; don't allow a RPC instance to call itself (i.e. you can't listen on port 127.0.0.1:9890 and then use req() to send an RPC to the listening instance); fix issue with RPC_PERMIT_XXX_TG not being a blocking operation; fix issue with RPC_DMR_TSCC_PAYLOAD_ACT not being a blocking operation;
10 months ago
Bryan Biedenkapp
81d4a40d24
do our best to attempt to warn on possible misconfiguration of channel RPC configuration;
10 months ago
Bryan Biedenkapp
202f3e57f8
make validate() TDU handling more similar to isPeerPermitted();
10 months ago
Bryan Biedenkapp
559647a28f
we didn't have TDU filtering in validate(), just isPeerPermitted() this would let errant TDUs pass in some cases;
10 months ago
Bryan Biedenkapp
b86a5ce939
add some mutex locking around modification of the channel lookup table;
11 months ago
Bryan Biedenkapp
3da4eb2d40
REST -> RPC Migration ( #84 )
...
* migrate away from REST API for inter-dvmhost operations towards a custom UDP RPC framework;
* replace config parameters for REST API in some places with properly named RPC; swap peer Network, FNE DiagNetwork and FNENetwork over from if-else-if ladders to switch statements (switch statements perform logically better after compilation because the compiler tends to optimize these into jump-tables which execute faster);
* continued work on inter-dvmhost REST to RPC transition;
* update build bumper for R04G20 to R04G21;
* cleanup config file;
* clean up doc/commenting;
11 months ago
Bryan Biedenkapp
a242369496
flag the inbound channel as busy for DFSI messages;
11 months ago
Bryan Biedenkapp
110824e73b
fix implementation for acking Start of Stream (writeImmediate wasn't really necessary using STT_NON_IMBE_NO_JITTER causes queued packets to bypass jitter buffer timing);
11 months ago
Bryan Biedenkapp
d7b887a32d
implement enhancement/alterations to allow back-to-back configuration of dvmhost in TIA-102 DFSI mode (with FSC enabled); correct minor nullref handling in FSCACK; add writeImmediate() to ModemV24 to support TIA-102's need to immediately ack a Start of Stream block;
11 months ago
Bryan Biedenkapp
c3b31d241e
hide the excessive noise during isPeerPermitted() where the FNE will complain of a peer with a uninitialized affiliations lookup;
11 months ago
Bryan Biedenkapp
6b4d7c5539
piss everyone off and properly relabel "enabled" options to "enable" to keep project consistency;
11 months ago
Bryan Biedenkapp
ff3733ffef
starting offset for ARC4 is 0;
11 months ago
Bryan Biedenkapp
e533ac495f
fix potential nullptr problem with Log when used from multiple threads during shutdown; reduce the intercycle delay to 2ms from 5ms for all main FNE threads;
11 months ago
Bryan Biedenkapp
2258e3a065
correct issue with passing a key request to the upstream master; comment on self-delete operations, stop() for lookup tables;
11 months ago
Bryan Biedenkapp
a2fa303217
reorganize code, move Network class from host into common as its being used more as a generic peer network class; add some warning messaging to the FNE when a peer link or external peer (i.e. intra-FNE connection) drops;
11 months ago
Bryan Biedenkapp
0496737d46
late night whoopsie, forgot to add some critical stuff (note to self: don't do programming at near midnight its bad for you);
11 months ago
Bryan Biedenkapp
5a96f10906
add peer ID editor; implement support in the peer lookup and FNE to validate whether or not a peer can perform a encryption key request;
11 months ago
Bryan Biedenkapp
6927ea284c
add preliminary support for forwarding a key request up to the next FNE (if we are Peer Linked);
11 months ago
Bryan Biedenkapp
ea8699e03f
add some guard rails around when batch operations add/remove;
11 months ago
Bryan Biedenkapp
231b829660
add batch manipulation operations for adding a peer to inclusion and always lists for all TGs;
11 months ago
Bryan Biedenkapp
2d3aeb5307
reorganize code make things cleaner -- move P25 crypto into its own common class for reuse purposes;
11 months ago
Bryan Biedenkapp
03de7fdb0b
fix range clipping when using rxAudioGain or txAudioGain (previous code would allow a negative gain (to lower amplitude) to allow overflowing sample values);
11 months ago
Bryan Biedenkapp
cacec1fe8a
apparently Windows CPP is a pain in the ass, make it happy;
11 months ago
Bryan Biedenkapp
727ff3ed7b
add preliminary encryption support to dvmbridge (P25-only supports AES256 and ARC4); correct and hide some debug trace for FNE KMM messaging; implement support to generate a ARC4 keystream;
11 months ago
Bryan Biedenkapp
1c85e35ba2
correct possible buffer cleanup issues;
11 months ago
Bryan Biedenkapp
33d6c919d7
runAsThread should not automatically cleanup the passed thread_t, this should be done by the caller;
11 months ago
Bryan Biedenkapp
ba23d0250d
instead of assert return false; better handle buffer init;
11 months ago
Bryan Biedenkapp
861a608bca
add some more debug trace while in TIA mode;
11 months ago
Bryan Biedenkapp
d8e6b17fbb
okay, because a certain OEM's system does, idiotic things, lets handle a START_OF_STREAM block along side FULLRATE_VOICE blocks;
11 months ago
Bryan Biedenkapp
8883feba9c
Revert "payload flag should be set false for ACK block type DFSI messages;"
...
This reverts commit ca09893970 .
11 months ago
Bryan Biedenkapp
ca09893970
payload flag should be set false for ACK block type DFSI messages;
11 months ago
Bryan Biedenkapp
db5a2310a4
send a return ACK on reception of a Start of Stream;
11 months ago
Bryan Biedenkapp
de02fdd445
[EXPERIMENTAL] experimental change for @faultywarrior, make V24 UDP respond back to whatever the source port that sent a request was;
11 months ago
Bryan Biedenkapp
3798c52b54
reorganize SIP handler code slighty;
11 months ago
Bryan Biedenkapp
cf2dee95d2
code cleanup; add SIP lexer and data handlers;
11 months ago
Bryan Biedenkapp
07edd0dbff
handle illegal call end properly;
11 months ago
Bryan Biedenkapp
1e8c266d8a
implement support to handle KMMs at the FNE; hardcode the host to ignore repeating KMM frames; implement HELLO KMM support and response with a NO_SERVICE (we don't have OTAR implemented at this time);
11 months ago
Bryan Biedenkapp
3dd7871ee6
ensure FNE key req/rsp handle variable length keys properly (fixes an issue with sending DES and ARC4 keys as 32-byte length keys);
11 months ago
Bryan Biedenkapp
9806ece4f5
add KMM opcodes for dereg, reg, NACK, no service, and zeroize;
11 months ago
Bryan Biedenkapp
79f00524ba
add support to KMM factory for inventory lists;
11 months ago
Bryan Biedenkapp
7dc90b577f
fix KMM copy issue; implement list key IDs and keysets inventory reponses;
11 months ago
Bryan Biedenkapp
c4eefac2c7
typo;
11 months ago
Bryan Biedenkapp
df648a2c50
add more KMM frames; implement support in the network core for key request and response (this allows peers to request a encryption key from a EKC file loaded on the FNE to use for encryption/decryption, i.e. peer keyloading);
11 months ago
Bryan Biedenkapp
0fd6758161
allow always send peers to ignore reject unknown RID (always send peers are treated specially);
11 months ago
Bryan Biedenkapp
c9c98345b6
refactor forced late ACL updates, the old way was causing erroneous multiple ACL messages to appear in the log giving the impression that the FNE was updating ACL's rapidly;
11 months ago
Bryan Biedenkapp
1afc94931b
correct some minor Win32 compilation errors (CryptoContainer isn't supported on Win32 right now);
11 months ago
Bryan Biedenkapp
cad8e3e347
add ICC support to bridge (this is a naive approach however...);
11 months ago
Bryan Biedenkapp
27162d197d
add key request and response opcodes (not implemented yet);
11 months ago
Bryan Biedenkapp
75a09a375b
right align permitted RID count;
11 months ago
Bryan Biedenkapp
0ee2b5c756
bump version to 4.20G (from 4.11G) [THIS MARKS INCLUSION OF IN-CALL CONTROL IN MASTER]; ensure always peers can violate the rules as usual; add permitted RIDs assignment to JSON handling for REST APIs;
11 months ago
Bryan Biedenkapp
6812029491
Merge branch 'master' into incall_ctrl
11 months ago
Bryan Biedenkapp
ded260216a
implement the beginnings of KMM frame handling (for future use);
11 months ago
Bryan Biedenkapp
676a112313
fix missing check for ENABLE_TCL_SSL compilation directive; properly flag crypto as hard disabled if ENABLE_TCL_SSL isn't set;
11 months ago
Bryan Biedenkapp
78f034511f
initial support for loading KFDtool EKC files (this is currently unused but is a future stepping-stone for encryption key handling);
11 months ago
Bryan Biedenkapp
69f8fbe884
add better logic to handle forcing peer-link updates; ensure ACL's go out regardless of stream if too much time has passed;
11 months ago
Bryan Biedenkapp
b1f10a87ab
add some helper routines to the peer list lookup;
11 months ago
Bryan Biedenkapp
cb335cffed
add some exception checking around some cases where vector types are used;
11 months ago
Bryan Biedenkapp
4617a817a1
update modem submodule;
11 months ago
Bryan Biedenkapp
b9830263db
fix dstId not being appropriately set;
11 months ago
Bryan Biedenkapp
8823fc09b6
correct erroneous log messages; fix remote UDP mode handler (this was mishandling frames in some situations); update hotspot and modem submodules;
11 months ago
Bryan Biedenkapp
6fd3c68de3
allow call end to cleanup a stream ID associated to a given call stream;
11 months ago
Bryan Biedenkapp
beeebe3587
fix issue with FNE diagnostic logging;
11 months ago
Bryan Biedenkapp
6e551a568a
fix incorrect usage of slotNo, in this case slotNo refers to the index into the stream ID array, not the actual slot number;
11 months ago
Bryan Biedenkapp
d87c1f76c7
typo;
11 months ago
Bryan Biedenkapp
20a096ab49
remove stream ID handling from DiagNetwork (these are always sent with a stream ID of 0 anyway...); revert Rx stream ID to stream ID validation check in Network;
11 months ago
Bryan Biedenkapp
ef1a0df496
refactor FNE RTP packet handling, this change better handles a peer end-point transmitting multiple varied RTP streams; refactor promiscuous handling of RTP streams on the host network API; refactor handling non-promiscuous handling of RTP streams on the host network API; bump project version from 4.11F to 4.11G to reflect these larger changes; correct bad use of magic numbers when dealing with signal values;
11 months ago
Bryan Biedenkapp
4025db8200
clarify more lookup table log entries;
11 months ago
Bryan Biedenkapp
f051434e7b
adjust lookup table logging slightly;
11 months ago
Bryan Biedenkapp
64bcb56228
enhance debug logging to incorporate both file and line numbers (when provided by the compiler) and optionally implement LogDebugEx macro to also incorporate the caller identifying the function name; correct LogDebug uses in some cases that should have been LogMessage;
11 months ago
Bryan Biedenkapp
c68b99dc61
silence frame queue read errors after 5 consecutive errors (this is to prevent log spam);
11 months ago
Bryan Biedenkapp
086730320d
code cleanup;
11 months ago
Bryan Biedenkapp
e38488f602
fix potential bridge memory leak when using USRP audio; add support for bridge to reset and start a new call when using UDP metadata *and* overriding the source ID;
11 months ago
Bryan Biedenkapp
cbce2fbdf0
update copyright dates;
11 months ago
Bryan Biedenkapp
633ff29f55
fix typo;
11 months ago
Bryan Biedenkapp
ad8713fbe8
issue a P_CLEAR proper at the end of a network call;
11 months ago
Bryan Biedenkapp
71d55b1645
correct some late night strangeness when handling whether or not a slot is a TSCC for remote grant demand processing (this is what I get for trying to quickly push out decently old branch code);
11 months ago
Bryan Biedenkapp
e4d2d677fe
last minute fix -- the original implementation was naive and always aborted incorrectly;
11 months ago
Bryan Biedenkapp
172f0f2eb0
missed commit when this was manually merged;
11 months ago
Bryan Biedenkapp
151275ce6f
implement initial DMR remote grant demand logic (this is mostly untested);
11 months ago
firealarmss
aedabceac7
Add support for USRP ( #83 )
...
* Add support for USRP UDP transport
* Maintain USRP sequence
* Oops not sure how I did that
* Update DMR to be like P25
* Check for invalid UDP configuration
---------
Co-authored-by: firealarmss <caleb.k4php@gmail.com>
11 months ago
Bryan Biedenkapp
db1d000b21
increase width of "alias" column in tged;
12 months ago
Bryan Biedenkapp
7063ce36a0
refactor how netLDUx buffers are built, and ensure buffers are filled with appropriate null IMBE frames; add support to remote grant demand to include whether or not the grant should set the encrypted flag; add warning to notify a user that a misconfiguration for a voice channel exists when a dedicated trunked voice channel has control data enabled; fix display of RF power level during startup;
12 months ago
Bryan Biedenkapp
3177d38897
Merge branch 'master' into incall_ctrl
12 months ago
Bryan Biedenkapp
89210c05aa
add support to optionally demand a SU perform a full registration with a site if a affiliation request is refused;
12 months ago
Bryan Biedenkapp
560ef40dca
indicate what slot is ending a call for DMR on the FNE; correct bad end-of-call handling for DMR mode on bridge;
12 months ago
Bryan Biedenkapp
f483bbf2ed
update commenting;
12 months ago
Bryan Biedenkapp
1e458ce682
don't transmit EXT_FUNC across the network when issued to an individual site, the FNE should be generating network wide EXT_FUNC messages ( fixes #62 );
12 months ago
Bryan Biedenkapp
a2b1367091
fix buffer overrun;
12 months ago
Bryan Biedenkapp
29d37126ef
cleanup and fix MuLaw encoding code;
12 months ago
Bryan Biedenkapp
6e327eb2b2
for debugging purposes enhance debug trace messaging;
12 months ago
Bryan Biedenkapp
afbd7e9848
correct pcmLength size when using RTP frames;
12 months ago
Bryan Biedenkapp
02581f2c3f
file cleanups;
12 months ago
Bryan Biedenkapp
18e0417381
add experimental support to wrap G.711 uLaw frames in RTP;
12 months ago
Bryan Biedenkapp
fd47396e9e
typo;
12 months ago
Bryan Biedenkapp
a23c900842
flag V.24 connected if FSC is connected;
12 months ago
Bryan Biedenkapp
da5cb6eb7d
Merge branch 'master' into incall_ctrl
12 months ago
Bryan Biedenkapp
a4e8138c74
enhance TDULC CALL_TERM handling in dvmhost; allow dvmfne to optionally drop TDULC CALL_TERMs or pass them;
1 year ago
Bryan Biedenkapp
8c48c9bcbe
fix huge glaring bug where the dvmhost was trying to transmit TDULCs across the network as TSBKs; implement proper support to transit TDULC data across the network;
1 year ago
Bryan Biedenkapp
e88a3a0b2a
add support to decode LC_CALL_TERM when DVM is used in some reverse repeater situations;
1 year ago
Bryan Biedenkapp
8e7c3436fc
add new configuration option to disable all U2U calls from passing;
1 year ago
Bryan Biedenkapp
67c84cdc0a
pass external flag to the intial isPeerPermitted() check, this is to fix an issue where if a external peer isn't in the always list for an affiliated group it may attempt to check an affiliation list that doesn't exist (external peers don't typically have affiliation lists);
1 year ago
Bryan Biedenkapp
b593f39d0d
ensure during RPTK failure we cleanup the connection if a NAK occurs;
1 year ago
Bryan Biedenkapp
333ac5c164
add experimental support to encode audio in G.711 uLaw, optionally including a length header;
1 year ago
Bryan Biedenkapp
c1d8186da9
correct situation where a nullptr crash during shutdown would occur if the update timers for RID or TGID ACL on the host were set to 0 (i.e. no update);
1 year ago
Bryan Biedenkapp
b419c56405
reject U2U voice channel grant for P25, DMR and NXDN if the unit being called isn't registered;
1 year ago
Bryan Biedenkapp
1e6282c92b
ensure the group flag is set if the LCO is PRIVATE;
1 year ago
Bryan Biedenkapp
3f75869a92
add some mutex locking to the timestamp map updates to prevent concurrency bugs;
1 year ago
Bryan Biedenkapp
32494fb19d
change RF power level of hotspots to 95 instead of 100 to prevent a condition where spurious emissions may be generated; update README.md to include methods to calibrate a hotspot if a service monitor is available;
1 year ago
Bryan Biedenkapp
19bbd4d6d9
fix crash when deleting TGID causes the TG list to scroll;
1 year ago
Bryan Biedenkapp
a868ff3264
fix idiotic bug where the activity log path wasn't being properly used; add potential fix for "tail riding" conditions with network traffic, that could cause the RF talkgroup hangtimer to be active when it shouldn't be;
1 year ago
Bryan Biedenkapp
f3c86d2a8e
support configuring SSL TCP sockets for non-blocking operations;
1 year ago
Bryan Biedenkapp
9e68049cd8
ensure first super-frame LDU1 after an HDU sets the encrypt flag;
1 year ago
Bryan Biedenkapp
cb309fdb0f
reasonably this message shouldn't even appear if we don't have the channel granted;
1 year ago
Bryan Biedenkapp
32c49b93ea
filter out DVM CALL_TERM packets on the FNE based on TGID rules;
1 year ago
Bryan Biedenkapp
c2f2e8c69f
add slot display to talkgroup list;
1 year ago
Bryan Biedenkapp
7979b6ff40
fix a thread concurrency issue when modifying the m_status unordered maps, instead of utilizing erase and checking if entries don't exist add a activeCall flag and check that, this resolves a possible dual access issue with find_if and erase that could result in an FNE crash;
1 year ago
Bryan Biedenkapp
3b395a99cf
fix issue with potentional concurrency crash when updating lookup tables in PEER_LINK;
1 year ago
Bryan Biedenkapp
a82f848de4
correct bad handling for signal and compact fields of the TIA-102 control octet; enhance how the length of a TIA-102 full rate voice frame is determined; better handle initialization of the additional data fields for a TIA-102 full rate voice frame; correct bug using LDU2 frame 10 vs LDU2 frame 18 for LSD data on a full rate voice frame; implement a naive approach to performing superframe counting; correct bug causing the first full rate voice frames to never be transmitted for LDU1 or LDU2; remove assertion check for control port;
1 year ago
Bryan Biedenkapp
95a8d269be
fix null reference exception when dealing with VHDR in TIA-102 mode;
1 year ago
Bryan Biedenkapp
6f61276552
disable source ID check when filtering TDUs;
1 year ago
Bryan Biedenkapp
2e0ffab13d
correct un-updated debug handles in LC; correct TIA mode HDU handling;
1 year ago
Bryan Biedenkapp
406943d75f
add FSCSelChannel message decoding (not that we need it);
1 year ago
Bryan Biedenkapp
164d2b6c87
whoops actually instantiate FSCMessage for FSC_SEL_CHAN;
1 year ago
Bryan Biedenkapp
6d5e158808
just ack the FSC_SEL_CHAN command when requested; fix data offset for TIA-102 DFSI data;
1 year ago
Bryan Biedenkapp
418ffeea24
fix null reference;
1 year ago
Bryan Biedenkapp
fea335dc1e
warn on connection attempts trying to set heartbeats larger then 30 seconds;
1 year ago
Bryan Biedenkapp
6b9d906f68
make FSC timeout just slightly more then the maximum heartbeat time;
1 year ago
Bryan Biedenkapp
0e5d075c62
expose configuring the FSC heartbeat interval; expose enabling TIA mode DFSI frames; correct FullRateVoice memory copy for additional data;
1 year ago
Bryan Biedenkapp
2d450f64b0
[EXPERIMENTAL] initial TIA-102 DFSI packet support (not enabled yet);
1 year ago
Bryan Biedenkapp
ddda823b55
whoops forgot to add files for previous commit;
1 year ago
Bryan Biedenkapp
ca7149e9f4
add FSC_REPORT_SEL_MODES;
1 year ago
Bryan Biedenkapp
da3a2a1869
fix long standing dvmhost shutdown bug (object cleanup wasn't occuring due to bad state change handling); refactor FSC packet data classes; remove FSCResponse and FSCConnectResponse (these were ill conceived due to bad interpretation of TIA-102 specifications); correct FSCACK not properly decoding response user data after packet data; refactor the way the FSC message factory createMessage() function created instances of FSC packets; refactor how opening and closing the FSC port is handled; better implement the FSC state machine; correct bad response to an FSC_CONNECT (due to incorrect understanding of TIA-102 specifications);
1 year ago
Bryan Biedenkapp
ff0a5c57c7
fix issue where ports wouldn't be opened after FSC connection establishment;
1 year ago
Bryan Biedenkapp
1a8f3bcfb9
refactor message;
1 year ago
Bryan Biedenkapp
3347035d0d
reenable debug message;
1 year ago
Bryan Biedenkapp
85dd6fce09
remove unused variable;
1 year ago
Bryan Biedenkapp
19d8f2237f
refactor FSC (it was entirely just broken);
1 year ago
Bryan Biedenkapp
88dcb0bc96
update copyright dates;
1 year ago
Bryan Biedenkapp
14b749fff1
correct issue where DFSI FSC control port wasn't living at the voice conveyance port + 1; refactor the proof of concept V24UDPport class to handle voice conveyance frames in their own thread (this is so the main clock doesn't get locked up); correct bad offsetting of data for V24UDPort causing weird overflow, underflow and buffer corruption;
1 year ago