Files

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]