0% found this document useful (0 votes)
122 views

TTT Set-up Manual

Uploaded by

le trong tung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

TTT Set-up Manual

Uploaded by

le trong tung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

TETRA Trunk Tracker – Set-up and Usage

by thewraith2008 (27th February 2020)

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.

• Tested on Windows 7 – Professional SP1 (32 bit, 64 bit), English.


• Tested on Windows 10 – Home (v1709) (64 bit)
• Tested on Windows 10 – Professional (64 bit)

In TTT, two modes exist:

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)

CC = Control Channel (this is a fixed frequency).


VC = Voice Channel (this varies frequency).
Carrier = Same as VC. Another name for any frequency in network. They are allocated a number.
Main Carrier = Where main control channel is. This is where you should tune too. Same as CC.
MCCH = Main control channel. (only on Main Carrier)
SCCH = Secondary control channel (works like MCCH and can be 3 of them only on main carrier)
Base Frequency = Used to calculate frequency for a given carrier #.
If your TETRA signal are say 450MHz then you base frequency will be 400 MHz.
Please only use the release of TETRA Trunk Tracker with the supplied TETRA Demodulator (plug-in)

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.

Advice and recommendations: (when using plug-in with TTT)


The TETRA Demodulator SDR# side panel will not always show correct GSSI/SSI values.
Especially on VC SDR# (with TTT in dual mode). (as on v1.6.3 this has improved)

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)

Example of two sessions:


Session #1
• SDR# folder 1
◦ Run SDR# (and a 2nd one if TTT dual mode)
• TTT folder 1
◦ Run TTT

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:

• A basic call recording (All or Selective call recording).


• SDS Text messages.
• Plot SDS location data (GPS) on map with DSDPlus LRRP (SDS Short/Long)
• Display current call details with list of seen ISSIs for that call. (SSI populate as they TX).
• GSSI holding - will only allow calls with selected GSSI to be heard. (Current,History,Manual)
• Call lockout based on GSSI. Can be unchecked in list to lockout GSSI.
• Call Priority. (Limited in Single mode)
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 ISSIs 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.
• Unallocated timeslot detection for when D_Release not seen.
• 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. (Single mode only plays calls that are on CC when this is selected)
• Set base frequency via UI.
• Set CC park carrier # via UI.
• Set VC park carrier # via UI.
• Suppress lockout messages.
• Sort record files for SSI and GSSIs/Lockouts (by GSSI). This only occurs on start-up.
• Set Country Code label, defined via file (shown as menu item)
• Set Network label, defined via file (shown in tool tip where MNC,LA is in 'Call Details' panel)
• Set 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 with also acts as a manual call release.
• Restore the CC/VC SDR# windows to a defined position.
• Command line option for manual SDR# bandwidth adjustment.
• Hold delay after a recorded call. (To allow continued activity from same GSSI)
• Remote “On top” window that displays G/SSIs and there labels in larger font (+ a super size) and a
call duration timer.
• Private call Simplex/Duplex[half] capability. (TTT Single and Dual mode)
• Full duplex private calls. (As of TTT v1.0.13 and only in dual mode)
• Auto setting Base frequency, Main carrier (CC) and Offset. (As of TTT v1.0.7)
• Remote window field colour presets (x7) and 1 for custom colour.
• System sounds for call states.
• CC(LA) switching. Manually switch to a different LA in network. (Using created list)
• Basic unknown SDS protocol binary to text conversion.
• Assign labels to Status codes.
• Minimise TTT to the systray with call notifications. (Optional)(**)
• Switchable Calls/SDS event panel.
• 'Now playing' file for use with streaming programs (Icecast+butt)
• Show number of total call set-ups (not only played) for day. (Limited in Single mode)

Also see “TTT_Features_and_Usage.pdf” for more details on these features and their use.

* Requires the new custom TETRA Demodulator plug-in that I compiled.


** see special Windows 10 notes in “TTT_Features_and_Usage.pdf”
Set-up: Prerequisites:
Your PC must be capable of running one of the following:
• Dual mode: 2 x SDR# instances (2 dongles) with TETRA Demodulator.
• Single mode: 1 x SDR# instance (1 dongle) with TETRA Demodulator.

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.

I recommend backing up existing SDR# and TTT folders.


I recommend creating a new SDR# and TTT folder for each new release and testing it before
removing older installations.
Installing: SDR#
It's recommended to set-up SDR# in it's own folder for TTT and TETRA Demodulator plug-in.
It's assumed your installation of SDR# (with TETRA Demodulator) and dongles are already working.
If not, do this first. I can not help with this. (see 'tetra_x86_20xx-xx-xx.7z' for plug-in help)

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.

Install the required TTT runtime library:


Copy and register runtime DLL (follow instructions for 32 or 64 bit Win Oses below)

Check if "mswinsck.ocx" exists in one of the following locations below.


• Windows\System32 for 32 bit OS
• Windows\SysWOW64 for 64 bit OS
If file does not exist, copy file "mswinsck.ocx" (in vb-runtime folder) to one of these folders based on if your
OS is 32/64 bit. (as shown above)

To register the DLL: (NOTE: change if your paths are different)

Open CMD prompt "Run as Administrator" and type:

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.

The following set-up sections are split in two parts.


One for running TETRA Trunk Tracker in dual mode and one for single mode.
Please follow exactly to ensure that programs run as expected.

Of course this doesn't mean problems won't occur.


TETRA Trunk Tracker – Initial (Dual 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 is automatically determined.
Set other options to your preference. (Some options are preset when 'TTT mode enable' is enabled)
Close SDR#

Start TETRA Trunk Tracker


If 1st run:
• Set TTT mode to 'Dual mode' from 'Tools' menu. This must be checked.
• Set a 'CC Park' Carrier #. (This will automatically be done when tuning to TETRA signal)
• Set 'VC Volume' to desired level. (default = 47 db)
• Set other options to your preference.

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.

• Start SDR# 1 (for CC)


• Start SDR# 2 (for VC)
• Start TETRA Trunk Tracker

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#

Start TETRA Trunk Tracker


If 1st run:
• Set TTT mode to 'Single mode' from 'Tools' menu. This must be checked (Default mode)
• Set a 'CC Park' Carrier #. (This will automatically be done when tuning to TETRA signal)
• Set 'VC Volume' to desired level. (default = 47 db)
• Set other options to your preference.

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.)

Session shut-down (Dual/Single)


Close TETRA Trunk Tracker
Stop and close CC SDR#
Stop and close VC SDR# (for Dual mode only)

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:

“The configuration file has been changed by another program. (X:\sdrsharp\SDRSharp.exe.Config)”


Configuring for Recording calls:
Two methods exist for recording calls. (see following sections)
Once selected method is chosen and set-up, select record mode in TETRA Trunk Tracker.

Filenames for recorded files will be:


Group calls: time_callid_gssi.wav
Private calls: time_callid_gssi[0]_issi[caller]_issi[caller].wav

Recording Audio set-up (Method #1)


So long as WAVE is the default recording device, TETRA Trunk Tracker will record call.
NOTE: This method will also record any system sounds that are also heard (Method 2 is a better way)
Recording Audio set-up (Method #2)
You must have a Virtual Audio Cable Installed for this method.
Set-up of a 'Virtual Audio Cable' is not discussed here.
In SDR#, set audio output device. Set volume in TTT field “VC Volume”, NOT in SDR# as shown.

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)

All ISSIs seen in private calls are stored under GSSI of 0.

Probably many more.

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)

Update to the “System.OutOfMemoryException”. This issue has be fixed in v1.0.17.


This was caused on busy networks which did not allow a quiet time to be seen which was used to clear the
'Network Info' PDU output textbox.

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.

Probably many more.


Special thanks to the creators of the following software:

SDRSharp (SDR#) by Youssef Touil


• https://airspy.com/
TETRA Demodulator (the original SDR# Plug-in) by TSSDR
• http://www.radioscanner.ru/forum/topic50051-37.html
• Thanks Vasili for allowing me to continue with the plug-in project.
Net Remote (SDR# Plug-in) by Al Brown
• https://eartoearoak.com/software/sdrsharp-net-remote
• https://github.com/EarToEarOak/SDRSharp-Net-Remote
• Code from the plug-in has now been incorporated into the TETRA Demodulator plug-in. While I have
made changes to suit my needs, the base code still remains. A double thanks to Al Brown for his
original code.
DSDPlus (for LRRP program)
• http://dsdplus.com

Thanks to the various users of TTT that have helped with:


• Supplying IQ samples.
• Submitting detailed bug reports and feedback.
• Help testing the fixes that where applied.
• The various suggestions to further improve the functionality of TTT and the plug-in since May 2018.

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.

You might also like