Rick Parrish, KD4VXY ? the author of UniTrunker reportedly has the ability to de-code a P25 control channel.
He also wrote a handy utility called kNACk. This recognizes the APCO Project 25 voice channels enough to display the 12 bit NAC code. The NAC code is similar to CTCSS tones and DCS codes (aka PL or DPL). The program functions off the soundcard and a discriminator connection. There isn't much too it. Select "Default Input" in the combo-box. If it says "running" ... then your good to go. If after a few tries you don't see anything other than "000" - try checking the signal invert box. When you're done, press the "X" box in the top left corner to close the program.
It would be very beneficial for the amateur radio audience for Rick to share his source code or create some sort of white paper on decoding P25.
Some good NAC's to remember though are:
$293 - default NAC
$F7E - a receiver set on this will unsquelch with any incoming NAC
$F7F - a repeater set on this will allow incoming signals to be repeated with the NAC code intact.
P25 repeater and DSD+
Ryan, KC9GMY wrote what I have described. Ryan's program decodes a user defined NAC and changes the status of a serial port pin.
You can also build a DMR repeater using two DMR radios and his software to detect DMR and drive the PTT of the other radio.
Tim Warth, AA2RS showed how-to use two Motorola Maxtracs for a poorman's Astro/P25 repeater
His mod is transparent. ANYTHING it hears that breaks squelch, including intermod and spurious noises, will get repeated. (Data is not regenerated.)
If Rick's NAC decoder included his source code it would be possible to add code to have the program change the logic status of a parallel / printer or serial port pin on the computer which could be used for a COR input to a repeater controller. (This idea was first asked on the batlabs message board in a thread about Tim's Maxtrac P25 mods.)
This would solve the problem of running a wide open transparent repeater for IMBE. You could write the software to allow only specifics NACs to give you a low or high on one of the serial port pins. You could use this signal similar to a digital COR signal line. If the proper NAC is present it would allow a repeater to key, if not it will not key up on noise or skip.
On a similar implementation my friend, KB8ZXE created a simplex repeater to show it is capable of repeating P25 as a poof of concept.
https://www.youtube.com/watch?v=vdGr12Qiosc - explained
"We've determined that the open source Asterisk PBX appears to be a good framework onwhich to build a P25 ISSI (Inter RF Subsystem Interface) switch. Asterisk has a mature SIP stack and already has the ability to transparently pass RTP frames between SIP channels. The National Institute of Standards and Technology (NIST) has made an open source program for ISSI testing freely available to the P25 community. A full-featured open source P25 ISSI switch is clearly achievable."
The Project 25 Inter RF Subsystem Interface (P25 ISSI) is a non-proprietary interface thatenables RF subsystems (RFSSs) built by different manufacturers to be connected together into wide area networks. Apparently consideration is being given to enhancing Asterisk app_rpt to support a such a low-level P25 radio interface.
The open source project25 interface is a good idea. Unfortunately the problem they're facing is that most of the manufacturers don't bother following the ISSI spec, nor does the ISSI spec call out hardware interface details. So basically the "plugs" on the back of say, a Quantar... don't match the "plugs" on the back of a Mastr III.
Two Digital Radios
It is relatively easy to modify a W9 Astro Spectra by tapping the TDA7256 audio output IC to bring out an external squelch signal. You'll have data regeneration if you go this route, however you will lose some of the audio quality as you will be double vocoding.