P25Link project
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