Can different P25 talk groups (or groups of talk groups) be sent to different UDP/Streamed Network Destinations?

tdillingham

Newbie
Joined
May 16, 2009
Messages
4
I recently installed OP25 on an Ubuntu 20.4 VM, hosted on a VMWare server. I passed the RTL-SDR through to the server and everything is working. I have a few things I would like to do and eventually stream to Broadcastify. To do so, I believe I will need independent streams for talk groups, or groups of talk groups.

In my case, I am located in Kaufman County Texas. There is already someone streaming the Kaufman County Sheriff's Office, but this is a single Talk Group and frankly not very useful. While Fire Departments, Careflight (our local EMS contractor), and others are not currently streamed. The P25 System in use services several surrounding towns, and most, if not all, of the local Fire Departments. The constant banter of driver's license checks, and plate number checks is simply too much. While important radio traffic such as fire departments, and EMS are not being streamed.

I would like to stream several different talk groups, which, I believe, would be much more useful to most people.

For example, I want to group each of the Individual Fire Departments Fireground TalkGroup, along with the County Fire Dispatch.
Smaller Cities' Police Departments.
...and you get the idea.

I am Ok with purchasing multiple RTL-SDR's and building individual VMs for each of the combination, the RTL-SDR's are very affordable.

BUT, I would really like to stream multiple Talk Groups together on a single UDP/RTP stream and use the single SDR, since they are, after all, all on the same P25 System.

More than you probably wanted to know:
I used the python script to auto configure the config files, it has a couple issues, but I worked through those.

Here is my Trunk and Talk Group Configs, for reference. They are working perfectly at the moment. I hope to break them out into different groups and streams if at all possible.

Thank you in advance.

Additional Information about the setup:

This is the command I have set to start when the VM system starts. It is set to auto login and run OP25. (There are no UDP stream yet.)

python3 ~/op25/op25/gr-op25_repeater/apps/rx.py --args 'rtl' --gains 'LNA:49' -s 96000 -o -300 -U -T 00A_25567_trunk.tsv -l http:0.0.0.0:8080 -2 -x 3

Files pasted below:
00A_25567_trunk.tsv

"Sysname" "Control Channel List" "Offset" "NAC" "Modulation" "TGID Tags File" "Whitelist" "Blacklist" "Center Frequency"
"00A" "769.29375,771.16875,771.66875,772.09375,772.40625,772.79375" "0" "0" "CQPSK" "/home/XXreXXdactXXedXX/op25/op25/gr-op25_rep
eater/apps/00A_25567_talkgroups.tsv" "" "" ""

00A_25567_talkgroups.tsv

201 Kauf SO Disp
215 Kaufman Co Fire
993 Forney PD Disp
994 Terrell PD Disp
459 Careflight EMS
208 Kauf SO Bailiffs
347 Mabank PD
218 Kaufman Co FG 1
219 Kaufman Co FG 2
220 Kaufman Co FG 3
335 Kaufman Firegrnd
354 Mabank Firegrnd
408 Terrell Firegrnd
414 Scurry Firegrnd
366 Kemp Fireround
400 Elmo Fireground
378 Crandall Firegrn
386 Combine Firegrnd
396 College Mound FG
404 Ables Springs FG
202 Kauf SO Ch 2
207 Kauf SO TLETS
209 Kauf SO Patrol 1
223 Kaufman Co OPS1
224 Kaufman Co OPS2
225 Kaufman Co OPS3
226 Kaufman Co OPS4
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
922
Location
NE Wisconsin

Can different P25 talk groups (or groups of talk groups) be sent to different UDP/Streamed Network Destinations?​

Yes, by creating multiple Voice Channels (VC's) using multi_rx.py with each channel configured using a whitelist of specific
talk groups with each having separate destinations to specific UDP ports. You would need two or more RTL SDR's (low bandwidth)
devices, or you could elect to use a single higher bandwidth SDR that is capable of spanning the spectrum from the lowest to the
highest frequencies in use on your P25 TRS.

Alternatively, you can configure multiple instances of rx.py using lower bandwidth RTL SDR's (one per channel) to accomplish
the same task as outlined above. I personally prefer this arraignment for broadcast streaming in that I can operate each receiver
independently of the other(s).

You would install and use Liquidsoap to process the UDP audio streams from op25 that converts them to MP3 and redirects the
streams to either a private server such as Icecast, or to a public server such as BCFY.
 

ntrlsur

Newbie
Premium Subscriber
Joined
Jan 14, 2018
Messages
7
Location
Glen Ellyn,IL
I'm doing something very similar. Ubuntu 20.x OP25 + liquidsoap to broadcast a stream to BCFY. Thats a huge number of TG's. I think breaking them out into multiple "groups" would be best. I monitor 22 different FD's but they all get dispatched on a total of 4TG's which makes my life a bit easier.

I would take a good listen and check out the fireground channels. Typically they only go to those during a working fire so they are empty 99% of the time. I would group all the fireground along with 215 which is Kaufman Co Fire Dispatch. Then I would group all the police dispatch together. Take a good listen and see if you are getting the majority of the traffic.

Also taking a look at the Kaufman Co P25 site I don't see any frequencies only control channels. If you get a chance help update the freqs in use for that system. It could help out others..
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Each separate tgid or group of tgids that you want to stream needs to have it's own voice channel (and hence dedicated udp stream). There are things that get shared between channels that are all tied to the same trunked system (i.e. control channel info) but the majority of your cpu time is going to be spent demodulating and decoding the individual voice channels.
 

tdillingham

Newbie
Joined
May 16, 2009
Messages
4
Thank you everyone for the input. I plan to do a fresh install of Ubuntu 20.04. Then install op25, followed by a crash course in liquidsoap.
As I do this, I will take detailed notes.
Once I have completed everything, I will put it together in a final post on this thread.
Again, Thank You everyone I have some work and a bit self education to do. We will see where it takes me.
 
Last edited:

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
922
Location
NE Wisconsin
I plan to do a fresh install of Ubuntu 20.04. Then install op25, followed by a crash course in liquidsoap.

I might suggest going with Ubuntu 22.04.2 as long as you're doing a fresh install, especially if planning to use Liquidsoap to setup
steams (feeds) to BCFY.
 

tdillingham

Newbie
Joined
May 16, 2009
Messages
4
I might suggest going with Ubuntu 22.04.2 as long as you're doing a fresh install, especially if planning to use Liquidsoap to setup
steams (feeds) to BCFY.
I tried that at first and ran into several issues with the install of op25, and python. That is why I backed down to 20.04. 20.04 is still well within support. Updates will continue until April 2025. In addition, this VM is on an isolated network with limited access. (i.e. outbound proxy with IPS, limited incoming connectivity from a management network, etc...) I am less concerned about the security of the system than I am the effort I have to put into getting it all to work correctly. I don't want to be Ubuntu's or anyone else's DQA department, I just want to play with radios. ;-)
 

tdillingham

Newbie
Joined
May 16, 2009
Messages
4
I went through that and a lot of other things. It was a huge time sink. I'll stick with 20.04 for now. Thanks.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
922
Location
NE Wisconsin
I went through that and a lot of other things. It was a huge time sink. I'll stick with 20.04 for now. Thanks.

Suite yourself. The instructions (commands) provided to build Boatbod OP25 on a GR-3.10 (Ubuntu 22.04.2) Linux Distro are accurate, straightforward, and were suggested in knowing that your goal was to get to a point where you could setup streaming that's hands down
best accomplished when installing and scripting Liquidsoap to work alongside op25.

What you’re not aware of is that you’ll have a great difficulty getting around the per-user security (permissions) issues inherent in the Ubuntu 20.04. XX’s underlying pulse audio subsystem. However, the pulse audio system installed in Ubuntu 22.04.2 distros does lend itself to easy reconfiguration such as to be run as a system wide Deamon that in turn allows for the unattended and headless operation of Liquidsoap as a system service.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
As I recall, Ubuntu 20.04 is a gnuradio-3.8 release so you'll need to be using the master branch of my github repo rather than gr310. Hopefully you haven't tried to build the gr310 branch on 20.04 (or installed gnuradio-3.10) because neither are going to result in a working system without a lot of extra pain.
 
Top