This program is a proof-of-concept implementation of a DMR tier III trunked radio controller with a graphical user interface. Only a subset of ETSI TS 102 361-4 is implemented currently, see list below. This software is licenced under the GPL v3 and is primarily intended for amateur radio and educational use. This software is intended to work together with DMRGateway, MMDVMHost-SDR, MMDVM-SDR and QRadioLink in order to create a DMR tier III radio site.
- Registration and deregistration service, mass registration request
- Talkgroup voice call service
- Private voice call service: OACSU (to and from network subscribers), FOACSU (local subscribers only)
- Broadcast talkgroup call service (local subscribers only)
- UDT short data message service: private (local subscribers only), talkgroup (local and network), ISO-8 and UTF-16 SMS
- Voice call late entry announcements
- System frequencies and local time broadcasts - logical/physical channel map definitions
- Network voice services
- Talkgroup attachment on registration (up to 6 additional talkgroups)
- Dynamic Group Numbering Assignment service - TS initiated or requested by MS via SMS to system service
- Radio presence check
- Private voice / UDT short data call diversion service
- MS authentication prior to registration or service access (optional)
- Preferential call notification (MS call priority choice)
- Group call priorities, priority interrupt of network-originated group calls
- Adjacent sites announcements
- Fixed and flexible hunt channel plans
- Absolute channel grants (only usable when MS is set to hunt in flexible channel plan, apparently due to radio limitations)
- Status delivery service - group and private
- Status polling service
- NMEA location polling via UDT, MS-requested location polling of another MS via SMS
- Individual packet data call service (single item, confirmed data, long SMS, 8 bit ISO text unit-to-unit, unit-to-group), dedicated channel
- Signalling using single control block (CSBK) or multiple control blocks (MBC)
- Supplimentary user data transfer service (additional data sent as part of the primary call setup)
- Dial digit upload for PABX call service (SIP signalling to PBX is not implemented yet)
- TS-received RF signal report service via SMS or via private call to defined system id
- Automatic subscription of talkgroups from core network upon local attachment or DGNA request
- Site presence of MS sent to core network to facilitate private call and SMS routing across IP network
- Site-local talkgroup definitions
- Static talkgroup subscription to core network
- Gateway definitions and dynamic call routing towards gateways based on talkgroup prefix (7th most significant digit)
- Voice with location embedded (GPS coordinates are displayed on logical channel information but not sent anywhere else)
- Extended talker-alias parsing (ISO-7, ISO-8, UTF-16), display on logical channel information element
- MS dynamic power control
- MS pre-emption control
- All-MS call service
- Packet data call service using unconfirmed data, raw data, defined data, group call, multi-item data
- IP bearer services
- Ambient listening service
- MS stun, kill and revive
- Full duplex voice call service
- PABX/PSTN call service via SIP trunk
- Call diversion service to PSTN/PABX/Gateway
DMR Tier III compatible radios tested and confirmed to work fully or partially with this software:
- Hytera HP785: registration, talkgroup attachment, group voice calls, private voice calls (OACSU and FOACSU), short text messages, call divert, voice with location, DGNA, status transfer service, authentication, hunting in fixed or flexible channel plans, NMEA location polling via UDT, long SMS on dedicated channel, all basic functions compatibility
- Hytera HM785: registration, talkgroup attachment, group voice calls, private voice calls (OACSU and FOACSU), short text messages, call divert, voice with location, DGNA, status transfer service, authentication, hunting in fixed or flexible channel plans, NMEA location polling via UDT, long SMS on dedicated channel, all basic functions compatibility
- Hytera PD755: registration, talkgroup attachment, group voice calls, private voice calls (OACSU only, radio does not support FOACSU), short text messages, the rest of features are not 100% confirmed to work yet
- Hytera PD785: registration, talkgroup attachment, group voice calls, private voice calls (OACSU and FOACSU), short text messages, call divert, voice with location, DGNA, status transfer service, authentication, hunting in fixed or flexible channel plans, NMEA location polling via UDT
- Hytera PD685G: registration, talkgroup attachment, group voice calls, private voice calls (OACSU and FOACSU), short text messages, call divert, voice with location, DGNA, status transfer service, authentication, hunting in fixed or flexible channel plans, NMEA location polling via UDT
- Motorola SL4000e: only fixed channel plan hunt mode, Open Radio or Open System mode in RadioManager CapMax system settings, otherwise no registration possible, talkgroup and private voice calls work, short text messages partly work, everything else does not at this moment, regardless of settings. Also, one timing parameter needs to be adjusted in RadioManager, otherwise in about 30 minutes radio deregisters from dmrtc.
- Motorola DP4801e: same as Motorola SL4000e
- Private calls and private messages do not work when MS registration is disabled (due to missing site-presence information)
- Site to site handover during RX and TX does not work (seems to be manufacturer-specific so out-of-scope for this software)
- MS power control and transmit interrupt (partly implemented but there are clarity issues in the DMR standard surrounding these)
- RSSI indicated values are not always accurate and may have large errors at times
- UDT short data polling other than NMEA location does not work
- Status polling from TS does not work (not supported by radios)
- Talkgroup call priorities are not respected for local calls, only for incoming network calls
- Absolute channel grants do not work when the MS is set to hunt with fixed channel plan (possibly radio issues)
- TSCCAS support is incomplete / buggy
- ISO-7 formatted SMS text is not parsed adequately
- Qt >= 5.14 with GUI, network and widgets support (but not Qt6 yet)
- libconfig
- liblog4cpp
- libuuid
- Installing build dependencies on Debian Trixie:
$ sudo apt-get install liblog4cpp5v5 libconfig++11 libconfig++-dev uuid-dev libuuid1 qt5-qmake qtbase5-dev libqt5core5t64 libqt5gui5t64 libqt5network5t64
- Clone the Github repository into a directory of your choice
- Change directory to where you have cloned or unzipped the code
- Run qmake to generate the Makefile
- Run make (with the optional -j flag)
$ git clone https://codeberg.org/qradiolink/dmrtc $ cd dmrtc/ $ git checkout master $ mkdir -p build $ cd build/ $ qmake .. $ make
- To run it with the GUI interface, simply execute drmtc.
$ ./dmrtc
- To run it in console, without the GUI interface, start it with the "-h" flag:
$ ./dmrtc -h
- The configuration file is located at $HOME/.config/dmrtc/dmrtc.cfg (see dmrtc.cfg.example)
- The list of DMR ids must be created at $HOME/.config/dmrtc/DMRIds.dat (CSV file with id, callsign and name, format by radioid.net and named user.csv in the Downloads area )
- The log file is written at $HOME/.config/dmrtc/dmrtc.log
A complete HTML version of the MMDVM DMR trunking documentation can be found here
The specification for the new IP network communication protocol (Homebrew DMR Trunking Protocol) can now be found in the docs/ directory
- The program is released under the GNU General Public License version 3. Please see the COPYRIGHT and AUTHORS files for details.
- This program uses code (with modifications) from MMDVMHost copyright by Jonathan Naylor G4KLX and others, licensed under GPLv2, see the MMDVM directory and source files for details and license
- Graphical resources are licensed under LGPLv3 (icons from KDE Oxygen theme copyright KDE Foundation)
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
