* 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>
* initial bootstrap of CPP dvmdfsi
* more work on serial service, the basics are there now
* updated TODOs
* more work on dfsi, getting there, just a few more things to implement
* rough code finished, totally untested, hope it works
* fixes for malloc errors, still not totally working
* almost working, P25 voice from FNE is garbled but we're getting there
* verified v24 decode/encode is working, still cleaning up serial TX
* dvmdfsi ready for beta testing! A few gremlins to find but it works.
* added configurable source flag option
* fixed diu source flag config entry name
* small update to Mot VHDR1
* fixed serial initialization, flags work now, config & code cleanup
* log cleanups, added basic call collision logic, fixed kid being truncated to uint8_t
* fixed LDU2 MI not getting copied properly
* bring add-dvmdfsi up-to-date with master;
* Add syslog and some project file cleanup (#58)
* initial bootstrap of CPP dvmdfsi
* more work on serial service, the basics are there now
* updated TODOs
* more work on dfsi, getting there, just a few more things to implement
* rough code finished, totally untested, hope it works
* fixes for malloc errors, still not totally working
* almost working, P25 voice from FNE is garbled but we're getting there
* verified v24 decode/encode is working, still cleaning up serial TX
* dvmdfsi ready for beta testing! A few gremlins to find but it works.
* added configurable source flag option
* fixed diu source flag config entry name
* small update to Mot VHDR1
* fixed serial initialization, flags work now, config & code cleanup
* log cleanups, added basic call collision logic, fixed kid being truncated to uint8_t
* fixed LDU2 MI not getting copied properly
* add support for syslog logging in dvmdfsi;
* add useSyslog parameter to log section of configuration file;
* project cleanup: split MotRtpFrames.cpp/.h into separate files properly; ensure decode() functions pass the pointer as const to prevent accidental modification of input buffer; move common enums to a separate RtpDefines.h header; reuse MotRtpFrames.h (renamed RtpFrames.h) as a quick way of including all the RTP frames;
---------
Co-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>
---------
Co-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>
Co-authored-by: Bryan Biedenkapp <gatekeep@gmail.com>
* Initial work for a peer whitelist/blacklist
* Remove forgotten debug log
* Remove extra line
* Use a dedicated file for white/blacklists
* Add support to REST for managing the peer white/blacklist
* Fix line spaces
* Move to one example file
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;