Satellite communication is no longer a back-echelon capability. LEO constellations have compressed terminal hardware to a form factor that fits in a patrol pack, and the proliferation of commercial wideband services alongside legacy narrowband military systems means a dismounted team may have access to three or four distinct satellite links depending on theater. The software engineering challenge is not getting the signal -- it is building field applications that treat SATCOM as one transport among several, adapt their behavior to the link budget available, and maintain situational awareness through the inevitable gaps. This article covers the architecture decisions required to integrate SATCOM into tactical field applications: constellation trade-offs, bandwidth planning for CoT and mesh traffic, store-and-forward patterns, prioritization, terminal-specific integration points, cryptography, and hybrid fallback design.
SATCOM options for dismounted forces: LEO, MEO, and GEO trade-offs
The three orbital regimes available to tactical users present fundamentally different trade-offs across latency, bandwidth, terminal size, and coverage. Geostationary (GEO) satellites at 35,786 km altitude deliver continuous coverage with a fixed-dish terminal, but the 500--600 ms round-trip propagation delay eliminates real-time interactive applications and imposes a measurable cost on TCP performance: a single unacknowledged segment stalls the sender for over half a second, and untuned TCP congestion windows perform far below the link's theoretical capacity on high-latency paths. GEO systems such as Inmarsat BGAN remain operationally useful for batch SITREP uploads, file transfer, and satellite-delivered maps, but the latency profile requires application developers to explicitly avoid synchronous request-response patterns across the link.
Low Earth Orbit (LEO) constellations resolve the latency problem: Starlink terminals in a flat-panel form factor produce 20--40 ms round-trip times, enabling interactive CoT, voice over IP, and low-latency video. The trade-off is terminal power draw, which runs 40--100 W for a consumer-grade flat-panel dish, and the requirement to track a moving satellite or hand off between satellites as they traverse the sky. Medium Earth Orbit (MEO) and the Iridium constellation at approximately 780 km operate differently: Iridium provides genuine global coverage including polar regions where GEO satellites have no geometry, but channel capacity is narrow -- 2.4 kbps per circuit-switched channel to 22 kbps on Iridium RUDICS. For dismounted infantry with no power source beyond batteries, Iridium is often the only viable option, and the software must be architected around a link that costs orders of magnitude more per kilobyte than any commercial service.
The practical selection criterion for a tactical application is not which constellation is best in the abstract, but which terminals will be present in the unit's equipment table. Software must abstract the physical link behind a transport interface that exposes goodput, latency, and cost-per-byte estimates so higher layers can adapt their behavior to whatever is available. A mission that starts with Starlink for its first 48 hours may transition to Iridium-only when the generator runs dry, and the application should degrade gracefully rather than stop functioning.
Bandwidth budgeting for CoT, SITREP, and video over satellite
The first step in integrating SATCOM into a field application is building a realistic bandwidth budget for each operational scenario. CoT position reports are compact: a single XML position event for one ATAK client compresses to roughly 200--500 bytes after zlib deflate, and at a 30-second reporting interval a squad of 12 generates approximately 2--4 kbps of uplink traffic. This fits comfortably on a BGAN or Iridium RUDICS session, but the COP is not just position data. Chat messages, SITREP forms, contact reports, and sensor feeds each consume additional capacity, and the downlink -- TAK Server pushing the assembled COP to all clients -- can easily exceed the uplink by a factor of three or four when a large force picture is in scope.
Video is the budget-breaker. A single H.264 stream at 640x480 resolution and 15 fps typically requires 200--500 kbps to maintain acceptable quality for target identification. On an Iridium link, video is simply not viable. On a BGAN Standard IP session (typically 492 kbps symmetrical), a single compressed stream is feasible but leaves no headroom for anything else. Architects must decide whether video is a defined capability or an opportunistic add-on that activates only when a high-bandwidth link (Starlink, military wideband terminal) is present. The application should detect available goodput at startup and at regular intervals, adjust the video encoder bitrate to fit within the allocated slice of the budget, and suspend video transmission automatically if CoT or messaging traffic approaches the link ceiling.
Binary CoT encoding reduces position report size by a further 40--60% compared to compressed XML, and protocol-level batching -- combining multiple short messages into a single IP packet -- reduces per-message overhead significantly on high-latency links where TCP ACK cycles are expensive. Both optimizations are particularly valuable on Iridium, where every kilobyte has a non-trivial airtime cost and the link budget for a 24-hour patrol may be measured in tens of megabytes rather than gigabytes.
Store-and-forward patterns for intermittent satellite links
Satellite visibility is not continuous for dismounted forces operating in complex terrain. A patrol moving through a valley loses Starlink contact as soon as the dish falls below the minimum elevation angle -- typically 25 degrees for flat-panel LEO terminals. Iridium passes are finite: a single satellite is in view for roughly 10 minutes, and during the 30--90 seconds between passes the link is unavailable. In either case, the field application must handle link absence without data loss and without requiring operator intervention.
The store-and-forward pattern solves this at the messaging layer. Outgoing messages are written to a persistent local queue (an SQLite database with a WAL journal is a reliable choice for embedded platforms) before the application attempts transmission. If the link is unavailable, the message stays in the queue. When the link restores -- whether because a new satellite comes into view, because the patrol crests the ridge and regains Starlink geometry, or because a MANET gateway comes within range -- the queue drains in priority order. Each message carries its CoT stale time, and the dequeue logic checks whether the current wall-clock time exceeds that expiry before transmitting: a position report that expired 10 minutes ago should be discarded rather than injected into the COP as current data. The receiving TAK Server should similarly enforce stale-time filtering rather than accepting any message regardless of age.
Key insight: Store-and-forward correctness depends on accurate clocks at both ends of the link. If the field device clock drifts relative to the server while the link is down, replayed messages may appear to arrive before they were sent, or may be discarded as expired when they are actually fresh. GPS-disciplined clocks solve this for devices with GNSS receivers; for devices without, NTP synchronization must run immediately on link restoration before the message queue begins draining. A 60-second clock offset is enough to cause systematic stale-message discard on a 5-minute link outage with tight CoT expiry windows.
Link-budget-aware message prioritization
When link capacity is constrained, the application must make explicit decisions about which traffic gets through and which gets deferred or dropped. Ad hoc priority schemes that evolved organically from "whatever the developer assumed" consistently fail in the field because mission requirements differ between a mounted patrol, a fixed observation post, and an airborne command element. Priority must be a configurable parameter, not a compile-time constant.
A four-class scheme maps well to tactical realities. Emergency traffic -- CASEVAC requests, contact reports with active engagement data, and force-protection alerts -- receives unconditional transmission priority and should never be dropped regardless of link state. High-priority traffic covers routine commander position updates, TAK Server health checks, and time-sensitive SITREP data. Normal traffic is standard blue-force tracking for all other unit members. Background traffic handles imagery bundles, map tile updates, and log uploads. A token-bucket scheduler per class, with bucket sizes derived from the bandwidth budget, ensures that emergency traffic gets its allocation even when background traffic is filling the link. When goodput drops below the budgeted allocation -- detected by measuring ACK round-trip times against the expected link latency -- the scheduler reduces token refill rates for normal and background classes while holding emergency and high-priority rates constant.
The priority mapping must account for the cost model of the link in use. On a flat-rate Starlink session, there is no incremental cost to transmitting background traffic during a period of low tactical activity. On an Iridium connection billed per kilobyte, background traffic should be suppressed entirely unless the operator explicitly triggers a data session. The transport abstraction layer should expose a cost-sensitivity flag alongside goodput and latency so the priority scheduler can apply cost-aware rules rather than throughput-only rules.
Integration with Iridium, Starlink, and wideband military SATCOM terminals
Each terminal family presents a different integration surface. Iridium modems expose a serial AT command interface for circuit-switched calls and an IP stack over RUDICS or SBD (Short Burst Data). SBD is particularly important for the lowest-bandwidth scenarios: each SBD message carries up to 340 bytes mobile-originated and 270 bytes mobile-terminated, making it suitable for compressed CoT position reports and short text messages but not for anything requiring multiple kilobytes. The RUDICS service provides a TCP/IP session with rates up to 22 kbps, adequate for CoT and chat but requiring disciplined compression and batching to serve a full squad. Integration requires handling modem state transitions explicitly -- the AT+SBDI command initiates an SBD session, and the application must poll for incoming messages since there is no persistent TCP socket as there would be on a broadband link.
Starlink integration is straightforward by comparison: the terminal presents a standard Ethernet interface with DHCP, and the application sees it as a regular broadband uplink. The engineering work lies in handling link transitions gracefully and in correctly estimating the available throughput. Starlink goodput varies with satellite geometry, obstructions, and network congestion; the application should measure actual goodput rather than assuming the nominal 50--200 Mbps specification applies in all conditions. Military-grade Starlink terminals add encrypted communications and anti-jam features but expose the same IP interface to applications above the terminal layer.
Wideband military SATCOM terminals (covering X-band, Ka-band, and UHF MILSATCOM systems) typically integrate via a modem that exposes an IP interface to the vehicle or shelter network. The same radio software integration principles that apply to tactical radios apply here: the application should not assume the underlying bearer and should treat the modem's IP interface as an abstract link with measured quality parameters. Some military SATCOM modems expose quality indicators via SNMP or proprietary APIs; where available, these should feed the link-quality monitor rather than relying purely on TCP-level measurements.
Cryptography and authentication over satellite links
Satellite links traverse space and ground infrastructure outside the control of the tactical unit. Traffic on commercial LEO and GEO services transits commercial ground stations and peering points that are not under military classification controls, regardless of the encryption the terminal vendor may apply at the link layer. Field applications must therefore apply end-to-end encryption above the SATCOM layer, treating the satellite link as an untrusted bearer in the same way a commercial cellular network is treated.
For CoT traffic over TAK Server, TLS 1.3 between the ATAK client and TAK Server provides confidentiality and server authentication. Mutual TLS with client certificates provides stronger authentication than password-based approaches and is the correct architecture for tactical deployments. Certificate management over satellite links presents a practical challenge: certificate revocation checks and OCSP stapling require connectivity that may not be available, and certificate enrollment for new devices requires a reachable PKI endpoint. Solutions include pre-loading device certificates before deployment, using a local PKI server at the forward command element, or implementing offline certificate validation with a pre-downloaded CRL. The cryptographic requirements for tactical messaging overlap directly with SATCOM-transported CoT: the transport changes but the key management architecture does not.
Authentication tokens and session keys must be sized for the link budget. A TLS handshake over an Iridium RUDICS link at 22 kbps consumes approximately 8 kilobytes of data and takes 3--5 seconds to complete, which is acceptable at session initiation but prohibitive if the application re-authenticates on every message. Session resumption via TLS session tickets dramatically reduces reconnect overhead for links with frequent short outages: a 256-byte session ticket replaces the full certificate exchange, reducing reconnect time to under one second even on a narrow link.
Hybrid routing: MANET, SATCOM, and cellular fallback
No single link covers all operational scenarios, and the most resilient architecture treats SATCOM, MANET mesh networking, and cellular as peers in a hybrid routing fabric rather than as a primary link with manual backup procedures. The routing layer monitors each interface continuously, scoring each on a composite metric of goodput, latency, packet loss rate, and cost-per-byte. When the active interface score falls below a threshold -- or when the interface reports a physical layer failure -- the router promotes the next-best available interface and re-establishes the TAK Server connection over the new path.
The session continuity requirement is the engineering challenge in hybrid routing. A CoT subscription to TAK Server is stateful: the server tracks which client is subscribed to which feed, and a reconnect from a new IP address (which may occur when switching from Starlink to cellular) must re-establish the subscription without requiring the operator to manually navigate through a settings menu. Implementing reconnect-with-resume at the TAK client layer -- storing the subscription state locally and replaying it on reconnect -- solves this. The server-side counterpart is a short grace period before a client is considered disconnected, allowing the client time to reconnect on a new link without the server broadcasting a departure event to all other clients.
In environments where all external links are unavailable simultaneously -- a GPS-denied, communications-contested environment where both SATCOM and cellular are jammed -- the MANET mesh provides the final fallback layer. CoT multicast over UDP within the mesh continues to function as long as at least one radio path exists between nodes, providing local situational awareness for the squad even when no connection to higher echelons is possible. The routing software should detect complete external isolation and switch to local-only mode explicitly rather than continuing to queue messages for a link that is not expected to return within the mission window.
Manage SATCOM and hybrid connectivity with TAKpilot
TAKpilot manages CoT traffic, message prioritization, and hybrid connectivity across MANET, SATCOM, and cellular links, ensuring situational awareness reaches operators regardless of which link is active.
This analysis was prepared by Corvus Intelligence engineers who build mission-critical ISR and field applications for defense and government organizations. Learn about our team →