DSD+ Extensiblity

Status
Not open for further replies.

Chance

Member
Joined
Dec 19, 2002
Messages
109
Reaction score
23
Location
Sachse, Texas
With the arrival of P25 Phase II my attention has turned to DSD+. I was playing around yesterday and found an easy was to do whatever I want by piping the verbose output of DSD+ into a simple C# console application. This is all possible too with OP25 under Linux if you're a Python, Bash script type of person.

DSDPlus -rc -i20001 -f1 -e -v4 | MyTestApp.exe

Sample C# Code, pseudo code for others
using (var reader = new StreamReader(Console.OpenStandardInput(), Console.InputEncoding))
...while (!reader.EndOfStream)
......var line = reader.ReadLine();
......var cmd = line.Substring(32, 21).Trim();
.......case GRP_AFF_RSP do whatever
.......case GRP_V_CH_GRANT do whatever

Possibilities
1. Filter log for only important stuff, like rarely used commands such as radio monitor or stun.

2. Make my own dashboard. All trunking programs focus on Channels (LCN's). I'd rather see a display organized by department. When someone talks on Fire Dispatch, I'd like for it to light up. For smaller departments, I'd like to see an Icon for each apparatus, such as Engine 1. As soon as Engine 1 starts up, the radio affiliates, I'd like to see it's icon light up.

3. Feed whatever events you capture to a web service. There's many, many... IFTTT. Slack.. Twilio. If ENGINE1, ENGINE2, TRUCK1, AMB1, all go active near the same time between 10 pm and 6 am, tell Z-Wave to turn on Master Bedroom Light.

4. Use multiple Voice Decoders. I'd like to use 1 RTL for CC decoding. And 3 for VC decoding. Currently DSD+ can only feed one, and it's based on priority. It should be as easy as placing FMP24 & DSD+VC into separate folder instances and having the driving program write the needed file names to tune FMP24. Then at any given time I am capturing WAV files of my top 3 priorities.

5. Follow a user. While possible to lock onto a user's transmission, I want to automatically follow them to listen to whatever talk-group they are currently affiliated or last talked on. Should be possible with writing the tuning files as above.

6. Data mining. I want to capture every power on, power off, affiliation and voice grant. Derive what hours a radio is typically turned on. Alert when several radios that are not usually "on duty" suddenly are. Radio id's that transmit but never affiliate, which are typically your console or direct linked stations. Detect radio users that have a wider span of channel selections, such as a supervisor unit. Even in a fully encrypted system, there is a lot to be gathered here. For example, 15 radios known to have likely participated in a previous SWAT exercise, you can know when something is likely going on. Maybe you don't know where..again due to encryption of voice traffic. (Of course a few Raspberry PI's and some Direction Finding software, things could actually get very scary on the supposedly "secure" systems.)

The sky's the limit. If you're using DSD+ or even a scanner you're probably already technical in nature. There's probably some kind of scripting language out there for you. As the Internet of Things (IOT) technology evolves, building blocks will become simpler.

I'd love to build and distribute my own software that does all the above. But with work and family, I'll be lucky enough to craft something for my own use. My hats off to the incredible work done by the authors of Unitrunker and DSD+ and many others. It takes a lot effort to have what we have now. Perhaps some of my "cherry on top" wish list items specific to my edge case scenarios, I can do on my own instead of pestering the developers.
 
Status
Not open for further replies.
Top