A new TETRA voice decoder called "OpenEar" has just been released. The program is a standalone Windows app that directly connects to an RTL-SDR. Decoding a TETRA voice signal is as simple as opening the program, tuning to the TETRA frequency and clicking on the signal. With good signal strength voice comes through very clearly. CPU usage on our PC is also minimal.
The program source is currently not available as the author notes that he only intends to release it as open source in the future once the project is completed, and right now this is only the first early release. Right now the program is just an .exe with a few .dlls. You'll need to first install the Microsoft Visual C++ Redistributable Package linked in the Git readme. Just in case, we virus scanned the exe and tested the program in Sandboxie. It appears to be clean, and it works as intended.
In the future the author hopes to support many more protocols such as DMR, MPT1327, ACARS, AIR, GSM and more. In order to support his work he is asking for Bitcoin donations, and the donations link can be found on the Git readme.
UPDATE 1: If you're getting missing dll errors and you already installed the Visual C++ Redistributable, try downloading the missing dll's from dll-files.com. There should only be about 5 missing.
UPDATE 2: As pointed out in the comments by Steve M. from Osmocom, this software may be in violation of several GPL licences as no source code has been released and it appears to rely on GPL code and libraries. Please take this into account.
UPDATE 3: As per update 2, the author has decided to temporarily disable the TETRA functionality pending a rewrite of the code that he will complete within one to two months). Instead he has added DMR decoding.
Vasilli has recently released the SDR# TETRA plugin on his website RTL-SDR.RU (note that the site is in Russian, but can be translated with the Google Translate option in the top right of the page). Previously it was only available via ever changing forum links, so it's good to see that it has a permanent home now for the latest version. This plugin allows you to listen to TETRA digital voice via SDR#, without needing to set up any complicated GNU Radio based receivers which were necessary in the past.
The features include (note Translated from Russian):
Receiving a signal from the BS band 25kHz and modulation Pi / 4-DQPSK;
Automatic adjustment of the reception frequency;
Displays information about the BS;
Displays ISSI, GSSI subscribers in the channels (for open channels only);
Displays a service exchange network (for open channels only);
It allows you to listen to the channels in manual or automatic mode selection (only open channels);
It allows to filter and distribute the listening priority specified for groups (GSSI);
It displays a message with the location (just a short message format)
The current features not yet implemented are:
And listen to correctly display any encoded information in a network;
Display SDS type 4 (short messages);
Record audio from the channels (menu added, but does not work);
We also note that as discussed in a previous post there is a companion program for this plugin called TETRA Trunk Tracker.
Over on our forums user thewraith2008 has just released news about his new software called TETRA Trunk Tracker. The software works in conjunction with the TETRA demodulator plugin for SDR#. It works by using two dongles, one to monitor a TETRA trunking channel, and the other to decode voice audio, although a single receiver mode is also available which works with a reduced and fixed bandwidth.
The post reads:
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).
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:
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.
In the new version the 'Net Info' button is now functioning and it is possible to see the current calls, groups, and meta information on the current cell and neighbour cell. It also appears that it has been updated to allow for multiple SDR# TETRA decoder instances to be opened simultaneously now for wider band monitoring.
Last week we posted about the release of a new TETRA decoder plugin for SDR#. The plugin made setting up a TETRA decoder significantly easier compared to previous methods, but it still required the installation and use of the MSYS2 environment on Windows.
Thanks to reader Zlati for letting us know that the TETRA plugin has recently been updated once again and now no longer requires MSYS2 to be installed first. Now it is as easy to install as any other plugin, just drop the .dlls into the SDR# folder and add the magicline to the plugins.xml file. We tested it out and decoding worked fine. At the moment the "Net info" button is not working however.
Back in 2016 cURLy bOi released a Windows port of the Linux based "Telive" TETRA decoder. Now the latest development in TETRA decoders is that a TETRA decoder plugin for the SDR# software has been released. This makes setting up a TETRA decoder significantly simpler than before.
Installing the plugin is a little more difficult that usual, as you first need to install MSYS2 which is a compatibility layer for Linux programs. The full installation instructions are included in the README.TXT in the zip file. One clarification from us: you need to copy the files in the msys_root/usr/bin folder from the zip file into the /usr/bin folder that is in your MSYS2 installation directory.
We tested the plugin and found it to work well without any problems. With the plugin turned on you just need to simply tune to a TETRA signal in WFM mode, and you will instantly be decoding the audio.
TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA. If you have unencrypted TETRA signals available in your area then you can listen in on them with an appropriate SDR like an RTL-SDR and decoder software like the aforementioned plugin.
Over on YouTube use radiosification has uploaded a video showing the Windows TETRA decoder ‘wintelive’ in action. Wintelive is a Windows port of the popular RTL-SDR compatible Linux based ‘telive’ TETRA decoder. Back in October 2016 we posted about its release and we have a tutorial for telive and the RTL-SDR available here.
TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA. Telive is a decoder for TETRA which is compatible with RTL-SDR dongles, and has been around and in use for almost 2 years now. If you have unencrypted TETRA signals available in your area it can be used to listen in on them.
However, now a TETRA experimenter by the handle of “cURLy bOi” has released a new prototype of a telive modification that works on Windows systems. It makes use of the GNU Radio for Windows development. The telive Windows file can be downloaded from curly’s webserver. His reademe file shows how to install and use the software and it reads:
This has been put together as lowest-effort configuration to run telive on Windows system. I have also optimized to process (for example adding the CQPSK block to GRC since the python code in the original telive package is IN FACT some unused part of GNU Radio)
Warning: ——— This package contains pre-compiled binaries that work on my 64-bit system. I have compiled them inside the M-SYS2 package. If you don’t trust me, you can follow the installation guide from telive docs, just be prepared you are going to need a lot of packages for the M-SYS2 (pacman -S gcc automake git wget, etc.)
Install: ——— 1) Download GNU Radio for Windows from http://www.gcndevelopment.com/gnuradio/downloads.htm and install 2) Copy contents of gnuradio_mod to c:\Program Files\GNURadio-3.7\ 3) Download and install M-SYS2 from https://sourceforge.net/projects/msys2/ and install 4) Copy contents of msys_root to your M-SYS2 installation directory 5) Download FFmpeg for Windows (64-bit Shared) from https://ffmpeg.zeranoe.com/builds/ and extract everything from bin to usr\bin in your M-SYS2 installation directory 6) In M-SYS2 shell execute “pacman -S socat” 7) Get GNU Radio Companion (GRC) projects from original telive package at https://github.com/sq5bpf/telive/tree/master/gnuradio-companion (only udp or xmlrpc, pipes won’t work) 8) Open whatever GRC project you want to use and edit it: – Delete the link between (all) Fractional Resampler and UDP Sink – From the modules on the right (ctrl-f to search) drag CQPSK Demod to project (If you don’t see CQPSK Demod then you have messed up #2) – Connect Fractional Resampler -> CQPSK Demod -> UDP Sink – Change UDP Sink Input Type to Float in its properties – Save
Use: —— 1) Open GRC project of your choice (already with the CQPSK Demod box) 2) Use the Project/Execute to run the project from the GRC – OR – If you had headless (without GUI) project, use Project/Generate option to generate top_block.py file in the GRC project directory. Then open GNURadio Command Prompt from Start menu, the use this command c:\Program Files\GNURadio-3.7\gr-python27\python.exe -u c:\path\to\grc\project\top_block.py This will enhance performance. 3) Open new M-SYS2 shell for every channel in that project and execute command “receiver1udp X” where X is the number of each channel in GRC project 4) Open new M-SYS2 shell, resize it to 203×60 and execute: – cd /tetra/bin – ./rxx OR ./rxx_xmlrpc (if you are using XMLRPC GRC project) You can edit these files to match your preferences 5) That’s it, should work.
Note that we have not tested this out ourselves yet and can’t guarantee the file safety or that it works, but we have no reason to believe that it wouldn’t be safe or not work.