-
Notifications
You must be signed in to change notification settings - Fork 0
Home
AISMixer combines AIS NMEA 0183 data from many receivers into clean logical
streams. Its service, aismixer, receives AIS sentences over plain UDP and
over UDPSEC, the project's authenticated and encrypted UDP transport;
reassembles multipart messages; removes near-real-time duplicates; manages NMEA
TAG metadata; and forwards the result to configured UDP destinations, either to
all of them or through logical routes. Stations use nmea_sproxy to send one
local UDP or serial receiver feed to the mixer, and aismixerctl is the local
operator CLI.
| Item | Status |
|---|---|
| Latest tagged release | v0.2.1 |
| OpenWrt packages |
0.2.1-r4 for OpenWrt 25.12 (x86_64, mips_24kc), built from v0.2.1 |
Current main
|
Contains unreleased UDPSECv2 session continuity: session locator, key-epoch refresh, authenticated path migration, liveness recovery |
| UDPSEC compatibility | Current main does not interoperate with v0.2.1 or 0.2.1-r4; keep both ends on one release line |
This Wiki describes current main unless a page says otherwise. Release lines,
the compatibility matrix, and upgrade advice are on
Release and Compatibility.
| Layer | Role |
|---|---|
| Website | Concise public presentation |
| README | Canonical project and operator overview (English, Bulgarian, Romanian) |
nmea_sproxy guide |
Canonical component operator guide |
| This Wiki | Deeper architecture, deployment, protocol, and troubleshooting topics |
| Behavioural contract | Exact, tested, normative semantics |
If a Wiki page and the source or contract disagree, the source and contract win and the Wiki is corrected.
- First deployment: Quick Start, then Installation and Operations or OpenWrt Deployment.
-
Remote or mobile stations: Secure UDP and
nmea_sproxy, UDPSECv2 Secure Transport, and Mobile Session Continuity. - Something is not working: Troubleshooting.
- Security review: Security Model and Network Endpoint Controls.
- Contributors: Architecture Overview and Behavioural Contract map.
| Area | Pages |
|---|---|
| Deploy and operate | Quick Start · Installation and Operations · OpenWrt Deployment · Configuration · Troubleshooting · Release and Compatibility |
| Secure transport and stations |
UDPSECv2 Secure Transport · Mobile Session Continuity · Secure UDP and nmea_sproxy · Security Model · Network Endpoint Controls
|
| Processing | Architecture Overview · Processing and Routing Model · Inputs and Outputs · Multipart NMEA Assembly · TAG Handling · Deduplication |
| Routing and control | Routing Engine · Runtime Routing Control · Runtime Observability |
| Reference | State, Lifecycle, and Limits · Data Representation, Processor, and Runtime Boundary · Behavioural Contract map · Operational Boundaries · Testing and Compatibility · Glossary |
| Project | Roadmap · Architecture Evolution · Native-Ready Reference Foundation · Community and Contact |
aismixer is one long-running Python process. UDP and UDPSEC listeners turn
accepted datagrams into immutable IngressFrame objects in bounded per-input
queues. A bounded admission step binds each frame to the current routing
snapshot, and one PythonDataPlaneProcessor scans, reassembles, applies TAG
policy, and deduplicates, returning an ordered OutputBatch of exact bytes
that a bounded egress stage sends over UDP. Full stages apply backpressure
instead of dropping queued work. Worker readiness is implemented inside this
one process; worker processes and a native processor are not. See
Architecture Overview.
Implemented: plain UDP and UDPSEC ingress; nmea_sproxy UDP and serial/USB
input with UDPSEC or explicit plain-UDP output; multipart assembly; TAG s,
c, and g handling; global or per-target deduplication; logical routing;
runtime routing replacement and read-only statistics through aismixerctl;
Debian-family systemd and OpenWrt procd deployment.
Not implemented: worker processes, IPC, or a native processor; persistent or hot-reloaded routing; remote authenticated control; non-UDP egress; geographic or MMSI filtering; long-term storage or analytics; AIS spoof or anomaly detection. See Operational Boundaries and Roadmap.
- Quick Start
- Installation and Operations
- OpenWrt Deployment
- Configuration and Examples
- Troubleshooting
- Release and Compatibility
- UDPSECv2 Secure Transport
- Mobile Session Continuity
- Secure UDP and
nmea_sproxy - Security Model
- Network Endpoint Controls