TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Show off any of your RTL-SDR or cheap SDR related projects.
thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Fri Jul 13, 2018 2:21 am

Image

TETRA Trunk Tracker will follow calls on a TETRA network.
TETRA Trunk Tracker reads DATA that is output from the SDR# plug-in TETRA Demodulator (by TSSDR) via the 'Network Info' calls log window.
It interprets this DATA to determine when a call is set-up, then instructs SDR# (VC) to move to the carrier (frequency) that the call will be on.
It will also watch out for other PDUs to determine when a SSI starts or completes transmissions and when calls are complete (Released).

Features:
  • A basic call recording (All or Selective call recording).
  • Display current call details with list of seen SSIs for that call. (SSI populate as they TX).
  • GSSI holding - will only allow calls with selected GSSI to be heard.
  • Call lockout based on GSSI. Can be unchecked in list to lockout GSSI.
  • Call Priority. (Only normal version)
  • GSSI weighted 0-9, 9 is highest. If on active call and other call event occurs, if new call has higher
  • priority then will switch to it.
  • Collect/Save all seen GSSIs with Labels and Priority, By Network.
  • Collect/Save seen SSIs with Labels and Last seen Date/Time, By Network.
  • Set a call time-out. Returns to idle state if call does not see a release PDU
    after X time in seconds.
  • Log call events to screen and file, if enabled.
  • Log raw CC and VC PDU messages as seen by the 'TETRA Demodulator' plug-in, if enabled.
  • Log GSSI daily call activity. (Simple version does not play calls when this is selected)
  • Set base frequency via UI.
  • Set CC park carrier # via UI.
  • Set VC park carrier # via UI.
  • Suppress some PDUs. (unchecked is mainly for testing only)
  • Suppress lockout messages.
  • Sort SSI and GSSIs/Lockouts (by GSSI). This only occurs on start-up.
  • Country Code label, defined via file (shown as menu item)
  • Network label, defined via file (shown in tool tip where MNC,LA is in 'Call Details' panel)
  • Location Area label, defined via file (shown in tool tip where MNC,LA is in 'Call Details' panel)
    Only shown when Network label used.
  • Ignores Encrypted PDUs (with no reference to them)
  • Set a seen GSSI priority via UI.
  • Update a seen GSSI/SSI label via UI.
  • Call active indicator.
  • Restore SDR# windows to a defined position.

If the TETRA Demodulator does not work for you this program will do nothing to change that.


This is the third release of this program. (TETRA Trunk Tracker v0.99.6)
And 2nd release for (TETRA Trunk Tracker v0.99.6s - Simple)

Two versions are available:
  • Normal (Uses 2 SDR# and 2 Dongles) with TETRA Demodulator and Net Remote plug-ins
  • Simple (Uses 1 SDR# and 1 Dongles with some features not available) with TETRA Demodulator and Net Remote plug-ins
Backup your "Tetra-trunk-tracker.dat" settings file.
Then delete "Tetra-trunk-tracker.dat" as it has changed and old one will cause error on load.

Some work as gone into trying to make TETRA Trunk Tracker easier to run once the initial setup has been done.

A MCC (Country Code) label file is included for your convenience "TETRA_mcc.txt".

It has only been tested on Windows 7 - Professional SP1 (32 bit), English

You MUST have a PC that is capable of running SDR# x 2 with the TETRA plug-in. (Not overloaded CPU usage.)

It is in alpha stage. This means is may contain errors that may cause issues with the other programs it
works with. i.e. crashing them or itself.

The TETRA plug-in currently been developed by TSSDR is also in early development. Because of this
any changes made in plug-in releases most likely will break this program.

I have created it to suit my needs. And it currently works for me with the TETRA network I monitor.

I make no claim that it will work for other networks.

Please read the provided files for set-up and usage:
  • TTT_set-up_manual.pdf
  • TTT_Features_and_Usage.pdf
I have tried to be as thorough as possible with the documentation to explain usage and features.
I believe any questions can be answered by reading these files.
These files most likely are not complete and contain errors and are not laid out as good as they could be.

It only works with the provided TETRA plug-in supplied in zip. (2018-June-06).
This version uses a custom compiled version of 'Net Remote' supplied in zip

It is only meant to be a temporary solution until something better comes along.

Hopefully all goes well for you setting it up.

Download link

MD5 HASH 6f33fcf9662573b77e177e899793b9f9


Video showing starting it and it running
Video showing starting it and it running - Simple version

thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Tue Jul 17, 2018 4:20 am

Notice:
I've just seen on my set-up that the 64bit version of the Net Remote plug-in does not work.

If you have this problem just use the 32 bit version.

gmanbelfast
Posts: 1
Joined: Thu Jul 19, 2018 8:52 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by gmanbelfast » Thu Jul 19, 2018 8:54 am

.
Last edited by gmanbelfast on Fri Jul 20, 2018 10:00 am, edited 1 time in total.

Remon
Posts: 40
Joined: Fri Jun 22, 2018 2:49 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by Remon » Thu Jul 19, 2018 4:15 pm

Thank you for making this software. Since 2 weeks the Tetra network I'm monitoring having mixed encrypted and unencrypted users. Despite I choose for "only listen to clear speech" I do still hear encrypted calls due some bugs in the Tetra Demodulator plugin.

With your trunk tracker those encrypted calls are suppressed. There is only one small bug which could be fixed easily if I had the source code: I still hear encrypted calls on a very low volume with the mute to 25 dB. I wish this value could be set lower.

thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Fri Jul 20, 2018 12:35 am

With your trunk tracker those encrypted calls are suppressed. There is only one small bug which could be fixed easily if I had the source code: I still hear encrypted calls on a very low volume with the mute to 25 dB. I wish this value could be set lower
25dB is the lowest value for SDR# and when it is set the speaker icon in SDR# should have a line through it.

You say "encrypted calls are suppressed." and "I still hear encrypted calls on a very low volume"
I don't understand why you would still be hearing something.

I assume you are only using "Simple" version.

Does the SDR# volume slider return to lowest setting and speaker icon return to line through it when there is no call?
If no, TETRA Trunk Tracker may not be controlling SDR#.
You may be hearing sound via a line out device? Are you using DSD Interface plug-in with "Enable aux audio output" enabled?

Remon
Posts: 40
Joined: Fri Jun 22, 2018 2:49 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by Remon » Fri Jul 20, 2018 10:20 am

First some background information about the Tetra Demodulator plugin and the bugs it got (maybe it helps understanding the problem). I already tried to contact TSSDR on the Russian forum but he hasn't been active for while. I cut this reply in 3 chapters to make it more readable.

There are 3 types of users on the (nationwide) network I'm monitoring:

1. Not encrypted.
2. Encrypted: you see the calls build up in the "network info" upper pane.
3. Encrypted: no calls visible in the upper pane of network info but encrypted voice is heard and there's data visible in the lower pane of the window.

Both encrypted scenario's also give strange carriers while all calls are handled on 2 frequencies.

Code: Select all

PDU encrypted:2 Data incorrect! Carrier:1031 TimeSlot:134 SSI:396165 D_Call_Proceeding
PDU encrypted:2 Data incorrect! Carrier:303 TimeSlot:0 SSI:396165 Reserved17
PDU encrypted:2 Data incorrect! Carrier:2138 TimeSlot:1 SSI:396165 Call ID:14815 D_Connect Transmission Not_granted
PDU encrypted:2 Data incorrect! Carrier:3656 TimeSlot:4 SSI:396165 D_Status
PDU encrypted:2 Data incorrect! Carrier:3487 TimeSlot:4 SSI:396165 Reserved21
PDU encrypted:2 Data incorrect! Carrier:3264 TimeSlot:23 SSI:396165 D_Call_Proceeding
PDU encrypted:2 Data incorrect! Carrier:2411 TimeSlot:123 SSI:396165 Call ID:3083 D_Release
PDU encrypted:2 Data incorrect! Carrier:3875 TimeSlot:1 SSI:396165 D_Call_Proceeding
PDU encrypted:2 Data incorrect! Carrier:3397 TimeSlot:24 SSI:396165 D_Facility
If I choose for "only listen to clear speech" and/or set "blocking threshold" for not encrypted GSSI's only it blocks all encrypted calls for scenario 2 described above.

If I let through all calls (listen to clear speech and blocking thresshold off) calls from scenario 1 and 2 are heard with the GSSI shown at one of the time slots in the plugin (the plugin itself not the network info window). For scenario 3 no GSSI data is shown in the plugin, the number 0 doesn't change but encrypted voice is heard and the time slot becomes red during the call.

If I set back the plugin the to "only listen to clear speech" and/or set "blocking threshold" and there was a clear not encrypted call, it remembers the GSSI at one of the time slots in the plugin after the call has ended. However if there is an encrypted call described in scenario 3 at that same time slot the encrypted voice comes through because no GSSI was availabe for the plugin!

======================

In my region 2 frequencies are used. They are about 200 kHz apart from each other. One frequency is a combined CC/VC and the other one is a VC. Sometimes conversations switch from the one to the other channel and for that reason I'm running 2 instances of SDR#. My RTL-SDR is plugged into a RaspberryPi that acts as a rtl_tcp server. SDR# is connecting to it via tcp with a multiplexer/muxer inbetween. It's splitting up the IQ stream to 2 ports: 1 port with full control over the RTL-TCP and on the other port I can connect the 2nd instance of SDR# with no control but I can tune into the 2 MHz bandwidth as set in SDR# instance 1. This way I can use Tetra Demodulator twice to listen both channels with 1 dongle.

As described in chapter one I have problems with encrypted voice calls coming through. Then I read about the Tetra Trunk Tracker and gave it a try. It's succesfully suppressing the encrypted voice calls (but i still hear them at very low volume) and it seems it also clears the GSSI's at the time slots in the Tetra Demodulator plugin when a call has ended. Another benefit is that I don't need the second instance of #SDR any longer because the simple version of TTT is able to switch to the other frequency (they're about 200 kHz apart so it's within the range).

======================

Answers to your questions:

The Tetra Demodulator plugin doesn't control the volume slider. If no call is heard it's muting SDR# with the speaker icon button. As soon a call is heard it unmutes to the volume that is set by the user.

TTT mutes SDR# with the volume slider. 25 dB (slider all to the left) when nothing is received and when a call is heard it's moving to the value that is set in the TTT software.

TTT is controlling SDR# for sure, but Tetra Demodulator overrides the TTT volume control: If an encrypted call described in chapter one is coming through because the GSSI bug in Tetra Demodulator while I have TTT running the slider stays to the left but the Tetra Demodulator plugin unmutes the speaker icon. This results in hearing the encrypted voice on a very low volume.

Yes I'm using the "Simple" version of TTT.

I'm hearing the voice over all devices i have tested: built in laptop speakers, plugged in headphones and a external Bluetooth speaker. DSD is not running when the problem occurs and if I use DSD I'm not using a virtual audio cable but a TCP connection instead with the "DSD+ tcp" plugin.

Edit:

I'm not even sure if this is something you can solve with a feature update by maybe using another method to disable the volume or if it's a bug in SDR# or Net Remote because if you slide the volume all to the left it mutes the speaker icon, but if you press the speaker icon again to unmute the slider moves a little to the right to 30 dB. I tested this with no plugins running. Apparently when the slider is controlled by a plugin (TTT and Net Remote in this case) and it got unmuted by another plugin (Tetra Demodulator) it maybe sets the volume to 30 dB as well but for unknown reasons the slider stays visibly to the left? (this is just an assumption because I can't test it)

thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Fri Jul 20, 2018 1:04 pm

OK I hear what your saying, but to replicate I had to turn up an external amplifier to maximum (16.5db).

I would think there is something a miss with your audio chain for you to be hearing this.
I would submit a report to the SDR# team that at the lowest volume and with speaker icon with no line though it, leaks audio though. (albeit a low amount)

I don't think the normal version of TETRA Trunk Tracker would do this because a 'TimeSlot' is never selected in the CC SDR# and VC SDR# should be on an un-used frequency when not on a call, therefore not able to receive anything.

I did a test where Timeslots 1-4 where deselected after each call, but this caused selection problems when a call arrived. And would only work when no other calls where on the other timeslots.

Remon
Posts: 40
Joined: Fri Jun 22, 2018 2:49 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by Remon » Fri Jul 20, 2018 2:17 pm

I think the Tetra network behaviour is different in Australia. In the Netherlands there is no control only channel. It's all more or less CC/VC combined.

Could you do one more test for me please? Because I hear the encrypted voice with my volume at only 15%. Just to make sure I don't have audio leaks and before I submit a report to the SDR# developers.

I made an IQ file: https://we.tl/aunDLCWcaY

SDR# crashed while recording (it keeps doing it) but I was able to play back the file. I had to select the appropiate check boxes manually (Net Remote, Tetra Demodulator and Auto) prior to starting TTT. The blinking "Received" only appears in the IQ file and not when I'm listening live.

It's the signal at 423.20625 MHz. Base Band 400 MHz, CC Park 928 and the offset is +6.25 KHz.

Edit:

Is it maybe related to this line in SDRSharp.exe.Config?

Code: Select all

<add key="audioGain" value="25" />
If I set this value lower than 25 SDR# doesn't even start. The ideal situation would be if the user is allowed to set it as low as 0 and TTT reading this user set value.

Edit 2:

Apparently the volume slider range is 25 to 60 dB. I wish they could make it 0 to 60 dB.

Edit 3:

Is it technically possible to let Tetra Demodulator stop controlling the volume and let TTT handle all of this? Just muting (not using the slider) like Tetra Demodulator does? Else Net Remote also need to be changed for this since it can either only be set between 25 and 60 dB.

thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Fri Jul 20, 2018 3:35 pm

OK, I looked at your sample.

I do hear the encrypted audio (with amp cranked right up)
Most likely it's the plug-in at fault here and not SDR#.

I would check your TETRA Demodulator plug-in version.
When I select (box checked) 'Config' > 'Settings' > 'Ignore encrypted data' and 'Listen only clear speech'
I do not hear the encrypted audio and PDUs stop appearing in 'Network Info' log window.

I'm using the plug-in version that comes with TETRA Truck Tracker.
If you are using a different version TETRA Truck Tracker should not every be working with it.

Only difference in network here is that there are 8 to 10 frequencies per network (MNC)
One is main (CC) which can have VC traffic on it and VC (other carriers) .

thewraith2008
Posts: 22
Joined: Sat Mar 24, 2018 1:38 am

Re: TETRA Trunk Tracker for use with SDR# and TETRA Demodulator plug-in

Post by thewraith2008 » Fri Jul 20, 2018 3:46 pm

My amp audio range is (lowest) -80 to 16.5 (Loudest)

No volume is usually around -45.

Not sure what 25-60db is in SDR# (That would blow my ears out if it where my amp settings)
Don't worry about SDR#. It doesn't seem to do it with other signals. Only when the plug-in is enabled.
Is it technically possible to let Tetra Demodulator stop controlling the volume and let TTT handle all of this? Just muting (not using the slider) like Tetra Demodulator does? Else Net Remote also need to be changed for this since it can either only be set between 25 and 60 dB.
Not on my end. It would require TSSDR to fix it.

If I could deselect the timeslots programmatically it would fix it.

Post Reply