Why the aircraft dials out
Every Atlas link has its own UDP socket bound to its modem (bind_device). The aircraft sends its handshake from each socket to the hub’s public address; the carrier’s NAT creates a mapping per socket, and persistent_keepalive keeps each mapping warm through silence. The hub learns the aircraft’s current public address from the handshake and follows it when a modem re-attaches (endpoint_roaming, on by default). No inbound port is ever needed on the aircraft. On the hub, each tenant daemon has one link per modem slot, each on its own UDP port, with hole punching on ([traversal]): an aircraft admitted at handshake time gets a real address on the link its handshake arrived on, and punching fills the other slots, so the hub reaches the aircraft over every modem, not only the first. Hole punching