MMDVM_CM/P252DMR
Andy CA6JAU b9c3c3fc96
Merge pull request #49 from nostar/master
Add XLXHosts support to P252DMR and re-link to XLX after DMR timeout
2020-10-22 14:53:05 -03:00
..
BPTC19696.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
BPTC19696.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Conf.cpp Correct default P25 porsts and add Daemon config variable 2020-06-24 02:14:16 -04:00
Conf.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
CRC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
CRC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Defines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DelayBuffer.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DelayBuffer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRData.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRData.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRDefines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREMB.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREMB.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREmbeddedData.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMREmbeddedData.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRFullLC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRFullLC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRIds.dat Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLC.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLC.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLookup.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRLookup.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRNetwork.cpp Add XLXHosts support to P252DMR and re-link to XLX after DMR timeout 2020-10-17 20:46:53 -04:00
DMRNetwork.h Add XLXHosts support to P252DMR and re-link to XLX after DMR timeout 2020-10-17 20:46:53 -04:00
DMRSlotType.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
DMRSlotType.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay2087.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay2087.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay24128.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Golay24128.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Hamming.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Hamming.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
imbe_vocoder_api.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
LICENSE Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Log.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Log.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Makefile Update Makefile 2020-07-03 10:24:03 +02:00
MBEVocoder.cpp Rename mbevocoder.cpp to MBEVocoder.cpp 2020-06-15 21:35:53 +01:00
MBEVocoder.h Rename mbevocoder.h to MBEVocoder.h 2020-06-15 21:36:11 +01:00
ModeConv.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
ModeConv.h Update ModeConv.h 2020-06-15 21:35:06 +01:00
Mutex.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Mutex.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Defines.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Network.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P25Network.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.cpp Add XLXHosts support to P252DMR and re-link to XLX after DMR timeout 2020-10-17 20:46:53 -04:00
P252DMR.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.ini Correct default P25 porsts and add Daemon config variable 2020-06-24 02:14:16 -04:00
P252DMR.vcxproj Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
P252DMR.vcxproj.filters Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
QR1676.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
QR1676.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
README.md README updates 2020-06-28 14:49:41 -04:00
Reflectors.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Reflectors.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RingBuffer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RS129.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
RS129.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
SHA256.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
SHA256.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
StopWatch.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
StopWatch.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Sync.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Sync.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Thread.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Thread.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Timer.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Timer.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
typedefs.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
UDPSocket.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
UDPSocket.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Utils.cpp Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Utils.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00
Version.h Adding P252DMR code from nostar 2020-06-14 16:49:11 +01:00

Description

This is the source code of P252DMR, a software for digital voice conversion from P25 to DMR digital mode, based on Jonathan G4KLX's MMDVM software. Unlike the other cross mode utilities upon which this is based, this utility performs software transcoding between IMBE 4400x2800(P25) and AMBE+2 2450x1150(DMR).

You can use this software with MMDVMHost and P25Gateway, with the default UDP ports:

MMDVMHost(P25 Mode):32010 <-> 42020:P25Gateway:42010 <-> 42012:P252DMR <-> (DMR Master server)

If you want to connect directly to a XLX reflector (with DMR support), you only need to uncomment ([DMR Network] section):

XLXFile=XLXHosts.txt
XLXReflector=950
XLXModule=D

and replace XLXReflector and XLXModule according your preferences. Also, you need to configure the DMR port according the XLX reflector port, for example:

Port=62030

StartupDstId, StartupPC and Address parameters don't care in XLX mode.

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.

Building

This utility is not built with the other cross mode ulitities, and has 2 external dependencies:

imbe_vocoder https://github.com/nostar/imbe_vocoder md380_vocoder https://github.com/nostar/md380_vocoder

With these dependencies installed, run 'make' from the source directory.

Crosslink configuration

You can use P252DMR to link a P25 Reflector to a DMR network (without using any RF link):

P25Reflector <-> P252DMR <-> any DMR Network

Install the P252DMR software at the same server where P25Reflector is located. Configure your [DMR Network] section (P252DMR.ini) as usual, depending on your preferred DMR network. Then, you only need to match the P25Reflector UDP port (Port in [Network], P25Reflector.ini) to P25 UDP port (DstPort in [P25 Network], P252DMR.ini).

For example, a common UDP port in P25Reflector.ini:

[Network]
Port=41000

Then you need to configure P252DMR.ini (example):

[P25 Network]
Callsign=CE1ABC
TG=10300
DstAddress=127.0.0.1
DstPort=41000
LocalAddress=127.0.0.1
LocalPort=41015
Daemon=0