SDR# TETRA Demodulator Trunk Tracking Demonstration

Ubbe

Member
Joined
Sep 8, 2006
Messages
9,665
Location
Stockholm, Sweden
There are different levels of authentication in tetra and the lowest level just checks the ISSI, the ID number of the radio. Next level will also check the TEI number of the radio and doesn't require any additional work with keys, just click the box in the admin terminal. You have to be sure that every radio are correctly programmed or users will turn up at their service representatives and say that their radios are faulty. Next higher level of security involves complicated and resource hungry key managements.

/Ubbe
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
Authenticating are built into the firmware of all tetra radioterminals but not into SDR softwares. The tetra system are never aware of a SDR listening device and it means that it will not work the same as a radio terminal. If you use a real tetra radio it will transmit what talk group you are listening to and what TG's you are scanning so that the system can send out those conversations to the radio site you are affiliated to. With a SDR you only listen to the TG's that the system sends out on that particular site you are listening to.

If you are listening to a site that are way off from a city you probably wont hear much of the conversations going on in the city, just local stuff, so it is important that you try and monitor a site that are the most busy one if you are interested in hearing what's going on. You can never be sure that you actually hear everything that a tetra radio would hear, but that is also true for most digital systems like P25.

/Ubbe


Truth! I have noticed that sometimes the conversations stop without finishing, it is silent for several minutes and when the conversation of the group returns, it is not in the beginning, but in the middle. I believe that the communication groups are alternating between frequencies
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
[QUOTE="DarkAngelT]Truth! I have noticed that sometimes the conversations stop without finishing, it is silent for several minutes and when the conversation of the group returns, it is not in the beginning, but in the middle. I believe that the communication groups are alternating between frequencies[/QUOTE]

Are the go to other slot?
I also notice, seeing conversations in the GSSi and SSi screenwindow but hear no voice audio (i be 100% sure its open network)
When you have more RTL-SDR hardware, try to run multiple versions simultaneous like a older TTT and latest TTT and seen differentness?

I run 6x versions simultaneous and monitor same network,
1x RTL-Telive Linux, 1x RTL-SDR#+WinTelive, 1x RTL-SDR#+plugin using Msys2-shell, 1x RTL-SDR#+TSSDR plugin, 1x RTL-SDR#+TTT plugin.
I have seen some different in all the versions when fallow network conversations.
 

Ubbe

Member
Joined
Sep 8, 2006
Messages
9,665
Location
Stockholm, Sweden
Truth! I have noticed that sometimes the conversations stop without finishing, it is silent for several minutes and when the conversation of the group returns, it is not in the beginning, but in the middle. I believe that the communication groups are alternating between frequencies

If you are using TTT to trunktrack then it is probably what happens. When the last radio of a TG leaves a site and roams over to another one, the system notice that there are no radios listening on that site so there's no point sending out any conversations of that TG. And if the coverage of a radio on that TG makes it return to that site, the system starts to send out that conversation again.

Tetra radioterminals are able to scan several TG's in a scanlist and when the user enables scan, that scanlist information are sent to the system and if there are free channels on the site it will send out all those scanned TGs conversations on the site. Motorola tetrasystems doesn't support this, it is a patent from another tetra supplier, so in Motorola tetra systems some important specific TG's are always sent out on the sites just to have some scan functions working in the radios. And that also helps stealth monitoring as it probably are those specific TGs that you want to monitor.

/Ubbe
 

Ubbe

Member
Joined
Sep 8, 2006
Messages
9,665
Location
Stockholm, Sweden
There seems to a problem with priorites. If I set one to prio 8 it still are left for a TG that have prio 5. It works for the lower priorites up to 5 and perhaps higher but I haven't tried those.

Is it possible to add a ISSI filter for recordings, so it would record when that ISSI are talking? It would be even better if it continued to record until the delay timer cleared down the call.

/Ubbe
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,867
There seems to a problem with priorites. If I set one to prio 8 it still are left for a TG that have prio 5. It works for the lower priorites up to 5 and perhaps higher but I haven't tried those.

I have not noticed that here. I don't really have much time at the moment to do any testing.
Are you using dual or single mode and version v1.0.7 of TTT and plug-in?

Is it possible to add a ISSI filter for recordings, so it would record when that ISSI are talking?

SSI filter for recording will probably not happen anytime soon as I don't have a need to only record one SSI. Maybe at a much later date.
The recording that TTT does is fairly basic. It would be better if the plug-in did the recording as it could just save the reconstructed audio as it is decoded. Problem is the delay or missed audio that would probably result with TTT controlling the plug-in to do it. Ideally rolling TTT into the plug-in would be better. (That probably won't happen either)

It would be even better if it continued to record until the delay timer cleared down the call.

It does. Recording is stopped after the D-Release or after the call timeout has occurred.
When D-Release is seen, no audio exist after it for that Call ID.
When timeout state exists, audio may have been switched to different LA and no long exists or MS has dropped out.
I'm not seeing any PDUs to indicate why a call just drops out. I have added some code that detects when the assigned timeslot becomes unallocated so the call is immediately ended (without a call timeout delay of X time)
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
thewraith2008 By doing tests here, I noticed that the tetra demodulator (SDRSharp.Tetra.dll) that came in the TTT_1.05.0_release folder, is working better than the one that came in the TTT_1.07.0 folder

I am using TTT_1.07.0 here with SDRSharp.Tetra.dll version TTT_1.05.0

However the inconvenience is that when to a change in the of the TTT does not detect and exchange automatically as in the most current version.
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
Tetra radioterminals are able to scan several TG's in a scanlist and when the user enables scan, that scanlist information are sent to the system and if there are free channels on the site it will send out all those scanned TGs conversations on the site. Motorola tetrasystems doesn't support this, it is a patent from another tetra supplier, so in Motorola tetra systems some important specific TG's are always sent out on the sites just to have some scan functions working in the radios.
/Ubbe

Like UBBE discribed, i my local area there are 3x different Tetra network providers and all 3x using 3x different tetra systems configurations like Motorola very early older system and Hytera early system-1 tetra technology and some Other branche (forgot the name). Iam not 100% sure but TSSDR write his Tetra SDR# Plugin as base for his local Hytera tetra network. TTT seem to responding different when using on those older Motorola or Hytera network. From February 2019 there be a second local tetra Tetra system in the air who is based on the latest new Hytera system-2 tetra technology.
I basic TTT voice decode all those older and newer systems is 100% but the GSSi and grouping seem little different.
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
thewraith2008 By doing tests here, I noticed that the tetra demodulator (SDRSharp.Tetra.dll) that came in the TTT_1.05.0_release folder, is working better than the one that came in the TTT_1.07.0 folder
I am using TTT_1.07.0 here with SDRSharp.Tetra.dll version TTT_1.05.0
However the inconvenience is that when to a change in the of the TTT does not detect and exchange automatically as in the most current version.

Do you using the .dll in the separate folder or the .dll in the main root Zip ?
Notice the same overhere, and i rolling back to one of older early TTT versions.
 
Last edited:

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
Do you using the .dll in the separate folder or the .dll in the main root Zip ?
Notice the same overhere, and i rolling back to one of older early TTT versions.

Yes the changes were made to the Sharp SDR root folder.

I saved on my computer the versions TTT_1.05.0_release and TTT_1.07.0 downloaded in this forum in a folder of downloaded files.

For use in SDR I have a folder called SDR 1 and another folder called SDR 2. All the two folders with Sharp SDR, Tetra Demodulator and TTT configured.

I still have a third test folder.

The folders 1 and 2 I used to listen to dual-mode. But recently I had a problem with one of my sdr and I'm currently using only one SDR and I'm using the test folder with the configuration I mentioned earlier that looks like this:

Sharp SDR v1.0.0.1700, TTT 1.0.7 and SDRSharp.Tetra.dll (dll which comes in the TTT_1.05.0 folder)

I am also testing the smaller libtetradec dll and it is working fine (I did not notice any difference in performance compared to the dll that comes within the altDLL folder)

So I preferred to use the smaller DLL

For me, it worked better with the settings I described above!
 

tsapers

Member
Joined
Aug 25, 2011
Messages
68
Running Zello on top of TTT and working nicely. Has anyone found a way yet to share the REMOTE window to an android phone yet? So basically just displaying the remote window remotely.
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,867
I feel I should add:

Please only use the release of TETRA Trunk Tracker with the supplied TETRA Demodulator (plug-in)
Mixing different versions of TTT and plug-in WILL cause issues/crashes and affect some of the features.
I will NOT offer support to those who do.
The next version is using a changed "TTT", "SDRSharp.Tetra.dll" and "libtetradec.dll" and this be will more of and issue if you mix and match these files.
 
Last edited:

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,867
Just some other info to be mindful of when using TTT with the plug-in.

The plug-in was not originally designed with trunk tracking in mind.
When using TTT with the plug-in, some of the information/features of the plug-in may not work as expected.

  • The TETRA Demodulator SDR# side panel will not always show correct GSSI/SSI values. Especially on VC.​
  • Using GSSI blocking is not recommended. (e.g. Blocking threshold)
  • Using the plug-in logging is not recommended.
  • “Auto” checkbox is meant to be unchecked. TTT should switch this off automatically at start/reset.
  • Using the option in settings: “Call list – Alternative generation” is recommended to better show current calls in list. This will work better with dual mode.
It should be noted that in the call list, individual calls 'mode of operation' or 'Mode Op' (Simplex/Duplex) may not always be correctly identified for Duplex calls.

This is because multiple PDUs are required to correctly determine this and all the required PDUs may not be sent on one LA.
 
Last edited:

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
Like DARAngelT mention,
i dont mix TTT files but run multiple versions inside separate folders on the same time.
Using a total of 6x hardware RTL-SDR V3 and 4x Antennas at 12 meter height. Receiving about 75 different channels frequencies in circle of 200 - 240 km wide range.
 

Ubbe

Member
Joined
Sep 8, 2006
Messages
9,665
Location
Stockholm, Sweden
Thanks for this wonderful TTT software. It has made monitoring so much easier.

I use single mode with the files included first in 1.0.5 and then in 1.0.7 and priority glitch might have been a one time thing and I can stick to using lower 6 anyway. I'm testing the prio swithing again to see if it can be repeated but the same scenario have not yet appeard so it can be tested. I have the log and record functions permanently on now so it will be easily found if it is a more permanent glitch.

If you ever look into the code for presentation of individual simplex call, the (xxxx to yyyy) text are the wrong way around or change the "to" to a "from".

For some reason using Windows7 Home Premium I get the windows default attention sound if I remove any of the wav files to disable a sound. I had to do a silent wav recording and rename that file to the filename for the function I wanted to silence. I have standard windows sounds selected.

Is it easy to change the filter to accept a broader range of characters in the edit function to include country specific ones? I now edit the text files manually to insert my country characters of åäö and they are at least displayed as they should.

/Ubbe
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
Detalhes
I feel I should add:

Please only use the release of TETRA Trunk Tracker with the supplied TETRA Demodulator (plug-in)
Mixing different versions of TTT and plug-in WILL cause issues/crashes and affect some of the features.
I will NOT offer support to those who do.
The next version is using a changed "TTT", "SDRSharp.Tetra.dll" and "libtetradec.dll" and this be will more of and issue if you mix and match these files.

I am using it in a separate folder. I used a dll from an earlier version that you provided yourself and it worked better.
I just wanted to inform you of this discovery and that you could also make the comparisons.

I do not know if you still have the IF sample I sent you, but if you have it, you will see that the dll of the previous version is better and as I mentioned earlier, it works better for me in my area!

As I said above ... I created a test folder and a few days later I discovered this.
Congratulations again on the program!
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,867
If you ever look into the code for presentation of individual simplex call, the (xxxx to yyyy) text are the wrong way around or change the "to" to a "from".

For me, it seems to be right. (from my event log)
Code:
5/01/2019 3:10:42 PM - Call ID: 15599 - On carrier: 2500 TS:2 - Individual call - Simplex (123456 to 654321)
5/01/2019 3:10:42 PM - Call ID: 15599 - Calling SSI: 123456 [USER 1]
5/01/2019 3:10:43 PM - Call ID: 15599 - VC D-TX-Ceased SSI: 123456 [USER 1]
5/01/2019 3:10:44 PM - Call ID: 15599 - VC D-TX-Granted SSI: 654321 [USER 2]
5/01/2019 3:10:51 PM - Call ID: 15599 - VC D-TX-Ceased SSI: 654321 [USER 2]

Here 123456 has called 654321 so (123456 to 654321) or (123456 > 654321) seems correct to me.

As mentioned in the previous post, some Individual - Duplex calls are not always correctly identified as duplex. The (xxxx to yyyy) for duplex calls (correctly IDed or not) may not be in right order.
I rarely get duplex calls and when I do, there is only party on carrier. I have not been able to capture a IQ sample to test with.

I really need someone (to create a IQ sample) who sees a duplex call with both parties on same carrier and preferably when it occurs on the main carrier so all lead-in, call duration and call completion PDUs are present so suitable testing can occur. Also with the CC/VC logs.

For some reason using Windows7 Home Premium I get the windows default attention sound if I remove any of the wav files to disable a sound. I had to do a silent wav recording and rename that file to the filename for the function I wanted to silence. I have standard windows sounds selected.

If a WAV file is removed after program start (and without restarting), then a default windows sound will occur.
You need to restart TTT when you do this. I will change this sometime so a restart is not required.

Is it easy to change the filter to accept a broader range of characters in the edit function to include country specific ones? I now edit the text files manually to insert my country characters of åäö and they are at least displayed as they should.

I have now fixed (hopefully) for next release. The label fields where only accepting ASCII characters up to 0x7F.
I could only test your special characters here by entering 'ALT' + 0228 for "ä" , 'ALT' + 0229 for "å", 'ALT' + 0246 for "ö" and they now seem to work.
 

Ubbe

Member
Joined
Sep 8, 2006
Messages
9,665
Location
Stockholm, Sweden
For me, it seems to be right. (from my event log)

5/01/2019 3:10:42 PM - Call ID: 15599 - On carrier: 2500 TS:2 - Individual call - Simplex (123456 to 654321)
5/01/2019 3:10:42 PM - Call ID: 15599 - Calling SSI: 123456 [USER 1]
It's when a fixed console makes an individual simplex call that the information are incorrect and the next line "calling SSI" also states the wrong party. I will record an IQ sample for you if needed, but in this system there's always consoles that starts the individual calls as the readioterminals are not configured to make individual calls to consoles, so it doesn't really matter to me personally.

If a WAV file is removed after program start (and without restarting), then a default windows sound will occur.
You need to restart TTT when you do this. I will change this sometime so a restart is not required.
I though I restarted TTT twice but I guess not. It works now after a restart, thanks for the info.

I have now fixed (hopefully) for next release. The label fields where only accepting ASCII characters up to 0x7F.
I could only test your special characters here by entering 'ALT' + 0228 for "ä" , 'ALT' + 0229 for "å", 'ALT' + 0246 for "ö" and they now seem to work.
Fantastic!

/Ubbe
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,867
It's when a fixed console makes an individual simplex call that the information are incorrect and the next line "calling SSI" also states the wrong party. I will record an IQ sample for you if needed, but in this system there's always consoles that starts the individual calls as the readioterminals are not configured to make individual calls to consoles, so it doesn't really matter to me personally.

I though I restarted TTT twice but I guess not. It works now after a restart, thanks for the info.

Fantastic!

/Ubbe

An IQ sample would be helpful.
The way TTT handles Individual calls is fairly basic and not a complete solution. I need to do more to make this work a little better.

Groups can be set-up with only the "D-Setup" PDU.
Individual calls require a few PDUs that address the 2x MS that will be in a call. Sometimes 1 MS is not on the current LA so you don't see those PDUs. In those cases it would be better just to ignore that call. (As you only hear one side)

In Individual calls (Simplex/Duplex), the PDUs that seem to be required are "D-Alert", "D-Call-Proceeding", "D_Connect", "D_Connect_acknowlegde", "D-Setup" (sort of).
On Individual calls, TTT triggers on D_Connect_acknowlegde PDU, problem is that these PDUs are not alway sent in same order and TTT reacts to early. I need a small delay to see if the other PDUs arrive before making a decision on setting up a call. (e.g. are all PDUs seen)

The time I'm able to spend on TTT at the moment is limited. I was hoping to have released an update by now.
TTT is probably OK as it stands now but the changes I have made to the plug-in/codec have stalled me a little. Lots of reading of the standard. o_O:unsure:

That said, I manage to get a little time between things and I sorted the TTT call state/priority sounds detection:
Code:
CHANGED: The TTT call state/priority sounds presence is now scanned for about every second. No TTT restart is required when adding and removing the WAVs
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
An IQ sample would be helpful.
The way TTT handles Individual calls is fairly basic and not a complete solution. I need to do more to make this work a little better.

Groups can be set-up with only the "D-Setup" PDU.
Individual calls require a few PDUs that address the 2x MS that will be in a call. Sometimes 1 MS is not on the current LA so you don't see those PDUs. In those cases it would be better just to ignore that call. (As you only hear one side)

In Individual calls (Simplex/Duplex), the PDUs that seem to be required are "D-Alert", "D-Call-Proceeding", "D_Connect", "D_Connect_acknowlegde", "D-Setup" (sort of).
On Individual calls, TTT triggers on D_Connect_acknowlegde PDU, problem is that these PDUs are not alway sent in same order and TTT reacts to early. I need a small delay to see if the other PDUs arrive before making a decision on setting up a call. (e.g. are all PDUs seen)

The time I'm able to spend on TTT at the moment is limited. I was hoping to have released an update by now.
TTT is probably OK as it stands now but the changes I have made to the plug-in/codec have stalled me a little. Lots of reading of the standard. o_O:unsure:

That said, I manage to get a little time between things and I sorted the TTT call state/priority sounds detection:
Code:
CHANGED: The TTT call state/priority sounds presence is now scanned for about every second. No TTT restart is required when adding and removing the WAVs


I love every release of you! This update then !!! A show! I customized with MY favorite sounds and it got really good !!!

I'm looking forward to the next release! I look at this forum several times a day! Each announcement of a future release is a great anxiety to download and put into operation! In the cheer for you to make available as soon as possible! Good work and good luck my friend! :)
 
Top