David Andrzejewski
50cf3b5e7e
SNDCPv1 Trunked Packet Data ( #134 )
...
* add SNDCP data page TSBKs, correct PDU disassembly with a header offset and clear autonomous access in the SNDCP channel announcement;
- add ISP_SNDCP_DATA_PAGE_RES ($13) and OSP_SNDCP_DATA_PAGE_REQ ($15)
- Assembler::disassemble no longer shifts the coded block stream by the
data header offset; the offset counts octets of reassembled user data
- OSP_SNDCP_CH_ANN no longer sets autonomous access; the announced
channel is the control channel, which receives no SN-Data
* echo data service options in SNDCP grants, handle SNDCP data pages and relay SNDCP grants to the FNE;
- the SNDCP data channel grant echoes the Data Service Options of the
request; an SU ignores a grant whose options differ
- transmit an SNDCP data page request received from the FNE and answer
a "proceed" page response with a data channel grant
- pass the first copy of each SNDCP grant to the network, so the FNE
knows the SU has been directed to a data channel
- read the SNDCP reconnect request as an ISP_SNDCP_REC_REQ, the class
the factory builds for it
* implement trunked SNDCP packet data in the FNE: activation ACK, SN-Data uplink and downlink, data paging and downlink retransmission;
- send the link-layer ACK for the SNDCP context activation request
- strip the SNDCP header from SN-Data received on the user data SAP and
handle the IPv4 datagram as packet data
- frame downlink datagrams as SN-Data for an SU with an SNDCP context
- raise the standby timer in the context accept from 1 minute to 4 hours
- page an SU that has left the data channel through the control channel
that last granted it one, and hold the PDU until the grant is reported
- retransmit a confirmed downlink the SU does not acknowledge, up to
twice, with the same N(S)
---------
Co-authored-by: David Andrzejewski <181952+dandrzejewski@users.noreply.github.com>
2 days ago
Bryan Biedenkapp
080d4d5714
implement time-limited FNE subscriber operations for P25 and DMR radio checks, P25 status queries, status updates and message updates, expose operation and status retrieval over REST and metadata networks, add dvmcmd queries, consume acknowledgements without peer fanout and add protocol, routing and store regression tests;
2 days ago
Bryan Biedenkapp
5e14b54b14
correct bad responses for unregistered units during group affiliation;
2 days ago
Bryan Biedenkapp
f83ba4862f
implement transaction scoped P25 MFId handling, retain manufacturer identity by source RID, destination RID and LCO, preserve last MFId as the DVRS compatible fallback, clear expired and completed transactions and add MFId isolation, cleanup, expiration and fallback regression tests;
2 days ago
Bryan Biedenkapp
b8db35ef30
implement FNE authoritative channel grant transactions for P25, DMR and NXDN, add U2U grant handling, local channel assignment, traffic channel permit and grant release cleanup, correct dedicated control channel traffic handling and P25 deny response decoding, remove supervisor configuration in favor of topology-driven traffic permits, document authoritative operating modes and add grant lifecycle regression tests;
2 days ago
Bryan Biedenkapp
93e38ee2c7
expand HTTP request framing tests, correct ServerConnectionManager lock scope during connection lifecycle callbacks;
3 days ago
Bryan Biedenkapp
59ecf16612
whoops add missing test file;
3 days ago
Bryan Biedenkapp
5177685e48
implement FNE synchronized talkgroup RID admission rules, enforce group access during affiliation, RF ingress and channel grants for P25, DMR and NXDN while excluding U2U and telephone interconnect traffic, and add round-robin and protocol controller admission tests;
3 days ago
Bryan Biedenkapp
88cb85cc8f
update copyright;
3 days ago
Bryan Biedenkapp
6911c69170
correct P25 secondary control channel and adjacent site status broadcasts, preserve per-channel service classes, properly encode and decode advertised site data and retain multiple secondary control channels;
3 days ago
Bryan Biedenkapp
d2ac635b9d
correct P25 group affiliation query handling, correlate and retry affiliation queries, refresh WUID validity only for acknowledged valid transactions and complete group affiliation query support;
3 days ago
Bryan Biedenkapp
a14bb62b0b
correct P25 system service broadcast field packing, implement configurable WUID validity timing and properly encode blank Motorola BSI callsign characters;
3 days ago
Bryan Biedenkapp
a0a670937e
correct possible memory leak in OSP_TSBK_RAW;
3 days ago
Bryan Biedenkapp
a8d0242cf1
correct P25 message and status update field widths and properly encode and decode TDULC group voice channel updates;
3 days ago
Bryan Biedenkapp
830a356757
WHACKERS REJOICE! implement and route emergency alarm and call signaling for P25, DMR and NXDN, including P25 ISP emergency alarm, cancellation and acknowledgement procedures;
3 days ago
Bryan Biedenkapp
12fac00e43
because of certain individuals, refactor the BEExx checks to be clear in the source code with a clear warning that removing the checks is irresponsible, the protection is not for *YOU* the end user, its for people with poorly programmed subscribers that may roam incorrectly somewhere they should not be;
3 days ago
Bryan Biedenkapp
bef33b1ca4
prevent telephone interconnect from flooding everywhere and properly peer routing like U2U calls;
3 days ago
Bryan Biedenkapp
b6b9724cb4
silence excess log noise;
3 days ago
Bryan Biedenkapp
4c18326c44
silence excess log noise;
3 days ago
Bryan Biedenkapp
651fd2abba
ignore aff or unit reg for FNE source ID;
3 days ago
Bryan Biedenkapp
503ef4d836
add selective call handler debug enablement support;
3 days ago
Bryan Biedenkapp
51887fd883
add selective call handler debug enablement support;
3 days ago
Bryan Biedenkapp
f0dcad24b2
disable accidentally enabled ebug trace;
4 days ago
Bryan Biedenkapp
91c0a3b0b1
SYSVIEW peer connection class is treated like a neighbor for private call data;
4 days ago
Bryan Biedenkapp
718e434b75
update peered to support allow U2U option on peer ACL;
4 days ago
Bryan Biedenkapp
d68848872a
correct some issues handling U2U call routing;
4 days ago
Bryan Biedenkapp
479a0e90f3
add configurable private-call routing to the FNE; replace disallowAllUnitToUnit, dropUnitToUnit, and restrictPVCallToRegOnly with privateCallRouting and per-peer allowUnitToUnit policy; add a timestamped unit-route registry for explicit registrations and traffic-learned subscriber locations; route known DMR, P25, P25 Phase 2, and NXDN private calls only to the registered next-hop peer; reject or flood unknown destinations according to policy; enforce unit-to-unit authorization on ingress, egress, grants, and voice traffic; clean routes during registration replacement and peer teardown; correct private grant and unknown-destination flood handling; add comprehensive FNE routing and regression tests;
4 days ago
Bryan Biedenkapp
66751dd713
correct unit tests;
4 days ago
Bryan Biedenkapp
5162e54845
add unit test for disallowUnitToUnit on dvmhost;
4 days ago
Bryan Biedenkapp
62e79752e2
when disallowUnitToUnit is enabled both inbound and outbound U2U is blocked;
4 days ago
Bryan Biedenkapp
d357736f24
add initial support to drop inbound network U2U calls at the host;
4 days ago
Bryan Biedenkapp
b72823cfd7
preserve ACK_RSP addressing across network;
4 days ago
Bryan Biedenkapp
1b1d508d6f
correct DMR and NXDN private-call setup and network routing; implement DMR Tier III OACSU availability checks with response correlation, collision handling, retries, cancellation, and timeout cleanup; validate conventional private-call destinations without disturbing group routing; correct NXDN individual-call request, response, assignment, duplicate assignment, disconnect, and transmission-release signaling; fix NXDN response-cause decoding and ten-bit traffic-channel encoding; route private calls to registered trunked or eligible conventional peers; add DMR, NXDN, host, codec, and FNE regression tests;
5 days ago
Bryan Biedenkapp
2ba4dbf97c
correct P25 unit-to-unit routing across FNE sites; use the explicit network U2U flag for private-call validation, routing, and late-entry voice when a private LCO is unavailable; restrict network answer requests to the control site serving the target subscriber; document conventional interoperability requirements; add FNE and host regression tests;
5 days ago
Bryan Biedenkapp
bcb8894154
correct P25 unit-to-unit call setup and message-trunked continuation; correlate UU answer responses with pending availability checks; track private grants and voice channel permits by subscriber pair; preserve grants across talkspurts, advertise the current requester as first-to-talk, and clean up U2U state on cancellation; add comprehensive U2U regression tests;
5 days ago
Bryan Biedenkapp
b555b2a4f0
add synthetic U2U call tests;
5 days ago
Bryan Biedenkapp
ab348543cf
do not start RF TG hangtimer for U2U calls;
5 days ago
Bryan Biedenkapp
7bbb6ade1b
do not check unit registration for U2U calls if unitToUnitAvail check is disabled;
5 days ago
Bryan Biedenkapp
df800c2998
add guard check to prevent null dereference;
5 days ago
Bryan Biedenkapp
b08629a896
support Linux versions of the AMBE library as well;
5 days ago
Bryan Biedenkapp
38604c34f2
correct runtime issue grabbing talkgroups that could cause a crash;
6 days ago
Bryan Biedenkapp
fc59f50680
file cleanup;
6 days ago
Bryan Biedenkapp
048de3ab55
add per-stream ordered FNE traffic dispatching; route DMR, P25P1, P25P2, and NXDN traffic through a common receive validation and protocol dispatch path before enqueuing frames for processing; add a shared ordred frame queue model that preserves arrival order within each peer/SSRC/stream/direction keyh while allowing parallel calls to run concurrently on a single existing FNE worker pool, frames are scheduled immediately without waiting for headers or missing seq numbers; apply ordering model to direct and upstream traffic; add regression coverate for same-stream FIFO behavior, concurrent calls, burst traffic, stream reuse, key isolation, late-entry and duplicate seq;
6 days ago
Dev_Ranger
c68149421f
= Fix NXDN receive ordering in FNE
...
- Dispatch local NXDN packets through a dedicated single-worker queue
- Prevent voice frames overtaking their preceding call header
- Preserve existing dispatch for other protocols
6 days ago
Dev_Ranger
3ba67a1506
= Fix Bridge vocoder integration, framing, and buffer bounds
...
- Fix half-rate encoder input overread
- Bound NXDN FACCH1 and UDCH puncture-table access
- Fix P25 receive buffer bounds
- Correct NXDN transmit buffer strides and SACCH fragment assembly
- Fix DMR sync, burst sequencing, call termination, and buffer cleanup
- Add focused regression tests and correct static vocoder linkage
- Rename packet-state enum value to avoid a Windows macro collision
6 days ago
Bryan Biedenkapp
54cee44381
fixes for REST API handling, correct bad condition where TLS handshakes could leave dangling sockets, add deadlines for various operations to prevent deadlock scenarios, REST handlers operate async to prevent blocking ASIO event loop;
1 week ago
Bryan Biedenkapp
a5e0f0f315
parrot playback should also properly adhere to inclusion peer list rules; add more robust peer traffic routing tests;
2 weeks ago
Bryan Biedenkapp
944a434db3
add better handling for parrot playback to do typical eligibility checks; add testcases to test these conditions;
2 weeks ago
Bryan Biedenkapp
7fa3c16fe1
better handle logging grant failures on the host for network traffic in certain conditions (like TGs that are sent always regardless of aff status); correct parrot playback thread not testing if affiliations were present before repeating parrot frames;
2 weeks ago
Bryan Biedenkapp
15e18e3ccf
file cleanup;
2 weeks ago