| db_FleetGroupTable.png | ||
| db_FleetTable.png | ||
| db_GroupTable.png | ||
| db_userTable.png | ||
| readme.md | ||
| TETRAcell_logo.png | ||
TETRAcell
Overview
TETRAcell is an SDR-based TETRA base station platform providing a modular, scalable, and flexible implementation of the TETRA air interface. The project focuses on a clean software-defined architecture, enabling rapid prototyping, experimentation, and future extensions of professional TETRA radio networks.
TETRAcell is designed as a research and development platform, while keeping professional-grade requirements such as robustness, determinism, and clarity of system structure in mind.
Key Features
- Software-defined radio (SDR) based TETRA base station
- Modular architecture (PHY / MAC / higher layers)
- Clear separation of signal processing and control logic
- Scalable and extensible design
- Suitable for lab setups, prototyping, and system evaluation
Architecture Overview
TETRAcell follows a layered and modular architecture:
-
RF / SDR Layer
Hardware abstraction and baseband I/Q streaming -
PHY Layer
TETRA physical layer processing (modulation, demodulation, synchronization) -
MAC Layer
Medium access control, timeslot handling, and scheduling -
Control & Management
Configuration, monitoring, and system control interfaces
This structure allows individual components to be developed, tested, and replaced independently.
Use Cases
- TETRA air interface research
- SDR-based base station prototyping
- Algorithm development and evaluation
- Educational and internal R&D purposes
Project Status
🚀 Release Repository
This repository contains release artifacts only. Source code, development branches, and internal tools are not included.
Database-Based Configuration
TETRAcell uses a database-driven configuration model to define users, fleets, and talk groups.
This allows centralized management of registration and group attachment without changing application logic.
You can access the SQL Database with standard tools like HeidiSQL.
User: tetra
Password: tetra
🛠️ Database Setup Guide: MariaDB
This guide explains how to install and configure MariaDB for the TETRAcell project. MariaDB is the recommended choice as it is fully compatible with MySQL but easier to install on modern Debian systems.
1. Installation
Run these commands in your terminal to install MariaDB and start the service:
# Update package lists
sudo apt update
# Install MariaDB Server
sudo apt install mariadb-server -y
# Start the service
sudo service mariadb start
2: User & Permissions Configuration
Once MariaDB is installed and running, you must create the tetra user. This user is required to access the database.
Open the MariaDB Console and add user
Type the following command in your terminal:
sudo mariadb
CREATE USER IF NOT EXISTS 'tetra'@'%' IDENTIFIED BY 'tetra';
GRANT ALL PRIVILEGES ON *.* TO 'tetra'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
User Table
The UserTable defines individual TETRA terminals (subscribers).
Each user entry contains:
- ISSI – the unique subscriber identity (mandatory)
- Fleet ID – reference to the fleet the user belongs to
- Optional metadata (e.g. name, IP address, permissions)
The ISSI is required for registration and identification within the system.
The Fleet ID determines the fleet context and indirectly the permitted talk groups.
Fleet Table
The FleetTable defines available fleets.
Each fleet entry consists of:
- ID – internal fleet identifier
- Name – human-readable fleet name
A fleet represents a logical container for users and defines which talk groups are accessible.
Group Table
The GroupTable defines all available talk groups.
Each group entry contains:
- ID – internal group identifier
- Name – descriptive group name
- GSSI – Group Short Subscriber Identity
The GSSI is used on the TETRA air interface for group attachment and group calls.
Fleet–Group Mapping
The FleetGroupTable defines which groups are assigned to which fleets.
Each entry maps:
- Fleet ID
- Group ID
This mapping controls which groups a user is allowed to attach to based on their fleet membership.
Only groups explicitly linked to a fleet are permitted for group attachment.
Functional Summary
- Users are identified by their ISSI
- Each user belongs to exactly one fleet
- Fleets define access rights to talk groups
- Groups are identified on-air by their GSSI
- The FleetGroupTable enforces group access per fleet
This structure enables flexible, database-driven control of registration and group attachment behavior.
System Parameters
The following system parameters are currently fixed for the early alpha stage:
- MCC (Mobile Country Code):
262(Germany) - MNC (Mobile Network Code):
9 - Downlink Frequency (TX):
420 MHz - Uplink Frequency (RX):
410 MHz
These parameters define the basic network identity and RF configuration used during alpha testing.
Quick Start
The release package includes a prebuilt executable. To start TETRAcell, make the binary executable and run it:
chmod +x InitMobilityManagementDatabase
./InitMobilityManagementDatabase
chmod +x TetraStack
./TetraStack
Ensure that your SDR hardware is connected and properly configured before starting the application.
Disclaimer
This project and its release artifacts are provided for internal use, evaluation, and demonstration purposes only.
- Commercial use is strictly prohibited.
- Reproduction, redistribution, or modification of this project or its binaries is not permitted without prior written approval.
- Any use beyond the intended scope requires explicit coordination with the project owner.
License
All rights reserved.
This software and its associated release artifacts are proprietary.
- Commercial use is strictly prohibited.
- Reproduction, redistribution, modification, or reverse engineering is not permitted without prior written consent.
- This project may only be used for internal evaluation and demonstration purposes.
Any use outside this scope requires explicit approval from the copyright holder.
Copyright
© Simon Friedrich



