mirror of
https://github.com/ShaYmez/P25Clients.git
synced 2024-11-21 19:55:22 -05:00
Re-add IPv4 and IPv6 capabilities to the P25 network.
This commit is contained in:
parent
7c38895c01
commit
30879a0f04
@ -37,10 +37,10 @@
|
|||||||
226 p25.dstar-yo.ro 41000
|
226 p25.dstar-yo.ro 41000
|
||||||
|
|
||||||
# 228 Switzerland - https://project25.ch
|
# 228 Switzerland - https://project25.ch
|
||||||
228 project25.ch 41000
|
228 project25.ch 41000
|
||||||
|
|
||||||
# 235 DVSPH UK Wide
|
# 235 DVSPH UK Wide
|
||||||
235 p25.dvsph.net 41000
|
235 p25.dvsph.net 41000
|
||||||
|
|
||||||
# 260 HBLink Poland P25
|
# 260 HBLink Poland P25
|
||||||
260 p25.hblink.pl 41000
|
260 p25.hblink.pl 41000
|
||||||
@ -52,7 +52,7 @@
|
|||||||
357 3.215.215.169 41010
|
357 3.215.215.169 41010
|
||||||
|
|
||||||
# 419 Toledo Amateur Digital Association
|
# 419 Toledo Amateur Digital Association
|
||||||
419 tada-p25.ddns.net 41000
|
419 tada-p25.ddns.net 41000
|
||||||
|
|
||||||
# 420 Super Freq
|
# 420 Super Freq
|
||||||
420 p25.superfreqdigital.com 41000
|
420 p25.superfreqdigital.com 41000
|
||||||
@ -67,7 +67,7 @@
|
|||||||
530 zldigitalreflectors.hopto.org 41000
|
530 zldigitalreflectors.hopto.org 41000
|
||||||
|
|
||||||
# 555 Georgia 900 P25-ASL Xlink
|
# 555 Georgia 900 P25-ASL Xlink
|
||||||
555 georgia900p25.hopto.org 41000
|
555 georgia900p25.hopto.org 41000
|
||||||
|
|
||||||
# 556 ARFCOM AR15.com
|
# 556 ARFCOM AR15.com
|
||||||
556 reflector.site 41000
|
556 reflector.site 41000
|
||||||
@ -88,25 +88,25 @@
|
|||||||
730 sdradio.cl 41000
|
730 sdradio.cl 41000
|
||||||
|
|
||||||
# 762 W4PFT Multimode Linked to BM TG 312486-Franklin County, GA
|
# 762 W4PFT Multimode Linked to BM TG 312486-Franklin County, GA
|
||||||
762 p25.w4pft.com 41000
|
762 p25.w4pft.com 41000
|
||||||
|
|
||||||
# 822 TH-ASL-5508
|
# 822 TH-ASL-5508
|
||||||
822 p25.xlx822.com 41000
|
822 p25.xlx822.com 41000
|
||||||
|
|
||||||
# 841 Team Wave
|
# 841 Team Wave
|
||||||
841 mx0wvv.ddns.net 41000
|
841 mx0wvv.ddns.net 41000
|
||||||
|
|
||||||
# 847 Chandler Hams
|
# 847 Chandler Hams
|
||||||
847 xlx847.kk7mnz.com 41000
|
847 xlx847.kk7mnz.com 41000
|
||||||
|
|
||||||
# 848 Chandler Hams
|
# 848 Chandler Hams
|
||||||
848 xlx848.kk7mnz.com 41000
|
848 xlx848.kk7mnz.com 41000
|
||||||
|
|
||||||
# 858 San Diego, CA
|
# 858 San Diego, CA
|
||||||
858 nz6d.dx40.com 41000
|
858 nz6d.dx40.com 41000
|
||||||
|
|
||||||
# 865 K1LNX Multimode Server - Knoxville, TN
|
# 865 K1LNX Multimode Server - Knoxville, TN
|
||||||
865 knoxp25.k1lnx.net 41000
|
865 knoxp25.k1lnx.net 41000
|
||||||
|
|
||||||
# 891 Western New York Digital Multimode Network - http://wny-digital.network - Buffalo, NY
|
# 891 Western New York Digital Multimode Network - http://wny-digital.network - Buffalo, NY
|
||||||
891 p25.wny-digital.network 41000
|
891 p25.wny-digital.network 41000
|
||||||
@ -115,16 +115,16 @@
|
|||||||
910 p25.freeddns.org 41000
|
910 p25.freeddns.org 41000
|
||||||
|
|
||||||
# 925 MotoChat
|
# 925 MotoChat
|
||||||
925 p25.motochat.eu 41009
|
925 p25.motochat.eu 41009
|
||||||
|
|
||||||
# 926 HamFurs/LoFAR MultiMode Bridge
|
# 926 HamFurs/LoFAR MultiMode Bridge
|
||||||
926 urf.kf3rry.org 41000
|
926 urf.kf3rry.org 41000
|
||||||
|
|
||||||
# 927 Southern California
|
# 927 Southern California
|
||||||
927 927.org 41000
|
927 927.org 41000
|
||||||
|
|
||||||
# 946 FlagTorchSociety
|
# 946 FlagTorchSociety
|
||||||
946 xlx.flagandtorchsociety.com 41000
|
946 xlx.flagandtorchsociety.com 41000
|
||||||
|
|
||||||
# 994 The Online Radio Club (Bridged to XLX994)
|
# 994 The Online Radio Club (Bridged to XLX994)
|
||||||
994 misc.openreflector.com 41000
|
994 misc.openreflector.com 41000
|
||||||
@ -133,7 +133,7 @@
|
|||||||
1007 43773.kb5rir.com 41003
|
1007 43773.kb5rir.com 41003
|
||||||
|
|
||||||
# 1402 DuckFar Repeater Group, Chicago
|
# 1402 DuckFar Repeater Group, Chicago
|
||||||
1402 duckfarw9bmk.gotdns.com 43000
|
1402 duckfarw9bmk.gotdns.com 43000
|
||||||
|
|
||||||
# 1701 Sector 001
|
# 1701 Sector 001
|
||||||
1701 hamsomniac.mooo.com 41001
|
1701 hamsomniac.mooo.com 41001
|
||||||
@ -256,19 +256,19 @@
|
|||||||
7487 23.234.230.152 41000
|
7487 23.234.230.152 41000
|
||||||
|
|
||||||
# 7941 WHITE MOUNTAIN REPEATER ASSOCIATION
|
# 7941 WHITE MOUNTAIN REPEATER ASSOCIATION
|
||||||
7941 wmra.mooo.com 41000
|
7941 wmra.mooo.com 41000
|
||||||
|
|
||||||
# 8200 Mountain Lakes Regional Amateur Radio Society
|
# 8200 Mountain Lakes Regional Amateur Radio Society
|
||||||
8200 n2yqt.tourge.net 41000
|
8200 n2yqt.tourge.net 41000
|
||||||
|
|
||||||
# 8207 Houston Area XLX Reflector
|
# 8207 Houston Area XLX Reflector
|
||||||
8207 p25.kd5dfb.net 41000
|
8207 p25.kd5dfb.net 41000
|
||||||
|
|
||||||
# 8208 China P25 Network bridge to P25NX
|
# 8208 China P25 Network bridge to P25NX
|
||||||
8208 47.105.33.47 41000
|
8208 47.105.33.47 41000
|
||||||
|
|
||||||
# 8210 Ohio Valley
|
# 8210 Ohio Valley
|
||||||
8210 reflector.p25.in 41000
|
8210 reflector.p25.in 41000
|
||||||
|
|
||||||
# 9050 East Coast Reflector
|
# 9050 East Coast Reflector
|
||||||
9050 45.77.198.235 41000
|
9050 45.77.198.235 41000
|
||||||
@ -313,7 +313,7 @@
|
|||||||
10203 reflector.p25.link 41004
|
10203 reflector.p25.link 41004
|
||||||
|
|
||||||
# 10207 Arizona 900 P25
|
# 10207 Arizona 900 P25
|
||||||
10207 n6ex.ddns.net 41001
|
10207 n6ex.ddns.net 41001
|
||||||
|
|
||||||
# 10208 P25 France
|
# 10208 P25 France
|
||||||
10208 p25.f5dan.fr 41000
|
10208 p25.f5dan.fr 41000
|
||||||
@ -412,7 +412,7 @@
|
|||||||
10700 p25nsw.gustotech.net 41000
|
10700 p25nsw.gustotech.net 41000
|
||||||
|
|
||||||
# 10750 Australian Secondary P25 Reflector
|
# 10750 Australian Secondary P25 Reflector
|
||||||
10750 clasn-p25.cloudasn.com 41000
|
10750 clasn-p25.cloudasn.com 41000
|
||||||
|
|
||||||
# 10888 Texas
|
# 10888 Texas
|
||||||
10888 29520.asnode.org 41000
|
10888 29520.asnode.org 41000
|
||||||
@ -426,15 +426,14 @@
|
|||||||
# 11069 KK6RQ DMR-310551
|
# 11069 KK6RQ DMR-310551
|
||||||
11069 area52.zapto.org 41000
|
11069 area52.zapto.org 41000
|
||||||
|
|
||||||
|
|
||||||
# 17603 URFM17 Universal Reflector
|
# 17603 URFM17 Universal Reflector
|
||||||
17603 urf.m17.link 41000
|
17603 urf.m17.link 41000
|
||||||
|
|
||||||
# 20281 GR-KERKYRA-DV
|
# 20281 GR-KERKYRA-DV
|
||||||
20281 greece.freedmr.online 41000
|
20281 greece.freedmr.online 41000
|
||||||
|
|
||||||
# 20222 HELLAS-FRN
|
# 20222 HELLAS-FRN
|
||||||
20222 greece-frn.ddns.net 41000
|
20222 greece-frn.ddns.net 41000
|
||||||
|
|
||||||
# 21909 PRIDE - LGBTQIA+ Hams
|
# 21909 PRIDE - LGBTQIA+ Hams
|
||||||
21909 ham.kimberlychase.com 41000
|
21909 ham.kimberlychase.com 41000
|
||||||
@ -488,7 +487,7 @@
|
|||||||
23595 p25.oz-dmr.network 41000
|
23595 p25.oz-dmr.network 41000
|
||||||
|
|
||||||
# 24033 2 Meter Crew Anti-Net
|
# 24033 2 Meter Crew Anti-Net
|
||||||
24033 wg5eek.com 41000
|
24033 wg5eek.com 41000
|
||||||
|
|
||||||
# 25605 Russia Ekaterinburg
|
# 25605 Russia Ekaterinburg
|
||||||
25605 ysf.386i.ru 41000
|
25605 ysf.386i.ru 41000
|
||||||
@ -563,7 +562,7 @@
|
|||||||
31079 927.org 41001
|
31079 927.org 41001
|
||||||
|
|
||||||
# 31138 kingsland Ga
|
# 31138 kingsland Ga
|
||||||
31138 kingsland.cbridge.net 41000
|
31138 kingsland.cbridge.net 41000
|
||||||
|
|
||||||
# 31177 WESDIG P25 Reflector
|
# 31177 WESDIG P25 Reflector
|
||||||
31177 p25.wesdig.com 41000
|
31177 p25.wesdig.com 41000
|
||||||
@ -587,7 +586,7 @@
|
|||||||
31207 155.138.244.192 41000
|
31207 155.138.244.192 41000
|
||||||
|
|
||||||
# 31217 Central Illinois Skywarn - Linked to Brandmeister TG 311899
|
# 31217 Central Illinois Skywarn - Linked to Brandmeister TG 311899
|
||||||
31217 tg31217.kd9koo.com 41000
|
31217 tg31217.kd9koo.com 41000
|
||||||
|
|
||||||
# 31220 Lucas County Ohio ARES
|
# 31220 Lucas County Ohio ARES
|
||||||
31220 w8mal-dvbridge.hopto.org 41000
|
31220 w8mal-dvbridge.hopto.org 41000
|
||||||
@ -608,13 +607,13 @@
|
|||||||
31267 w8lrkp25.dyndns.org 41001
|
31267 w8lrkp25.dyndns.org 41001
|
||||||
|
|
||||||
# 31291 Southwest Missouri (P25/DMR)
|
# 31291 Southwest Missouri (P25/DMR)
|
||||||
31291 p25.ddns.me 41001
|
31291 p25.ddns.me 41001
|
||||||
|
|
||||||
# 31297 Southwest Missouri Skywarn (P25/DMR)
|
# 31297 Southwest Missouri Skywarn (P25/DMR)
|
||||||
31297 p25.ddns.me 41003
|
31297 p25.ddns.me 41003
|
||||||
|
|
||||||
# 31313 America's Kansas City Wide (P25/DMR/YSF)
|
# 31313 America's Kansas City Wide (P25/DMR/YSF)
|
||||||
31313 p25.ddns.me 41002
|
31313 p25.ddns.me 41002
|
||||||
|
|
||||||
# 31337 SWLA <-> DMR TG 311995 <-> XLX337
|
# 31337 SWLA <-> DMR TG 311995 <-> XLX337
|
||||||
31337 bridge.kc5jmj.com 41000
|
31337 bridge.kc5jmj.com 41000
|
||||||
@ -623,7 +622,7 @@
|
|||||||
31395 backbone.ad8g.net 41000
|
31395 backbone.ad8g.net 41000
|
||||||
|
|
||||||
# 31399 OhioLink Network Crossmode. http://olnradio.digital
|
# 31399 OhioLink Network Crossmode. http://olnradio.digital
|
||||||
31399 xlx.kd8grn.net 41000
|
31399 xlx.kd8grn.net 41000
|
||||||
|
|
||||||
# 31340 Central New Jersey
|
# 31340 Central New Jersey
|
||||||
31340 cnjham.msmts.com 41000
|
31340 cnjham.msmts.com 41000
|
||||||
@ -638,7 +637,7 @@
|
|||||||
31425 70.44.20.24 41001
|
31425 70.44.20.24 41001
|
||||||
|
|
||||||
# 31424 SVARC-Shenango Valley Amateur Radio Club- K3WRB
|
# 31424 SVARC-Shenango Valley Amateur Radio Club- K3WRB
|
||||||
31424 p25.n1tvi.net 41000
|
31424 p25.n1tvi.net 41000
|
||||||
|
|
||||||
# PA Cross Mode (alt), 31426
|
# PA Cross Mode (alt), 31426
|
||||||
31426 3.215.215.169 41001
|
31426 3.215.215.169 41001
|
||||||
@ -650,7 +649,7 @@
|
|||||||
31490 ammermon.lorexddns.net 41001
|
31490 ammermon.lorexddns.net 41001
|
||||||
|
|
||||||
# 31497 LifeFlight, UT Statewide - Link to DMR TG 31497
|
# 31497 LifeFlight, UT Statewide - Link to DMR TG 31497
|
||||||
31497 45.79.110.170 41000
|
31497 45.79.110.170 41000
|
||||||
|
|
||||||
# 31555 SE Wisconsin Regional Linked to WiDMR 31555
|
# 31555 SE Wisconsin Regional Linked to WiDMR 31555
|
||||||
31555 mmdvm-p25.v24bridge.net 41000
|
31555 mmdvm-p25.v24bridge.net 41000
|
||||||
@ -686,7 +685,7 @@
|
|||||||
31888 p25.kg4jpl.com 41000
|
31888 p25.kg4jpl.com 41000
|
||||||
|
|
||||||
# 31947 K0MGS Western Missouri/KC Metro
|
# 31947 K0MGS Western Missouri/KC Metro
|
||||||
31947 p25.ddns.me 41000
|
31947 p25.ddns.me 41000
|
||||||
|
|
||||||
# 31983 K8JTK Hub Multimode ILS/DVMIS (K8JTK.org)
|
# 31983 K8JTK Hub Multimode ILS/DVMIS (K8JTK.org)
|
||||||
31983 P25Reflector31983.K8JTK.org 41000
|
31983 P25Reflector31983.K8JTK.org 41000
|
||||||
@ -814,4 +813,3 @@
|
|||||||
# 65101 KM4HJJ repeater Pompano, Florida
|
# 65101 KM4HJJ repeater Pompano, Florida
|
||||||
65101 km4hjj-p25.dyndns-server.com 41000
|
65101 km4hjj-p25.dyndns-server.com 41000
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
|
|
||||||
CP25Network::CP25Network(unsigned short port, const std::string& callsign, bool debug) :
|
CP25Network::CP25Network(unsigned short port, const std::string& callsign, bool debug) :
|
||||||
m_callsign(callsign),
|
m_callsign(callsign),
|
||||||
m_socket(port),
|
m_socket4(port),
|
||||||
|
m_socket6(port),
|
||||||
m_debug(debug)
|
m_debug(debug)
|
||||||
{
|
{
|
||||||
assert(port > 0U);
|
assert(port > 0U);
|
||||||
@ -42,7 +43,17 @@ bool CP25Network::open()
|
|||||||
{
|
{
|
||||||
LogInfo("Opening P25 network connection");
|
LogInfo("Opening P25 network connection");
|
||||||
|
|
||||||
return m_socket.open();
|
sockaddr_storage addr4;
|
||||||
|
addr4.ss_family = AF_INET;
|
||||||
|
|
||||||
|
bool ret = m_socket4.open(addr4);
|
||||||
|
if (!ret)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
sockaddr_storage addr6;
|
||||||
|
addr6.ss_family = AF_INET6;
|
||||||
|
|
||||||
|
return m_socket6.open(addr6);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CP25Network::write(const unsigned char* data, unsigned int length, const sockaddr_storage& addr, unsigned int addrLen)
|
bool CP25Network::write(const unsigned char* data, unsigned int length, const sockaddr_storage& addr, unsigned int addrLen)
|
||||||
@ -53,7 +64,15 @@ bool CP25Network::write(const unsigned char* data, unsigned int length, const so
|
|||||||
if (m_debug)
|
if (m_debug)
|
||||||
CUtils::dump(1U, "P25 Network Data Sent", data, length);
|
CUtils::dump(1U, "P25 Network Data Sent", data, length);
|
||||||
|
|
||||||
return m_socket.write(data, length, addr, addrLen);
|
switch (addr.ss_family) {
|
||||||
|
case AF_INET:
|
||||||
|
return m_socket4.write(data, length, addr, addrLen);
|
||||||
|
case AF_INET6:
|
||||||
|
return m_socket6.write(data, length, addr, addrLen);
|
||||||
|
default:
|
||||||
|
LogError("Unknown socket address family - %u", addr.ss_family);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CP25Network::poll(const sockaddr_storage& addr, unsigned int addrLen)
|
bool CP25Network::poll(const sockaddr_storage& addr, unsigned int addrLen)
|
||||||
@ -68,7 +87,15 @@ bool CP25Network::poll(const sockaddr_storage& addr, unsigned int addrLen)
|
|||||||
if (m_debug)
|
if (m_debug)
|
||||||
CUtils::dump(1U, "P25 Network Poll Sent", data, 11U);
|
CUtils::dump(1U, "P25 Network Poll Sent", data, 11U);
|
||||||
|
|
||||||
return m_socket.write(data, 11U, addr, addrLen);
|
switch (addr.ss_family) {
|
||||||
|
case AF_INET:
|
||||||
|
return m_socket4.write(data, 11U, addr, addrLen);
|
||||||
|
case AF_INET6:
|
||||||
|
return m_socket6.write(data, 11U, addr, addrLen);
|
||||||
|
default:
|
||||||
|
LogError("Unknown socket address family - %u", addr.ss_family);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CP25Network::unlink(const sockaddr_storage& addr, unsigned int addrLen)
|
bool CP25Network::unlink(const sockaddr_storage& addr, unsigned int addrLen)
|
||||||
@ -83,7 +110,15 @@ bool CP25Network::unlink(const sockaddr_storage& addr, unsigned int addrLen)
|
|||||||
if (m_debug)
|
if (m_debug)
|
||||||
CUtils::dump(1U, "P25 Network Unlink Sent", data, 11U);
|
CUtils::dump(1U, "P25 Network Unlink Sent", data, 11U);
|
||||||
|
|
||||||
return m_socket.write(data, 11U, addr, addrLen);
|
switch (addr.ss_family) {
|
||||||
|
case AF_INET:
|
||||||
|
return m_socket4.write(data, 11U, addr, addrLen);
|
||||||
|
case AF_INET6:
|
||||||
|
return m_socket6.write(data, 11U, addr, addrLen);
|
||||||
|
default:
|
||||||
|
LogError("Unknown socket address family - %u", addr.ss_family);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int CP25Network::read(unsigned char* data, unsigned int length, sockaddr_storage& addr, unsigned int& addrLen)
|
unsigned int CP25Network::read(unsigned char* data, unsigned int length, sockaddr_storage& addr, unsigned int& addrLen)
|
||||||
@ -91,7 +126,9 @@ unsigned int CP25Network::read(unsigned char* data, unsigned int length, sockadd
|
|||||||
assert(data != NULL);
|
assert(data != NULL);
|
||||||
assert(length > 0U);
|
assert(length > 0U);
|
||||||
|
|
||||||
int len = m_socket.read(data, length, addr, addrLen);
|
int len = m_socket4.read(data, length, addr, addrLen);
|
||||||
|
if (len <= 0)
|
||||||
|
len = m_socket6.read(data, length, addr, addrLen);
|
||||||
if (len <= 0)
|
if (len <= 0)
|
||||||
return 0U;
|
return 0U;
|
||||||
|
|
||||||
@ -103,7 +140,8 @@ unsigned int CP25Network::read(unsigned char* data, unsigned int length, sockadd
|
|||||||
|
|
||||||
void CP25Network::close()
|
void CP25Network::close()
|
||||||
{
|
{
|
||||||
m_socket.close();
|
m_socket4.close();
|
||||||
|
m_socket6.close();
|
||||||
|
|
||||||
LogInfo("Closing P25 network connection");
|
LogInfo("Closing P25 network connection");
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_callsign;
|
std::string m_callsign;
|
||||||
CUDPSocket m_socket;
|
CUDPSocket m_socket4;
|
||||||
|
CUDPSocket m_socket6;
|
||||||
bool m_debug;
|
bool m_debug;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user