mirror of
https://github.com/MidnightBlueLabs/tetra-bluestation.git
synced 2026-09-01 16:58:18 +00:00
192 lines
7.0 KiB
TOML
192 lines
7.0 KiB
TOML
# TETRA BlueStation example configuration file
|
|
# This is an example configuration file for the TETRA base station stack
|
|
# DO NOT RUN without editing to stay within legal limits of your jurisdiction
|
|
|
|
config_version = "0.6"
|
|
|
|
# Stack operation mode: "Bs" (Base Station), "Ms" (Mobile Station), or "Mon" (Monitor)
|
|
stack_mode = "Bs"
|
|
|
|
# Uncomment to record debug log. Files get large quickly and generate additional system load
|
|
# debug_log = "./verbose_log.txt"
|
|
|
|
###############################################################################
|
|
|
|
# PHY layer i/o configuration
|
|
|
|
[phy_io]
|
|
|
|
# Input type: set to SoapySdr. May allow for future non-soapy RF backends.
|
|
backend = "SoapySdr"
|
|
|
|
# DEBUG/TESTING code. Capture files get large quickly.
|
|
# dl_tx_file = "./dl_output.bin" # Debugging; uncomment to save generated DL RF samples to file
|
|
# ul_rx_file = "./ul_output.bin" # Debugging; uncomment to save received UL RF samples to file
|
|
|
|
[phy_io.soapysdr]
|
|
# Transmit tx(dl) and rx(ul) frequencies in Hz
|
|
# !!! Make sure to also edit all related fields in the cell_info section to fit this frequency.
|
|
tx_freq = 438025000
|
|
rx_freq = 433025000
|
|
|
|
# Adjust if your SDR has a non-negligible tuning error
|
|
# ppm_err = 0.0
|
|
|
|
################################################################################################
|
|
## OPTIONAL: specific device, antenna, gain selection ##
|
|
## Make sure to check your device for valid settings using SoapySDRUtil --probe ##
|
|
## or check: https://github.com/MidnightBlueLabs/tetra-bluestation-docs/wiki/03-Configuration ##
|
|
################################################################################################
|
|
|
|
# Optional device selection arguments.
|
|
# If not specified, the first supported device found is selected automatically.
|
|
# You may need to specify this if you have multiple supported device connected,
|
|
# or if your device cannot be automatically detected by enumeration.
|
|
# For example, to use a Pluto+ with a given IP address:
|
|
# device = "driver=plutosdr,uri=ip:192.168.42.42"
|
|
# To select a LimeSDR with a given serial number (check with SoapySDRUtil --find):
|
|
# device = "driver=lime,serial=123456789"
|
|
|
|
# Optional antenna selection to override device-specific defaults
|
|
# Check antenna names with SoapySDRUtil --probe
|
|
# rx_antenna = "LNAW"
|
|
# tx_antenna = "BAND2"
|
|
|
|
# Optional gain values to override device-specific defaults.
|
|
# Check valid gain names with SoapySDRUtil --probe
|
|
# For example, to increase transmit power on a LimeSDR:
|
|
# tx_gain_pad = 50.0
|
|
# To adjust LNA gain to optimize RX performance on a LimeSDR, SXceiver, or µCell:
|
|
# rx_gain_lna = 30.0
|
|
|
|
###############################################################################
|
|
|
|
# Network Information
|
|
[net_info]
|
|
# Mobile Country Code (MCC) - identifies your country
|
|
mcc = 204 # Netherlands
|
|
|
|
# Mobile Network Code (MNC) - identifies the TETRA network
|
|
# MAKE SURE MNC MAY BE USED, CONSULT RELEVANT AUTHORITIES IF NEEDED
|
|
mnc = 1337
|
|
|
|
# Cell Information
|
|
[cell_info]
|
|
|
|
# These parameters specify the DL and UL frequencies
|
|
# Read the spec if in doubt. Make sure these match the tx/rx freqs as given above
|
|
# See ETSI TS 100 392-15 V1.5.1 Clause 6: Duplex spacing
|
|
freq_band = 4 # 400MHz band
|
|
main_carrier = 1521 # + 1521 * 25kHz = 38250kHz
|
|
duplex_spacing = 4 # Use 5MHz spacing between ul and dl (for 400 MHz band)
|
|
# custom_duplex_spacing = 7600000 # Don't uncomment unless you have programmed a custom duplex spacing entry in your radios
|
|
freq_offset = 0 # Offset from carrier. Usually 0. Options: 0, 6250, -6250, 12500.
|
|
reverse_operation = false # False: UL below DL. True: UL above DL.
|
|
|
|
# Location Area identifier
|
|
location_area = 2
|
|
|
|
# Colour code (0-63), helps distinguish between adjacent cells on the same frequency
|
|
colour_code = 1
|
|
|
|
###############################################################################
|
|
|
|
# OPTIONAL: Additional cell parameters
|
|
# WIP; uncomment and configure as needed, many are not currently implemented,
|
|
# defaults should be fine
|
|
|
|
# Neighbor cell broadcast settings
|
|
# neighbor_cell_broadcast = 0
|
|
|
|
# Cell load (Channel Allocation) - current load
|
|
# cell_load_ca = 0
|
|
|
|
# Late entry support - allows joining ongoing group calls
|
|
# late_entry_supported = true
|
|
|
|
# Subscriber class - defines which MS classes can access this cell
|
|
# subscriber_class = 0xFFFF
|
|
|
|
# Registration and mobility features
|
|
# registration = true
|
|
# deregistration = true
|
|
# priority_cell = false
|
|
# no_minimum_mode = false
|
|
# migration = false
|
|
|
|
# Service availability flags
|
|
system_wide_services = true # If false, radios will operate in fallback mode (ignored when Brew enabled)
|
|
voice_service = true
|
|
# circuit_mode_data_service = true
|
|
# sndcp_service = true
|
|
# aie_service = false
|
|
# advanced_link = false
|
|
|
|
# System code (0-15) - identifies the TETRA system version
|
|
# system_code = 0
|
|
|
|
# Sharing mode for the main control channel
|
|
# sharing_mode = 0
|
|
|
|
# Reserved frames for time slot allocation
|
|
# ts_reserved_frames = 0
|
|
|
|
# Discontinuous Transmission (DTX) on user plane
|
|
# u_plane_dtx = false
|
|
|
|
# Frame 18 extension support
|
|
# frame_18_ext = false
|
|
|
|
# Max MS TX power in cell: 0=Rsvd 1=15 2=20 3=25 4=30 5=35 6=40 7=45 dBm
|
|
# ms_txpwr_max_cell = 4
|
|
|
|
# IANA timezone for D-NWRK-BROADCAST time broadcasting. When set, the BS will
|
|
# broadcast UTC time and local time offset once per hyperframe (~61s) so MSs
|
|
# can synchronize their clocks. Handles DST automatically.
|
|
# timezone = "Europe/Amsterdam"
|
|
|
|
# Local SSI ranges for this cell. Traffic for these ranges will not leave the cell
|
|
# This overrides any settings in brew section, if enabled.
|
|
# Also, incoming brew traffic on those ranges will be dropped
|
|
# Range end is INCLUSIVE, so the range end number IS inside the ranges
|
|
local_ssi_ranges = [
|
|
[0, 90],
|
|
]
|
|
|
|
###############################################################################
|
|
|
|
# Brew protocol: Connect to TetraPack/BrandMeister server via TETRA Homebrew Protocol.
|
|
# All groups that radios attach to are forwarded to Brew as affiliations.
|
|
# Uncomment this section to automatically load and use Brew entity
|
|
# See: https://wiki.tetrapack.online/books/tetra/page/brew
|
|
|
|
# [brew]
|
|
|
|
# Server address
|
|
# host = "core.tetrapack.online"
|
|
# port = 443
|
|
|
|
# Use TLS (wss:// / https://)
|
|
# tls = true
|
|
|
|
# HTTP Digest auth credentials, as registered in BrandMeister
|
|
# Username should be your SSID (DMR ID + 2-digit suffix).
|
|
# Password is your BrandMeister hotspot password.
|
|
# username = 123456700
|
|
# password = "012345"
|
|
|
|
# Reconnection delay (seconds)
|
|
# reconnect_delay_secs = 15
|
|
|
|
# Optional: additional initial latency compensation in frames for inbound Brew jitter playout.
|
|
# Adaptive jitter buffering is always enabled; this adds fixed startup delay if needed.
|
|
# jitter_initial_latency_frames = 0
|
|
|
|
# Enable SDS forwarding between local and Brew clients. Enabled by default.
|
|
# feature_sds_enabled = true
|
|
|
|
# Uncomment to allow only calls for select SSIs to be transmitted over Brew
|
|
# SDS works for all SSIs, currently, but the SDS over Brew feature may be fully disabled.
|
|
# If left commented, all (outside of local_ssi_ranges) calls are allowed over Brew
|
|
# whitelisted_ssis = [91]
|