P25Link project

From WLPS Wiki
Jump to navigation Jump to search

P25.Link

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 Carlos KM4NNO. A 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.


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


Installers

p25link_2.30-1 Raspberry Pi Raspbian Installer - Public release Oct. 24, 2020.

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 172.31.4.0 255.255.255.0  #Change this to Fa0/1 
default-router 172.31.12.1 #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/
#ADD YOU IN HERE
!
stun peer-name 172.31.300.101 #CHANGE THIS TO FA0/1 IP
stun protocol-group 130 basic #change this to your group
!
!
interface FastEthernet0/0
description INTERNET
ip address dhcp  #allow for DHCP, or you can set static.
ip nat outside
ip virtual-reassembly in
duplex 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 nat inside
ip virtual-reassembly in
ip tcp adjust-mss 1400
ip igmp query-interval 125
duplex auto
speed auto
!
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 172.31.4.02 #change to the IP of the RPi
!
interface Serial0/0/1
no ip address
shutdown
clock rate 125000
!
! 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
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
ntp update-calendar
ntp server pool.ntp.org

Developers

Bryan W9CR

Juan Carlos KM4NNO/XE1F




Under Construction!

27 47 67 1B2F43


41 62 83 293E53