Asterisk based DIY P25 repeater and RoIP
Posted: Mon Oct 06, 2008 6:33 pm
Hi All,
DIY P25 repeater technology seems to be one of the forum's holy grails. While Quantars are nice you need a DIU to interface to a phone patch in P25 mode and RS-232 modem cards for repeater linking. Not only does this cost a deal of money but delivery isn't overnight.
A while ago I came across the web site http://www.zapatatelephony.org/app_rpt-old.html [ now http://ohnosec.org/drupal/node/135 ] which stuck in my mind. This is some free radio linking software to add on to another free PABX software project called Asterisk. To get started there is some great documentation at https://allstarlink.org/about.html and note that for a stand alone system you don't need Allstar link registration. To get a proper feel for all this stuff explore all the links on the pages I've listed. If you don't speak Linux get a tame geek who does. There has been a mention or two here on the board about Asterisk but I've not heard of anyone actually building something.
The other day I needed a P25 phone patch and an HF remote in a hurry (as you do).
Using some ready made USB interfaces (from http://dmkeng.com/URI_Order_Page.htm), a surplus one rack unit high IBM x330 server (1.4 GHz PIII-S 1.5GB RAM), and two VHF W3 100W Astro Spectra radios we had a pretty good system up and running in less than a week. The dial tone service was SIP over the IP backhaul.
Everything was stock except the custom Y cable (consisting of three DB25P male connectors) to go between the Spectras and the URI interface. I removed the W3 HHC mics from the original cable harness that connects to the LHS P5 connector and plugged them directly into the centre J6 connector on both Spectras trays and wired the transceiver ends of the DB25P Y cable to have +12 on the IGN pin 3 and of course tied the EMER pin 13 to DIG GND pin 8. That way you can remove the HHC if you want and the radio will power up on whatever the last mode it was set to. The overall cable screen went to DIG GND pin 18 and the DB25 shell.
On the transceiver being used as the repeater receiver I used DET audio on pin 9 for receive audio with the screen to ANA GND pin 10. For the COR I pulled the command board and jumpered the audio IC (special Motorola pin out version of the TDA7256) enable pin 10 (pin 1 is on the LHS of the IC) to J5 pin 16. This gives you a COR output, +12V on idle and gnd on receive. The idea for this came from Pyramid Communications and I think it’s better than trying to look at the DC voltage on the speaker leads. If you want a monitor speaker it hooks to pins 25 and 24.
The URI interface support more complex arrangements like separate CTCSS input and outputs CTCSS detect and even DSP squelch but since this application was P25 the simple logic COR was all that was needed.
The transmit unit needed no mods, audio goes to MIC HI pin 12, screen to MIC LO pin 11, and PTT to pin 1. Again the overall cable screen went to DIG GND pin 18 and the DB25 shell.
The Astro Spectra’s I used needed no other jumpers or mods. YMMV.
On the common DB25P that goes to the URI the following pins are used: PTT to PTT pin 1, COR to COR pin 8, MIC HI to LEFT_AC pin 9, DET to MIC_AC pin 21, audio screens to 19 and 20, overall cable screen to the DB25P shell.
The usbradio.conf file needs to match the radio configuration along the lines of:
[usb]
rxboost=0
rxctcssrelax=1
;txctcssdefault=88.5 disable CTCSS
;rxctcssfreqs=88.5 disable CTCSS
;txctcssfreqs=88.5 disable CTCSS
carrierfrom=usb
ctcssfrom=no
rxdemod=flat
txprelim=no
txmixa=voice
txmixb=no
invertptt=0
In autopatch mode the audio is fine. In repeater mode the back to back vocoding is not spectacular but perfectly adequate for comms. The radio are set to low power and run about 40W out without overheating.
The obvious question people ask is how to dial when in P25 mode. Well right now you can't without a bit of a work around. What I did was set up the repeater receiver in mixed mode. On the mobiles I set two adjacent modes, one analog TX and mixed RX to place the call and a second mode, ASTRO both ways, for the conversation. To limit hacking I protected the analog mode with DPL. Not ideal but it works. The pirates probably can't hear the autopatch prompts anyway as they are in P25 and there are a few other tricks that can be pulled to limit access like variable PIN prompts or account codes.
Ideally you'd want to be picking out the Astro dial string from the SB9600 bus, but that's another whole can of whatever. It would probably require a licence if done on a commercial basis and if you're going to go that far then buy a Quantar and a DIU.
While I used a server there is a nifty project for an embedded version here: http://limeylinux.org/
What else can you do with this stuff? Well apart from repeaters, autopatch and remote base applications IP linking of repeaters is made easy as is a mini software based desktop software (see http://www.xelatec.com/xipar/iaxrpt). There is even some MDC 1200 code around if you like that sort of stuff.
[Updated Jan 2014 to fix broken links]
DIY P25 repeater technology seems to be one of the forum's holy grails. While Quantars are nice you need a DIU to interface to a phone patch in P25 mode and RS-232 modem cards for repeater linking. Not only does this cost a deal of money but delivery isn't overnight.
A while ago I came across the web site http://www.zapatatelephony.org/app_rpt-old.html [ now http://ohnosec.org/drupal/node/135 ] which stuck in my mind. This is some free radio linking software to add on to another free PABX software project called Asterisk. To get started there is some great documentation at https://allstarlink.org/about.html and note that for a stand alone system you don't need Allstar link registration. To get a proper feel for all this stuff explore all the links on the pages I've listed. If you don't speak Linux get a tame geek who does. There has been a mention or two here on the board about Asterisk but I've not heard of anyone actually building something.
The other day I needed a P25 phone patch and an HF remote in a hurry (as you do).
Using some ready made USB interfaces (from http://dmkeng.com/URI_Order_Page.htm), a surplus one rack unit high IBM x330 server (1.4 GHz PIII-S 1.5GB RAM), and two VHF W3 100W Astro Spectra radios we had a pretty good system up and running in less than a week. The dial tone service was SIP over the IP backhaul.
Everything was stock except the custom Y cable (consisting of three DB25P male connectors) to go between the Spectras and the URI interface. I removed the W3 HHC mics from the original cable harness that connects to the LHS P5 connector and plugged them directly into the centre J6 connector on both Spectras trays and wired the transceiver ends of the DB25P Y cable to have +12 on the IGN pin 3 and of course tied the EMER pin 13 to DIG GND pin 8. That way you can remove the HHC if you want and the radio will power up on whatever the last mode it was set to. The overall cable screen went to DIG GND pin 18 and the DB25 shell.
On the transceiver being used as the repeater receiver I used DET audio on pin 9 for receive audio with the screen to ANA GND pin 10. For the COR I pulled the command board and jumpered the audio IC (special Motorola pin out version of the TDA7256) enable pin 10 (pin 1 is on the LHS of the IC) to J5 pin 16. This gives you a COR output, +12V on idle and gnd on receive. The idea for this came from Pyramid Communications and I think it’s better than trying to look at the DC voltage on the speaker leads. If you want a monitor speaker it hooks to pins 25 and 24.
The URI interface support more complex arrangements like separate CTCSS input and outputs CTCSS detect and even DSP squelch but since this application was P25 the simple logic COR was all that was needed.
The transmit unit needed no mods, audio goes to MIC HI pin 12, screen to MIC LO pin 11, and PTT to pin 1. Again the overall cable screen went to DIG GND pin 18 and the DB25 shell.
The Astro Spectra’s I used needed no other jumpers or mods. YMMV.
On the common DB25P that goes to the URI the following pins are used: PTT to PTT pin 1, COR to COR pin 8, MIC HI to LEFT_AC pin 9, DET to MIC_AC pin 21, audio screens to 19 and 20, overall cable screen to the DB25P shell.
The usbradio.conf file needs to match the radio configuration along the lines of:
[usb]
rxboost=0
rxctcssrelax=1
;txctcssdefault=88.5 disable CTCSS
;rxctcssfreqs=88.5 disable CTCSS
;txctcssfreqs=88.5 disable CTCSS
carrierfrom=usb
ctcssfrom=no
rxdemod=flat
txprelim=no
txmixa=voice
txmixb=no
invertptt=0
In autopatch mode the audio is fine. In repeater mode the back to back vocoding is not spectacular but perfectly adequate for comms. The radio are set to low power and run about 40W out without overheating.
The obvious question people ask is how to dial when in P25 mode. Well right now you can't without a bit of a work around. What I did was set up the repeater receiver in mixed mode. On the mobiles I set two adjacent modes, one analog TX and mixed RX to place the call and a second mode, ASTRO both ways, for the conversation. To limit hacking I protected the analog mode with DPL. Not ideal but it works. The pirates probably can't hear the autopatch prompts anyway as they are in P25 and there are a few other tricks that can be pulled to limit access like variable PIN prompts or account codes.
Ideally you'd want to be picking out the Astro dial string from the SB9600 bus, but that's another whole can of whatever. It would probably require a licence if done on a commercial basis and if you're going to go that far then buy a Quantar and a DIU.
While I used a server there is a nifty project for an embedded version here: http://limeylinux.org/
What else can you do with this stuff? Well apart from repeaters, autopatch and remote base applications IP linking of repeaters is made easy as is a mini software based desktop software (see http://www.xelatec.com/xipar/iaxrpt). There is even some MDC 1200 code around if you like that sort of stuff.
[Updated Jan 2014 to fix broken links]