dotPeek & Visual Studio 2019
NET 4.6 C#

SDR# TETRA demod plug-in seems to implement many TETRA protocol features but does not show them in netinfo view.

NetInfoWindow.cs

    public void UpdateTextBox(List<Dictionary<GlobalNames, int>> rawData)
    {
...
            int key1 = 0;
            dictionary.TryGetValue(GlobalNames.SSI, out key1);
            // modx
            string str2 = string.Format(" {0:dd.MM.yyyy HH:mm:ss tt}  ", (object) DateTime.Now);
...
                if (dictionary.TryGetValue(GlobalNames.TAC, out num1))
                  str2 = str2 + " TAC: " + num1.ToString();
                if (dictionary.TryGetValue(GlobalNames.FAC, out num1))
                  str2 = str2 + " FAC: " + num1.ToString();
                // modx
                if (dictionary.TryGetValue(GlobalNames.SPR, out num1))
                  str2 = str2 + " SPR: " + num1.ToString();
...
                  if (num1 == 0)
                    str2 += " Equipment not to be enabled: ";
                  if (num1 == 1)
                    str2 += " Equipment to be enabled: ";
                }
                if (dictionary.TryGetValue(GlobalNames.TAC, out num1))
                  str2 = str2 + " TAC: " + num1.ToString();
                if (dictionary.TryGetValue(GlobalNames.FAC, out num1))
                  str2 = str2 + " FAC: " + num1.ToString();
                // modx
                if (dictionary.TryGetValue(GlobalNames.SPR, out num1))
                  str2 = str2 + " SPR: " + num1.ToString();
...

            if (dictionary.TryGetValue(GlobalNames.SSI, out num1))
            {
              str2 = str2 + " SSI: " + num1.ToString();
              if (flag)
              {
                int key2 = num1;
                if (!this._authSsi.ContainsKey(key2))
                  this._authSsi.Add(key2, 1);
              }
            }
            if (dictionary.TryGetValue(GlobalNames.MM_SSI, out num1))
              str2 = str2 + " xSSI: " + num1.ToString();
            // modx
            if (dictionary.TryGetValue(GlobalNames.USSI, out num1))
              str2 = str2 + " USSI: " + num1.ToString();

            if (dictionary.TryGetValue(GlobalNames.SMI, out num1))
               str2 = str2 + " SMI: " + num1.ToString();

            if (dictionary.TryGetValue(GlobalNames.KSG_number, out num1))
              str2 = str2 + " KSG_number: " + num1.ToString();
...

Many more mods under development...