104 lines
3.2 KiB
Plaintext
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
|