mirror of
https://github.com/g4klx/P25Clients.git
synced 2026-08-26 12:32:40 -04:00
schema.json's link action enum already listed "failed", but no code
path ever published it. Unlike DMR (password auth) or YSF (poll-timeout
watchdog), P25Gateway has no connection handshake or keepalive
mechanism at all -- its real-world failure mode is a talkgroup ID that
doesn't resolve against the configured reflector list. Found three
places this already happens, silently:
- A mistyped Static= entry in P25Gateway.ini at startup (previously
logged a bare LogWarning, nothing on MQTT).
- An operator selecting an unconfigured TG on their radio (RF
activity) -- completely silent before this patch, not even logged.
- A bad remote-command TG -- also completely silent.
All three reset m_currentTG to empty either way; this just makes that
outcome visible, with the requested (invalid) talkgroup number attached
so it's actually diagnosable, using the same reason values ("startup"/
"user"/"remote") writeJSONLinking already uses for the successful path.
|
||
|---|---|---|
| .. | ||
| Audio | ||
| Conf.cpp | ||
| Conf.h | ||
| DMRIds.dat | ||
| DMRLookup.cpp | ||
| DMRLookup.h | ||
| Log.cpp | ||
| Log.h | ||
| Makefile | ||
| MQTTConnection.cpp | ||
| MQTTConnection.h | ||
| Mutex.cpp | ||
| Mutex.h | ||
| P25Gateway.cpp | ||
| P25Gateway.h | ||
| P25Gateway.ini | ||
| P25Gateway.vcxproj | ||
| P25Gateway.vcxproj.filters | ||
| P25HostsUpdate.sh | ||
| P25Network.cpp | ||
| P25Network.h | ||
| prebuild.cmd | ||
| Reflectors.cpp | ||
| Reflectors.h | ||
| RptNetwork.cpp | ||
| RptNetwork.h | ||
| schema.json | ||
| StopWatch.cpp | ||
| StopWatch.h | ||
| Thread.cpp | ||
| Thread.h | ||
| Timer.cpp | ||
| Timer.h | ||
| UDPSocket.cpp | ||
| UDPSocket.h | ||
| Utils.cpp | ||
| Utils.h | ||
| Version.h | ||
| Voice.cpp | ||
| Voice.h | ||