I have reworked op25's trunking code
to better handle "terminator" messages DUID 3 & DUID 15
as well as revising the TGID hold logic, both implicit and
user-commanded.
The following describes the new behavior:
Receive voice grant for FREQ/SLOT/TGID
Tune to FREQ/SLOT/TGID
Receive & decode incoming LDU1/LDU2 voice packets and save timestamp
Receive & discard incoming DUID3/TDMA_DUID3 messages
Receive and handle incoming DUID15/TDMA_DUID15 messages that release the channel
If voice channel idle remains idle within the 1.0 second auto-hold period, release the channel.
Return to control channel when voice channel released (either automatically or by timer expiry)
At any time a voice call is in progress, the user can hit "h" on the
terminal to hold the active TGID indefinitely. The trunking logic from
then on will only track and play traffic for that specific TGID.
Pressing "h" again will release the manual hold and restore normal
operation.
The new code has been committed to my github repo, along with a minor
log level change to the p25p1_fdma::rx_sym() timeout message. Perform a
"git pull" and make/sudo make install to update to the latest version.
NOTE on log levels:
Level 0 (-v 0) suppressed most operational trunking messages except errors.
Level 1 (-v 1) produces only "voice update" messages so you have a record of tgids in use.
Level 2 (-v 2) produces more detailed information on trunking activity including timeouts, releases and terminator messages.
Level 10 produces very detailed info and is likely to have significant cpu impact on slower systems.
Reply via web post | • | Reply to sender | • | Reply to group | • | Start a New Topic | • | Messages in this topic (2) |