A multi-network DMR gateway for the MMDVM.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Audio Use the same logic as the D-Star voice unit. Oct 3, 2017
.gitignore Add GitVersion.h May 23, 2017
BPTC19696.cpp Add the TG rewrite code. Apr 28, 2017
BPTC19696.h
CRC.cpp Add the TG rewrite code. Apr 28, 2017
CRC.h Add the TG rewrite code. Apr 28, 2017
Conf.cpp Allow for sequence numbers on the rewrite rules. Jun 4, 2018
Conf.h Add an optional third DMR Network. Nov 21, 2017
DMRCSBK.cpp
DMRCSBK.h Add new processing blocks for CSBK and Data Headers. Aug 1, 2017
DMRData.cpp
DMRData.h Initial commit. Apr 20, 2017
DMRDataHeader.cpp Add new processing blocks for CSBK and Data Headers. Aug 1, 2017
DMRDataHeader.h
DMRDefines.h Add the TG rewrite code. Apr 28, 2017
DMREMB.cpp Initial commit for voice prompts. May 1, 2017
DMREMB.h Initial commit for voice prompts. May 1, 2017
DMREmbeddedData.cpp Add the TG rewrite code. Apr 28, 2017
DMREmbeddedData.h Add the TG rewrite code. Apr 28, 2017
DMRFullLC.cpp Add the TG rewrite code. Apr 28, 2017
DMRFullLC.h Add the TG rewrite code. Apr 28, 2017
DMRGateway.cpp Close the fds as the log initialisation. Jul 26, 2018
DMRGateway.h Add an optional third DMR Network. Nov 21, 2017
DMRGateway.ini Fix DMRGateway.ini for 3rd network Nov 21, 2017
DMRGateway.sln
DMRGateway.vcxproj
DMRGateway.vcxproj.filters Allow for switching between XLX reflectors. Aug 20, 2017
DMRLC.cpp Add the TG rewrite code. Apr 28, 2017
DMRLC.h Add the TG rewrite code. Apr 28, 2017
DMRNetwork.cpp Add identification of the DMR Gateway to connected networks. Jun 4, 2018
DMRNetwork.h Add identification of the DMR Gateway to connected networks. Jun 4, 2018
DMRSlotType.cpp
DMRSlotType.h Add the TG rewrite code. Apr 28, 2017
Golay2087.cpp Add the TG rewrite code. Apr 28, 2017
Golay2087.h
Hamming.cpp
Hamming.h Add the TG rewrite code. Apr 28, 2017
LICENCE
Log.cpp Add extra logging. Oct 9, 2017
Log.h Initial commit. Apr 20, 2017
MMDVMNetwork.cpp
MMDVMNetwork.h Allow for passing of beacon requests from the networks to the repeater. Jun 2, 2017
Makefile Allow for switching between XLX reflectors. Aug 20, 2017
PassAllPC.cpp
PassAllPC.h Handle TA and Embedded GPS data correctly. Aug 2, 2017
PassAllTG.cpp Handle TA and Embedded GPS data correctly. Aug 2, 2017
PassAllTG.h Handle TA and Embedded GPS data correctly. Aug 2, 2017
QR1676.cpp
QR1676.h
README.md Update the README file. Nov 21, 2017
RS129.cpp Add the TG rewrite code. Apr 28, 2017
RS129.h Add the TG rewrite code. Apr 28, 2017
Reflectors.cpp Simplify the format of the XLX Hosts file a little. Sep 26, 2017
Reflectors.h
RepeaterProtocol.cpp
RepeaterProtocol.h Allow for passing of beacon requests from the networks to the repeater. Jun 2, 2017
Rewrite.cpp Fix LCSS bug and improve swap usage. Aug 3, 2017
Rewrite.h Fix LCSS bug and improve swap usage. Aug 3, 2017
RewritePC.cpp Handle TA and Embedded GPS data correctly. Aug 2, 2017
RewritePC.h Handle TA and Embedded GPS data correctly. Aug 2, 2017
RewriteSrc.cpp Handle TA and Embedded GPS data correctly. Aug 2, 2017
RewriteSrc.h
RewriteTG.cpp Handle TA and Embedded GPS data correctly. Aug 2, 2017
RewriteTG.h Handle TA and Embedded GPS data correctly. Aug 2, 2017
RewriteType.cpp
RewriteType.h Handle TA and Embedded GPS data correctly. Aug 2, 2017
RingBuffer.h Initial commit. Apr 20, 2017
SHA256.cpp Initial commit. Apr 20, 2017
SHA256.h Initial commit. Apr 20, 2017
StopWatch.cpp aSimplify the new stopwatch code. Jul 15, 2018
StopWatch.h aSimplify the new stopwatch code. Jul 15, 2018
Sync.cpp Initial commit for voice prompts. May 1, 2017
Sync.h Initial commit for voice prompts. May 1, 2017
Thread.cpp Initial commit. Apr 20, 2017
Thread.h Initial commit. Apr 20, 2017
Timer.cpp Initial commit. Apr 20, 2017
Timer.h
UDPSocket.cpp
UDPSocket.h Initial commit. Apr 20, 2017
Utils.cpp Initial commit. Apr 20, 2017
Utils.h Initial commit. Apr 20, 2017
Version.h Bump the version date. Jun 6, 2018
Voice.cpp Fix indentation. Oct 4, 2017
Voice.h Use an unordered_map for the AMBE phrases. Oct 1, 2017
XLXHosts.txt Update XLXHosts.txt Sep 27, 2018
XLXHostsupdate.sh Set default reflector for XLX 886 Feb 13, 2018
prebuild.cmd

README.md

This is the DMR Gateway which allows for the connection of up to four different DMR networks to one MMDVM system. One of the networks is defined as being an XLX reflector, while the other three may be one each of DMR+, BrandMeister, or a local HBLink system.

This software works by use of powerful rewriting rules which allow for changes in the slot, talk group, the type, and even the destination, of the messages. Without a rewrite rule, even if it does no actual rewriting, traffic will not be passed through from that defined network to the MMDVM and back again.

For example, the default configuration moves the announcements from BrandMeister for linking and unlinking to the same talk group slot as the reflectors themselves, a far more reasonable configuration than the default BrandMeister one.

The rewrite rules don’t apply to the XLX reflector, where only the slot and the talk group used may be changed. The controls i.e. private calls, for altering the reflector are fixed. In the case of the XLX reflectors the gateway will issue voice prompts to indicate the current reflector. These are available in a number of languages.

The MMDVM .ini file should have the IP address and port number of the client in the [DMR Network] settings.

They build on 32-bit and 64-bit Linux as well as on Windows using Visual Studio 2017 on x86 and x64.

This software is licenced under the GPL v2 and is intended for amateur and educational use only. Use of this software for commercial purposes is strictly forbidden.