Skip to content

Inputs and Outputs

iliyan85 edited this page Jul 9, 2026 · 3 revisions

Inputs and Outputs

This page covers direct AISMixer adapters. Station-side nmea_sproxy serial input and trusted plain UDP output are documented on Secure UDP and nmea_sproxy.

Direct Inputs

AISMixer directly accepts:

  • plain UDP over IPv4;
  • plain UDP over IPv6;
  • authenticated UDPSEC station input.

Direct processing accepts both !AIVDM and !AIVDO sentences from UDP and UDPSEC listeners.

Each configured UDP or UDPSEC listener can have an input-level allow_from ACL. See Network Endpoint Controls.

Plain UDP Input

udp_inputs:
  - id: roof_receiver
    listen_ip: "0.0.0.0"
    listen_port: 17778
    allow_from:
      - 192.0.2.15
      - 198.51.100.0/24

The canonical plain UDP source_id is selected in this order:

  1. udp:<input-id> when udp_inputs[].id is configured and non-empty;
  2. udp:<mapped-alias> when udp_alias_map_file maps the remote IP;
  3. udp:<remote-ip> as fallback.

The input ID or alias may also be used as emitted TAG s metadata when the global station_id is empty, but routing uses source_id, not TAG s.

UDPSEC Input

sec_inputs:
  - id: secure_listener_alias
    listen_ip: "::"
    listen_port: 29999
    allow_from:
      - 2001:db8:42::/64
      - 203.0.113.44

UDPSEC source_id comes from the authenticated station identity:

udpsec:<authenticated-station-id>

sec_inputs[].id is listener or TAG-alias metadata. It does not replace the authenticated routing identity.

Output

AISMixer output is UDP forwarding.

forwarders:
  - id: aishub
    host: 192.0.2.20
    port: 10110
    source_ip: 192.0.2.15

  - host: 127.0.0.1
    port: 19000

Named forwarders create routing targets:

udp:<forwarder-id>

Unnamed forwarders are valid in legacy broadcast mode but cannot be route targets.

forwarders[].source_ip optionally binds the outbound UDP socket to a literal local IPv4 or IPv6 address. When omitted, the operating system selects the source address. The source port remains automatically selected.

Only UDP egress is currently implemented.

Clone this wiki locally