TalkGroups Changelog What is BrandMeister Joining BrandMeister Policies and Rules Protocols WordWide Andorra Argentina Australia Austria Belgium Brazil Bulgaria Canada Chile China Colombia Czech Denmark Dominican Republic El Salvador Finland France Germany Greece Hungary Ireland Israel Italy Japan South Korea Malaysia Mexico Morocco the Netherlands Norway Panama Peru Philippines Poland Portugal Romania Russia Serbia Slovakia Slovenia South Africa Spain Sri Lanka Sweden & Åland Islands Switzerland Taiwan Thailand Türkiye Ukraine United Kingdom United States Uruguay Venezuela Terminal Support Hytera Radios Motorola Radios Chinese Radios Boxchip Hytera Repeaters Kirisun Repeaters Motorola Repeaters RadioActivity Repeaters Sepura Repeaters MMDVM Repeaters DV4mini DVMEGA OpenSPOT OpenSPOT2 Concept Network Configuration Scripting Applications Backend National Server Administrators Support Team Before asking for support
BrandMeister Core 20241213-153203
Improved FastRing and WebSockets Core
Critical change in FastForward: fixed calling link identification, inbound traffic accept only with calling link identification
BrandMeister Registry 20241213-170551
Some improvements for TetraPack:
Added support of 9-digits connection IDs with SSID
BrandMeister Core 20241003-143212
Refactored own io_uring library FastRing
Updated uring UDPTX module
Added LRRP cache invalidation on Periodic Update Start (triggered by ARS)
BrandMeister Registry 20241003-151016
Refactored router.so and access.so to improve stability
Updated modules for TetraPack Core
Fixed ClickHouse connection stability
BrandMeister Core 20240712-183420
Fixed socket bind on restart at Console.lua
Fixed reconnection at QuickAccess, updated protocol
Changed secrets cache expiration from 180 to 30 seconds
Improved secrets cache invalidation
BrandMeister Registry 20240712-190844
Fixed reconnection at Access.so, updated protocol
Fixed LastHead reporting on rejects of ClickHouse
Improved secrets cache invalidation
BrandMeister Core 20240630-191013
Fixed repeater reports over MQTT
Fixed repeater extra data supply
Imporovements in io_uring support:
Fixed socket release
D-BUS moved to io_uring poll
Fixed crashing on cross-threads calls
Imroved SSL FSM
Added support of call interruption to DMR-TETRA bridge (Detroit)
Improved call interrupt in FastForward
BrandMeister Registry 20240630-194944
Support of packet data for TETRA
Fixed disconnection in Router.so
BrandMeister Core 20240516-083026
Imporovements in io_uring support:
Fixed stucking on CQE overflow
LuaPoll moved to native io_uring API
Fixed port binding for console.lua
Improved stack trace
Improved support of fresh Hytera Repeater firmwares
BrandMeister Registry 20240516-093002
Improved connectivity to LastHeard long-term storage
BrandMeister Core 20240418-171357
Imporovements in io_uring support:
Improved stability on submission cancellation
Improved stability of SSL BIO
Improved stability of socket I/O
Improved CallManager performance
Fixed bug in FastForward (affected on TetraPack call routing)
Migration to OpenSSL 3.x APIs:
All cryptographic hashes and assymetric ciphers are moved to use EVP API
Some components still use some depricated direct APIs of symetric ciphers
Support of fresh Hytera HR106x firmware
BrandMeister Registry 20240418-201807
Fixed ClickHouse compatibility
LastHeard:
Added storing of aggregated TETRA individual calls
Fixed life time of ClickHouse uploader
Added option to configure plugins by using separated json files
Added new plugin Call Collect - LastHeard for TetraPack
BrandMeister Core 20240219-130318
Imporovements in io_uring support:
Improved stability of SSL BIO
Improved stability of socket I/O
Fully new thread-call
Improved stability of QuickAccess to Registry
Refactored fault handler, now it is modular
Improved frame drops handling in TETRA -> DMR
BrandMeister Registry 20240219-132500
Improved stability of access.so on reload
Many improvements in registration handling for TetraPack Core
Updated ClickHouse client
BrandMeister Core 20231110-184143
20 changes: 572 additions and 319 deletions
Imporovements in io_uring support
Improved console logging
BrandMeister Registry 20231113-184146
Fixes for routing between TETRA and DMR
BrandMeister Core 20230810-113232
241 changes: 10709 lines added, 2715 deleted :)
All link drivers changed their read manner to edge-based triggering
Fixed memory leakage when the call routed to both slots of the same repeater
External Codecs: improved dead process detection
MemoryTrace: improved compatibility to 3rd-party libraries and stability, added capability for full dump into .csv
RedBlackTree: improved compatibility with C++20
Embedded HTTPD: improved compatibility
DetroitBridge: new link driver for TetraPack (private calls, group calls, SDS, GPS)
Logstash: fixed connection error messages
Mumble, Zello: improved stability
HTTP API: fixed telemetry query
WebSockets server: improved support of graceful shutdown and restart
UTPTX:
Receiver: added receiving mode property (disabled, partial, full)
NetLink Monitor: refactored to be compatible with URing, all drivers updated to use new API
XDP Helper, Express Receiver / Transmitter / Filter: updated to be compatible with fresh versions of libbpf 1.x
Removed old packet ring transmitter
Removed socket receiver and transmitter for Debian 12 builds
Added new uring receiver and transmitter for Debian 12 builds
ServiceSuite:
Fixed LIP GPS parsing
Added support of TETRA SDS and GPS (LIP, NMEA)
ETSI: fixed presence query
Debian 11:
TLS: changes in API to improve stability, fixed error messages
ThreadCall: fully new implementation to improve thread safity
Debian 12:
Fully new events and requests multiplexer based on URing to replace epoll, also new shared write buffer library
Web client, D-Bus core, DNS resolver, ThreadCall, watchdog: changes to make it compatible with URing
TLS: fully new implementation to make it compatible with URing
ThreadCall: fully new implementation to improve thread safity and compatibility with URing
WebSockets client: moved to new version of LWS, event handling through GLib 2.0, new own GLib MainLoop running in green thread to integrate with URing
BrandMeister Registry 20230810-132504
Fixed dead-lock when reconnecting at Access.so, Filter.so, Router.so
Plugins have been updated to support TetraPack bridging
BrandMeister DPDK Edge 20230810-125328
Moved to DPDK 22.11
Debian 12 only
BrandMeister Registry 20230408-195558
fixed bug in mumble vox handling
BrandMeister Core 20230405-111537
Fixed AirPass.lua
Many changes in LumberJack:
Fixed initial window size on re-establised connection
Changed message numbering to accept Beats keep-alive
Added workaround to keep Beats connection
Logger is now Beats-compatible (old lodstash plugin is out of support by Elastic)
BrandMeister Core 20230330-105009
Added support for HS Secure Local Pass
Fixed validation of Abell and Kirisun repeaters
Fixed JSON encoder
Improved ELK logging
Improved Mumble and Zello audio
Some preliminary work for further changes
BrandMeister Registry 20230330-113850
Some preliminary work for further changes
BrandMeister Core 20230123-134702
Added threshold option to disable auto-static routing for N-digit hotsports (generic.json)
Refactored embedded HTTP server
Improved stability on startup
Refactored ASN.1 library
Fixed NaN values in JSON composer
Support of Hytera HR106x
BrandMeister Registry 20230123-140834
Fixed StoredValue routines
BrandMeister Core 20221201-114938
Fixed broken repeaters B-tree on reload when the rescued data has duplicate IDs
Some optimisations in core
BrandMeister Core 20221118-073237
Fixed segmentation fault on destruction of WebSockets client when exiting
Fixed leakage in WebSockets client on client disconnection
Fixed leakage in incomplete transactions of AIS Connect
Fixed in-call GPS for S/W semispheres
Optimized B-tree search on CPUs with AVX2
Optimized hash map search and reindexing
Some optimisations in core
BrandMeister Core 20221101-075230
Added new protocol YSF Direct
Added call customisation in YSF Client
Some changes to support features of C++20
Some changes in Filter.lua rolled back
BrandMeister Registry 20221001-081120
Changes to make YSF Direct accept YSF repeaters, which callsigns corresponds to 6-digit IDs
BrandMeister Core 20221001-071304
Improved repeater configuration and alarms logging
Added configuration logging and configuration check for Fusion Repeater
Added option to deplete OVCM bit
BrandMeister Registry 20221001-081120
BrandMeister Registry 20220908-163922
LoopPreventer: kick mumble vox users
LoopPreventer: ignore 7digit TGs
BrandMeister Core 20220903-084056
BrandMeister Core 20220712-101937
Extended main loop API
Added new UDPTX receiver module socket
Improved stability of LightHouse
Improved stability of WebSocket client (affects on Zello )
Improved performance of memory profiler and stack trace
Improved stability of memory profiler
Added IMRS to TG mapping (FusionRegistry) information to diagnostics API
BrandMeister Registry 20220712-103539
Added GlobalStaticSubscriptions and GlobalTimedSubscriptions
Fixed certificate check for PushOver in AlarmNotifier
BrandMeister DPDK Edge 20220712-103202
BrandMeister Core 20220610-083144
Fixed issue with SIGSEGV on Registry connection loss
Fixed issue with SIGABRT in AIS Connect's timer handler
Fixed issue with SIGABRT in Zello's JSON parser
Improved data integrity check in LightHouse, RepeaterData and ScriptEngine
Improved C++ memory allocator
Fixed issue with handling corrupted UDP from chinese radios
BrandMeister Registry 20220610-085449
Improved support of Tarantool 2.10
BrandMeister Core 20220601-051828
Added support of ARM64 host system
Improvements in fundamental libraries
Fixed memory leakage in Zello
Improvements in debug stuff (please apply changes to brandmeister.env if you have custom settings )
BrandMeister Registry 20220601-070834
Added support of Tarantool 2.10
Added support of ARM64 host system (single package for both ARM64 and AMD64)
BrandMeister Core 20220501-174144
Fixed MHD panic on graceful restart
Fixed rare freezes in HTTP client
Optimized performance of some internals
BrandMeister Core 20220417-113155
Improved key exchange in Mumble Link
Added new diagnostic interface for Registry
Fixed issue with secret keys on Registry restart
BrandMeister Registry 20220417-114518
Added extra connection check and removed memory leakage in D-BUS calls
Fixed few issues in ReplicaStore
Added new diagnostic interface for Core
Added configuration for filebeat
Cleaned up Metrics plugin
BrandMeister 20220415-000000
Added filebeat to depends
BrandMeister Core 20220407-090940
Fixed issue with overrun inter-thread buffers in Zello Link
Added support of DSD format to HTTP API
BrandMeister Core 20220401-072648
Fixed issue with lock on Mumble call end
Added support of Zello connectivity
Added timeout handling on Registry calls
Fixed bug of late call entry on dynamic subscription
Added support of lower-case callsigns for Mumble and Zello
Extended CRC9 check on Confirmed Data Calls
BrandMeister Registry 20220401-073050
Added new identity for PEM passwords
BrandMeister Core 20220316-141350
Fixed an issue with segfaults on changing call priority
Extended state machine at Call Route
Added support of Mumble connectivity
Fixed crash on unexpected request to HTTP API
BrandMeister Core 20220301-105702
Updated core: fixed an issue with rare segfaults
Updated UDPTX transmitting driver Dixie.so (based on Ixy), now it has support of multiple NIC queues and multiple workers
Added new UDPTX receiving driver Verbs (based on ibverbs), tested only in Ethernet mode
Added new UDPTX transmitting driver Verbs (based on ibverbs), tested only in Ethernet mode
BrandMeister DPDK Edge 20220214-124311
Improved performance
Updated API
BrandMeister Core 20220213-212250
Small refactoring of Core with move to C++17
Large refactoring of UDPTX:
Imroved synchronisation of main loop and all drivers
Added support of SSE-based IP CRC calculation
Added automtic eBPF program unload on stop in XDPHelper
Refactored XDP Receiver and Transmitter:
Fixed support of VLANs on multiple RX queues in Receiver
Fixed transmission on high packet rates
Transmitter moved to epoll on TX
Added queue sharing between Receiver and Transmitter on the same NIC
Added support of queue ranges (useful for multiple instances)
Added automatic flow rules and N-tuples management
Refactored RAW Transmitter:
Fixed issue with deadlock
Moved to fully asynchronous TX
Added support of multiple workers
BrandMeister Registry 20220213-212702
BrandMeister Core 20220201-102447
Added connection recovery to IMRS Repeater
Added reliable write-ahead journal for Lumberjack (now full recovery of uncommitted log entries)
Refactored transport layer for APRS-IS
BrandMeister Registry 20220201-102743
Added support of new LastHeard data warehouse (we are testing it in playground in parallel with production one)
Fixed issue with graceful shutdown
NOTE: please take care for the chagnes in Registry.json
BrandMeister Core 20220114-131831
Improved runtime debugging libraries and performance of some internals
Added configuration check mode (setup.sh check )
Added OutputPower to event Repeater-Data
Added graceful restart for TCP connections of WebSockets and Hytera PNAS
Fixed bug with handling D-STAR/XLX reflector callsigns
Added fast stop and recovery of LumberJack on reloads and faults (in case of critical faults only stack traces will be saved)
BrandMeister Registry 20220114-132134
Extended logic of 4000: for dual-slot hotspots allowed to unsubscribe both slots by the private call to 4000
Fixed issues with LastHeard
BrandMeister Core 20220107-073545
Added new feature for connection recovery:
On crash and reload the core recovers most of connections without reconnect (please use systemctl reload instead of systemctl restart )
Affects on Motorola IPSC, Hytera MSC, SmartPTT, Hytera PNAS, Open DMR Terminal, MMDVM Host, Homebrew Repeater, Simple Application, KAIROS, Abell
Massive refactoring of the core
Fixed Wires-X initialization with empty connection list
Fixed deinitialization of Layer4 and Parrot
Fixed outgoing calls on Abell repeaters
Fixed RTCP message formatting (Hytera PTT, Hytera PNAS)
Fixed IPv4 address passing of media gateway (Hytera PNAS)
BrandMeister Core 20220101-111248
Fully removed support of DMR reflectors (TG9/4xxx)
Removed support of WinMaster and DV4mini
Removed support of XTG including in .lua, .htm, .js, .php, .sh
Removed support of bridge.json (file will be removed on the next release)
Improved embedded logger (fully refactored)
Added support of DMRA AIS (finally tested)
Fixed active group recovery on hotspots at Generic.lua
BrandMeister Registry 20220101-112342
Moved configuration of WIRES-X to Registry.json (please read wiki article)
Improved plugins and interface initialization
Refactored Access.lua and ValuePlace.lua
Removed Resetter.lua (reflectors support)
Improved CallDirector.lua (improved speed of FastForward reconnect)
BrandMeister Core 20211220-124706
Fixed systemd unit
Added support of new bridges configuration in Registry (now supporte both, but later will be fully migrated to new)
Improved performace of embedded transcoding
Added early support of DMRA AIS (not fully tested)
Fixed bug with rare looping of beacon transmissions
Small improvements in Hytera PTT RoIP (Hytera PDC firmwares <= 2.5)
BrandMeister Registry 20211220-125002
Added force FastForward node list update on restart of Core
Added new bridges configuration
Improved error handling
BrandMeister DPDK Edge 20211220-121809
Added semaphore wait timeouts to workers
Changed the way to activate workers
Added option to handle NIC RX queues
BrandMeister 20211210-000000
updated logrotate configuration
BrandMeister Core 20211210-075807
Fixed date formating in .js
Fixed instance detection in common.sh, added multiple instances support
Added multiple instances support to list.sh and reload.sh
Added live feed update to heard.htm
BrandMeister Registry 20211210-080107
Fixed messages cleanup on TextCapture subscription removal
Added support of live feed to LastHeard
BrandMeister Core 20211202-205100
Exteded internal registry, added support of subscription expiration
Changes in configuration sections (PLEASE CAREFULY ):
Root section: network -> instance
CBridge profile section: network -> number
Updated interface to Registry
Updated logstash filter
Removed old-fasion events Session-*, changed format of Repeater-Data, Repeater-Alarm
BrandMeister Registry 20211202-205552
Optimized Calldirector cache refresh procedure
Changes in API:
arguments.network -> arguments.instance
Reduced functionality of plugin LoopPreventer
Added function to force update FastForward connections in plugin CallDirector
Added new loop preventer plugin
BrandMeister Core 20211113-091858
Exteded D-BUS method getStationData (if you use CallCapture or patched SVXLink, please update)
Added callsign check to D-STAR and SystemFusion bridges
Improved signalling reconstruction
Optimised WIRES-X bridge
BrandMeister Registry 20211113-092233
Extended interface for getStationData
Added extra functionality to check callsigns
Added method to force node cache update
Improved fiber handling
BrandMeister Core 20211107-175435
DBusCore refactored again :)
Some cosmetic changes in .sh scripts
epoll wrapper optimized a bit
LRRP parser also a bit optimized
BrandMeister Registry 20211107-175518
updated GlobalBlockedAddresses schema
BrandMeister Core 20211028-140519
BrandMeister Registry 20211028-140741
Removed migration scripts
BrandMeister Core 20211027-102711
Added release D-BUS to .php
Added HTTP/2 Push for .js at .htm
Improved stability of DBusCore
BrandMeister Registry 20211027-103120
Refactored dynamic subscriptions (allows the same dynamic TG on both slots)
BrandMeister 20211022-000000
allow replacing libapache2-mod-php with php-fpm
added apache2 systemd override file
added php-fpm pool config
BrandMeister Core 20211017-144102
Added support of Asterisk's AudioSocket protocol
Refactoring of some inernals
BrandMeister 20211016-000000
log moved to /var/log/brandmeister.log
BrandMeister Core 20211011-103450
Removed support of Debian 10
Added automatic X.509 certificate reload to embedded HTTP server (based on filesystem monitoring), including certificate chains and key (all should be in a single PEM file, up to 10 certificates)
Fixed double trnasmission of SetStoredValue in QuickAccess/Tarantool
Refactoring of some inernals
BrandMeister Registry 20211011-094344
Removed support of Debian 10
Fixed incorrect initialization of expirationd
Added extra check of connecion state at Access.so
BrandMeister Core 20210930-125145
Improved filtering of calls originated by unverified repeaters
Changed SMS delivery reporting at WebDispatcher
Fixed bug of long-poll call /service/message at HTTP API
Changed output format of /service/* at HTTP API to JSON
BrandMeister Registry 20210930-125613
Added separate .json configuration file
Improved logging at AlarmNotifier
BrandMeister Core 20210907-052125
Changed FastForward: added support of application messages for cross-master communication
Changed TextCapture: added report's ignore entries to improve processing of cross-master SMS
BrandMeister Registry 20210907-052523
Changed UserCache:
Improved multi-instance support
Added cross-master exchange of instant location updates
Changed MessageCenter:
Added support of cross-master SMS tracking
BrandMeister Core 20210830-060136
Changed structure of system.php
Added new measured object ResourceMonitor
Added new debugging component MemoryTrace
Fixed memory leakage at X.509 client certificate check (FastForward), code optimization
Changed memory allocator from mimalloc back to jemalloc
Changed systemd configuration
Changed D-BUS API (method getSystemInformation)
Added new metric to embeded Lua / ScriptEngine (StartedAt)
Added metric reporting to UDPTX and all underlayer drivers
Added support of MQTT authentication (name and passoword can be added to the connection string)
Changed linking in third party components: msgpuck and tarantool-c are embedded into code binary
BrandMeister Registry 20210830-060513
BrandMeister DPDK Edge 20210828-173532
BrandMeister Core 20210819-140748
Significant improvements in performance of processing secrets
Improved event propagation to Registry
Improved error diagnostic in Tarantool connector
Added Debian 11 support
Aligned version number (now all packages and binaries have the same version string)
BrandMeister Registry 20210819-135945
Extended interface to provide fast secret processing
Improved performance of routes processing
Fixed bug of private call routing
BrandMeister Core 20210723-074554
APRSGate improvements:
Connection timeout extended from 30 to 60 seconds
Improved connection establishment
Optimized event loop
Improved DNS resolver
Improved stability of Motorola IPSC authentication
BrandMeister Core 20210708-085902
Logstash support:
Default confirmation timeout extended from 1.5 seconds to 7 seconds
Added confiuration option to manage confirmation timeout (please have a look to LumberJack configuration section as the sample config )
Changed expiration time formating at /status/places/
Extentded logging in Layer4 (data stack): added source and destination IDs
BrandMeister Core 20210609-171848
Small improvements in internal application APIs
Added new embedded application TextCapture
Added new configuration section TextCapture (*PLEASE ADD* )
Fixed push handler for method publishEvent at Tarantool connector
Added new station capability CAPABILITY_TEXT_CAPTURE
Removed direct SMS transcoding (Motorola TMS - Hytera TP)
Extended ACK awaiting interval at Layer4 (DMR data stack)
BrandMeister Registry 20210609-172041
Added handling of service events
Added new plug-in MessageCenter
BrandMeister Core 20210520-203127
Expanded limit of file descriptors and systemd's .service file
Status pages moved from format.date to MomentJS library
External libraries links of staus pages moved to https
subscription.php API moved from getContextList to getCustomList of D-BUS API
Improved stability of D-BUS Core
Updated mimalloc
Extended connection limit of emdedded HTTP server
Embedded HTTP server now handles forwarded addresses of local proxies
Fully removed use of select() syscall
Improved internal timer (WorkHandler) stability
Changes in D-BUS API: now responses of getContextList() and getSubscriptionList() are limited to 4096 entries
Extended audio buffering of WatchTower from 20 ms to 120 ms
Added new format of stream (g.711 120 ms) to StreamPool / StreamEncoder
Many improvements in WatchSpotter
BrandMeister Core 20210503-193454
New status API - remote.php (that is significantly reduced system.php)
Autodiscovery of direct connection to internal HTTP server (system.js) moved from system.php to remote.php
D-BUS: added pre-filtering by link type and ID to getCustomList to reduce load on main thread
AnswerMachine added as diagnistic object that provides a list of loaded .ambe and .amb entries
ServiceSuite and vendor-specific stacks added as diagnistic objects
BrandMeister Core 20210420-095302
Fixed bug at DBusCore (BM stops responding on D-BUS calls in some cases)
Extended option flags at CallSession
Added support of token authonization at Consul reader
Fixed token authorization at CloudClient for Google FCM
BrandMeister Registry 20210420-095538
Added exclusion of call to 4000 at LoopPreventer
BrandMeister Core 20210411-174119
Added call status to heard.htm
Changes in ScriptEngine
Added support of call source validation to the engine
Moved call source validation to a new method at Filter.lua
Fixed late call entry at Filter.lua and Generic.lua
Changed event processing from Session-* to Session-*-Extended
Added new metric Status to APRSGate (please check system.htm)
Fixed late call entry support at CallManager
Added pass of optional flags to the session events (Session-* and Session-*-Extended)
Fixed multi-queue support at Dixie / ixgbe driver
Fixed URL of underscore.js library at status pages
BrandMeister Registry 20210411-174303
Changed event processing from Session-* to Session-*-Extended
BrandMeister Core 20210401-054646
Fixed source ID validation on late call entry
Improved stability of Hytera PDC760 PNAS (RoIP) connection
Some minor improvements
BrandMeister Core 20210311-144343
CloudClient (HTTP) moved from main loop to a separate thread
Optimized JSON serializer
DCS, D-Extra, Wires-X, YSF, NXDN: improved real-time configuration options
Homebrew and MMDVM: improved configuration handling
OpenTerminal:
Fixed SMS delivery repoting
Improved Push notifications
Added handling of event 'Metric' at ScriptEngine
Registry connector:
Extended data sets
Added support of new push command 'publishEvent'
Some performance improvements
BrandMeister Registry 20210311-144540
Added Metrics plugin
IDFilter: hotspot id/call check
BrandMeister Core 20210205-094248
slightly adjusted dbus policies
stability improvements
BrandMeister Registry 20210205-094528
BrandMeister 20210126-092503
Improved logging at generic.lua
Added external connection activation to OpenBridge
Insufficient bug fixes in calls to invokeCommand()
Fully refactored implementation of Logstash logger (now it can use remote Logstash server)
Improved caching of secrets
BrandMeister Core 20210106-112133
Fixed XCMP handling in IP Site Connect (affects on password-protected connections)
Fixed ErrorStatus diagnosis at ScriptEngine
Improved D-STAR voice header and free text to Talker Alias conversion
Improved resampling and browser detection in Dispatcher and Spotter
BrandMeister Registry 20210106-112857
Improvements in IDFilter.lua
Removed Reflectors from replication
BrandMeister Core 20201204-205910
Added error status cleanup to script reload
Fixed configuration parsing at Homebrew Repeater and MMDVM
Improved syntax check in ServiceWrapper (MQTT API )
Improved heartbeat exchange in Hytra PNAS (PDC760)
Updated IXY and added auto-discover of MAC into Dixie.so (please check updated configuration syntax at UDPTX )
Fixed configuration parsing at UDPTX
BrandMeister Core 20201113-084732
Added support of Motorola's compatible Talker Alias
Added format option for Taker Alias enrichment at Knave
Added format setting (generic.json, please use 2 for UTF-8)
Added support of Talker Alias and in-call GPS encoding to IP Site Connect
Added new page system.htm
Added validation of D-STAR free-text during convert to Talker Alias
Added support of DMRHost to MMDVM driver
Added extended diagnostics data for IP Site Connect, Multi-Site Connect, SiteLink, TellusAgent, APRSGate and DAPNETClient to system.php
Improved performance of memory fences for shared memory connection at FastForward
Improved session stack cleanup at ScriptEngine
Improved driver factory at UDPTX
BrandMeister Registry 20201113-085009
Improved LoopPreventer.lua
Brandmeister Core 20201017-082722
added receiving timeout to APRS Gate
fixed segfault at OpenTerminal during reception of text messages and location reports
optimized QuickAccess (improved memory fences usage)
UDPTX :
improved memory fences at socket transmitter
improved memory fences at RAW transmitter
improved memory fences at IXY transmitter
XDP Transmitter:
added support of configuration parameters
added support of queue pools (each worker handles 64 queues by default)
improved memory fences
fixed support of VLANs
BrandMeister DPDK Edge 20201011-114758
improved memory fences
default core ratio changed to 64
improved core allocation
fixed parsing of parameter "core-ratio"
BrandMeister Registry 20201017-082910
optimized Access.so (improved memory fences usage)
Brandmeister Core 20200928-153021
Fixed insignificant bugs in DNS processing (C-ARES wrapper)
Fixed checks during construction and multiplexing
Fixed rotation of IP-addresses
Fixed rotation of domain names
Improved name resolution in WIRES-X (DDNS address change should work better)
Changed UDPTX :
Changed API (method SendUDPData has been removed)
Added smart offload to socket driver (it switches to queued mode when CPU load > 50% on main thread)
BrandMeister DPDK Edge 20200927-143705
Brandmeister Core 20200918-183249
Implemented work-around to solve SEGFAULT on destruction of microhttpd
Fixed DNS resolution on disconnect at Wires-X
Fixed equipment validation in ScriptEngine (Lua)
Added new experimental user-space network driver based on library Ixy (see UDPTX )
Improved diagnostics on UDPTX external module factory
Fixed multi-part UDP-packet sending at AF_XDP
BrandMeister DPDK Edge 20200912-202959
Added driver configuration settings (see UDPTX )
Added thread pool
BrandMeister Core 20200906-171157
Extensions to AirSecurity (not implemented in dashboard yet):
Added support of efficient scope (master, location area, repeater)
Added check of Lua calls integrity
Improved performance of D-BUS interface
Added TCP_NODELAY to FastForward TLS
Some internal improvements
Minor changes in Wires-X and YSF
BrandMeister Registry 20200906-171625
Extensions to AirSecurity (not implemented in dashboard yet)
Tarantool 2.4 support
BrandMeister DPDK Edge 20200906-170651
Updated DPDK 20.8
Improved stability
BrandMeister Core 20200712-104213
removed support of Debian 9
improved stability
improved performance of D-BUS Core
HyteraPNAS:
Fixed SEGFAULT on network-originated SMS
Fixed support of network-originated private calls (it seems like PDC-760 firmware v3.0 has bug, mobile-originated calls don't work)
Introducing new FastForward 2.0 :
added support of TLS transport
added support of Direct transport
removed support of UNIX sockets transport
improved support of RDMA transport
ServiceSuite / DataTrap:
added capabilities to manage GPS and Telemetry via D-BUS or Tarantool
BrandMeister Registry 20200712-104441
BrandMeister Core 20200628-1957xx
added CSBK traversal to Filter.lua
optimized timeout timers for caches
improved logging for AutoPatch and DataCatch
added support of Motorola LRRP over Data CSBK (requires special feature in Dashboard - not released yet)
added new daemon XDPHelper to share eBPF program between several Core instances (UDPTX )
BrandMeister Core 20200621-170xxx
fixed SEGFAULT on D-BUS call getCustomList
fixed timeout calculation on Motorola ARS
added support of Motorola ARS over Data CSBK
added support of call priority on Hytera PNAS
some optimization of Core
BrandMeister Core 20200616-070449
Fixes for Hytera PDC760 RoIP:
fixed server crash when device transmitting
fixed keep-alive
added model detection
some additions to D-BUS API
BrandMeister Core 20200613-1116xx
Sample configs: added example for XDP transmitter
Web pages: fixed encoding and XHTML syntax
Embedded subscriptions (used in terminals, XLX, D-STAR, YSF, etc):
improved late call entry
added dynamic route state (authorized / unauthorized)
added state check function (Lua: validateSubscriptionPolicy)
added filter for TG numbers less 90 (Generic.lua)
Total optimization of memcpy / memset / memcmp in all link drivers and core (FastCopy, JitterBuffer)
Optimized RDMA connection (who cares?):
Changed buffer allocation algorithm (removed limit of 64 slots)
Changed RR and CQ queues processing, now these use atomic batching
Fixed support of data calls with PROPRIETARY headers
Fixed NMS port allocation on Kirisun Site Link
Motorola IP-Site Connect:
optimized transmission
fixed transmission of calls marked with Motorola Call Interrupt feature (no more packet loss reports)
added support of Motorola Call Interrupt feature
added handling of single-burst embedded signalling
Changed call header enrichment by Knave:
changed format of route tag
fixed support of OVCM in embedded signalling
added support of Motorola Call Interrupt
Changed syntax of long-polling response in HTTP API
Optimized compiler options (no more throw sections on stack)
BrandMeister Registry 20200613-104849
Updated core API (Global.lua)
Added IDFilter.lua plug-in
BrandMeister Core 20200520-1509xx
Fixed colored output on console run
Improved support of SystemFusion VW mode (IMRS, Wires-X, YSF)
Added support of Kirisun Repeater
UDPTX DPDK driver removed from the package (now supplied only as separate package dpdk-edge)
Fixed issue of tarantool's event notification (now aggregated and more relaxed)
BrandMeister Registry 20200520-165534
Fixed issue of tarantool's event notification (now aggregated and more relaxed)
Added ResetReplication plug-in
BrandMeister Core 20200415-1056xx
Fixed issue with TG 4000 when reflectors disabled
Added new loop detection by call matching
Added new events: Session-*-Extended, New-Route
Improved TOT on Fusion Repeater (IMRS)
Fixed memory leaks in Script Engine
Fixed rare Script Engine panics
Added session stack to Script Engine
Optimized Script Engine
BrandMeister Registry 20200415-110128
Improved stability of *.so module
Fixed dead lock in Access.so on BrandMeister reconnect
Fixed dead lock in Router.so on BrandMeister reconnect
Added new loop detection by call matching
BrandMeister DPDK Edge 20200414-134937
Updated DPDK 20.0
Updated bindings to BrandMeister
BrandMeister Core 20200330-115xxx
AMBEServer: DNS resolution failure changed from critical to error
BloomFilter: added reference counter and modified destruction procedure
CallSession + LinkCache: refactored cache (new adjustable fast cache)
FastRouter: added reference counter and modified destruction procedure
FastForward: some preliminary changes for upcoming features
QuickAccess: new component to improve speed of setStoredValue / getStoredValue
SpiderStore: added tarantool version informaion to diagnostics
BrandMeister Registry 20200330-115547
Filter.so and Router.so: improved stability (see BloomFilter and FastRouter)
Access.so: new backend to improve speed of setStoredValue / getStoredValue (see QuickAccess)
010-Access.lua: changes to support new *.so
040-HouseKeeper.lua: added yield to improve responsive of asynchronous processing
050-ReplicaStore.lua: added yield to improve responsive of asynchronous processing
070-ValuePlace.lua and 140-MultiLock.lua: changes to support new Access.so
BrandMeister Core 20200311-141111
Moved to the new allocator - mimalloc
Added new option flag to prohibit adding routes to call session (SESSION_OPTION_FLAG_RESTRICTED_ROUTING)
Added usage of SESSION_OPTION_FLAG_RESTRICTED_ROUTING to Filter.lua, AirPass.lua, Generic.lua
Prenence check to UU_V_Req CSBK instead of native ARS/RRS methods
HTTP API (Service API) significantly extended:
Added AMBE playback (via Parrot )
Added presence query ("radio check")
Added location query (works on Motorola and Hytra only)
Added telemetry query (works on Motorola and Hytra only)
Improved compression for /status/ interface
Fixed SEGFAULT on finalization of LumberJack connector
Added method to manage repeater validation state from Registry
Extended event "Repeater-Data"
Extended set of parameters to equipment verification functions
Added restriction to handle calls to TG9 on slot 1
BrandMeister Core 20200228-2233xx
Added optional direct logging to journald (use --journald at the end of command line)
Added direct logging to ELK stack including log reports and system events
Added preprocessing script for Logstash
Added memory usage statistics to embedded Lua
Added support of "content-encoding: deflate" for /status/ into embedded http server
Fixed automatic reconnection to DAPNET
Updated copyright :)
BrandMeister Registry 20200228-214902
Added auto-flush to FastRoter
BrandMeister Core 20200208-0745xx
added dynamic jitter buffer latency to FastForward
added OVCM bit enrichment
fixed performnace / lost packets issue
improved session ID logging
improved jitter buffer behavior on missed frames
BrandMeister Registry 20200208-074933
added OVCM bit enrichment
BrandMeister Core 20200129-16xxxx
Asynchronous routing for group calls
Added support of DPDK and XDP in UDPTX (TX)
Added support of eBPF/XDP in UDPTX (RX) - https://wiki.brandmeister.network/index.php/UDPTX
Changes in scripts: discontinued support of handleCallSession and filterCallSession (only Extended versions are supported)
Refactored setting.php and system.php
Many internal improvements
Fixed issue with GPS interval setting on Motorola LRRP
BrandMeister Registry 20200129-16xxxx
Asynchronous routing for group calls
BrandMeister Core 20191225-095xxx
updated DEB compat
added Raw UDPTX backend
added “transmitter” option to config (please read article UDPTX )
several fixes at APRS Gate
several fixes in format strings
Improved performance of poll library
fixed bug in systemd watchdog notifier
improved performance of password library
BrandMeister Registry 20191225-100115
BrandMeister Core 20191204-1000xx
added new registry - FastRouter
added new APIs - shared memory objects
improved finalization of embedded HTTP server
improved integrity checks for MMDVM
many internal improvements
BrandMeister Registry 20191204-1015xx
added new way to communicate with BrandMeister
added new module Filter.so (uses new shared memory objects API) to filter routes before passing to BrandMeister
added new module Router.so (uses new shared memory objects API) to speed up pass routes without using iproto (TCP)
plugins UserCache, HouseKeeper and ReplicaStore are moved to new APIs
BrandMeister Core 20191120-0723xx
fixed AMBE3003 initialization (USB and ambeserver)
improved DNS resolver (now iterator supports mixing of IPv4 and IPv6)
BrandMeister Core 20191112-1750xx
some fixes at Wires-X
added support of long-polling to HTTP API
BrandMeister Core 20191107-1650xx
added brand-new asynchronous UDP transmitter
all components moved to asynchronous UDP transmitter
added connection statistics to D-BUS API
added connection statistics system.php
some fixes at WinMaster :)
BrandMeister Core 20191103-1050xx
work-around to avoid issues with UDP loss on new Linux kernels
BrandMeister Core 20191027-1649xx
added support of DNS rotation to APRS Gate
added support of DNS rotation to AMBE Server
some fixes in Hytera PNAS
some internal optimisations
BrandMeister Core 20191018-1706xx
added support of configuration in JSON format
added support of configuration via Consul KV Store
improved diagnostics (APRS, DAPNET, Mosquitto, Tarantool, etc)
added new Health API
improoved performance
relpaced D-BUS method getLinkInformation() with getObjectInformation()
removed support of Debian 8 (jessie), please upgrade to Debian 10 (buster)
BrandMeister Core 20191008-1400xx
some preliminary work for the upcoming features
fixes and improvements
BrandMeister Registry 20191008-140405
MQTT connection changed to on-demand
BrandMeister Core 20190919-1033xx
added support of Hytera PDC760 firmware 2.6+ over RoIP
fixes and improvements
Please check changes in sample.conf!!
BrandMeister Core 20190908-0901xx
added support of VW mode to all Fusion connectors (IMRS, WIRES-X, YSF)
Please check changes in sample.conf!!
BrandMeister Registry 20190902-0946xx
Added permissions for the API
BrandMeister Core 20190901-1250xx
fixed issue with IMRS disconnects on long outbound transmissions
BrandMeister Core 20190822-1232xx
BrandMeister Registry 20190822-130943
BrandMeister Core 20190809-1710xx
All internal components are moved to asynchronous host name resolution (no more issues with timeouts)
Added dynamic host name update to WinMaster, OpenBridge, XLX, D-Extra, DCS, YSF, NXDN, WIRES-X, AMBE Server
Added option to force resolution of IPv4 or IPv6 (APRS Gate, DAPNET Gate, OpenBridge)
Fixed issue of JS / PHP service resolution
Fixed issue with XCMP / IPSC segfaults
BrandMeister Registry 20190727-162422
fixed issue with expirationd
BrandMeister Core 20190727-1620xx
fixed issue with WIRES-X reconnects
BrandMeister Core 20190725-1702xx
package name changed from brandmeister to brandmeister-core
added support of TLS (https) to embedded HTTP server
added support of ID ranges to IP Bridge
added support of managable repeater beacons
added new Service HTTP API
added support of Debian 10
fixed issues with values of timestamp and course when sending APRS position
fixed bug (segfault) in APRS parser
changed beacon sender - beacons will be sent in batches up to 50 repeaters
fixed (should be) issue with long calls to Fusion repeaters (IMRS)
BrandMeister Registry 20190725
fixed plug-in 070-ValuePlace.lua
improved plug-in 210-FusionDirector.lua
added new plug-in 150-LightHouse.lua to manage repeater beacons
BrandMeister 20190725-170000
BrandMeister 20190628-185525
Many fixes and improvements
Status pages updated to use fresh jQuery and BootStrap
Refactored embedded HTTP server
Improveed EasyRegistry: now it drops all active call routes on unsubscription
Fixed issue of long transmissions at IMRS Repeater driver
Fixed issue of 100% CPU load on MQTT brocker's connection loss
Refactored MQTT connector (PushStick)
Added support of any ID credibility to Simple External Application driver
Fixed driver for Open DMR Terminal Protocol
BrandMeister 20190421-185653
Fixes and improvements
Optimised D-BUS method getCustomList and all .php interfaces which use this method
Added new embedded HTTP-based REST interface to reduce CPU load and speedup most havy-loaded data
Optimised rendering for status.htm, list.htm, terminal.htm
BrandMeister 20190416-200308
BrandMeister 20190401-183841
Tested RDMA implememntation :)
Improved search on HashMaps
Added APRS-IS keep-alive tracking
Added default location setting to cBridge Link configuration
Added work-around to support ALINCO GPS
Added support of integration to SystemFusion's IMRS
Registry 20190401-184655
Added automated resolution of WIRES-X directory server addresses
Some work-arounds from Stefan to run on Debian 9 with OpenSSL 1.1
BrandMeister 20190305-124855
BrandMeister 20190301-073700
Updated .ambe for English
Fixes and improvements
Added D-BUS introspection
Added support of AMBE3003 (and all derives such USB-3012)
Added filtering of calls from OpenBridge
Many changes in embedded signalling
Improvements in RoIP-signalling for Hytera PDC760
Added subscription for Group Messages to PoC Terminals (no broadcasting anymore)
Added support of resampling to AutoPatch
Registry 20190301
Fixes and improvements
Additions to support features of BrandMeister 20190301-073700
BrandMeister 20190122-074615
Added new AMBE files for Spanish
Optimized several D-BUS calls
Added support of D-BUS introspection
Removed usage of D-BUS introspection from all .php
Changed syntax of D-BUS's getCustomList and corresponding .php
Fixed issue of connecting KAIROS Repeaters
Fixed issue of call to 4000 (disconnect active group)
Registry 20190108-203205
fixed handleSystemEvent
replicatord does not depend on hardcoded space ids anymore
BrandMeister 20181219-135749
Integration with Registry moved to tarantool's push messages
Added new event type - Initialize, implemented at FastForward and Wires-X
Changed format of connect call of WIRES-X on D-BUS and Registry
Added support of Open DMR Terminal Protocol
Improved CloudClient (required to support FCM)
Added CUSTOM_LIST_TERMINAL to getCustomList on D-BUS
Added list of connected terminals - /status/terminal.php
Added support of Open DMR Terminal to common.js
Added support of RPTG message for MMDVM
Improved timings of DBusCore
Updated activation service
Fixed issue of reconnection to Mosquitto
Fixed security issues on KAIROS External Server and External Application
Extended syntax of function core.report at ScriptEngine (check Core.lua for changes)
Added Lua Console plug-in and utility
Added new parameter to main configuration - data directory
Added new configuration file Data/console.json
Registry 20181219-140320
Tarantool 1.10 is required!!!
Event Queue replaced with Fiber.Channel
ActionList was replaced with push messages
CallDirector and Resetter moved to push messages
Added support of TokenService to support PUSH for Open DMR Terminal
WiresDirector published for the first time, new plug-in respond to connect to Wires-X Directory servers
Added WiresX.lua framework to connect to WIRES-X directory servers
RASGrabber fixed and added to public release
Improved detection of locally connected nodes
Added support of event 'Initialize'
BrandMeister 20181007-062936
Fixed several bugs
Removed section DV4miniSupport of generic.json
Registry 20180806-184639
Updated resync_Registry.sh script
Added resync_Registry.sh to the package
BrandMeister 20180730-081012
Improved algorithm of JitterBuffer
Improved auto-reconnection to Tarantool
Refactored implementation of FastForward :
Removed support of connection management over UDP
Added support of 0-latency communications over UNIX-sockets, VM-societs and RDMA (not fully tested yet)
Changed the way to start: please use systectl <start/stop/restart> brandmeister@default
Moved setting of CPU affinity from .service to BrandMeister.conf
Extended HTTP/REST interface
Removed script link.sh
Registry 20180730
Added support of new transports of FastForward
Added option to override connections to other masters
Added support of user-based subscriptions (usable for DAPNET Gate )
Registry 20180717-074645
Added Registry resync script
BrandMeister 20180712-062556
Registry 20180712-064547
Requires resync of Registry
Fixed support of cross-master private call routing
Added support of DAPNET Gate and group SMS roaming
Updated script to add all permissions
BrandMeister 20180626-084057
Fixed incorrect subscription search on unsubscribe or context removal at EasyRegistry (internal subscriptions)
Fixed incorrect message search at cache of Motorola TMS and PoC Terminal stacks
Fixed SEGFAULT on expired sessions of PDC760
Improved keep-alive transmissions for PDC760
BrandMeister 20180620-191336
BIG update for Hytera PDC760 connected over IP
Improved CPU usage
Improved response time to signalling messages
Improved re-registration procedure
Fixed configuration of registration expiration
Added support of incoming group messages from APRS and MQTT
Added support of in-call GPS (have to be configured at self-care)
Added support of periodic GPS (have to be configured at self-care)
Added D-BUS management for XLX
BrandMeister 20180610-142310
Improved call overlapping detection for Hytera PDC760 connected over IP
Added support of Open Bridge protocol to connect IPSC2 and BrandMeister
BrandMeister 20180608-201309
BrandMeister 20180604-222947
BrandMeister 20180601-033505
Added support of late call entry to EasyRegistry (famous as /status/subscription.htm)
Improved SMS transcoding
Added new type of equipment - Terminal
Added support of IP-connetivity for Hytera PDC760
BrandMeister 20180505-210508
Fixed support of GPS of newest Hytera radios
Fixed support of UDT data calls
Added Portuguese .ambe files
Added embedded NXDN gateway
Added support of group temporary block on per-repeater basis
Improved pass of embedded signalling (talker alias and in-call GPS)
BrandMeister 20180407-192434
Fixed problem with receive of BER from MMDVM
Fixed issues with list.php on some masters
BrandMeister 20180329-073815
Changes in D-BUS API to stabilize handling of list.php and status.php
Fixed bug in Locks.js
Registry 20180329
Added handling of MQTT disconnections to LastHeard module
BrandMeister 20180320-164502
Fixed bug in APRS speed formatting
Significantly improved performance of list.php and status.php
Fixed crashing by Parrot on machines having non-stable CPU load
Added context protection policy, protected context flag added to some link types such as Layer4, Parrot, LoopBack
BrandMeister 20180129-132615
Finally fixed all known memory leakages
Many insignificant package fixes
Fully removed support of init.d
BrandMeister 20180123-192202
BrandMeister 20180119-100237
Added change to force DMR->D-STAR transcoding on custom version of XLX
BrandMeister 20180116-121244
Fixed bug of (non-)negative temperature values on monitor for Motorola RDAC
Changed MMDVM models interpretation at Web status pages
Added AGC preprocessing to outbound PCM audio stream of AutoPatch
Added support of XLX Interlink
BrandMeister 20180105-211531
Fixed bug of passing tag via LoopBack on early media (Cluster and XTG were affected in some cases)
Updated API declarations to support upcoming features
Refactored processing of call routing
Improved logging of call routing
Minor fixes in REST API and status pages
Registry 20180105-211645
Updated API declarations to support upcoming features
Added API to validate connecting equipment
Improved error logging
Registry 20171120
Extended memtx memory allocation to 512MB
Added new interface function checkEquipment
BrandMeister 20171115-195656
Fixed issue of SIGFAULT on TG ToT timer
Fixed issue of loading AMBE voice files on systems with XFS
BrandMeister 20171108-121824
Fixed decoding of Talker Alias with 16-bit encoding
Fixed bug of APRS acknowledgement
Added extra check of APRS source call for proper format
BrandMeister 20171029-191416
Added support of Abell R-80 Repeater
Fixed different stuff in systemd configuration files
Fixed RSSI calculation for old repeater firmwares by Motorola
Changed on-demaid routing, groups bellow 90 are restricted to on-demand subscribe
Added support of presence query (radio check) for Motorola (ARS) and Hytera (RRS) radios
Added support of message acknowledgement to APRS messages at embedded APRSGate
Added support of direct queries ?APRSP and ?APRSS at embedded APRSGate
Added support of translation presence to APRS status at embedded APRSGate
Added support of presence query at MQTT API
Changed APRS TO-CALL from generic to officially assigned
Improved routing of some Motorola CSBKs
Added logging of route creator
Registry 20171019
Renumbered space IDs
Added new plug-in MultiLock.lua to reduce amount of calls benween BrandMeister and Tarantool
BrandMeister 20170910-175739
BrandMeister 20170909-153823
Added Lua traceback to logging on segfault
Added new function getLinkReference to Scripting
Optimized embedded Scripting by adding link references to many objects
Optimized embedded Scripting by replacing returned values sets by index function (it's too hard to explain this change in few words :) )
Added support of repeater path to outgoing APRS packets at embedded APRSGate , note: repeater should be connected directly
BrandMeister 20170819-094229
Fixed problem of authentication Motorola SLR-series
BrandMeister 20170818-083416
Registry 20170811
Added push notification on repeater connection / connection loss
BrandMeister 20170810-074109
Minor fixes in REST API
Added new function checkLinkPolicy to Scripting
Changed GPS detection algorithm for TYT MD-380, works with MMDVM and latest TYT/MD380tools firmware
Registry 20170810
Added push of repeater alarms to repeater owners via PushOver and Prowl
BrandMeister 20170802-193953
Fixed bug in Air Security
Added hardware monitoring for Motorola SLR-series repeaters
Added calculation of VSWR for RadioActivity KAIROS repeaters
Added separated web page and its REST API to check hardware metrics of repeater (/status/monitor.htm )
Registry 20170726-140348
Added centralised management of TG timeout timer, requires some extra actions during installation
BrandMeister 20170727-160757
Added support of text messaging on RFinder / Runbo radios
Updated .ambe files for HU and SV
Registry 20170725-110736
Fixed bug in single password for hotspots having SSID
Registry 20170725-065514
Changed syntax of handleEvent , requires BrandMeister 20170725-082111
Added support of single password for hotspots having SSID
BrandMeister 20170725-082111
Added support of Lua co-routines
Extended syntax of getCallSessionIterator in Scripting
Fixed bug in Simple External Application (bad detection of linear frame)
Changed configuration section APRSGate : parameter expression is now mandatory
Added automatic 5-minutes reconnect to WIRES-X , it can be configured as connection mode
Added DataBridge application
Added TX power management for Motorola Repeaters to D-BUS API
Added Timeout Timer
Added post routing for on-demand subscriptions (requested for Tactical Talk Groups)
Added check of operational mode to KAIROS
BrandMeister 20170524-213333
Minor fixes
Added filtering of TG 0
Added support of systemd notify and watchdog
Added full support of DMR Tier III location reports
Added fast conversion between UTF-8/UTF-16LE/UTF-16BE
Changed internal architecture of Parrot back-end
Changed syntax of field "Route" at message "Session-Start"
Extended return on call of method getSubscriptionList at D-BUS API
Extended LUA Scripting with the new method getStationData
Fixed reception of TYT MD-380/390 GPS on MMDVM
Improved performance of hash tables on SSE 4.2 and CLMUL enabled CPUs
Improved performance of event poll processing
Registry 20170524
Extended syntax of topic for application LastHeard.lua
Added support of password replication / centralized password management
BrandMeister 20170419-091334
Added conversion of Talker Alias to D-STAR free-text (supported encodings: 7 bit, 8-bit and UTF-8)
Improved handling of D-STAR slow-data (free-text and radio header) to Talker Alias
Fixed issue of high CPU load on BrandMeister after restarting Tarantool
Fixed issue with reading .abme files on some filesystems
Fixed issue in Generic.lua (producing TA)
Added new methods to D-BUS API :
dropCallRoute
getSubscriptionList
Extended interface between BrandMeister and Registry
Registry 20170419
Added new plug-ins:
LastHeard.lua
LoopPreventer.lua
Extended interface between BrandMeister and Registry
BrandMeister 20170401-080515
Improved timings on
expired sessions collection
reflector search
active talk group search (Generic.lua)
XTG Call processing (XTGCall.lua)
Extended syntax of getContextIterator
Added new secure storage to store passwords and keys
Changed keychain back-end from transport file to the new secure storage
Added support of personal access passwords to
Homebrew Repeater
HHDVM Host
SmartPTT
Motorola IP Site Connect
KAIROS External Server
Simple Application Protocol
Added option to manage Talker Alias enrichment on TG basis (new optional space in Registry)
Added option to manage Talker Alias transmission to Hytera MultiSite Connect (please check BrandMeister.sample.conf)
Added support of Excera GPS reports
Added decoding of Talker Alias for Last Heard
Fixed bug of transmitting callsign to YSF reflectors
Changed set of .ambe files for French
Registry 20170315
Added new plugin PasswordGuard.lua
Added key migration plugin Importer.lua
Added support of password API to Access.lua
Please note: custom passwords require additional actions
BrandMeister 20170305-154019
Changed syntax of validateHandoffTimer
Removed verifyRegularRepeater, validateFullFeaturedSpot
Added *Extended(arguments)
TREE_* added (replaces verifyRegularRepeater, validateFullFeaturedSpot)
Fixed issue with on-demand on TG 4000
Added support of call priorities to Generic.lua
Added support to process stored messages on MQTT
Please note: custom scripts can break
Registry 20170305-130256
Added support of call priorities to HouseKeeper.lua
BrandMeister 20170215-062738
Improved support of KAIROS Repeaters :
Added gathering of operational frequencies, color code and coordinates of repeater
Added support of enabling and disabling repeater
Removed support of:
delivery.json
cluster.json
mirror.json
Added feature of UU-Resp to confirm calls to private IDs 4000-5000
Added configuration setting "CallEnrichment"/"TalkerAlias" into generic.json
Added configuration setting "CallEnrichment"/"ConfirmedCall" into generic.json
BrandMeister 20170208-124154
Registry 20170208
Changed MySQL queries as a part of long-time modification of master database deployment
BrandMeister 20170116-165420
Added connection indexes based on red-black trees (in addition to hash maps)
Added stack trace into error handler of LUA scripts
Added new LUA functions:
getContextTable(name),
getContextIterator(),
getContextIterator(name),
getContextIterator(type, minimum, maximum),
getCallSessionIterator(object),
getRouteIterator(object)
Improved (optimized) with new set of functions:
XTGCall.lua
Genetic.lua
WWCQRound.lua
Fixed issue with routing of TG8 to FastForward in Genetic.lua (validateGeographicRegionCode)
Added new functionalities for Radio Activity KAIROS:
gathering repeater's location data
managing repeater's radio on/off
Fixed issue with SMS (and other kind of service data) traffic delivery originated by BrandMeister
Registry 20170122
Functionality of dynamic subscriptions partially moved from BrandMeister's Generic.lua to Registry's HouseKeeper.lua
BrandMeister 20170113-185741
Fixed issues with handling SMS delivery reports on MQTT and while transcoding
Fixed issues with Talker Alias when transmitting via Hytera's Repeater to a Hytera radio running v7
Registry 20170111
Added new way to store terminal location, now it can address network connections like c-Bridge
Prepared 1/2 of work to switch Tier I database to multi-master
BrandMeister 20170107-115831
Improved support of TellusAgent for Hytera Repeaters (proxy software that makes able connecting several Hytera's behind NPAT)
BrandMeister 20161226-071903
Imporved integration of Talker Alias on D-STAR: call, call extension and free text will be added as Talker Alias on call from D-STAR to DMR
Added support of embedded data (required to support Talker Alias and in-call GPS) to Simple External Application
Added check of Repeater ID on MMDVM Host and Homebrew Repeater: ID should not be an invalid number
Added incoming call interrupt extension to Homebrew repeater protocol
Added support of firmware v.8 on Hytera repeaters
Updated .ambe files for Hungarian
BrandMeister 20161201-122805
Added passing of Talker Alias and embedded GPS information (embedded signalling data)
Added passing of embedded signalling data via FastForward, Multi-Site Connect, MMDVM, Homebrew Repeater
Added generation of Talker Alias on incoming calls from D-STAR, Fusion, AutoPatch, Simple Application Protocol
Added passing of embedded GPS information to APRS/MQTT
BrandMeister 20161124-095832
Added support of 8-digits user ID for DV4mini (not tested yet)
Added support of TellusAgent for Hytera Repeaters (proxy software that makes able connecting several Hytera's behind NPAT)
Functionality of reflector.db has been moved to database, reflector.db completely removed from the installation package
Simple External Application has been extended with new message types and functionality
Fixed issue with CBridge link
Registry 20161124
Added replication of reflector list (new plug-in 200-CirculusVitiosus.lua)
Registry 20161018
Fixed issue with unregistered ID validation
Updated web-pages status.htm and list.htm, REST-inteface list.php
Improved behaviour of Resetter, this version requires BrandMeister 20161018-071405
BrandMeister 20161018-071405
Extended report of repeater data (required by Resetter)
Updated reflector.db
BrandMeister 20161002-081221
Fixed bug with sigfault after overlapping connections
BrandMeister 20160930-130152
Optimized call processing in c-Bridge link driver
OS interaction layer moved to epoll/timerfd and hashmap-based call table
Jitter buffer processing moved to consolidated handler that does single full-scan of session list
Registry 20160929
Fixed issues with D-BUS calling at Resetter.lua
Added synchronous location update
BrandMeister 20160927-093438
Fixed problems with routing (parrot)
BrandMeister 20160924-201541
Updated reflector.db
Fixed rare issue with deadlock state of repeater slots
Added support of Compressed Location Reporting
Added mode NationalOnlyAndRegional to generic.json / 30-Generic.lua
Added indexing of connections at BrandMeister Core (8 indexes for different search strategies)
Optimised way of full-scan contexts at some links such DExtra, DCS, YSF, Wires-X, c-Bridge CC-CC
Optimized the station data cache
Optimised D-BUS interface
BrandMeister 20160913-094019
Added validation of repeater's linked slots
Fixed support of TYT MD-380/390 GPS
Registry 20160912
Added cluster mirroring to transmit cluster calls between servers, useful for redundant server configurations
BrandMeister 20160908-055021
Changed heap manager to tcmalloc
Changed Tarantool under-layer driver implementation from 1.6 to 1.7.1
Registry 20160907
BrandMeister 20160907-104625
Added support of TYT MD-390 GPS (research and testing)
Added translation of MMDVM DMO and Motorola SLR8000 into common.js (web interface)
Fixed translation of BlueDV in common.js (web interface)
Fixed memory leakage in Tarantool driver (in cooperation with Tarantool Dev Team / bugs in libtarantool-c)
Registry 20160831
Fixed many bugs, code optimization
Added plugin 90-SpotGag.lua to remove all active subscriptions on hotspot by calling TG4000 (not a private call)
BrandMeister 20160831-093446
Fixed issue with 100% CPU utilization after restarting Tarantool
Fixed issue with hour subscription for hotspots in WWCQ
Added feature of restoring active talking group on connect of hotspot (30-Generic.lua)
Registry 20160827
Fixed many bugs, changed internal plugin API
Added plugin 40-HouseKeeper.lua to manage clusters and static subscriptions, plugin integrated with handoff timer
Added plugin 70-ValuePlace.lua, all management of stored values moved to this plugin, many improvements
Registry 20160826 (initial release)
Added location cache plugin (30-UserCache.lua)
Added MySQL storage plugin (50-MuscleStore.lua)
Added FastForward coordination plugin (60-CallDirector.lua / replaces old CallDirectorEmulator.php)
Added reflector resetter (80-Resetter.lua / replaces old ReflectorResetter.js)
BrandMeister 20160826-092634
Added .ambe files for Czech
Updated reflector.db
Significant change in back-end: BM moved from directly connected Memcached and MySQL into Tarantool. Special migration action required!
20160819-094412
Updated reflector.db
Improved reflector filtering at WinMaster Link
Fixed bug (out of bounds) at WinMaster Link
Fixed bug with handling audio frames at Simple External Application
Added work-around for DV4mini software 20160805 (all FullLC provided by DV4mini will be ignored)
20160812-065941
Updated reflector.db
Updated MMDVMHost link (changes in RSSI)
20160810-091154
Updated reflector.db
Added new plugin 60-Audition.lua
Added .ambe files for Danish, Norwegian, Finnish
Fixed issue with parsing hardware and software name at HomeBrew Repeater protocol
20160809-085018
Updated reflector.db
Added .ambe files for Swedish
Added message filter to KAIROS Extended Server link
Updated MMDVMHost link to accept signed values of RSSI field
20160804-104556
Updated reflector.db
Updated .ambe files for German
Added .ambe files for Polish and Hungarian
Added support of Simple External Application
Added initial support of RadioActivity Repeaters
Fixed issue with remote power management on Motorola repeaters
Fixed issue with mapping reflector call from DMR+ to talking group (20-XTGCall.lua)
20160711-185757
Fixed issue with multiple YSF Reflectors on the single IP
20160710-112417
Updated file reflector.db
Added functionality to ban whole repeater traffic (10-Filter.lua)
20160706-185135
Updated file reflector.db
Fixed insufficient issue in implementation of WinMaster protocol
Added cloud messaging extension to Homebrew repeater protocol
Added AMBE FEC correction for DV4mini and WinMaster
20160628-041534
Added support of sequence numbers for MMDVM
Fixed issue with sigfault on YSFClient
20160616-210632
Fixed issue with handling remote route removal (FastForward)
Added configuration option for ARS/LRRP/TMS (Motorola) transmissions: rate 1/2 unconfirmed or rate 3/4 confirmed
20160615-083417
Updated reflector.db
Fixed issue of routing on AutoPatch calls
Changed behavior of FullLC transmission at AutoPatch
Changed behavior of outbound packet transmission at IP Bridge
20160611-095754
Changed the transmission mode of ARS/LRRP/TMS/RRS/LP/TMP (registration, GPS, SMS) from Rate 3/4 to Rate 1/2 as a work-around to solve issues with Rate 3/4 on MMDVM
20160609-212845
Added two-ways support of YSF Reflectors for public testing
Added work-around to parse correctly a configuration message of MMDVM with filled location information
20160603-042820
Fixed RSSI reading for Motorola firmware R02.06.00.07
Fixed issue with TG 0 on XTG calls from DV4mini
20160528-190547
20160526-200925
Added feature of dynamically subscribed talking groups without expiration (last called group) for hotspots
Fixed issue with segfault of Wires-X Link on long call-signs
20160525-094052
Updated reflector.db
Fixed issue with DV4mini
Outbound traffic prioritized for IP Site Connect
Added extended collision resolution for Multi-Site Connect
20160520-121926
Fixed segfault for the case of double bridging (D-STAR - Wires-X)
20160515-084302
Added mode option to WWCQ (disabled, by-default, on-demand)
20160511-210751
Fixed issue with locking of repeater channel due late call entry
Fixed issue with sigfault of ServiceSuite on incorrect source ID
20160509-124218
Fixed issues with WIRES-X rooms having long names
20160505-180058
Updated reflector.db
Added configuration examples for WIRES-X
Some fixes and extensions in implementation of WIRES-X protocol
20160421-112227
Added new feature of WIRES-X Link
Updated reflector.db
Improved session lookup method of core
Fixed issue with sigfault on some rare cases (Layer4/FastForward)
Updated D-BUS and Lua APIs (setVendorSpecificValue -> setSpecificValue)
20160407-190155
Updated reflector.db
Updated D-BUS API
Refactored locking mechanism for c-Bridge Link
Added restriction list for plug-in xx-XTGCall.lua (Data/restrict.json)
20160404-124506
Fixed issue with XTG (one important change was lost during sync)
20160404-085206
Added additional handler for MQTT disconnection
Extended plug-in API to solve some issues with additional plugins
Updated 20-XTGCall.lua
Fixed 50-WWCQRound.lua
20160402-190328
Fixed bug with unconfirmed data handling at IP Site Connect, SmartPTT Bridge and c-Bridge CC-CC Link
20160331-125042 please migrate carefully (changes in plug-in API, perhaps last one)
Fully refactored logic for reflector routing (including DV4mini XTG)
Revlector logic moved into plug-in xx-XTGCall.lua
Some extensions in LUA API and application LoopBack
Some additional work to localize seldom dead-locks
20160327-212513 please migrate carefully
All business logic is moved to plug-ins (including Generic.lua)
All plug-ins moved to folder Script/PlugIns
Filter.lua is moved to plug-in xx-Filter.lua
Generic.lua and its usage are moved to plug-in xx-Generic.lua
Behavior of xx-Generic.lua is now configurable via Data/generic.json
Added plug-in xx-LocalData.lua for repeater-wide group messages / alerts / announces (please check page WorldWide )
20160327-051218
Added plug-in WWCQ.lua for WWCQ Round at TG 91 every Sat 16:00 UTC
Modified Generic.lua to fix issue with XTG/REF
20160326-081059
20160325-112931
Added function publishExternaEvent to D-BUS API
Added new event type (External-Event) and domain (EVENT_DOMAIN_SYSTEM) to D-BUS API and Scripting
Added Handling of "configuration changed" (EVENT_DOMAIN_SYSTEM/External-Event) to Scripting/Listener.lua
Added new function _G.handleConfigurationEvent() to Scripting/Listener.lua
Added new shell script reload.sh
Changed messages of delivery report for transcoded SMS
Added support for BER and RSSI reporting of MMDVM Host
Added strong validation of subscribed reflector number
Updated reflector.db
20160321-085941
Added new function makeRouteBackForPrivateData (Generic.lua, Registry.lua) to route service data calls for users on roaming between servers
Added two new functions to LUA API : dropCallRoute and dropCallSession
Added support of alarm types (Raise, Clear) and extra data (if exists)
Fixed behavior of setHandOffLock in Generic.lua (reported and patched by Robert N5QM)
20160318-040143
Added variable service path to D-BUS. Please be careful and change (1) access rights (a+r) to BrandMeister.conf or (2) contents of file status/common.php.
Improved cBridge link (DNS resolution approach changed to same as used in APRS Gate starting release 20160315-111257).
20160315-111257
Added latency setting to all repeater links
Added handling of console output for 3-rd party LUA libraries (in testing)
Refactored connection establishment procedure for APRS Gate
20160309-083534
Fixed support of MMDVM in DMO mode
Fixed issue with reflectors 4280-4281 in reflector.db
20160308-193408
Added support of MMDVM in DMO mode (DV-MEGA )
20160307-211218
Updated reflector.db
Added support of SMS for Tytera MD-380 (please check self-care settings)
20160305-201813
Fixed bug in makeRouteToRepeaterCluster (Generic.lua)
Fixed insufficient bug in IP Site Connect (de-registration of non-registered peer)
Implemented alternative behavior of SMS transcoder (not tested)
20160303-050431
Fixed issue with case when DNS not responding
20160302-104926
20160226-211831
Added functionality to filter APRS destination call-sign of text messages
20160225-203423
20160223-172311
Fixed bug with key management and memory allocation at encryption of FastForward
Updated key-chain for FastForward
Updated reflector.db
20160223-085648
Added support of encryption on FastForward (update of CallDirector is strongly recommended)
Added support of Private ID ban (Filter.lua, please check Tools/BanPrivateID.php )
Added limit for TG ID (100-9999) to makeAutomaticRouteForNationalGroup (Generic.lua)
20160222-095810
Added some logic to Generic.lua and Registry.lua:
Added routing of data calls to hotspots
Talking group mirroring moved to Data/mirror.json
Static talking group delivery moved to Data/delivery.json
20160221-221915
Added setting of jitter buffer latency for IP-Site Connect into configuration file
Improved execution time of Lua scripts using LuaJIT 2.0
20160221-122244
Jitter buffer expanded from 100 ms to 200 ms to solve next part of issues of IP-Site Connect at weak channels (got in UK with LTE-connected Motorolas)
Improved support of data transmission for old Motorola firmwares (R2.20.12)
20160220-183659
Improved implementation of real-time data processing at IP-Site Connect for weak channels
20160219-175420
Updated reflector.db
Added logic to prevent sending beacons to Hytera's repeaters in mixed mode
Added handling of slot linking setting for MMDVM Host
20160216-081610
Fixed issue of data transmissions on FastForward (affects transmissions with Preamble CSBK)
Improved implementation of FastForward to accept more calls that transported via weak channels
20160215-172845
Added new LUA function getCallSessionTable()
Added feature of hand-off timer for group calls (Generic.lua, Listener.lua)
20160209-132407
Added feature of automatic replacement of existing on-demand (dynamic) subscriptions for hotspots in DMO (Generic.lua)
Added feature of Network Bridging via scripting (Generic.lua, Tools.lua, Registry.lua, bridge.json)
20160205-110346
Updated Registry.lua to prevent forwarding of group data calls to FastFarward, DV4mini and on-demand.
Extended format of APRS bulletin message to bulletin name
Improved APRS bulletin name parseing
Updated reflector.db
Modified format of outgoing ETSI text messages from UTF-16LE to UTF-16BE (ETSI TS 102 361-4 V1.6.1 chapter 6.6.4)
Added notification of applications of text message delivery report (see MQTT API )
Added processing of repeater's specific information for MMDVM and HomebrewRepeater (see MQTT API , D-BUS API , REST API )
20160201-203627
Updated reflector.db
Added full support of Hytera's Compressed IP services (RRS/LP/TP)
Added feature of text announcment (group outgoing messages) for ETSI, Hytera and Motorola via API
Added support of APRS group bulletins (group name should contains DMR group ID)
Fixed issue with delivery of APRS messages to DMR radios
Added reporting of available feature set (REST API)
20160120-191424
Added logging of NMEA location reports for some Chinese radios (we will implement processing of these messages in next releases)
Added new LUA function setVendorSpecificValue (issue ID 0000030)
20160120-075016
Added partial support of Hytera's Compressed UDP Transport
Expanded range of possible group ID to rename at LoopBack.lua
Updated reflector.db
Updated common.js
20160117-093937
Fixed issue of S and W hemispheres for Motorola location reports (affects APRSGate/ServiceWrapper)
Added support of start/stop messages for triggered location updates on Hytera (now it can be managed over Self-Care as on Motorola)
Removed debug logging for RDAC of Hytera
20160114-094645
Fixed issue of configuration message produced by latest builds of MMDVMHost
Changed transaction isolation level of SQL client
20160112-130703
Fixed insignificant bug in SmartPTT link
Fixed bug with incoming voice frame enumeration at link of MMDVM Host
Added negative response for wrong configuration message at links of HomebrewRepeater and MMDVM Host (issue ID 0000013)
20160112-111241
Improved SQL queries to minimize access time
Improved installation scripts to minimize database access time
Added support of header x-forwarded-for at link.php (issue ID 0000017)
Added set of Mexican reflectors at reflector.db (issue ID 0000016)
Fixed set of French reflectors at reflector.db
20160111-074402
20160110-174008
Added support of RSSI handling for Homebrew repeater protocol
Added support of Standard DMR UDP Header Compression for incoming data of Motorola ARS/TMS/LRRP/Telemetry
Added support of dongle selection for cases with multiple DVmini at the same IP in Extended routing for DV4mini
Improved common.js
20160106-213557
20160105-205715
20160105-084851
Added support of customizable interval for periodic location update (actual for Motorola terminals)
20160104-122936
Refactored internal data access layer
20160103-062347
Extended list of alarms for Motorola repeaters
20160101-163302
Fixed issues with parsing of configuration for MMDVM Host
Fixed issues with parsing of configuration for Homebrew Repeater
Updated .ambe files for Spanish
Updated copyright :)
20151231-085746
Added .ambe files for Spanish
20151224-203728
Added custom implementation of MMDVMHost protocol
Removed experimental implementation of outgoing queue for IP-Site Connect
20151221-200125
Experimental implementation of outgoing queue for IP-Site Connect
20151211-102937
Fixed filling of inessential fields in DMRD message of Homebrew Repeater Protocol
20151210-120246
Added asynchronous connectivity for c-Bridge
Added connecting timeout for TCP connections (c-Bridge and APRS)
Added script monitor.sh
20151208-162812
Added support of password authentication for IP-Site Connect and SmartPTT Bridge
Fixed issue with keep-alives on SmartPTT Bridge
20151207-191217
Improved site activation on IPSC
Extended registry.db
Fixed Dictionary/fr/*.ambe
20151203-102233
Fixed Dictionary/en/*.ambe
Fixed registry.db
Added outbound WAKEUP messages to IPSC implementations
20151201-095437
Added .ambe files for French
Updated .ambe files for English
Updated reflector.db
20151128-102912
20151127-075331
Fixed fault that happens when DV4mini tries to connect with non-existing ID
20151126-103323
Fixes in reflector.db
Updated QoS to 1 for MQTT
20151125-091551
Removed all references to DG1HT from link names by his request
20151124-200301
Added new function readReflectorMapFromFile to Tools.lua
Added new file reflector.db (list of mapped reflectors moved from Registry.lua to reflector.db)
Added Nice=-10 to brandmeister.service
Small improvements in C code
20151121-131049
Small change in lua scripting
Added new function makeRouteToMirrorGroup to Generic.lua
Appended list of reflectors at Registry.lua
20151120-173522
Improved connectivity of directly connected AMBE dongle: added detection of byte loss
Fixes the problem with AMBE dongle connected directly to the server
Bugfix for D-STAR DCS support.
20151119-115209
Added support of D-STAR DCS reflectors (including CCS-based authentication)
20151118
Added support for frameloss to MQTT and Logging
20151117-154218
Added after the fact routing
There is no more history