Data integration engine

Turn radios, sensors, and SCADA into live CoT

A managed FeedIngestHost connects to decoded radio and industrial sensor streams, normalizes each payload through a single JsonSensorParser, and publishes group-scoped CoT onto the bus — with live bbox + predicate filtering that updates without reconnecting.

Cross-format normalization accepts lat/lon or latitude/longitude, nested gps, GeoJSON geometry.coordinates, Zigbee2MQTT friendly_name + telemetry, ieee_address, and scada_tag. No-fix (0,0) reads are auto-skipped.

Honest scope: the engine ingests decoded feeds (KISS/AX.25 TNC output, APRS-IS, MQTT/SCADA gateways, Zigbee2MQTT). Native in-process SDR demodulation is a future TAK Edge capability.
Feed typeURL scheme
AprsKisskiss://host:port
AprsIsaprs-is://rotate.aprs2.net:14580
MqttSensormqtt:// · mqtts://
ScadaMqttmqtts://broker:8883/?topic=scada/#
UdpJsonudp://0.0.0.0:19000

CoT as the integration backbone

One bus, every consumer

Three independent synthesizers — feed sensors, KLV/MISB video, and ExCheck task features — all funnel into a single in-process CotHub. Every CoT event carries a <tmg_feed name=… source=…/> detail tag so you can trace provenance.

  • Group routing (OUT ∩ IN) on every fan-out path
  • Async DuckDB persistence — I/O never blocks fan-out
  • Columnar Apache Arrow + Parquet export — skip JSON entirely
Feed sensors KLV / MISB video ExCheck features CotHub ATAK COP DuckDB

Full-motion video & ISR metadata

ISR video becomes a live, georeferenced overlay

Tap KLV-bearing MPEG-TS streams (UAS, airborne ISR turrets, anything carrying STANAG-4609 / MISB 0601), decode the metadata, and synthesize CoT events: a moving air-platform marker and a sensor-footprint polygon.

This is the capability the official TAK Server lacks — ISR video becomes part of the tactical picture instead of just a video pane.

Decoded MISB 0601 tags

Platform heading/pitch/roll · sensor lat/lon/alt · sensor horizontal FOV · sensor relative azimuth/elevation · slant range. Unknown tags are skipped by length, so it's forward-compatible with newer revisions.

u-d-f sensor footprint a-f-A-M-F platform flat-earth frustum projection

ffmpeg pipeline

Supervised transcode (H.265→H.264 for ATAK), file loop, pull remote, and clip export.

MediaMTX hub

Bundled relay for RTSP / HLS / SRT / RTMP multi-protocol rebroadcast.

DVR & clip export

Segmented recording → on-demand HLS timeshift → ffmpeg splice with optional telemetry burn-in.

Collaboration fusion

GeoChat, voice, and video on one CoT bus

A deep integration with a paired Fluxer instance fuses GeoChat messaging, user profiles, attachments, and LiveKit voice/video calling into a single plane — reusing the existing CotHub, group authorization, and content-addressed package store rather than introducing parallel subsystems.

  • Identity federation: one TAK identity is the source of truth across all three systems
  • Threaded GeoChat ↔ Fluxer bridge with HMAC-verified inbound webhook
  • Voice/video calls signaled over CoT, media over LiveKit (no new auth code)
  • Presence fusion: LiveKit/Fluxer activity synthesizes presence CoT automatically

All features are off by default — an unconfigured deployment behaves exactly as before.

TAK Server Fluxer LiveKit GeoChat CoT identity · chat · attachments call signaling presence synthesis

Multitenancy (SaaS-ready)

Isolated TAK environments from one deployment

Each tenant gets a private data directory with its own DuckDB file, JSON stores, identity, missions, feeds, and certificate authority. Cross-tenant CoT delivery is structurally impossible because every tenant has its own CotHub instance.

DemuxSurface
TLS SNICoT TLS (8089) & Marti mTLS (8443)
Host header / pathWeb admin, COP, REST
COP login claimtenant_id pins user to tenant

Off by default (single default tenant = prior behavior). Scale target: <50 tenants per host with no Redis backplane required.

Tenant A CotHub · DuckDB identity · CA missions · feeds Tenant B CotHub · DuckDB identity · CA missions · feeds Shared host SNI / Host demux shared ports no cross-tenant CoT path

Marti & CoT compatibility

Enrolls ATAK, WinTAK, and iTAK out of the box

A practical host that enrolls clients, streams CoT (XML + protobuf), and answers the Marti probes ATAK/WinTAK hit during connect, mission, sync, and enrollment flows.

PortProtocolRole
8087TCPPlain CoT streaming (XML → protobuf)
8089TLS / mTLSSecure CoT streaming (client cert required)
6969UDPCoT datagram input (+ Mesh SA multicast)
8443HTTPS / mTLSMarti API + TLS enrollment
18443HTTPAdmin API + Blazor /console + COP /cop
9000TLSServer-to-server federation

Protobuf negotiation

TAK Protocol v1 advertised → client request → server response → framed 0xbf messages.

Local CA enrollment

tls/configsignClient/v2 issues client certs from a per-tenant CA.

~95-op probe surface

Bootstrap, contacts, CoT, users/groups, files/sync, missions, video, tiles, ExCheck, federation.

Honest gap: not 100% parity with the full TAK Server OpenAPI (~391 operations). TeamTrack targets the primary ATAK / WinTAK probe surface — connect, enroll, stream, mission, sync — not every admin-console operation. Plugins are not supported.

Ready to see it run?

Get a guided walkthrough on your own network, or start a self-host trial.