OP25 vs. SDRTrunk vs. other SDR software questions

Status
Not open for further replies.

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
I've been using SDRTrunk but the fact that its not coded with a option to completely ignore talkgroups is pushing me to explore other options.

The county I reside in(Greenville SC.) system has just about every agency on it(several dozen FDs, 6 PDs/SDs, EMS and State HP) so a large portion of calls are missed due to "tuner unavailable" because the dongles are tied up on "channels"(blacklisted) I care nothing about monitoring during general listening.

I'm wondering if its worth the effort to install OP25 if it doesn't have the ability to actually set the tuner(s) to not stop on "blacklisted" talkgroups.

So my question(s) are these:

1. Does OP25 have this capability ?
2. If it doesn't, are there any software apps that do offer this ?

thanks in advance to any guidance offered

Edit to add that the 2 laptops I'm using are running Linux Mint
 
Last edited:

sonm10

Central MN Monitor
Premium Subscriber
Joined
Nov 19, 2016
Messages
1,089
Location
Sauk Centre, Minnesota
DSD+ has a hold functionality as well as lock out and the ability to change priority of certain talkgroups.
 

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
Next question in reference to OP25: Does it have the ability, like SDRTrunk to output 2 audio streams at the same time...like a SD call on left channel and a Local PD call on the right channel ?
 

sonm10

Central MN Monitor
Premium Subscriber
Joined
Nov 19, 2016
Messages
1,089
Location
Sauk Centre, Minnesota
"Lockout" as in a true lockout or just a "mute" like SDRTrunk has ?

Also is DSD+ windows or linux based ?
Good question

I think it behaves more as a mute. The TG and RID disappear from the Group and Radio windows, but still visible in the console window.

DSD+ is Command-line based, so Windows
 

MCWKen

Member
Joined
Mar 4, 2013
Messages
200
Location
Clinton, IA
Next question in reference to OP25: Does it have the ability, like SDRTrunk to output 2 audio streams at the same time...like a SD call on left channel and a Local PD call on the right channel ?

To my knowledge, OP25 only decodes one audio output at a time.

That said, I only run a single SDR, not sure how it runs multiple SDRs (Which OP25 is capable of).

OP25 is capable of not only having blacklists, but you can assign priorities to each TG. So for example, if TG 23520 comes up with a priority of 3, and TG 5303 with a priority 1 is received, it will immediately interrupt any other lower priority TG.

05/13/22 15:14:57.123533 voice update: tg(23508), freq(856037500), slot(0), prio(4)
05/13/22 15:14:57.176717 set tgid=23508, srcaddr=2320058
05/13/22 15:14:57.587656 set tgid=23508, srcaddr=0
05/13/22 15:14:57.945190 set tgid=5303, srcaddr=0
05/13/22 15:14:57.945327 voice preempt: tg(5303), freq(856037500), slot(1), prio(1)

As you see, the transition happens in a split second.

Here, a blacklisted TG while seen, will not get a voice assignment:

03/10/22 08:11:15.410347 new tgid=4002 Radio Tech E2 prio 3
03/10/22 08:11:15.512394 set tgid=4002, srcaddr=60011


Nor will it interrupt an active TG.

Just my experience.
 
Last edited:

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
(1)To my knowledge, OP25 only decodes one audio output at a time.

(2)That said, I only run a single SDR, not sure how it runs multiple SDRs (Which OP25 is capable of).

(3)OP25 is capable of not only having blacklists, but you can assign priorities to each TG. So for example, if TG 23520 comes up with a priority of 3, and TG 5303 with a priority 1 is received, it will immediately interrupt any other lower priority TG.

05/13/22 15:14:57.123533 voice update: tg(23508), freq(856037500), slot(0), prio(4)
05/13/22 15:14:57.176717 set tgid=23508, srcaddr=2320058
05/13/22 15:14:57.587656 set tgid=23508, srcaddr=0
05/13/22 15:14:57.945190 set tgid=5303, srcaddr=0
05/13/22 15:14:57.945327 voice preempt: tg(5303), freq(856037500), slot(1), prio(1)

As you see, the transition happens in a split second.

(4)Here, a blacklisted TG while seen, will not get a voice assignment:

03/10/22 08:11:15.410347 new tgid=4002 Radio Tech E2 prio 3
03/10/22 08:11:15.512394 set tgid=4002, srcaddr=60011


(5)Nor will it interrupt an active TG.

Just my experience.

(1): That's not a complete deal breaker as I have 2 laptops with 2 dongles each
(2): see (1)
(3): From that description it looks like it runs like SDRTrunk in that a "tuner" is occupied even though the TG is blacklisted
(4): see (3)
(5): So if I'm understanding correctly, Say OP25 is stopped on a local PD(not blacklisted) with a priority of 2 and a SD call from TG with a 6 priority come in, it won't break from the PD to output the SD(higher priority) call ?
 

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
There IS a way to have SDRtrunk skip unwanted talkgroups, and it works great! Here is a link to a YouTube tutorial.....
SDRTrunk The FREE P25 Police Scanner! Windows and Linux Tutorial - YouTube

Yea, that's not the issue I'm looking to solve...I have a "blacklist" alias list...the issue is that the current SDRTrunk software doesn't compare the incoming "calls" with the database and completely ignore a blacklisted TG...it still uses tuner resources to lock that TG thus missing or giving a "tuner unavailable" error

as a example:
I have zero interest in a conversation from the Landfill yet SDRTrunk will still use tuner resources to tune that call and miss calls from my Sheriff because "tuner unavailable"
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,499
Location
Talbot Co, MD
I've been using SDRTrunk but the fact that its not coded with a option to completely ignore talkgroups is pushing me to explore other options.

The county I reside in(Greenville SC.) system has just about every agency on it(several dozen FDs, 6 PDs/SDs, EMS and State HP) so a large portion of calls are missed due to "tuner unavailable" because the dongles are tied up on "channels"(blacklisted) I care nothing about monitoring during general listening.

I'm wondering if its worth the effort to install OP25 if it doesn't have the ability to actually set the tuner(s) to not stop on "blacklisted" talkgroups.

So my question(s) are these:

1. Does OP25 have this capability ?
2. If it doesn't, are there any software apps that do offer this ?

Yes, op25 has a proper blacklist (lockout) and also a whitelist capability. You can either list tgids that you never want to listen to, or (more practically for a stream provider) list the tgids that you only want to listen to. In either case, if the tgid is not permitted for monitoring, no voice tuner will be wasted on that call.

There is also an encryption skip/mute capability, but that necessarily does require the tuner to follow the voice channel (albeit briefly) in order to find out whether encryption is in use or not.

Next question in reference to OP25: Does it have the ability, like SDRTrunk to output 2 audio streams at the same time...like a SD call on left channel and a Local PD call on the right channel ?

OP25's multi_rx.py can monitor multiple systems and voice channels simultaneously, generally only limited by the number of tuners (or bandwidth of wide-band sdr) as well as the cpu capability of the host machine. For example I'm using a single Airspy Mini on a NUC7 (i5 cpu) to monitor two different P25 systems and provide 3 independent feeds to broadcastify. The key thing for multi_rx is that you either need to dedicate one low-cost RTL device per voice receiver or have one or more wideband sdr that covers the entire spectrum of interest. Individual RTLs tend to do better as they can run at lower sample rate and therefore use less cpu for usb transfers and IQ mixing/filtering.

The output from these multiple feeds each manifests as a dedicate UDP pcm stream. The liquidsoap app and op25 plugin (audio.py) is used to receive the incoming pcm streams, post-process and turn them into icecast and/or local audio.
 

MCWKen

Member
Joined
Mar 4, 2013
Messages
200
Location
Clinton, IA
(1): That's not a complete deal breaker as I have 2 laptops with 2 dongles each
(2): see (1)
(3): From that description it looks like it runs like SDRTrunk in that a "tuner" is occupied even though the TG is blacklisted
(4): see (3)
(5): So if I'm understanding correctly, Say OP25 is stopped on a local PD(not blacklisted) with a priority of 2 and a SD call from TG with a 6 priority come in, it won't break from the PD to output the SD(higher priority) call ?

As to #3: The "tuner" is actually Control Channel's data. When the CC decodes a blacklisted TG and assigns it a frequency, OP25 shows that TG, but will not allocate any resources other than to identify it.

If an Whitelisted TG were to be seen by the CC, it will be allocated resource to process the audio. That blacklisted TG will just sit in the background.

As to #5: in OP25, there are only 3 settings, 1 being the highest priority, and 3 the lowest.

Here, TG 14401, a priority 2 TG is preempted by TG 5303 a priority 1 TG, and voice is diverted to it.
10/08/22 08:13:17.212474 voice update: tg(14401), freq(773581250), slot(-), prio(2)
10/08/22 08:13:19.514459 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514605 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514735 voice preempt: tg(5303), freq(773831250), slot(0), prio(1)
10/08/22 08:13:20.037494 clear tgid=14401, freq=773.581250, slot=0
10/08/22 08:13:20.037571 clear tgid=14401, freq=773.581250, slot=1
10/08/22 08:13:20.181980 set tgid=5303, srcaddr=0


OP25 will display all operating TG's and frequencies used, but voice will be allocated by priority. This means, if the CC currently has 3 TG's being decoded, it will appear on your screen, however, if only one TG is clear, and the other TG's were Blacklisted, only voice will be assigned to that clear TG.

Clear as mud?
 
Last edited:

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
Yes, op25 has a proper blacklist (lockout) and also a whitelist capability. You can either list tgids that you never want to listen to, or (more practically for a stream provider) list the tgids that you only want to listen to. In either case, if the tgid is not permitted for monitoring, no voice tuner will be wasted on that call.

There is also an encryption skip/mute capability, but that necessarily does require the tuner to follow the voice channel (albeit briefly) in order to find out whether encryption is in use or not.



OP25's multi_rx.py can monitor multiple systems and voice channels simultaneously, generally only limited by the number of tuners (or bandwidth of wide-band sdr) as well as the cpu capability of the host machine. For example I'm using a single Airspy Mini on a NUC7 (i5 cpu) to monitor two different P25 systems and provide 3 independent feeds to broadcastify. The key thing for multi_rx is that you either need to dedicate one low-cost RTL device per voice receiver or have one or more wideband sdr that covers the entire spectrum of interest. Individual RTLs tend to do better as they can run at lower sample rate and therefore use less cpu for usb transfers and IQ mixing/filtering.

The output from these multiple feeds each manifests as a dedicate UDP pcm stream. The liquidsoap app and op25 plugin (audio.py) is used to receive the incoming pcm streams, post-process and turn them into icecast and/or local audio.

Good, I'll give it a try...I tried before settling on SDRTrunk but kept getting errors about certain parts of Python being missing...has that been fixed ?

Edit to ask: What's the best current way to get OP25 at the moment ?...Github or other ?....and any good primer for a most basic Linux user ?
 

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
As to #3: The "tuner" is actually Control Channel's data. When the CC decodes a blacklisted TG and assigns it a frequency, OP25 shows that TG, but will not allocate any resources other than to identify it.

If an Whitelisted TG were to be seen by the CC, it will be allocated resource to process the audio. That blacklisted TG will just sit in the background.

As to #5: in OP25, there are only 3 settings, 1 being the highest priority, and 3 the lowest.

Here, TG 14401, a priority 2 TG is preempted by TG 5303 a priority 1 TG, and voice is diverted to it.
10/08/22 08:13:17.212474 voice update: tg(14401), freq(773581250), slot(-), prio(2)
10/08/22 08:13:19.514459 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514605 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514735 voice preempt: tg(5303), freq(773831250), slot(0), prio(1)
10/08/22 08:13:20.037494 clear tgid=14401, freq=773.581250, slot=0
10/08/22 08:13:20.037571 clear tgid=14401, freq=773.581250, slot=1
10/08/22 08:13:20.181980 set tgid=5303, srcaddr=0


OP25 will display all operating TG's and frequencies used, but voice will be allocated by priority. This means, if the CC currently has 3 TG's being decoded, it will appear on your screen, however, if only one TG is clear, and the other TG's were Blacklisted, only voice will be assigned to that clear TG.

Clear as mud?

Gotcha ....thanks for the replies
 

noamlivne

Member
Joined
Sep 7, 2012
Messages
205
Yea, that's not the issue I'm looking to solve...I have a "blacklist" alias list...the issue is that the current SDRTrunk software doesn't compare the incoming "calls" with the database and completely ignore a blacklisted TG...it still uses tuner resources to lock that TG thus missing or giving a "tuner unavailable" error

as a example:
I have zero interest in a conversation from the Landfill yet SDRTrunk will still use tuner resources to tune that call and miss calls from my Sheriff because "tuner unavailable"
Not a good answer, but a suggestion. If you get "Tuner Unavailable", it best to add (an) additional dongle(s) as to cover the whole system's range, IMHO. Simple dongles start from about $20.
 

dave3825

* * * * * * * * * * * *
Premium Subscriber
Joined
Feb 17, 2003
Messages
9,438
Location
Suffolk County NY
SDRTrunk but the fact that its not coded with a option to completely ignore talkgroups
There IS a way to have SDRtrunk skip unwanted talkgroups, and it works great!
it still uses tuner resources to lock that TG thus missing or giving a "tuner unavailable" error


I run 2 Nooelec dongles on 2 systems in sdrtrunk. I set all my lockouts and the systems are pretty busy. I run the Nooelec dongles at a 2.56 mhz sample rate and have yet to see unavailable tuner. On the busy system, (800mhz) I set max tuners to 10. Max tuners on the other system (700mhz) set to 3 because its really not busy.

What is the spread of the system your having the issue on and what dongle and sample rate are you using? What is set for max tuners? Unavailable tuner usually means the dongle can not cover all the freqs on the system.
 
Last edited:

abqscan

DataBase Administrator
Moderator
Joined
Dec 8, 2002
Messages
2,901
Location
AOA
Yea, that's not the issue I'm looking to solve...I have a "blacklist" alias list...the issue is that the current SDRTrunk software doesn't compare the incoming "calls" with the database and completely ignore a blacklisted TG...it still uses tuner resources to lock that TG thus missing or giving a "tuner unavailable" error

as a example:
I have zero interest in a conversation from the Landfill yet SDRTrunk will still use tuner resources to tune that call and miss calls from my Sheriff because "tuner unavailable"

The tuner unavailable means that a TG you are trying to record is on a frequency that your current SDR(s) are unable to capture because the frequency range exceeds your current setup. I'm guessing based on your location you are trying to monitor the Greenville Simulcast site on the Plametto 800Mhz P25 system. If so, the spread between the lowerst and highest frequency is 8.775Mhz which is pretty wide. I saw in another thread you are using two NooElec Smart XRs. On paper, your SDRs can see 2.4Mhz of bandwith at a time. This means you would need 4 of these SDRs to cover the site you are trying to monitor. Purchasing two more NooElec SDRs or upgrading one of your SDRs to an Airspy would resolve your issues.
 

mister018

Member
Joined
Jan 21, 2006
Messages
30
Location
Greenville County
The tuner unavailable means that a TG you are trying to record is on a frequency that your current SDR(s) are unable to capture because the frequency range exceeds your current setup. I'm guessing based on your location you are trying to monitor the Greenville Simulcast site on the Plametto 800Mhz P25 system. If so, the spread between the lowerst and highest frequency is 8.775Mhz which is pretty wide. I saw in another thread you are using two NooElec Smart XRs. On paper, your SDRs can see 2.4Mhz of bandwith at a time. This means you would need 4 of these SDRs to cover the site you are trying to monitor. Purchasing two more NooElec SDRs or upgrading one of your SDRs to an Airspy would resolve your issues.

Yep, the Greenville simulcast system frequency spread would require 4 dongles on paper but 3 dongles is the max that will run on current choice of laptops, either a MacBook pro with an i7 cpu or a Sony Vaio with an i5 ....if I try to run all 4 on a single hub(Targas non-powered) or even two on separate hubs(same brand), it gives an error for dongle 3 under the tuner tab

Now the Hogback site can be covered with 3 dongles so I'm going to put 3 of my 4 dongles on that and see if any "tuner unavailable" messages pop

As to the error with 4 dongles...anyone recommend a good "known working" 4+ port USB hub if the problem turns out to be the current hub(s) I'm using ??

I really appreciate everyone's time replying to help figure this out

Edit to add info on the laptops: The Apple and Vaio are 2012 era machines ...but the Apple was free and the Vaio was just collecting dust till both were "revived" with Linux Mint
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,499
Location
Talbot Co, MD
As to #3: The "tuner" is actually Control Channel's data. When the CC decodes a blacklisted TG and assigns it a frequency, OP25 shows that TG, but will not allocate any resources other than to identify it.

If an Whitelisted TG were to be seen by the CC, it will be allocated resource to process the audio. That blacklisted TG will just sit in the background.

As to #5: in OP25, there are only 3 settings, 1 being the highest priority, and 3 the lowest.

Here, TG 14401, a priority 2 TG is preempted by TG 5303 a priority 1 TG, and voice is diverted to it.
10/08/22 08:13:17.212474 voice update: tg(14401), freq(773581250), slot(-), prio(2)
10/08/22 08:13:19.514459 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514605 set tgid=5303, srcaddr=0
10/08/22 08:13:19.514735 voice preempt: tg(5303), freq(773831250), slot(0), prio(1)
10/08/22 08:13:20.037494 clear tgid=14401, freq=773.581250, slot=0
10/08/22 08:13:20.037571 clear tgid=14401, freq=773.581250, slot=1
10/08/22 08:13:20.181980 set tgid=5303, srcaddr=0


OP25 will display all operating TG's and frequencies used, but voice will be allocated by priority. This means, if the CC currently has 3 TG's being decoded, it will appear on your screen, however, if only one TG is clear, and the other TG's were Blacklisted, only voice will be assigned to that clear TG.

Clear as mud?
Perhaps I may clear up some potential confusion:-

OP25 has no predefined limit on the number of priority levels. By default if you enter nothing, all tgids are assigned prio 3, but that does not set anything in stone because you could specify any integer priority values in the trunk tags file that you might choose. Personally I've not found much use for anything more than about 5 levels, hence why "3" was chosen as the default, but the code is flexible if you need more.

If you see a log message saying "no idle receivers for control channel monitoring" it just means all the defined voice receivers are actively processing voice calls and so none are available to listen to the control channel. Thanks to the way P25 signaling messages are exchanged on voice channels, op25 continues to keep it's internal maps updated and will correctly handle priority call preemption just the same as it would if it were watching the control channel.

In a multi-receiver environment, you can cycle the terminal through each receiver to see what is active and what is idle by using the left/right arrow keys (curses) or the arrow icons (http).

Blacklist is a pretty easy concept - if you blacklist a tgid it will be excluded from consideration for voice decoding. If a tgids is not in the blacklist file it will be eligible for decoding subject to priority handling as set in the trunk-tags.tsv file. If the tgid is not present in the trunk-tags file it will be assigned a default priority of 3, and if no tgids are listed in trunk-tags then all calls will carry equal priority and op25 will decode the first one it receives.

Whitelist is a little more involved because the presence of one or more tgids in a whitelist file causes anything not explicitly white-listed to be eliminated from consideration for decoding. The primary purpose of a whitelist is so that you can monitor a particular set of tgids and nothing else. i.e. "I want to hear all local fire department traffic but not police, public works, school buses or the correctional facilities"

I'd be happy to offer further clarifications, whether on these or other op25 features. Ask here or PM me.
 

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
8,490
Location
The OP
Considering the age of the op's hardware, I would recommend OP25.
 
Status
Not open for further replies.
Top