A multi-network DMR gateway for the MMDVM.
Find a file
Jonathan Naylor 70b3126804
Merge pull request #115 from narspt/Portuguese
Add Portuguese voice files
2022-06-12 13:28:37 +01:00
Audio Add Portuguese voice files 2022-02-07 00:03:19 +00:00
scripts Update scripts. 2020-04-23 21:36:43 +01:00
.gitignore Add GitVersion.h 2017-05-23 09:52:25 +01:00
APRSWriter.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
APRSWriter.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
BPTC19696.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
BPTC19696.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
Conf.cpp Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
Conf.h Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
CRC.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
CRC.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRCSBK.cpp Add new processing blocks for CSBK and Data Headers. 2017-08-01 21:55:47 +01:00
DMRCSBK.h Add new processing blocks for CSBK and Data Headers. 2017-08-01 21:55:47 +01:00
DMRData.cpp Initial commit. 2017-04-20 20:51:30 +01:00
DMRData.h Initial commit. 2017-04-20 20:51:30 +01:00
DMRDataHeader.cpp Add new processing blocks for CSBK and Data Headers. 2017-08-01 21:55:47 +01:00
DMRDataHeader.h Add new processing blocks for CSBK and Data Headers. 2017-08-01 21:55:47 +01:00
DMRDefines.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMREMB.cpp Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
DMREMB.h Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
DMREmbeddedData.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMREmbeddedData.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRFullLC.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRFullLC.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRGateway.cpp Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
DMRGateway.h Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
DMRGateway.ini Implement remote command support. 2021-03-20 13:03:19 +01:00
DMRGateway.sln Initial commit. 2017-04-20 20:51:30 +01:00
DMRGateway.vcxproj Add VS2019 support. 2021-03-22 22:18:59 +00:00
DMRGateway.vcxproj.filters Add VS2019 support. 2021-03-22 22:18:59 +00:00
DMRLC.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRLC.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRNetwork.cpp Add new remote command: 2022-01-21 08:13:24 +00:00
DMRNetwork.h Add new remote command: 2022-01-21 08:13:24 +00:00
DMRSlotType.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DMRSlotType.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
DynVoice.cpp Add the missing "to" the Dynamic TG voice. 2020-09-18 13:05:29 +01:00
DynVoice.h Abort the voice prompt if network traffic appears on the same slot. 2020-04-18 22:33:24 +01:00
Golay2087.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
Golay2087.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
GPSD.cpp Fix compile with GPSD. 2020-08-28 15:21:59 +01:00
GPSD.h Add optional reporting of the home location to APRS-IS directly. 2020-08-28 15:15:25 +01:00
Hamming.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
Hamming.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
LICENCE Initial commit. 2017-04-20 20:51:30 +01:00
Log.cpp Fix compiler warning 2021-10-25 17:54:16 +01:00
Log.h Add optional log file rotation and UDP error handling. 2020-10-31 22:45:54 +00:00
Makefile Remove RemoteCommandDMRG, as RemoteCommand from MMDVMHost's PR now works with DMRGatway too. 2021-03-22 20:16:35 +01:00
MMDVMNetwork.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
MMDVMNetwork.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
PassAllPC.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
PassAllPC.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
PassAllTG.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
PassAllTG.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
prebuild.cmd Add compilation time stamp and GitID to binaries 2017-05-23 10:07:44 +02:00
QR1676.cpp Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
QR1676.h Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
README.md Update the README file. 2021-12-13 10:26:41 +00:00
Reflectors.cpp Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
Reflectors.h Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
RemoteControl.cpp Add a way to disable the RemoteCommand logging (annoying when RemoteCommand is heavily used). 2022-01-24 14:20:58 +00:00
RemoteControl.h Add new remote command: 2022-01-21 08:13:24 +00:00
Rewrite.cpp Fix LCSS bug and improve swap usage. 2017-08-03 20:49:44 +01:00
Rewrite.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteDstId.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteDstId.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteDynTGNet.cpp Add dynamic TG voice prompts and status TG. 2020-04-03 16:54:35 +01:00
RewriteDynTGNet.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteDynTGRF.cpp Abort the voice prompt if network traffic appears on the same slot. 2020-04-18 22:33:24 +01:00
RewriteDynTGRF.h Abort the voice prompt if network traffic appears on the same slot. 2020-04-18 22:33:24 +01:00
RewritePC.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewritePC.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteSrc.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteSrc.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteSrcId.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteSrcId.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteTG.cpp Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteTG.h Allow for more rewrite processing options. 2020-04-03 15:10:41 +01:00
RewriteType.cpp Remove warning. 2020-09-03 10:37:21 +01:00
RewriteType.h Extended TypeRewrite 2020-04-08 16:21:35 +09:00
RingBuffer.h Initial commit. 2017-04-20 20:51:30 +01:00
RS129.cpp Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
RS129.h Add the TG rewrite code. 2017-04-28 16:45:05 +01:00
SHA256.cpp Initial commit. 2017-04-20 20:51:30 +01:00
SHA256.h Initial commit. 2017-04-20 20:51:30 +01:00
StopWatch.cpp aSimplify the new stopwatch code. 2018-07-15 20:26:54 +01:00
StopWatch.h Fix Windows compilation. 2020-09-20 15:05:42 +01:00
Sync.cpp Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
Sync.h Initial commit for voice prompts. 2017-05-01 09:35:17 +01:00
Thread.cpp Updates for NetBSD. 2020-10-05 12:59:57 +01:00
Thread.h Initial commit. 2017-04-20 20:51:30 +01:00
Timer.cpp Initial commit. 2017-04-20 20:51:30 +01:00
Timer.h Initial commit. 2017-04-20 20:51:30 +01:00
UDPSocket.cpp Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
UDPSocket.h Fix network ports datatype (unsigned int -> unsigned short). UDPSocket: fix old bug using m_port instead of m_port[x]. 2021-04-25 07:44:55 +02:00
Utils.cpp Initial commit. 2017-04-20 20:51:30 +01:00
Utils.h Initial commit. 2017-04-20 20:51:30 +01:00
Version.h Don't use default arguments for closing the network connection. 2021-04-09 10:16:52 +01:00
XLXHosts.txt Update XLXHosts.txt 2021-10-25 17:54:35 +01:00
XLXHostsupdate.sh Update XLXHostsupdate.sh 2020-12-12 12:57:02 +10:00
XLXVoice.cpp Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00
XLXVoice.h Fix: XLX ID as 3 characters string instead of a number. 2022-02-17 09:36:23 +00:00

This is the DMR Gateway which allows for the connection of up to six different DMR networks to one MMDVM system. One of the networks is defined as being an XLX reflector, while the other five may be any combination of DMR+, BrandMeister, TGIF, or local HBLink systems.

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 dont 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.

This software builds on 32-bit and 64-bit Linux systems as well as on Windows using Visual Studio 2017 on x86 and x64.

This software is licenced under the GPL v2 and is primarily intended for amateur and educational use.