From aaf36186ef42efbd2fc3af639a905eacaeae3d16 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 2 Feb 2020 17:59:39 +0000 Subject: [PATCH 01/29] Update 51575 --- P25Gateway/P25Hosts.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 460877a..2a6c6fa 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -173,7 +173,7 @@ # 50525 Bridge to YSF, NXDN and DMR 50525 50525.p25dvm.com 41000 -# 51575 PH-Dumaguete Link to YSF and DMR (BM 51575) +# 51575 PH-Dumaguete Link (Multimode) 51575 140.82.14.24 41000 # 53099 New Zealand bridge to D-Star, DMR and NXDN From 7d5c89d04d547f7297219eb05b2db0cac1c928df Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 3 Feb 2020 15:51:40 +0000 Subject: [PATCH 02/29] Update 31161 IP address --- P25Gateway/P25Hosts.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 2a6c6fa..fb432a1 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -129,7 +129,7 @@ 31092 p25.alecwasserman.com 41000 # 31161 Virginia -31161 24.53.67.238 41000 +31161 24.49.24.3 41000 # 31171 Illinois 31171 74.208.235.115 41000 From 7d0e62d75d20e651ee879322d18ec18ed069a6a6 Mon Sep 17 00:00:00 2001 From: Scott Evans Date: Wed, 5 Feb 2020 16:44:33 +1100 Subject: [PATCH 03/29] Update P25hosts.txt Add Canada 302 as I overlooked this the other day when updating nxdn reflectors. --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index fb432a1..73526fc 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -11,6 +11,9 @@ # XLX045E P25 <-> DMR/DSTAR/YSF/NXDN 6 70.44.20.24 41000 +# 302 Canada +302 p25canada.hopto.org 41000 + # 420 Super Freq 420 p25.evsuperfreqs.com 41000 From 75d71000284a3eb745558bce645ab940ab257666 Mon Sep 17 00:00:00 2001 From: Scott Evans Date: Mon, 10 Feb 2020 07:27:53 +1100 Subject: [PATCH 04/29] P25Hosts.txt I received an email from VA3CZK requesting that I removed the addition of the 302 Canada reflector from the P25Hosts.txt listing. --- P25Gateway/P25Hosts.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 73526fc..fb432a1 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -11,9 +11,6 @@ # XLX045E P25 <-> DMR/DSTAR/YSF/NXDN 6 70.44.20.24 41000 -# 302 Canada -302 p25canada.hopto.org 41000 - # 420 Super Freq 420 p25.evsuperfreqs.com 41000 From 3855e110c35f116211ddb06e5f57979c781ceb21 Mon Sep 17 00:00:00 2001 From: n9krg <56365804+n9krg@users.noreply.github.com> Date: Mon, 10 Feb 2020 09:17:02 -0600 Subject: [PATCH 05/29] Update P25Hosts.txt new dynamic dns name --- P25Gateway/P25Hosts.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index fb432a1..2e7615d 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -12,7 +12,7 @@ 6 70.44.20.24 41000 # 420 Super Freq -420 p25.evsuperfreqs.com 41000 +420 hb.superfreqdigital.com 41000 # 530 NZ 530 zldigitalreflectors.hopto.org 41000 From de92fd9fa63eec1aac39644e1c10da795fec4d93 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 14 Feb 2020 21:05:33 +0000 Subject: [PATCH 06/29] Update 31161 Virginia IP address --- P25Gateway/P25Hosts.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 2e7615d..6ce6b76 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -129,7 +129,7 @@ 31092 p25.alecwasserman.com 41000 # 31161 Virginia -31161 24.49.24.3 41000 +31161 24.49.15.69 41000 # 31171 Illinois 31171 74.208.235.115 41000 From aa0e54db650392dd04d3098baf89f7a693aa9a48 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 14 Feb 2020 21:13:20 +0000 Subject: [PATCH 07/29] Add 31620 Kings of Digital reflector --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 6ce6b76..2162039 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -152,6 +152,9 @@ # 31444 RI DIGITAL LINK TG#31444 31444 149.28.54.153 41000 +# 31620 Kings of Digital +31620 wb5ekup25.duckdns.org 41000 + # 31665 TGIF Network, http://tgif.network 31665 tgif.network 41000 From d1756fc94ec0406c2a89c1e5592a1f43ca992ff4 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 14 Feb 2020 21:40:57 +0000 Subject: [PATCH 08/29] Update to VS2019. --- P25Gateway/P25Gateway.vcxproj | 10 +++++----- P25Parrot/P25Parrot.vcxproj | 10 +++++----- P25Reflector/P25Reflector.vcxproj | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/P25Gateway/P25Gateway.vcxproj b/P25Gateway/P25Gateway.vcxproj index 899a12b..2172c30 100644 --- a/P25Gateway/P25Gateway.vcxproj +++ b/P25Gateway/P25Gateway.vcxproj @@ -22,32 +22,32 @@ {8B7A5406-8560-4B40-ADDA-9B8EBF93E232} Win32Proj P25Gateway - 10.0.15063.0 + 10.0 Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode diff --git a/P25Parrot/P25Parrot.vcxproj b/P25Parrot/P25Parrot.vcxproj index 1b3bab9..56171eb 100644 --- a/P25Parrot/P25Parrot.vcxproj +++ b/P25Parrot/P25Parrot.vcxproj @@ -22,32 +22,32 @@ {2AE94EAA-FD57-45C9-8555-6425CFA777A3} Win32Proj P25Parrot - 10.0.15063.0 + 10.0 Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode diff --git a/P25Reflector/P25Reflector.vcxproj b/P25Reflector/P25Reflector.vcxproj index 0367cab..11b727f 100644 --- a/P25Reflector/P25Reflector.vcxproj +++ b/P25Reflector/P25Reflector.vcxproj @@ -50,32 +50,32 @@ {C68ABEB3-5CDD-4B26-8D66-77FE81EC6BB5} Win32Proj P25Reflector - 10.0.16299.0 + 10.0 Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode From 8b11d4186d16ba7f2d03552954000541d3a47575 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 24 Feb 2020 11:43:15 +0000 Subject: [PATCH 09/29] Add TG3142 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 2162039..0a8f124 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -32,6 +32,9 @@ # 3023 Ontario Crosslink 3023 ontxlink.hopto.org 41000 +# 3142 Pennsylvania +3142 3.215.215.169 41002 + # 5057 VK7 TAS 5057 45.248.50.37 41000 From d37215d384cf0a52dd680a1ece680719500406c4 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sat, 29 Feb 2020 12:12:10 +0000 Subject: [PATCH 10/29] Add TG31264 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 0a8f124..24ec24c 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -140,6 +140,9 @@ # 31188 Southern Indiana 31188 w9windigital.org 41000 +# 31264 XLX625 The BROniverse www.wa8bro.com +31264 p25.dudetronics.com 41000 + # 31340 Central New Jersey 31340 cnjham.msmts.com 41000 From 050582928aee753e4dd7fb5d583f59531cde58cb Mon Sep 17 00:00:00 2001 From: JJ Cummings Date: Mon, 2 Mar 2020 15:07:03 -0700 Subject: [PATCH 11/29] Added WE0FUN P25 host info --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 24ec24c..c2fc789 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -50,6 +50,9 @@ # 10200 North America 10200 dvswitch.org 41000 +# P25 Fun Machine WE0FUN Bridge to C4FM, DMR, DStar, NXDN and AllStarLink (Analog) http://www.we0fun.com +10209 p25.we0fun.com 41000 + # 10260 Poland 10260 31.0.161.238 41000 From 8f254b441abb7689a609e653731d29f057182f1e Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 10 Mar 2020 12:31:57 +0000 Subject: [PATCH 12/29] Added TG31426 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index c2fc789..0b86ad7 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -158,6 +158,9 @@ # XLX045A P25 <-> DMR/DSTAR/YSF/NXDN <-> BM TG31425 PA Wide Cross Mode 31425 70.44.20.24 41001 +# PA Cross Mode (alt), 31426 +31426 3.215.215.169 41001 + # 31444 RI DIGITAL LINK TG#31444 31444 149.28.54.153 41000 From 23ab6c7479e1a123303c7f1e57fa873e22e5f450 Mon Sep 17 00:00:00 2001 From: Roby Date: Sat, 21 Mar 2020 23:59:57 +0100 Subject: [PATCH 13/29] Update Update P25Hosts.txt --- Update P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Update P25Hosts.txt b/Update P25Hosts.txt index 958b11d..3f538db 100644 --- a/Update P25Hosts.txt +++ b/Update P25Hosts.txt @@ -3,3 +3,6 @@ # 7225 MULTIPROTOCOLO ARGENTINA 7225 ysfarg.ddns.net 41000 + +# 22200 IT HBLINK REFLECTOR +22200 nxdn.hblink.it 41000 From c2a30a1b1c75e89bd4cb4879c21056c4e61f46e5 Mon Sep 17 00:00:00 2001 From: cwfuselier <24363278+cwfuselier@users.noreply.github.com> Date: Thu, 26 Mar 2020 07:10:39 -0500 Subject: [PATCH 14/29] Update P25Hosts.txt Addition of 31057 P25 reflector. --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 0b86ad7..a4b1a3f 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -122,6 +122,9 @@ # 31010 Alabama Link 31010 p25.alabamalink.info 41000 +# 31057 AF5XP Sulphur,Louisiana +31057 af5xp.ddns.net 41000 + # 31062 Mountain West 31062 p25.mw-dmr.net 41000 From 2ce44e6b662a74201777ba9737723d5db02685a5 Mon Sep 17 00:00:00 2001 From: "Juan Carlos (Wodie) KM4NNO XE1F" Date: Sun, 29 Mar 2020 08:38:29 -0600 Subject: [PATCH 15/29] Added Reflectors Bridged to P25NX Network If you want to add a Bridge channel from your MMDVM TG to P25NX please contact KM4NNO. --- P25Gateway/P25Hosts.txt | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index a4b1a3f..02ed87f 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -47,24 +47,45 @@ # 10100 World Wide http://www.george-smart.co.uk/p25/ 10100 m1geo.com 41000 +# 10101 World Wide TAC 1 (Bridged to the P25NX Network). +10101 44.98.254.131 41000 + +# 10102 World Wide TAC 2 (Bridged to the P25NX Network). +10102 44.98.254.131 41001 + +# 10103 World Wide TAC 3 (Bridged to the P25NX Network). +10103 44.98.254.131 41002 + # 10200 North America 10200 dvswitch.org 41000 +# 10201 North America TAC 1 +10201 dvswitch.org 41010 + +# 10202 North America TAC 2 (Bridged to the P25NX Network). +10202 44.98.254.131 41003 + +# 10203 North America TAC 3 (Bridged to the P25NX Network). +10203 44.98.254.131 41004 + # P25 Fun Machine WE0FUN Bridge to C4FM, DMR, DStar, NXDN and AllStarLink (Analog) http://www.we0fun.com 10209 p25.we0fun.com 41000 # 10260 Poland 10260 31.0.161.238 41000 -# 10200 North America TAC 1 -10201 dvswitch.org 41010 - # 10300 Europe https://p25-eu.n18.de/ 10300 176.9.1.168 41000 -# 10301 Europe +# 10301 Europe TAC 1 10301 ea5gvk.duckdns.org 41000 +# 10302 Europe TAC 2 (Bridged to the P25NX Network). +10302 44.98.254.131 41005 + +# 10303 Europe TAC 3 (Bridged to the P25NX Network). +10303 44.98.254.131 41006 + # 10310 Germany HAMNET (Bridge to 10320) http://44.148.230.100/ 10310 44.148.230.100 41000 From 6869e39185df3bc4d343edd467546eb17c51eb96 Mon Sep 17 00:00:00 2001 From: Roby Date: Sun, 29 Mar 2020 20:48:46 +0200 Subject: [PATCH 16/29] Update Update P25Hosts.txt --- Update P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Update P25Hosts.txt b/Update P25Hosts.txt index 958b11d..254dfe2 100644 --- a/Update P25Hosts.txt +++ b/Update P25Hosts.txt @@ -1,3 +1,6 @@ +# 22200 HBLINK Italy +22200 p25.hbink.it 41000 + # 2221 IT PIEDMONT GDO 2221 iz1zpj.duckdns.org 41000 From 098e60e1022cc6c88c7efcf306e037982a044539 Mon Sep 17 00:00:00 2001 From: Roby Date: Mon, 30 Mar 2020 11:22:01 +0200 Subject: [PATCH 17/29] Update Update P25Hosts.txt --- Update P25Hosts.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/Update P25Hosts.txt b/Update P25Hosts.txt index f9b8ad0..254dfe2 100644 --- a/Update P25Hosts.txt +++ b/Update P25Hosts.txt @@ -6,6 +6,3 @@ # 7225 MULTIPROTOCOLO ARGENTINA 7225 ysfarg.ddns.net 41000 - -# 22200 IT HBLINK REFLECTOR -22200 nxdn.hblink.it 41000 From 19ce53a73cb4cac094ff2d35e1ad37135d69e75c Mon Sep 17 00:00:00 2001 From: Roby Date: Mon, 30 Mar 2020 11:37:32 +0200 Subject: [PATCH 18/29] Update P25Hosts.txt --- P25Gateway/P25Hosts.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 02ed87f..0b06dd2 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -125,9 +125,15 @@ # 10700 Australia NSW Bridge to AU NSW YSF 10700 p25nsw.gustotech.net 41000 +# 22200 IT HBLINK REFLECTOR +22200 nxdn.hblink.it 41000 + # 22212 IT PIEDMONT GDO 22212 p25gdo.duckdns.org 41000 +# 22220 IT ECHOLINK REFLECTOR +22220 dagobah.hblink.it 41000 + # 23225 Austria 23225 94.199.173.123 41000 From 4a2848a3c0f1863a9c20f034a12c0b25c954020b Mon Sep 17 00:00:00 2001 From: Roby Date: Thu, 2 Apr 2020 11:14:07 +0200 Subject: [PATCH 19/29] Update P25Hosts.txt --- P25Gateway/P25Hosts.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 0b06dd2..2a2ca7c 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -126,7 +126,7 @@ 10700 p25nsw.gustotech.net 41000 # 22200 IT HBLINK REFLECTOR -22200 nxdn.hblink.it 41000 +22200 p25.hblink.it 41000 # 22212 IT PIEDMONT GDO 22212 p25gdo.duckdns.org 41000 From 76d068019ba155c5916819e9c0a8c68306130508 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 3 Apr 2020 21:28:45 +0100 Subject: [PATCH 20/29] Add remote commands. --- P25Gateway/Conf.cpp | 26 +++++++++-- P25Gateway/Conf.h | 9 +++- P25Gateway/P25Gateway.cpp | 94 ++++++++++++++++++++++++++++++++++++++- P25Gateway/P25Gateway.ini | 4 ++ P25Gateway/Version.h | 4 +- 5 files changed, 130 insertions(+), 7 deletions(-) diff --git a/P25Gateway/Conf.cpp b/P25Gateway/Conf.cpp index 43ef1d4..5b430bf 100644 --- a/P25Gateway/Conf.cpp +++ b/P25Gateway/Conf.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2019 by Jonathan Naylor G4KLX + * Copyright (C) 2015-2020 by Jonathan Naylor G4KLX * * 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 @@ -32,7 +32,8 @@ enum SECTION { SECTION_ID_LOOKUP, SECTION_VOICE, SECTION_LOG, - SECTION_NETWORK + SECTION_NETWORK, + SECTION_REMOTE_COMMANDS }; CConf::CConf(const std::string& file) : @@ -57,7 +58,9 @@ m_networkParrotAddress("127.0.0.1"), m_networkParrotPort(0U), m_networkStartup(9999U), m_networkInactivityTimeout(0U), -m_networkDebug(false) +m_networkDebug(false), +m_remoteCommandsEnabled(false), +m_remoteCommandsPort(6074U) { } @@ -91,6 +94,8 @@ bool CConf::read() section = SECTION_LOG; else if (::strncmp(buffer, "[Network]", 9U) == 0) section = SECTION_NETWORK; + else if (::strncmp(buffer, "[Remote Commands]", 17U) == 0) + section = SECTION_REMOTE_COMMANDS; else section = SECTION_NONE; @@ -152,6 +157,11 @@ bool CConf::read() m_networkInactivityTimeout = (unsigned int)::atoi(value); else if (::strcmp(key, "Debug") == 0) m_networkDebug = ::atoi(value) == 1; + } else if (section == SECTION_REMOTE_COMMANDS) { + if (::strcmp(key, "Enable") == 0) + m_remoteCommandsEnabled = ::atoi(value) == 1; + else if (::strcmp(key, "Port") == 0) + m_remoteCommandsPort = (unsigned int)::atoi(value); } } @@ -264,3 +274,13 @@ bool CConf::getNetworkDebug() const { return m_networkDebug; } + +bool CConf::getRemoteCommandsEnabled() const +{ + return m_remoteCommandsEnabled; +} + +unsigned int CConf::getRemoteCommandsPort() const +{ + return m_remoteCommandsPort; +} diff --git a/P25Gateway/Conf.h b/P25Gateway/Conf.h index a274afd..798e04b 100644 --- a/P25Gateway/Conf.h +++ b/P25Gateway/Conf.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2019 by Jonathan Naylor G4KLX + * Copyright (C) 2015-2020 by Jonathan Naylor G4KLX * * 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 @@ -61,6 +61,10 @@ public: unsigned int getNetworkInactivityTimeout() const; bool getNetworkDebug() const; + // The Remote Commands section + bool getRemoteCommandsEnabled() const; + unsigned int getRemoteCommandsPort() const; + private: std::string m_file; std::string m_callsign; @@ -88,6 +92,9 @@ private: unsigned int m_networkStartup; unsigned int m_networkInactivityTimeout; bool m_networkDebug; + + bool m_remoteCommandsEnabled; + unsigned int m_remoteCommandsPort; }; #endif diff --git a/P25Gateway/P25Gateway.cpp b/P25Gateway/P25Gateway.cpp index b9e9c16..8c8b8fe 100644 --- a/P25Gateway/P25Gateway.cpp +++ b/P25Gateway/P25Gateway.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2016-2019 by Jonathan Naylor G4KLX +* Copyright (C) 2016-2020 by Jonathan Naylor G4KLX * * 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 @@ -25,6 +25,7 @@ #include "Thread.h" #include "Voice.h" #include "Timer.h" +#include "Utils.h" #include "Log.h" #if defined(_WIN32) || defined(_WIN64) @@ -169,6 +170,16 @@ void CP25Gateway::run() in_addr rptAddr = CUDPSocket::lookup(m_conf.getRptAddress()); unsigned int rptPort = m_conf.getRptPort(); + CUDPSocket* remoteSocket = NULL; + if (m_conf.getRemoteCommandsEnabled()) { + remoteSocket = new CUDPSocket(m_conf.getRemoteCommandsPort()); + ret = remoteSocket->open(); + if (!ret) { + delete remoteSocket; + remoteSocket = NULL; + } + } + CNetwork localNetwork(m_conf.getMyPort(), m_conf.getCallsign(), false); ret = localNetwork.open(); if (!ret) { @@ -360,6 +371,82 @@ void CP25Gateway::run() reflectors.clock(ms); + if (remoteSocket != NULL) { + int res = remoteSocket->read(buffer, 200U, address, port); + if (res > 0) { + buffer[res] = '\0'; + if (::memcmp(buffer + 0U, "TalkGroup", 9U) == 0) { + unsigned int tg = (unsigned int)::atoi((char*)(buffer + 9U)); + + CP25Reflector* reflector = NULL; + if (tg != 9999U) + reflector = reflectors.find(tg); + + if (reflector == NULL && currentId != 9999U) { + LogMessage("Unlinked from reflector %u by remote command", currentId); + + if (voice != NULL) + voice->unlinked(); + + remoteNetwork.writeUnlink(currentAddr, currentPort); + remoteNetwork.writeUnlink(currentAddr, currentPort); + remoteNetwork.writeUnlink(currentAddr, currentPort); + + inactivityTimer.stop(); + pollTimer.stop(); + lostTimer.stop(); + + currentId = 9999U; + } + else if (reflector != NULL && currentId == 9999U) { + currentId = tg; + currentAddr = reflector->m_address; + currentPort = reflector->m_port; + + LogMessage("Linked to reflector %u by remote command", currentId); + + if (voice != NULL) + voice->linkedTo(currentId); + + remoteNetwork.writePoll(currentAddr, currentPort); + remoteNetwork.writePoll(currentAddr, currentPort); + remoteNetwork.writePoll(currentAddr, currentPort); + + inactivityTimer.start(); + pollTimer.start(); + lostTimer.start(); + } + else if (reflector != NULL && currentId != 9999U) { + LogMessage("Unlinked from reflector %u by remote command", currentId); + + remoteNetwork.writeUnlink(currentAddr, currentPort); + remoteNetwork.writeUnlink(currentAddr, currentPort); + remoteNetwork.writeUnlink(currentAddr, currentPort); + + currentId = tg; + currentAddr = reflector->m_address; + currentPort = reflector->m_port; + + LogMessage("Linked to reflector %u by remote command", currentId); + + if (voice != NULL) + voice->linkedTo(currentId); + + remoteNetwork.writePoll(currentAddr, currentPort); + remoteNetwork.writePoll(currentAddr, currentPort); + remoteNetwork.writePoll(currentAddr, currentPort); + + inactivityTimer.start(); + pollTimer.start(); + lostTimer.start(); + } + } + else { + CUtils::dump("Invalid remote command received", buffer, res); + } + } + } + if (voice != NULL) voice->clock(ms); @@ -437,6 +524,11 @@ void CP25Gateway::run() delete voice; + if (remoteSocket != NULL) { + remoteSocket->close(); + delete remoteSocket; + } + localNetwork.close(); remoteNetwork.close(); diff --git a/P25Gateway/P25Gateway.ini b/P25Gateway/P25Gateway.ini index 459abc3..501718f 100644 --- a/P25Gateway/P25Gateway.ini +++ b/P25Gateway/P25Gateway.ini @@ -28,3 +28,7 @@ ParrotPort=42011 # Startup=10100 InactivityTimeout=10 Debug=0 + +[Remote Commands] +Enable=0 +Port=6074 diff --git a/P25Gateway/Version.h b/P25Gateway/Version.h index ed379f1..54b6d54 100644 --- a/P25Gateway/Version.h +++ b/P25Gateway/Version.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2019 by Jonathan Naylor G4KLX + * Copyright (C) 2015-2020 by Jonathan Naylor G4KLX * * 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 @@ -19,6 +19,6 @@ #if !defined(VERSION_H) #define VERSION_H -const char* VERSION = "20190304"; +const char* VERSION = "20200403"; #endif From fba8b6a88dee6ac294ce9520fde79572d14a17c2 Mon Sep 17 00:00:00 2001 From: wb6dtb <62869527+wb6dtb@users.noreply.github.com> Date: Thu, 9 Apr 2020 09:01:04 -0700 Subject: [PATCH 21/29] Update P25Hosts.txt --- P25Gateway/P25Hosts.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 2a2ca7c..1153218 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -209,6 +209,12 @@ # 31888 KG4JPL North-Central Florida 31888 p25.kg4jpl.com 41000 +# 32103 CW-Ops Academy +32103 cwops.dyndns.org 41000 + +# 33581 OMISS Group +33581 omiss.dyndns.org 41000 + # 40721 Fusion Canada Fr 40721 38.110.97.161 41000 From 2095e30fa1c3318560fa1f5a6bb511d0c66dc17f Mon Sep 17 00:00:00 2001 From: Patrick McDonnell Date: Fri, 1 May 2020 10:22:56 -0500 Subject: [PATCH 22/29] Added US Midwest P25 reflector TG 31691 Midwest P25 reflector hosted by W3AXL at net.w3axl.com:43169 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 1153218..ee3193f 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -203,6 +203,9 @@ # 31672 P25 Pi-Star chat 31672 p25-31672.pistar.uk 41000 +# 31691 US Midwest P25 Reflector +31691 net.w3axl.com 43169 + # 31777 DX-LINK 31777 8.9.4.102 41000 From fa257e54fb9bfeb96fd1ef4c297cb3203dc18997 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 3 May 2020 18:16:08 +0100 Subject: [PATCH 23/29] Add TG10216. --- P25Gateway/P25Hosts.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index ee3193f..f4659ad 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -2,8 +2,6 @@ # # The format of this file is the number of the Talk Group followed by the host name or address and port # -# HELLAS Zone P25 TG202 -202 hellaszone.com 41000 # 4 Wires-x,NXDN,YSF,XLX(D-Star & DMR),BM Bridge 4 p25.duckdns.org 41004 @@ -11,6 +9,9 @@ # XLX045E P25 <-> DMR/DSTAR/YSF/NXDN 6 70.44.20.24 41000 +# HELLAS Zone P25 TG202 +202 hellaszone.com 41000 + # 420 Super Freq 420 hb.superfreqdigital.com 41000 @@ -71,6 +72,9 @@ # P25 Fun Machine WE0FUN Bridge to C4FM, DMR, DStar, NXDN and AllStarLink (Analog) http://www.we0fun.com 10209 p25.we0fun.com 41000 +# 10216 Northeast Ohio +10216 xlx216.km8v.com 41000 + # 10260 Poland 10260 31.0.161.238 41000 From 9c6b9bdb61bc380af0b804e7fd0a2989f5d3af7a Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 3 May 2020 18:20:29 +0100 Subject: [PATCH 24/29] Code cleanups. --- P25Gateway/P25Gateway.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/P25Gateway/P25Gateway.cpp b/P25Gateway/P25Gateway.cpp index 8c8b8fe..187ff15 100644 --- a/P25Gateway/P25Gateway.cpp +++ b/P25Gateway/P25Gateway.cpp @@ -397,8 +397,7 @@ void CP25Gateway::run() lostTimer.stop(); currentId = 9999U; - } - else if (reflector != NULL && currentId == 9999U) { + } else if (reflector != NULL && currentId == 9999U) { currentId = tg; currentAddr = reflector->m_address; currentPort = reflector->m_port; @@ -415,8 +414,7 @@ void CP25Gateway::run() inactivityTimer.start(); pollTimer.start(); lostTimer.start(); - } - else if (reflector != NULL && currentId != 9999U) { + } else if (reflector != NULL && currentId != 9999U) { LogMessage("Unlinked from reflector %u by remote command", currentId); remoteNetwork.writeUnlink(currentAddr, currentPort); @@ -440,8 +438,7 @@ void CP25Gateway::run() pollTimer.start(); lostTimer.start(); } - } - else { + } else { CUtils::dump("Invalid remote command received", buffer, res); } } From 7e44e403b64b5620759508c49beb5a56e27f81e1 Mon Sep 17 00:00:00 2001 From: Bruno <30460704+F1PTL@users.noreply.github.com> Date: Sun, 10 May 2020 01:01:46 +0200 Subject: [PATCH 25/29] Update P25Hosts.txt # 10208 P25 France 10208 m55.evxonline.net 41000 --- P25Gateway/{P25Hosts.txt => Update_P25Hosts.txt} | 3 +++ 1 file changed, 3 insertions(+) rename P25Gateway/{P25Hosts.txt => Update_P25Hosts.txt} (99%) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/Update_P25Hosts.txt similarity index 99% rename from P25Gateway/P25Hosts.txt rename to P25Gateway/Update_P25Hosts.txt index f4659ad..3f780e2 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/Update_P25Hosts.txt @@ -69,6 +69,9 @@ # 10203 North America TAC 3 (Bridged to the P25NX Network). 10203 44.98.254.131 41004 +# P25 France +10208 m55.evxonline.net 41000 + # P25 Fun Machine WE0FUN Bridge to C4FM, DMR, DStar, NXDN and AllStarLink (Analog) http://www.we0fun.com 10209 p25.we0fun.com 41000 From e43c00d374c2bb1f5b2071e909497c0da9228ba7 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 15 May 2020 16:44:55 +0100 Subject: [PATCH 26/29] Add 10945 and rename the file. --- P25Gateway/{Update_P25Hosts.txt => P25Hosts.txt} | 3 +++ 1 file changed, 3 insertions(+) rename P25Gateway/{Update_P25Hosts.txt => P25Hosts.txt} (98%) diff --git a/P25Gateway/Update_P25Hosts.txt b/P25Gateway/P25Hosts.txt similarity index 98% rename from P25Gateway/Update_P25Hosts.txt rename to P25Gateway/P25Hosts.txt index 3f780e2..b4e1fb7 100644 --- a/P25Gateway/Update_P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -132,6 +132,9 @@ # 10700 Australia NSW Bridge to AU NSW YSF 10700 p25nsw.gustotech.net 41000 +# 10945 Deutschland DL1BH +10945 dl1bh.ddns.net 41000 + # 22200 IT HBLINK REFLECTOR 22200 p25.hblink.it 41000 From 258ec0552cabfb8ddec2e23a92102d74ebe2f634 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 28 May 2020 11:44:32 +0100 Subject: [PATCH 27/29] Add TG858 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index b4e1fb7..4954213 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -21,6 +21,9 @@ # 707 Rural Minnesota - Bridge to TGIF707, YSF US RuralMN-707 707 707p25.kd0ioe.com 41000 +# 858 San Diego, CA +858 nz6d.dx40.com 41000 + # 927 Southern California 927 927.org 41000 From c82607e6698d00ecedd7766cf5c857667c8dae8a Mon Sep 17 00:00:00 2001 From: sp4feu <56378304+sp4feu@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:19:07 +0200 Subject: [PATCH 28/29] Update P25Hosts.txt # HBLink Poland P25 TG260 260 p25.hblink.pl 41000 --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 4954213..d4f5d0a 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -12,6 +12,9 @@ # HELLAS Zone P25 TG202 202 hellaszone.com 41000 +# HBLink Poland P25 TG260 +260 p25.hblink.pl 41000 + # 420 Super Freq 420 hb.superfreqdigital.com 41000 From 59abb9631cb74e750e4837e4482597a9a0148ea0 Mon Sep 17 00:00:00 2001 From: Jeffrey <2723529+JeffreyKopcak@users.noreply.github.com> Date: Thu, 11 Jun 2020 01:57:25 -0400 Subject: [PATCH 29/29] Added TG31983 - K8JTK Hub --- P25Gateway/P25Hosts.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/P25Gateway/P25Hosts.txt b/P25Gateway/P25Hosts.txt index 4954213..bc96ebb 100644 --- a/P25Gateway/P25Hosts.txt +++ b/P25Gateway/P25Hosts.txt @@ -225,6 +225,9 @@ # 31888 KG4JPL North-Central Florida 31888 p25.kg4jpl.com 41000 +# 31983 K8JTK Hub Multimode ILS/DVMIS (K8JTK.org) +31983 P25Reflector31983.K8JTK.org 41000 + # 32103 CW-Ops Academy 32103 cwops.dyndns.org 41000