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
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
19d8f2237f
refactor FSC (it was entirely just broken);
1 year ago
Bryan Biedenkapp
80542e246a
use *DESTINATION ID* not *SOURCE ID* for outgoing U_DEREG_ACK frames;
1 year ago
W3AXL
0481a1fc68
FNE Peer ACL Rest Improvements ( #80 )
...
* initial support for peer ACL aliases, reworked peer ACL REST endpoints
* oops, fixed peer list saving
---------
Co-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>
1 year ago
Bryan Biedenkapp
f3fa7053b8
minor cleanups; ensure pad length is handled properly by PDU code;
1 year ago
Bryan Biedenkapp
1b4ea4d8c7
refactor status bit handling slightly;
1 year ago
ilyacodes
dc5e156a6a
Update documentation for Golay (23,12,7) FEC ( #75 )
1 year ago
Bryan Biedenkapp
2979110421
add some mutex locking for affiliation lookups;
1 year ago
Bryan Biedenkapp
77291533c6
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
8a0412524a
fix issue with DataBlock destructor trying to free a unallocated array; fix issue with dispatchUserFrameToFNE allowing local FNE network packets to cross external peer boundary; allow peers to connect if the peer list ACL is enabled, but the peer list itself is empty;
1 year ago
Bryan Biedenkapp
8f74260d5d
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
05fa1c2114
increase SSL timeout delay from 2 to 5 seconds;
1 year ago
Bryan Biedenkapp
eedd067489
correct order of initialization, and ensure m_stop is set to false by default;
1 year ago
Bryan Biedenkapp
ebfbed1ef5
Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp
f810351847
use non-blocking IO for the SecureTcpClient accept routine;
1 year ago
Bryan Biedenkapp
619cb548df
add support for per TGID RID permission lists; add call router support to check for source RID permission to TGID;
1 year ago
Bryan Biedenkapp
59f85c5976
implement in-call control mechanism (this allows the FNE to command a host to stop transmitting if a ACL check fails);
1 year ago
Bryan Biedenkapp
f40e6c6af0
Merge Peer Link Enhancement Changes ( #73 )
...
* add support for Peer-Link CFNEs to pass activity and peer status messages to the prime/master CFNE; add support for Peer-Link CFNEs to transmit their currently active peer list to the prime/master CFNE; add support on the master/prime CFNE to support reporting Peer-Link peer IDs in the /peer/query REST API request; add support to pass affiliation updates from Peer-Link CFNEs to the prime/master CFNE (Note: this passing does not preserve the original peer ID the affiliation came from, from the prime/master perspective, currently, the affiliation will appear as if it came from the Peer-Link CFNE); correct a bug with buffer overflow for Peer-Link configuration transfers;
* hide debug messages;
* remove debug print;
1 year ago
Bryan Biedenkapp
8c00c7b81c
add missing peer link parameter when saving peer list;
1 year ago
Bryan Biedenkapp
2e2e8bf957
fix all instances of (uint32_t) for calcTxOffset;
1 year ago
Bryan Biedenkapp
3ed87d4f89
slim down the embedded zlib library;
1 year ago
Bryan Biedenkapp
5f601247b7
add zlib 1.3.1 dep (included in common); implement Peer-Link feature, this allows a master CFNE, when configured by peer list, to transmit complete talkgroup, RID and peer list data to subordinate CFNEs;
1 year ago
Bryan Biedenkapp
ff6658cae7
how did no one find this, like how was this missed? add missing affiliated flag being sent from FNE to host;
1 year ago
Bryan Biedenkapp
ab32e8c8be
implement getDefault for json::value, this helps correct a flaw in picojson that causes get to fail with an assertion;
1 year ago
Bryan Biedenkapp
4f5369a582
because I just made this error, lets make sure debug builds are clearly labeled [and as such we'll label them in a cheeky way ;)];
1 year ago
Bryan Biedenkapp
fe66aff8ab
correct long lingering frequency rounding error when calculating freq in MHz;
1 year ago
Bryan Biedenkapp
8f6319d15e
refactor SysView and more tightly integrate with the DVM stack; add CC voice channel reporting in the peer status message; add support on the FNE to report activity log and peer status to SysView instances;
1 year ago
Bryan Biedenkapp
cd56011f87
refix issue with REST client (I shrunk a buffer for testing and didn't re-enbigen it); enhance some sysview displays slightly;
1 year ago
Bryan Biedenkapp
fe6f7508c0
add code dump of private sysview FNE monitoring utility to public GPL; correct issue with large REST responses getting truncated;
1 year ago
Bryan Biedenkapp
ce008197fd
bug fixes for tged;
2 years ago
Bryan Biedenkapp
538763c203
allow length written to be returned;
2 years ago
Bryan Biedenkapp
582629c395
add rule name alias for future use;
2 years ago
Bryan Biedenkapp
4786923b1e
fix sleep deprived typos;
2 years ago
Bryan Biedenkapp
f68532ed33
[EXPERIMENTAL] add possible support to convertToAir V.24 PDU frames;
2 years ago
W3AXL
8c836ec336
whoops, put this in the right place
2 years ago
W3AXL
babfdeb4f3
fixed U: log messages causing journalctl spam
2 years ago
Bryan Biedenkapp
d106fbb062
add some extra length documentation for RTP packets; make network ringbuffer initialized value a constant; continue logic implementation for P25 data; correct buffer issue on P25 data;
2 years ago
Bryan Biedenkapp
a880d2734e
implement call collision timeouts; fix GRP_VCH_GRANT_UPD allow it to carry 2 channels per spec;
2 years ago
Bryan Biedenkapp
8ba2528533
bump overall version number with release of dvmbridge C++ alpha and Win32 support;
2 years ago
Bryan Biedenkapp
65fa91b7cb
[THIS MAY BREAK THINGS, BE AWARE] Merge Win32 support and C++ dvmbridge into master. ( #67 )
...
* experimental support for WIN32 compilation (tested only with VS2022);
* fix up incorrect return;
* make debug compile verbose; ensure ws2_32.lib is included;
* initial commit of vocoder library to main source tree; initial commit of C++ port of bridge (non-functional);
* calculate the length of the preamble tone and properly write it;
* implement MDC callback to detect MDC unit ID; implement UDP audio reception; implement local audio reception;
* very alpha working verison;
* correct buffer size;
* correct issue with enabled Tx mode not properly being set on the network; correct issue with DMR not setting the appropriate frame length after packing AMBE bits; correct false call starts by faking the txStreamId (this isn't correct but works for now); fix issue with P25 non-GROUP LCOs causing audio breaks; correct bad logic for call lockup thread;
* cleanup and properly align log messages;
* implement missing Rx/Tx manual gain control; fix missing srcId overrides;
* eliminate the __ALLOC_VLA macro (this really only works on VS2022, GCC explodes in a fit of horror);
* fix missing comment;
* fix bad CFLAGS; correct missing dl library when linking dvmbridge on linux; fix various typos and bad variable types in bridge;
* fix some bad memset calls not taking array size into account; fix some missing parens;
* implement missing cal options;
* don't start the timer till the first LDU1 for cal mode;
* I'm just full of bad mistakes today;
* ignore logging excessive sync frame errors;
* update modem submodule;
* Add DVM-V24 Firmware Submodule And Enable Building It (#66 )
* Added v24 firmware as a submodule
* Added v24 firmware compilation
* V24 doesn't have make clean, so remove it from cmake
* Added V24 firmware to tarballs
* Fix my 1D107 error...
---------
Co-authored-by: faulty <faulty@evilcomputing.net>
* correct compilation flags for Win32; add support to dump sample levels on bridge (this is useful for tuning the vox level); add various fixes for local audio flag; add various fixes for not starting loops until completely running; ensure audio input/output device settings are output to the log; fix issue with Rx and Tx gain controls not being applied appropriately;
* fix compilation issues for RPI_ARM; ensure math constants are defined; remove unused command line arguments;
---------
Co-authored-by: Jim <25770089+faultywarrior@users.noreply.github.com>
Co-authored-by: faulty <faulty@evilcomputing.net>
2 years ago
Bryan Biedenkapp
6542443ca7
add support to transmit dynamic regroup IR extended commands;
2 years ago
W3AXL
f0d7ecb021
removed individual RID lookup prints
2 years ago
firealarmss
e031b2bb8f
Add support for GRP UNAFFIL opcode. ( #65 )
...
* Add support for GRP UNAFFIL opcode
* Fix line spacing
2 years ago
Bryan Biedenkapp
093f8dd6e8
more warning cleanups;
2 years ago
Bryan Biedenkapp
27452f935d
cleanup some warnings;
2 years ago
Bryan Biedenkapp
34855aed70
fix incorrect macro;
2 years ago
Bryan Biedenkapp
10232d2f9b
OSP_TIME_DATE_ANN fix variable size;
2 years ago
Bryan Biedenkapp
1bada70ca4
better fix then the previous commit, flag a LC decode from an LDU1 as "raw only", use raw RS bytes always for a ModemV24 convertFromAir;
2 years ago
Bryan Biedenkapp
c8a60af83c
attempt to add pass thru support for some LCs;
2 years ago
Bryan Biedenkapp
59a5482473
silence "Failed writing data to the network" messages; silence out-of-sequence warnings if the pktSeq is 0; when the master reports it is closing, have peers restart their connection states;
2 years ago
W3AXL
e7bec0504f
corrected V24 TSBK offset
2 years ago
Bryan Biedenkapp
38bce6de04
fixup V.24 TSBK data offset; correct situation where ACL lists for a host would repeatedly be sent because the last update time was never changed (this could happen if the peer is in progress for traffic, if thats the case just ignore sending updates and wait till next interval to send them);
2 years ago
Bryan Biedenkapp
4f55a89201
implement some changes suggested by CLang; fix writePeerStatus() not using RTP_END_OF_CALL_SEQ;
2 years ago
Bryan Biedenkapp
617c889d1a
Merge DFSI host changes into master ( #63 )
...
* begin implementing support for the V.24 modem as a regular modem dvmhost can utilize;
* add Tx support (maybe);
* theoretical TSBKs via V.24?;
* set start of stream correctly;
* ensure stream frame type is set correctly; send start of stream and end of stream correctly for TSBK (hopefully);
* fix variable naming; ensure voice frames aren't repeated back to the V.24 source;
* document configuration changes;
* add framework for eventual V.24 UDP support;
* correct issue not handling regular modem commands;
* fix up issue writing V.24 data to the modem buffers;
* initial working V24 modem implementation
* update commenting/documentation;
* reorganize configuration parameters and documentation;
* whoops forgot comment;
* ensure TSDU MBF is disabled for DFSI modems; tag DFSI parameters in log output proper for clarity; ensure P25 fixed mode is forced for DFSI modems;
* fixup V.24 UDP port, properly fake certain modem responses, fix bad RTP transmissions; add STT_NON_IMBE_NO_JITTER message type for ignoring message jitter;
* fix data offsets;
* ensure DFSI's internal call timeout is settable;
* bump version numbers;
* use LOG_MODEM not LOG_SERIAL;
* correct issue with PING/PONG resetting pktSeq incorrectly; add metric calculation for determining RTT for a PING/PONG;
* use milliseconds instead of seconds for delta clocking on the FNE and host for networking; correct several issues with incorrect packet sequences being sent for some control packets; correct issue with tracked packet sequence possibly being incorrectly reset;
---------
Co-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>
2 years ago
Bryan Biedenkapp
2c640a53c4
allow OSP_TSBK_RAW to allocate and decode a raw unknown TSBK;
2 years ago
Bryan Biedenkapp
eae8923227
various cleanups; correct incorrect implementation for copy constructors on DFSI FSC messages;
2 years ago
Bryan Biedenkapp
e0ea19b350
move dvmdfsi/frames into common; make host Modem class inheritable;
2 years ago
Bryan Biedenkapp
9205f514a1
increase time between modem polls to 750us;
2 years ago
Bryan Biedenkapp
abe45a1d53
fix up file headers;
2 years ago
W3AXL
34d17d961a
added DVMV24 board info reporting
2 years ago
Bryan Biedenkapp
8ba9e5c846
fix up Catch2 tests (these are woefully maintained...); add support for RC4-type encryption;
2 years ago
Bryan Biedenkapp
cb5329b2ca
simplify poll implementation;
2 years ago
Bryan Biedenkapp
47d89febdf
fix various valgrind reports;
2 years ago
Bryan Biedenkapp
355db0c9cc
[This commit contains highly-experimental and possibly unstable alterations to core archeitcture on dvmhost] deprecate ThreadFunc (using C++ lambda's was a bad idea to begin with); refactor some startup messages; refactor use of ThreadFunc in FNE; refactor how threads were created in the FNE; [EXPERIMENTAL] refactor the host architecture to use threading for modem clocking and protocol readers;
2 years ago
Bryan Biedenkapp
4ba65c5bab
fix issue where when *decoding* a EXT_FNCT the src and dst would be inverted resulting in bad logging;
2 years ago
Bryan Biedenkapp
e66365f3f4
add support to sleep for shorter periods of time;
2 years ago
Bryan Biedenkapp
da2f6130a8
[NOTICE: this commit is *EXPERIMENTAL* and implements *very* early data support, it is expected to be buggy, incomplete or broken] implement VTUN interface (fne0) on the dvmfne (this requires dvmfne to be run as root on Linux system [untested on non-Linux] to create the tun interface); implement VIFace random MAC generation; implement P25 TIA-102.BAEB SCEP ARP (SCEP is always used for conventional data) on dvmfne; refactor P25 packet status bits (this may break things else where, beware!); properly implement P25 status bit flipping on inbound channel activity; implement functionality in the P25 and DMR DataHeader classes to calculate the proper raw PDU frame length; implement dvmfne ARP table creation and maintainence (this is buggy and requires more implementation and test); implement dvmfne VTUN -> PDU and PDU -> VTUN IP traffic forwarding (this is incomplete and requires more implementation and test); correct several issues on dvmhost p25::packet::Data with overlapped buffers;
2 years ago
Bryan Biedenkapp
eb093b3f5f
use epoll for VIFace;
2 years ago
Bryan Biedenkapp
d32e62e3cf
add virtual interface support class;
2 years ago
Bryan Biedenkapp
dc29208e70
refactor DMR PDU processing to be more in-line with how P25 PDU processing is done; implement support on the FNE to inspect and dispatch DMR PDUs properly;
2 years ago
Bryan Biedenkapp
c9e7dcc11f
make LC_CALL_TERM use dstId;
2 years ago
Bryan Biedenkapp
369c3bee25
remove debug trace log messages (whoops); fix edge case situation where the modem may stop reading because the response state machine is stuck;
2 years ago
Bryan Biedenkapp
2be4ca2bec
log ARP requests;
2 years ago
Bryan Biedenkapp
c4147ecc5b
ensure exSAP is reset properly;
2 years ago
Bryan Biedenkapp
f3c3cc95ce
refactor P25 PDU extended address handling (this loosely gets a lot of conventional data things working, Moto TMS for example will pass in conventional [although buggy]); pass PDU response data headers (with no block followers) across the network;
2 years ago
Bryan Biedenkapp
197ce833ac
correct Trellis symbol skipping logic for DMR for 3/4 Trellis; enhance DMR short LC bits; correctly identify short LC for data and CSBK; correct buffered PDU repeat logic (when header has no blocks following);
2 years ago
Bryan Biedenkapp
88b619c71f
implement initial logic to provide PDU processing on the FNE;
2 years ago
Bryan Biedenkapp
a9bc150da7
add IP address column to RID tables (this is *NOT* used yet, and is for future use);
2 years ago
Bryan Biedenkapp
d281844c74
byte reverse IP addresses returned for P25's OTA; fix conventional registration packets not properly transmitting; continued work on P25 data refactoring;
2 years ago
Bryan Biedenkapp
ca3fc407c0
add helper to convert an IP in std::string to a uint32_t; add calculateLength() function to P25 PDU DataHeader to more easily calculate data header fields for a packet; correct missing DAC and MDPCO fields on SNDCPCtxActAccept; correct missing MDPCO field on SNDCPCtxActRequest; implement support for Control::writeRF_TDU to be sent to the immediate queue; implement support for Data::writeRF_PDU and Data::writeRF_PDU_User to send data to the immediate queue; add some TDU leader and trialers to PDU handling; enhance the AUTH_DMD by forcing the AMBTs to the immediate queue; continued enhancements to the SNDCP support;
2 years ago
Bryan Biedenkapp
6a040b6bec
correct issue with P25 deregistrations always generating a U_REG_CMD instead of only generating a U_REG_CMD for registration timeouts;
2 years ago
Bryan Biedenkapp
882c2564ca
correct double spaced formatting of CPP files in common; convert dvmhost to Doxygen documentation format; convert dvmfne to Doxygen documentation format; convert dvmcmd to Doxygen documentation format;
2 years ago
Bryan Biedenkapp
10e1e12be0
add doxygen configuration for dvmhost project; add doxygen output directory; convert common static library to use doxygen style commenting and documentation;
2 years ago
Bryan Biedenkapp
3861559f87
add support to send SNDCP disabled annoucement messages properly;
2 years ago
Bryan Biedenkapp
f23d3931f4
add initial support to process SNDCP control PDU data;
2 years ago
Bryan Biedenkapp
e90350d350
begin implementing some basic SNDCP handling logic (this isn't complete, and this doesn't make SNDCP work *yet*), however until the implementation is complete, this should prevent channels from becoming grant locked (hopefully);
2 years ago
Bryan Biedenkapp
45efd99801
support decoding rogue OSP_SNDCP_CH_GNT (even tho on DVM you can *enable* this you shouldn't because there's no SNDCP application that will respond);
2 years ago
Bryan Biedenkapp
35c07715bc
don't use HUGE as a SiteModel because certain versions of GCC are awful;
2 years ago
Bryan Biedenkapp
9050ad7885
this should address the issues with #53 , dvmhost and dvmdfsi *should* transparently pass unknown non-standard MFId LCs in the voice LDU1 frames; correct some logging irregularities in dvmdfsi;
2 years ago
Bryan Biedenkapp
55b1670121
update copyright dates;
2 years ago
Bryan Biedenkapp
673289c764
add more constant/enum documentation from specification documents;
2 years ago
Bryan Biedenkapp
eacbc27143
add marking of whether an inbound CAC is long or short; fix issue with short CAC not properly building a puncturing buffer (even tho short CAC doesn't do puncturing, its needed for NXDN convolution); correct CAC getData() return; remove deprecated code causing decoding offsets to be wrong resulting in invalid RCCHs;
2 years ago
Bryan Biedenkapp
51bd9e749d
implement CAC long puncturing for NXDN; correct issues with NXDN site information data;
2 years ago