TTT Set-up Manual
TTT Set-up Manual
1. Description
2. Features
3. SDR# set-up
4. Virtual Cable set-up
5. TETRA Trunk Tracker set-up
6. Set-up Prerequisites
7. TETRA Trunk Tracker – Initial (Dual mode)
8. TETRA Trunk Tracker – Running (Dual mode)
9. TETRA Trunk Tracker – Initial (Single mode)
10. TETRA Trunk Tracker – Running (Single mode)
11. Configuring for Recording calls
12. Recording Audio set-up (Method #1)
13. Recording Audio set-up (Method #2)
14. Problems/issues/bugs/limitations
15. Thanks
Description:
TETRA Trunk Tracker (TTT) reads PDU DATA that is output from the SDR# plug-in TETRA Demodulator
(by TSSDR and modified by thewraith2008) via UDP broadcast. The same data can be seen in 'Network Info'
calls log window.
TTT interprets this PDU DATA to determine when a call is set-up, then instructs SDR# (VC) to move to the
carrier (frequency) and timeslot that the call will be on. It will also watch out for other PDUs to determine
when a ISSI starts or completes transmissions and when calls are complete (Released).
If the TETRA Demodulator (plug-in) does not work by itself for you, this program (TTT) will do nothing to
change that.
Dual
• This requires 2 x SDR# and 2 x dongles with TETRA Demodulator plug-ins.
Some features will work better in this mode (Priorities, SDS, Full Duplex private calls).
NOTE: In dual mode, both running copies of SDR# must be started from the same folder.
This is required so the role (CC or VC) of SDR# can be determined.
Single
• This requires only 1 x SDR# and 1 x dongle with TETRA Demodulator plug-ins.
(This mode has feature limits – No full duplex private calls, limited priorities)
NOTE: No TSSDR version released plug-in will NOT work with TETRA Trunk Tracker.
Mixing different versions of TTT and plug-in WILL cause issues/crashes and affect some of the features.
Don't do it. I will NOT offer support to those who do.
If you notice a issue with TTT or the plug-in, report it. Let's move forward, not backwards.
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.
Using the GSSI blocking (in the plug-in) is not recommended at all. (e.g. Blocking threshold)
Using the TETRA Demodulator plug-in built in logging is not recommended while using TTT (at least in dual
mode).
If the logging is enabled in both CC and VC SDR# TETRA plug-ins, then there is a possibility they could both
try and write to the .csv file at the same time, which of course it can't do and a 'Unable to open file...' error
will be seen.
This will cause TTT to become unresponsive while the 'Unable to open file...' dialog is visible.
“Auto” checkbox is meant to be unchecked. TTT should switch this off automatically at start/reset.
This will be unchecked when TTT mode is enabled in plug-in.
Use the option in settings: “Call list – Alternative generation”. This is recommended to better show current
calls in list (Network Info > Calls tab). This will work better with single and dual mode in different ways.
This will be checked when TTT mode is enabled in plug-in.
It should be noted that in the call list, private 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.
Multiple instances of TTT and TETRA Demodulator plug-in may be possible under the following conditions:
• Each CC/VC SDR# session is run from it's own folder.
• For each SDR# session, there also must be a TTT run from it's own folder.
• The base port number is changed in both TTT and plug-in. (Value must be ±4 from other sessions
port number)
Don't run more than one TTT from same folder. This would be bad (for your record files)
Session #2
• SDR# folder 2
◦ Run SDR# (and a 2nd one if TTT dual mode)
• TTT folder 2
◦ Run TTT
This as not been tested and I don't offer support for this.
More than one session will cause problems if you wish to record calls.
Features:
Also see “TTT_Features_and_Usage.pdf” for more details on these features and their use.
NOTE: In dual mode, both running copies of SDR# must be started from the same folder.
This is required so the role (CC or VC) of SDR# can be determined.
SDR# (v1.0.0.1637+)
TETRA Demodulator plug-in (release 2020-February-27) - MUST be this mod (Supplied)
Virtual Audio Cable - optional for call recording (method #2).
TETRA Trunk Tracker with run-times. (This program).
1 or 2 SDR Dongles. If 2 then stable and same PPM value dongles is ideal.
If not same PPM then manual setting of PPM maybe required at each run time.
Make sure your using the TETRA Demodulator plug-in that came with TETRA Trunk Tracker.
Don't mix versions
Install Virtual Audio Cable: optional for call recording (method #2)
It's recommended that TTT and plug-in is set-up and running OK before the set-up of recording.
Install Virtual Audio Cable or similar.
See the below section or "TTT_Features_and_Usage.pdf" for more details on configuring for recording.
Installing TETRA Trunk Tracker (TTT):
Unzip to free location. (Program must be able to write at location)
NOTE: There is a maximum WIN32 path length limitation of 260 for the creation of files.
The maximum path length for the WAV files is further restricted to a path length of 117.
e.g. "C:\sdr\.......\TTT\Daily\Record\"
This path (including all characters) between quotes must not be longer than 117 characters.
for 32 bit:
• regsvr32 c:\Windows\System32\mswinsck.ocx
for 64 bit:
• regsvr32 c:\Windows\SysWOW64\mswinsck.ocx
TTT and the plug-in requires access to TCP 127.0.0.1 port 3383, 3384 and 3385* to communicate
• Allow either through Windows firewall or other installed firewall.
* NOTE: 3383 (base port number) is the default port and can be changed. This change must be done in both
TTT (via command line) and the plug-in. The base port number and the following two port numbers MUST be
free.
This mode is a bit easier to get running once the initial set-up is complete.
NOTE: The initial run may not start everything. Restarting programs should start everything as expected.
Start SDR#
In plug-in > 'Config'. Enable 'TTT mode enable'. NOTE: Role is automatically determined.
Set other options to your preference. (Some options are preset when 'TTT mode enable' is enabled)
Close SDR#
Close TTT.
TETRA Trunk Tracker – Running (Dual mode)(after initial set-up has been done)
NOTE: In dual mode, both running copies of SDR# must be started from the same folder.
This is required so the role (CC or VC) of SDR# can be determined.
After starting SDR# and TETRA Trunk Tracker the following should occur:
• Connection to Broadcast, CC, VC SDR# should occur and three green indicators now seen.
• "SDR#" main and "Network Info" window names should now show CC or VC in front of them.
• CC, VC SDR# will be set to frequency as set in 'CC Park'.
• CC, VC SDR# will be set to WFM and bandwidth of 25000.
• CC, VC SDR# will be set to volume of 25db (mute).
NOTE: VC SDR# will change to value in 'VC Volume' when call is active.
• CC, VC SDR# will start playback.
• The 'TETRA Demodulator' window 'Network Info' should open for CC and VC SDR# then minimise.
(These need to be open).
• If enabled, CC, VC SDR# will position windows as per saved settings.
• Should see in status log window "GSSI loaded for this MNC network: 0"
• Should see in event window "No MCC/MNC/LA seen"
• TTT will determine 'Base Frequency', 'Offset' and 'CC Park' (or main carrier).
• If the selected TETRA frequency is not the network main carrier, TTT will switch to it.
Should now see the network MNC: and LA in "Call Details" panel and calls now start to be processed.
CC and VC "Network Info" Windows MUST be left open. (Minimised is OK, but not closed.)
TETRA Trunk Tracker – Initial (Single mode)
This mode is a bit easier to get running once the initial set-up is complete.
NOTE: The initial run may not start everything. Restarting programs should start everything as expected.
Start SDR#
In plug-in > 'Config'. Enable 'TTT mode enable'. NOTE: Role should always be CC.
Set other options to your preference. (Some options are preset when 'TTT mode enable' is enabled)
Close SDR#
Close TTT.
TETRA Trunk Tracker – Running (Single mode)(after initial set-up has been done)
• Start SDR#
• Start TETRA Trunk Tracker
After starting TETRA Trunk Tracker and SDR# the following should occur:
• Connection to Broadcast, CC, VC SDR# should occur and two green indicators now seen.
• SDR# will be set to frequency as set in 'CC Park'.
• SDR# will be set to WFM and bandwidth of 25000.
• SDR# will be set to volume of 25db (mute).
SDR# will change to value in 'VC Volume' when call is active.
• SDR# will start playback.
• The 'TETRA Demodulator' window 'Network Info' should open. (These need to be open).
• If enabled, SDR# will position windows as per saved settings.
• Should see in status log window "GSSI loaded for this MNC network: 0"
• Should see in event window "No MCC/MNC/LA seen"
• TTT will determine 'Base Frequency', 'Offset' and 'CC Park' (or main carrier).
• If the selected TETRA frequency is not the network main carrier, TTT will switch to it.
Should now see the network MNC: and LA in "Call Details" panel and calls now start to be processed.
The "Network Info" Window MUST be left open. (Minimised is OK, but not closed.)
Note for dual mode: Do not shut-down the VC SDR# to quick after shutting down CC SDR#.
If you do, the following error dialog will occur:
From image above, #5 “Listen to this device” must be used to hear the calls when using a Virtual Audio
Cable (e.g. Line 2).
Disable it if you wish to do something else with PC. i.e. Playback calls. Calls will still be recorded when
“Listen to this device” is disabled.
BUG:
TETRA Demodulator locks up when changing “Listen to this device” from disabled to enabled. A workaround
would be to disable “Demodulator” for both CC, VC then switch state of “Listen to this device”. Then enable
“Demodulator” for CC, VC again.
Problems/issues/bugs/limitations
Not all problems and issues are going to be listed here.
See Support forum to see if your issue has already been discussed and answered.
Support forum here: (goto to last page or my last post to find link to latest TTT release)
https://forums.radioreference.com/threads/tetra-demodulator-trunk-tracking-demonstration.370639/
NOTE: Support is not guaranteed. Especially if the answers are contained in the documentation or on forum.
A quirk with calls can occur because a call does not send the "D_Release" PDU at the end. The last PDU
sent maybe the "D_TX_Granted" or "D_TX_Ceased" which causes TTT to reset the call watchdog timer
which eventually times out after X amount of time. It's at this point, while waiting for this timer to time-out that
the next call is set-up. The result is that this next call is missed.
I am not sure why some calls do not send the D_Release PDU.
I am not sure if it is a fault in the plug-in or it's just a quirk in the TETRA infrastructure or radios.
TTT is not at fault here and does not contain a bug. It is working as expect in this regard.
NOTE: As of TTT v1.0.8 I have added some code (also in plug-in) to deal with the missing "D_Release"
PDUs. It detects when a timeslot becomes unallocated and (the plug-in) outputs a message to TTT which will
end the call immediately with out delay.
Because of the auto updating of the current MCCH or “CC Park”. Manually setting “CC Park” field can be
troublesome when all is running. When typing in the field, the auto code will update this field and overwrite
what you are typing (about every 3 seconds).
As of v1.0.14, it is recommended to change the “CC Park” by using the CC(LA) switching feature.
Limitations:
As this program relies on other external components to function, i.e. SDR#. This program can/will probably
break on new releases of SDR#.
Sorting of G/SSIs is only done on program start-up, and does delay start a little. Larger lists will take longer.
(Should be better as of TTT v1.0.7)
Possible that large numbers of GSSI/SSI could eat too much RAM.
- Each GSSI entry is 42 bytes (1 million entries would be 42Mb
- Each ISSI entry is 50 bytes (1 million entries would be 50Mb)
Bugs:
A very rare random WinSock error using TCP comms. While this occurs, code is in place to reset and
continue on. May be fixed as of TTT v1.5.0.0)
TETRA Demodulator locks up when changing “Listen to this device” (from method 2 call recording) from
disabled to enabled. A workaround would be to disable “Demodulator” for both CC, VC then switch “Listen to
this device”. Then enable “Demodulator” for CC, VC again.
A Invalid property value (Error 380) can rarely appear. This will crash TTT. Cause is unknown.
As of v1.0.13, added error trapping may help locate this issue.
It seems for some Windows 10, 64 bit set-ups, TTT crashes when recording is enabled.
This seems to be related to the output audio device selected in SDR# (Audio > Output)
If a [MME] device is used then crash is seen, try a [Windows DirectSound] device instead.
I have added some error trapping code (in TTT v1.0.15.10) to stop TTT crashing and to display error. This is
yet to be reported as successful.
Continued...
Some are reporting a “System.OutOfMemoryException”.
Before the error, memory and CPU can be seen to climb to high values.
I am unable to reproduce this issue (either on Win7 or Win10) here so I'm unable to do anything about it.
It seems only to occur on Windows 10 64 bit set-ups and I suspect that only some types of PDUs (which I
may not be seeing here, or see a lot of) are the cause. (see below for update to this)
Not really a bug, but the volume lowest value on the newer SDR# versions has changed from 25 dB (mute)
to 20 dB (mute). This should not cause any problems.
Not really sure how many users of TTT+Plug-in there are out there, but I hope it has been useful to those
that have used it. For the most part I have enjoyed the development and learning about the TETRA system.
Necessary Disclaimer:
• This program is "as is"
• This program is experimental. It most probably contains errors, bugs or whatever and that it
may crash itself, SDR#, the plug-ins, windows or your car. You accept that you use it at your
own risk.
• I make no promises to update it or support it.
• I'm under no obligation to implement anything.
• The creator of SDR# have the right to change their code as they see fit. Because of this, this
program/plugin can and probably will break.
• Not reading the read-me/set-up and usage documentation files may cause you issues.