[op25-dev] Allstar integration? [1 Attachment]

wllmbecks@gmail.com [op25-dev] op25-dev at yahoogroups.com
Fri Dec 28 13:52:13 UTC 2018

Here are a couple of additional thoughts/comments…..


You don’t necessarily have to run Icecast on the RPi.  You can just a easily configure darkice to push the 

audio stream to a preconfigured mount point on a remote server.


One of the unfortunate aspects with digital audio (p25) is that few radio technicians understand how to setup proper microphone or console audio levels.  On analog system they were used to looking at the deviation scope/meter on their service monitor and cranking the mic gain to achieve rated system deviation.   However, this is not the case in P25 or other digital modes.  The ones and zeros hit specific deviation targets (symbols) that don’t care how high or how low the actual audio is.    


Graham Norbury has added a feature to his boatbod fork of op25 that give you the option on the rx.py command line to adjust the recovered audio level.   I’ve found that in my location that on some systems some additional gain is helpful and have specified -x 2 on my rx.py command line to increase the gain.    You may want to vary this value experimentally as needed to compensate for local conditions.

I don’t know what the limits are but at some point you are likely to start clipping and then you’ll know the upper limit.  Perhaps Graham will chime in with addition information on this subject.


On the subject of P25 audio.   I won’t go into methods I’ve used to set and measuring digital audio levels, but I am attaching apco_ref.wav, an audio test tone file crated and calibrated for use with the op25 on the Raspberry Pi to produce a test tone equivalent in level to that reproduced if you were to connect a service monitor up  to your Pi’s SDR modulated with a standard P25 1011 (tone) test pattern.  I did this because of a need to setup audio levels with external devices.   One such example is where I break out the audio from the RPi and send it through an automatic gain control (AGC) amplifier before sending it on to darkice for conversion to an mp3 stream to level out p25 system/user levels.


Bill, WA8WG




From: op25-dev at yahoogroups.com <op25-dev at yahoogroups.com> 
Sent: Friday, December 28, 2018 6:56 AM
To: op25-dev at yahoogroups.com
Subject: RE: [op25-dev] Allstar integration? [4 Attachments]



[Attachment(s) from wllmbecks at gmail.com <mailto:wllmbecks at gmail.com>  included below] 



Problem solved and no need to interface with Allstar.    Instead all that is needed is to add the functionality of a streaming audio server to your Raspberry Pi and you can then simply connect to the built in server over your LAN at home or over the Internet from anywhere else that you have connectivity.


Here’s the procedure…  


sudo apt-get install darkice

sudo apt-get install icecase2  [Note that the installation script will spawn a menu to configure icecast where you configure passwords and port number]

sudo cp /localpath/asound.conf /etc/asound.conf

sudo cp /localpath/darkice.cfg /etc/darkice.cfg

sudo cp /localpath/bcm2835.conf /etc/modprobe.d/bcm2835.conf


Edit the attached op25.sh to specify your own rx.py command line options but retain the -O loop0 option that directs op25 audio to darkice via the audio loopback.

Reboot the Pi then connect to the Pi’s IP on port 8000 (default) accordingly to the following examples.


Icecast Administration URL: http://xxxx.xxx.xxx.xxx:8000  [login username = admin, password = string set when installing icecast]

Icecast Audio Stream URL: http://xxxx.xxx.xxx.xxx:8000/op25.mp3


You don’t need to connect to the admin except to determine if the mount point (op25.mp3) is active (darkice running and connected) or to view and manage connections to the Icecast server.

Incidentally, you can use this same general configuration to put op25 audio to a broadcastify.com mount point as well.




Although the example configs start darkice from the same script that I use to start op25 that a much better approach is to crate a cron job or to create a service that gets run at boot time by system.

The reason for this is that if you need to stop and restart op25 to make or test configuration changes, then you’d need to kill the darkice process too before executing op25.sh.


The Raspberry Pi3-A+ has some hardware differences that require a slightly different configuration.  Contact my via PM if anyone needs that info.


Happy New Year!


Bill, WA8WG




From: op25-dev at yahoogroups.com <mailto:op25-dev at yahoogroups.com>  <op25-dev at yahoogroups.com <mailto:op25-dev at yahoogroups.com> > 
Sent: Thursday, December 27, 2018 8:17 PM
To: op25-dev at yahoogroups.com <mailto:op25-dev at yahoogroups.com> 
Subject: [op25-dev] Allstar integration?



I wish there was a way to feed op25 into a local Allstar (Asterisk app_rpt) node to drive an analog transmitter. That way I can keep tabs on a few digital systems when I am out and about or via the the IP phone on my desk. One way would be fine till such a time that transmitting with op25 via direct modulator input becomes more common.


Has any thought been given to that sort of thing?  Just curious


All the existing digital to analog bridges pretty much rely one one being personally involved with the digital repeaters to configure things on both ends (IP network level etc).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/op25-dev/attachments/20181228/9fa7ae7a/attachment-0001.html>

More information about the op25-dev mailing list