Skip to main content

Overview

The Federation component enables FreeTAKServer to connect with other TAK servers, facilitating inter-server communication, data sharing, and collaborative operations. It supports federation with both modern FreeTAKServer instances and legacy TAK servers, enabling seamless integration across diverse TAK ecosystems.

Architecture

Component Structure

Key Classes

FederationFacade

Location: FreeTAKServer/components/extended/federation/federation_facade.py:9

FederationGeneralController

Location: FreeTAKServer/components/extended/federation/controllers/federation_general_controller.py:8

FederationController

Location: FreeTAKServer/components/extended/federation/controllers/federation_controller.py:13 Handles federation business logic and CoT parsing:

Core Functionality

Server Connection Management

Connecting to FreeTAKServer

Connecting to Legacy TAK Server

Disconnecting from Server

CoT Message Federation

Sending CoT to Federated Server

Broadcasting CoT

Presence Synchronization

Creating Presence

Updating Presence

Deleting Presence

Chat Federation

One-to-One Chat

Broadcast Chat

File Sharing

Federation Architecture

Connection Types

SSL/TLS Federation:
  • Secure encrypted connections
  • Certificate-based authentication
  • Mutual TLS support
TCP Federation:
  • Non-encrypted connections (for internal networks)
  • IP-based filtering

Data Flow

Inbound Flow:
  1. Federated server sends data
  2. Federation component receives and validates
  3. Data routed to local clients
  4. Processed by appropriate components
Outbound Flow:
  1. Local component generates data
  2. Federation component serializes
  3. Filters applied (groups, permissions)
  4. Transmitted to federated server(s)

Configuration

Federation Constants

File: federation_constants.py

Server Configuration

Message Filtering

Federation supports filtering of federated data:

Serialization

Method: serialize_federation() Supports multiple serialization formats:

Complete Federation Example

Best Practices

  1. Security: Always use SSL/TLS for production federations
  2. Filtering: Configure appropriate message filters to reduce traffic
  3. Monitoring: Monitor federation connection health
  4. Credentials: Securely manage certificates and keys
  5. Testing: Test federation links before operational use
  6. Documentation: Document all federated server configurations
  7. Redundancy: Configure multiple federation paths for reliability

Troubleshooting

Connection Issues:
  • Verify network connectivity
  • Check certificate validity
  • Confirm port accessibility
  • Review firewall rules
Data Not Federating:
  • Check filter configurations
  • Verify group memberships
  • Review action mappings
  • Confirm serialization format