The IPSC3 roadmap is focused on making the radio path stable, measurable, and
safe to extend before adding more protocol surface.
- Keep the voice path clean and avoid blocking it on database, network, or API work.
- Treat dashboard state as a downstream projection of runtime state.
- Make routing decisions from explicit in-memory session state rather than inferred side effects.
- Keep trunks, repeaters, hotspots, and future protocols separated by role and protocol kind.
- Baseline instrumentation.
- Canonical runtime stream/session model.
- Split ingress parsing from routing.
- Add bounded queues and worker threads.
- Move large endpoint fanout into protocol workers with bounded per-endpoint queues.
- Make dashboard state downstream.
- Rebuild TG777 scan mode on canonical state.
- Harden target resolution.
- Isolate prompts, parrot, SMS, and signalling.
- Add small buffering and reorder logic where justified.
- Decouple database writes from live transport.
- Build an MMDVM stress harness.
- Add further protocol work after the core is stable.
- Continue hardening Motorola IPSC repeater handling.
- Continue hardening MMDVM hotspot and repeater handling.
- Keep OpenBridge trunk support separate from MMDVM trunk support.
- Keep Hytera work isolated until there is enough field test data.
- Treat future YSF/Fusion work as a separate access path.
- Do not put synchronous database writes in the packet or voice fanout path.
- Do not block voice routing on TCP, DNS, HTTP, APRS-IS, AI, or dashboard work.
- Keep experimental packet logging behind development flags.
- Prefer explicit state transitions over inferred dashboard state.
- Keep real RF hardware testing in the loop before broad deployment.
- Use bounded DMR-to-POC playout queues with approximately 60 ms prefill and one RTP frame every 20 ms.
- Track sequence gaps, duplicate and late packets, concealment, queue drops, underruns, PCM peak/RMS, decoder clipping, and limiter activity once per call.
- Keep DMR receive gain configurable but at 0 dB by default, with a -3 dBFS soft limiter for exceptional peaks.
- Add an adaptive 80-120 ms jitter buffer in POC clients and avoid stacking client AGC or digital gain on server-processed audio.
- Use field measurements to decide whether OpenDMR decoder scaling needs refinement.
- Add an AMBE-3003 backend later without changing the existing POC media protocol.
| Stage |
Purpose |
| Protocol ingress | Receive and parse packets from each protocol. |
| Event normalization | Convert protocol-specific packets into common routing events. |
| Bounded queues | Protect the voice path from bursts and slow downstream work. |
| Routing workers | Make fanout and policy decisions from canonical runtime state. |
| Dashboard projection | Publish live state to web and client dashboards downstream. |
IPSC3 is currently in active field testing. The immediate focus is production
stability on the VKDMR network before expanding the number of supported
protocol types and edge cases.