This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
op25-legacy/repeater/INSTALL

104 lines
3.2 KiB
Plaintext

INSTALLATION
============
1. Obtain the app_rpt source tree
2. Copy chan_usrp.c and chan_usrp.h to subdir "asterisk/channels/"
3. Build and install asterisk app_rpt; confirm chan_usrp is included
4. In your /etc/asterisk/rpt.conf file create a new, numbered node entry
for each separate discrete radio voice channel, such as for example:
[000]
rxchannel = usrp/192.168.2.55:34001:32001
duplex = 2
scheduler=scheduler
functions = functions-repeater
hangtime=0
authlevel = 0
[001]
rxchannel = usrp/192.168.2.55:34002:32002
duplex = 2
scheduler=scheduler
functions = functions-repeater
hangtime=0
authlevel = 0
Its invoked as usrp/HISIP:HISPORT[:MYPORT]
HISIP is the IP address (or FQDN) of the GR app
HISPORT is the UDP socket of the GR app
MYPORT (optional) is the UDP socket that Asterisk listens on
for this channel
5. You can use the "usrp show" command from within the asterisk CLI.
Another handy command is "rpt playback" to initiate a transmission on
any desired channel.
6. Here is a recipe for "dumb PTT" or "hotline" operation. This is the most
basic bread-and-butter remote TX setup using a standard (channel bank)
interface.
A standard FXS port on the channel bank is defined in zapata.conf with
signalling=fxo_ls
immediate=yes
context = chan1
channel => 1
An offhook (PTT) signal from user equipment on the FXS channel bank port
(due to the immmediate=yes) starts processing in extensions.conf:
[chan1]
exten => s,1,Dial(local/1@radio/n)
This jumps to exten "1" in
[radio]
exten => 1,1,rpt(000|D)
exten => 2,1,rpt(001|D)
exten => 3,1,rpt(002|D)
exten => 4,1,rpt(003|D)
exten => 5,1,rpt(004|D)
So the call resulting from the offhook (PTT) signal is routed to
extension "1" in context [radio] where it's connected to the desired
repeater node (channel). If the GR app is running it will initiate
radio transmission. An onhook signal on the FXS channel bank port
causes the end of the transmission by ending the asterisk call in
progress*. The hangtime=0 setting in rpt.conf was used to reduce the
tail delay in this setup.
*The end of the transmission may be modified however, for example when
app_rpt appends an "ID" or if a "timeout" occurs ;-)
7. Don't have a channel bank? Here is a poor man's DIY alternative [hack]
http://www.lightlink.com/mhp/x100pem/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The apps are located in repeater/python
usrp_rx
=======
This app captures several P25 (e.g., trunked system) channels simultaneously,
writing separate, parallel voice data streams for each channel to app_rpt,
(or, optionally, writing all received data to Wireshark). It has been
optimized for LSM/CQPSK.
Example
[precise calibration is important]
[say kalibrate suggests that +2000 would be a good calibration value]
./usrp_rx.py -RA -g 32 -H 192.168.2.6 -c 2000 -d 5
Before running the app you must edit the lines containing the system
frequencies and center (tuning) frequency. The total span of these
frequencies can't exceed 1 MHz (without program changes).
usrp_tx
=======
This app transmits several simultaneous parallel P25 channels under control
of app_rpt.
Example
./usrp_tx.py -f 53.175e6 -n 3 -e