P25Link project: Difference between revisions

From WLPS Wiki
Jump to navigation Jump to search
mNo edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div style="float:right">__TOC__</div>
= P25Link =
= P25Link =


== History ==
== History ==


P25Link was first conceived around December, 2017.  
*P25Link was first conceived around December, 2017.  
By the end of January, 2018 a sync HDLC to async HDLC board begin to be developed by Bryan W9CR and Carlos KM4NNO.  
By the end of January, 2018 a sync HDLC to async HDLC board begin to be developed by Bryan W9CR and Juan Carlos Perez.
A ambitious project that will be the evolution form P25NX.
An ambitious project that will be the evolution form P25NX.
 
On October 10, 2019, a Bridge code between P25NX and P25-MMDVM on talk group 10203 was released for testing. The bridge is based on Perl. Later, by April 2020, a dashboard and more talk groups were added.
 
During June 2020, the first public release for code that replaces the old P25NX C# Code been uploaded to github. The code was completely written from scratch using Perl.


*On October 10, 2019, a Bridge code between P25NX and P25-MMDVM was released for testing on talk group 10203. The bridge is based on Perl. Later, by April 2020, a dashboard and more talk groups were added.


By October 24, the first .deb package was released.
*During June 2020, the first public release for code that replaces the old P25NX C# Code been uploaded to github. The code was completely written from scratch using Perl.


*By October 24, the first .deb package was released.


*On March 29, 2021, Juan Carlos made an attempt to relocate the Bridged TGs from 10100-10303 to the 1050x range, which was not aceptable for Jonathan G4KLX who decided he does not want any crosslink to P25NX so there are no Bridged TGs in the P25Clients/P25Gateway/P25Hosts.txt file on github as he denied to update his github repo.


== Installers ==
== Installers ==


[https://github.com/Wodie/p25link/raw/master/installer/p25link_2.30-1.deb p25link_2.30-1 Raspberry Pi Raspbian Installer] - Public release Oct. 24, 2020.
[https://github.com/Wodie/p25link/raw/master/installer/p25link_2.33-3.deb p25link_2.33-3 Raspberry Pi Raspbian Installer] - Public release.


== P25Link in a nutshell ==
== P25Link in a nutshell ==
Line 48: Line 49:
  !
  !
  ip dhcp pool RPi
  ip dhcp pool RPi
  network 172.31.4.0 255.255.255.0  #Change this to Fa0/1
  network 192.168.0.200 255.255.255.0  #Change this to Fa0/0 IP address
  default-router 172.31.12.1 #change this to Fa0/1 interface IP
  default-router 192.168.0.200 #change this to Fa0/1 interface IP
  dns-server 1.1.1.1 4.2.2.2 #DNS SERVER
  dns-server 1.1.1.1 4.2.2.2 #DNS SERVER
  lease 0 0 15  
  lease 0 0 15
  !
  !
  !
  !
Line 58: Line 59:
  !
  !
  username w9cr privilege 15 secret 5 $1$9lDK$ALihMA.kF88ExXKVmFq7K/
  username w9cr privilege 15 secret 5 $1$9lDK$ALihMA.kF88ExXKVmFq7K/
username Wodie privilege 15 secret 5 $1$M9o/$80Ek/.0CKN207Fh3lPY7O1
username kris privilege 15 secret 5 $1$f3zx$.r9BFydXeSv4HMZ4eMCxR.
username rancid privilege 15 secret 5 $1$ahD1$l5GzplOjj4xrcVgCZqfjp1
username bryan privilege 15 secret 5 $1$4GKN$COhQTbtzjgMEsfznmLjqf0
  #ADD YOU IN HERE
  #ADD YOU IN HERE
  !
  !
  stun peer-name 172.31.300.101 #CHANGE THIS TO FA0/1 IP
  stun peer-name 192.168.0.200 #CHANGE THIS TO FA0/0 IP
  stun protocol-group 130 basic #change this to your group
  stun protocol-group 1 basic #change this to your group
  !
  !
  !
  !
  interface FastEthernet0/0
  interface FastEthernet0/0
  description INTERNET
  description INTERNET
  ip address dhcp  #allow for DHCP, or you can set static.
  ip address dhcp  # Allow for DHCP, or you can set static:
  ip nat outside
#ip address 192.168.0.200 255.255.255.0 # Static example
  ip nat inside
  ip virtual-reassembly in
  ip virtual-reassembly in
  duplex auto
  duplex auto
  speed auto
  speed auto
ipv6 address autoconfig default
ipv6 enable
!
interface FastEthernet0/1
description TO RPi NETWORK
ip address 172.31.4567.1 255.255.255.0  # Must match subnet
  ip pim sparse-mode
  ip pim sparse-mode
ip nat inside
ip virtual-reassembly in
  ip tcp adjust-mss 1400
  ip tcp adjust-mss 1400
  ip igmp query-interval 125
  ip igmp query-interval 125
duplex auto
speed auto
  !
  !
  interface Serial0/0/0
  interface Serial0/0/0
Line 92: Line 88:
  clock rate 9600
  clock rate 9600
  stun group 130
  stun group 130
  stun route all tcp 172.31.4.02 #change to the IP of the RPi
  stun route all tcp 192.168.0.201 #change to the R-Pi IP address.
  !
  ! !
interface Serial0/0/1
no ip address
shutdown
clock rate 125000
!
  ! Turn off Crap
  ! Turn off Crap
  no ip forward-protocol nd
  no ip forward-protocol nd
Line 106: Line 97:
  ip pim bidir-enable
  ip pim bidir-enable
  ip pim spt-threshold infinity
  ip pim spt-threshold infinity
ip nat inside source list NAT interface FastEthernet0/0 overload
#update these with your RPi Address.
ip nat inside source static tcp 172.31.4.102 22 interface FastEthernet0/0 45632
ip nat inside source static tcp 172.31.4.102 222 interface FastEthernet0/0 222
ip nat inside source static tcp 172.31.4.102 8080 interface FastEthernet0/0 8080
ip nat inside source static udp 172.31.4.102 4569 interface FastEthernet0/0 4569
  !
  !
ip access-list standard NAT
permit 172.31.0.0 0.0.255.255
  !
  !
  scheduler allocate 20000 1000
  scheduler allocate 20000 1000
Line 124: Line 107:
Bryan W9CR
Bryan W9CR


Juan Carlos KM4NNO/XE1F
Juan Carlos Perez


=Under Construction!=
=Under Construction!=

Latest revision as of 13:26, 24 July 2023

P25Link

History

  • P25Link was first conceived around December, 2017.

By the end of January, 2018 a sync HDLC to async HDLC board begin to be developed by Bryan W9CR and Juan Carlos Perez. An ambitious project that will be the evolution form P25NX.

  • On October 10, 2019, a Bridge code between P25NX and P25-MMDVM was released for testing on talk group 10203. The bridge is based on Perl. Later, by April 2020, a dashboard and more talk groups were added.
  • During June 2020, the first public release for code that replaces the old P25NX C# Code been uploaded to github. The code was completely written from scratch using Perl.
  • By October 24, the first .deb package was released.
  • On March 29, 2021, Juan Carlos made an attempt to relocate the Bridged TGs from 10100-10303 to the 1050x range, which was not aceptable for Jonathan G4KLX who decided he does not want any crosslink to P25NX so there are no Bridged TGs in the P25Clients/P25Gateway/P25Hosts.txt file on github as he denied to update his github repo.

Installers

p25link_2.33-3 Raspberry Pi Raspbian Installer - Public release.

P25Link in a nutshell

P25Link Perl code talks to Quantar repeater by a HDLC card Or a Cisco router using STUN (serial tunneling). It also connects to P25NX network using a VPN managed by the Cisco router and exchange data with other systems running P25Link code or P25NX code. All this data is exchanged using Multicast UDP frames. To connect to P25-MMDVM reflectors, it establish an UDP connection with the linked reflectors.

Cisco configuration

The best way to go for P25Link is to follow W9CR wiki: Allstar®_and_P25_on_Quantar

For those that prefer to go with P25-MMDVM features only, here is an example configuration. Please don't copy this blindly, it is not a turn-key/copy-paste solution.

service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname #SET-HOSTNAME-HERE
!
aaa new-model 
!
!
aaa authentication login localauth local
aaa authorization exec default local
aaa accounting delay-start
aaa session-id common
!
clock timezone EST -6 0  #CHANGE THIS
clock summer-time EDT recurring
!
ip dhcp pool RPi
network 192.168.0.200 255.255.255.0  #Change this to Fa0/0 IP address
default-router 192.168.0.200 #change this to Fa0/1 interface IP
dns-server 1.1.1.1 4.2.2.2 #DNS SERVER
lease 0 0 15
!
!
ip cef
ip multicast-routing 
!
username w9cr privilege 15 secret 5 $1$9lDK$ALihMA.kF88ExXKVmFq7K/
username Wodie privilege 15 secret 5 $1$M9o/$80Ek/.0CKN207Fh3lPY7O1
username kris privilege 15 secret 5 $1$f3zx$.r9BFydXeSv4HMZ4eMCxR.
username rancid privilege 15 secret 5 $1$ahD1$l5GzplOjj4xrcVgCZqfjp1
username bryan privilege 15 secret 5 $1$4GKN$COhQTbtzjgMEsfznmLjqf0
#ADD YOU IN HERE
!
stun peer-name 192.168.0.200 #CHANGE THIS TO FA0/0 IP
stun protocol-group 1 basic #change this to your group
!
!
interface FastEthernet0/0
description INTERNET
ip address dhcp  # Allow for DHCP, or you can set static:
#ip address 192.168.0.200 255.255.255.0 # Static example
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
ip pim sparse-mode
ip tcp adjust-mss 1400
ip igmp query-interval 125
!
interface Serial0/0/0
description To-Raspberry-Pi
mtu 2104
no ip address
encapsulation stun
clock rate 9600
stun group 130
stun route all tcp 192.168.0.201 #change to the R-Pi IP address.
! !
! Turn off Crap
no ip forward-protocol nd
no ip http server
no ip http secure-server
!
ip pim bidir-enable
ip pim spt-threshold infinity
!
!
scheduler allocate 20000 1000
ntp update-calendar
ntp server pool.ntp.org

Developers

Bryan W9CR

Juan Carlos Perez

Under Construction!

27 47 67 1B2F43


41 62 83 293E53