TraceRouter is our NTRIP caster responsible for routing correction streams from multiple sources. It manages which data streams are sent to each client based on configuration rules and the client’s current state. For instance, it automatically transitions a rover’s connection between the Ephemeris and VRTK streams by interpreting NMEA GGA messages received from the client.Documentation Index
Fetch the complete documentation index at: https://docs.tracenav.net/llms.txt
Use this file to discover all available pages before exploring further.
Responsibilities
- Authentication & authorization – validate device credentials, apply subscription limits, and record session metadata.
- Routing – map each rover to the nearest correction region using live GGA coordinates.
- Mode switching – deliver TraceAssist ephemerides before first fix, then upgrade to VRTK corrections automatically.
- SSR orchestration – feed state-space corrections into TraceNav VRTK so each rover receives a synthetic OSR stream tailored to its location.
- Resilience – maintain redundant caster pools and perform geo-fallback if connectivity drops.
State machine
| State | Trigger | TraceRouter action |
|---|---|---|
| Connect | TCP + NTRIP auth succeeded | Allocate session ID, attach to default region |
| Ephemeris mode | No valid GGA yet | Subscribe to /assist stream and repeat ephemerides every 5 s |
| VRTK mode | First valid GGA received | Switch to nearest VRS mountpoint, stream MSM4 corrections |
| Re-evaluate | GGA location change beyond cell bounds | Seamlessly hand off to new region/base |
| Disconnect | TCP closed or timeout | Release resources, log usage metrics, trigger alerts if configured |