SDR# TETRA Demodulator Trunk Tracking Demonstration

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
thewraith2008,

A quick report about the latest hot-fix:
DMO - works perfectly again, with "auto" turned ON, it doesn't jump to any other slots and audio is decoded perfectly without any breaks or packet loss
"auto" was always meant to "OFF" in DMO. The standards say from receiving (slave) point of view, a call should be in TS: 1

MLM35o7.jpg

fVmSWie.jpg

Source of images

TMO - problem with ISSI as GSSI (in my case it happens on private calls) is not solved and "false" ISSI is not solved either, again in the log the "false" ISSI appears as:
D_Setup Transmission Granted_to_another_user Party_SSI:******* Mode_of_Operation:Simplex Hook_method:No hook signalling (direct through-connect) Basic_service:Group_call Clear Speech_TCH_S Modify:Simplex requested

Have you have updated to hot-fix #6? (you didn't mention)

If you have updated:
This is odd because it doesn't have a SSI: value (which is the GSSI value). "Party_SSI" is ISSI. NOTE: I didn't create the name convention here.
When TTT doesn't see a "SSI:" value, it is supposed to ignore the PDU all together.

If "Party_SSI" is not seen (and so long as "SSI:" exists) TTT will set this as 0 and continue on.

And some thoughts for the future:
SDS - I will try to provide you some example IQ recordings with SDS messages being sent, so you can have a look when you will have time.
Location - I heard some thoughts about location reports being sent in the system. In my case, all of the radios send location to a specific subscriber, so I thought maybe it's possible to someone intercept them, because as you explained me earlier you made both Short and Long location decoding, but I don't see any GPS traffic at all and in the CPS of our terminals it's programmed to send Long location reports.
So long as there are messages and not just reports (which is what most people see) that would be a help.

Just a note to everyone about suppying IQ samples via a online file hosting service. Don't use crap ones like "4shared" that require sign-up to download and try to redirect to 1000 dodgy websites.
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
file ready 1gb but I can not upload it on the forum as I have to thank you
Just upload to a free file hosting service.

Not to sound ungrateful for the offer, please consider the following:
Don't send me a IQ files that are full dongle bandwidth (2.4sps) when the signal of interest is only 25KHz wide.
Use IF Recorder plug-in to create narrower bandwidth IQ samples.
How many SDS messages are in that 1 Gb sample. Hopefully more than one. Don't send if only a couple are seen. Trim the sample.

As I just posted:
Just a note to everyone about suppying IQ samples via a online file hosting service. Don't use crap ones like "4shared" that require sign-up to download and try to redirect to 1000 dodgy websites.
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
thewraith2008
Maybe you guys with the crashing issue should try a few different set-ups to test if crash occurs.

1) SDR# with TETRA demodulator plug [OFF] running on frequency with signal. (No TTT running)
1200 hours local SDR#1666 started in seperate Folder A

2) SDR# with TETRA demodulator plug [ON] running on frequency with signal. (No TTT running)
1210 hours local SDR#1700 started in seperate Folder B


2) SDR# with TETRA demodulator plug [ON] running on frequency with signal. (No TTT running)
1210 hours local SDR#1700 started in seperate Folder B

1213 hours local SDR#1700 started in seperate Folder B
CRASHT


type System.OutOfMemoryException.
at SDRSharp.Radio.dll.ComplexFifoStream.AllocBlock (IL offset: 0xe)
at SDRSharp.Radio.dll.ComplexFifoStream.GetWBlock (IL offset: 0x0)
at SDRSharp.Radio.dll.ComplexFifoStream.Write (IL offset: 0x44)
at SDRSharp.exe.MainForm.ProcessBuffer (IL offset: 0x4a)
at SDRSharp.Radio.dll.StreamControl.ProcessIQ (IL offset: 0x18)
at SDRSharp.Radio.dll.StreamControl.DSPProc (IL offset: 0x5b)
at mscorlib.dll.ThreadHelper.ThreadStart_Context (IL offset: 0x14)
at mscorlib.dll.ExecutionContext.RunInternal (IL offset: 0x79)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x0)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x2b)
at mscorlib.dll.ThreadHelper.ThreadStart (IL offset: 0x8)


SECOND ATTEMPT
2) SDR# with TETRA demodulator plug [ON] running on frequency with signal. (No TTT running)
1215 hours local SDR#1700 started in seperate Folder B
 
Last edited:

tsapers

Member
Joined
Aug 25, 2011
Messages
67
2) "An item with the same key has already been added. " as per tsapers on post #464 https://forums.radioreference.com/t...nk-tracking-demonstration.370639/post-3061730 This also crashes SDR#.

OK so after numerous tests of different versions of SDR# and TTT. Doing clean installs of both SDR# and TTT I still see the above error and resulting SDR# application has stopped working. All tests done in SINGLE mode and with and without recording enabled. The application failure also happens randomly, sometime it can run for a whole night till the next morning, other times fails within minutes to 2 hours. Random.

Crash.txt indicates this:
An item with the same key has already been added.
at mscorlib.dll.ThrowHelper.ThrowArgumentException (IL offset: 0x10)
at mscorlib.dll.Dictionary`2.Insert (IL offset: 0x81)
at SDRSharp.Tetra.dll.MM_protocol.ParseMMPDU (IL offset: 0x219)
at SDRSharp.Tetra.dll.SduParser.Parse (IL offset: 0x67)
at SDRSharp.Tetra.dll.PduParser.MacEndPDU (IL offset: 0x96)
at SDRSharp.Tetra.dll.PduParser.ParsePDU (IL offset: 0xca)
at SDRSharp.Tetra.dll.TetraDecoder.Process (IL offset: 0x698)
at SDRSharp.Tetra.dll.TetraPanel.DecodingThread (IL offset: 0x98)
at mscorlib.dll.ThreadHelper.ThreadStart_Context (IL offset: 0x14)
at mscorlib.dll.ExecutionContext.RunInternal (IL offset: 0x79)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x0)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x2b)
at mscorlib.dll.ThreadHelper.ThreadStart (IL offset: 0x8)

Event viewer gives the following:
Application: SDRSharp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
at System.ThrowHelper.ThrowArgumentException(System.ExceptionResource)
at System.Collections.Generic.Dictionary`2[[SDRSharp.Tetra.GlobalNames, SDRSharp.Tetra, Version=1.0.10.1, Culture=neutral, PublicKeyToken=null],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Insert(SDRSharp.Tetra.GlobalNames, Int32, Boolean)
at SDRSharp.Tetra.MM_protocol.ParseMMPDU(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
at SDRSharp.Tetra.SduParser.Parse(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
at SDRSharp.Tetra.PduParser.MacEndPDU(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
at SDRSharp.Tetra.PduParser.ParsePDU(SDRSharp.Tetra.LogicChannel, System.Collections.Generic.List`1<System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>>)
at SDRSharp.Tetra.TetraDecoder.Process(Single*, Int32, Byte*, Int32 ByRef, System.String ByRef)
at SDRSharp.Tetra.TetraPanel.DecodingThread()
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()

AND

Faulting application name: SDRSharp.exe, version: 1.0.0.1660, time stamp: 0x5ab95c2d
Faulting module name: KERNELBASE.dll, version: 6.1.7601.24335, time stamp: 0x5c267ed0
Exception code: 0xe0434352
Fault offset: 0x0000c54f
Faulting process id: 0xb48
Faulting application start time: 0x01d4b79899f0f93d
Faulting application path: D:\SDR_LATEST\sdrsharp-x86-TETRA-DSD+_CC\SDRSharp.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: 9dd38e1d-23b3-11e9-bad2-d4bed99af6e7

Any suggestions welcome.
 
Last edited:

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
Share info Event viewer

SDRSharp.exe
Framework-versie: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.OutOfMemoryException
bij System.Collections.Generic.Dictionary`2[[SDRSharp.Tetra.GlobalNames, SDRSharp.Tetra, Version=1.0.10.1, Culture=neutral, PublicKeyToken=null],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Resize(Int32, Boolean)
bij System.Collections.Generic.Dictionary`2[[SDRSharp.Tetra.GlobalNames, SDRSharp.Tetra, Version=1.0.10.1, Culture=neutral, PublicKeyToken=null],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Insert(SDRSharp.Tetra.GlobalNames, Int32, Boolean)
bij SDRSharp.Tetra.SduParser.ParseLLC(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
bij SDRSharp.Tetra.SduParser.Parse(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
bij SDRSharp.Tetra.PduParser.MacEndPDU(SDRSharp.Tetra.LogicChannel, Int32, System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>)
bij SDRSharp.Tetra.PduParser.ParsePDU(SDRSharp.Tetra.LogicChannel, System.Collections.Generic.List`1<System.Collections.Generic.Dictionary`2<SDRSharp.Tetra.GlobalNames,Int32>>)
bij SDRSharp.Tetra.TetraDecoder.Process(Single*, Int32, Byte*, Int32 ByRef, System.String ByRef)
bij SDRSharp.Tetra.TetraPanel.DecodingThread()
bij System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
bij System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bij System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
bij System.Threading.ThreadHelper.ThreadStart()
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
tsapers said:
"An item with the same key has already been added."

at SDRSharp.Tetra.dll.MM_protocol.ParseMMPDU (IL offset: 0x219)

Any suggestions welcome.

If your crashes are always the same as the two you have previously posted then it seems to point to the decoding of the "MS Registrations" data ("MM" protocol).
The crash is occurring because the plug-in is trying to add a "key" that already exists (can only have one key with same name).
This "key" (a certain PDU) that is added is only seen at random times (and maybe only you have seen. ?).



I got no idea about hamradionl's "type System.OutOfMemoryException." problem. But at least we know TTT is ruled out.
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
thewraith2008
I got no idea about hamradionl's "type System.OutOfMemoryException." problem. But at least we know TTT is ruled out.

Only the SDR#1700 + Tetra ON whas running.
1613 hour local time Get this one.

type System.OutOfMemoryException.
at mscorlib.dll.Dictionary`2.Resize (IL offset: 0x19)
at mscorlib.dll.Dictionary`2.Insert (IL offset: 0x10e)
at SDRSharp.Tetra.dll.SduParser.ParseLLC (IL offset: 0x13)
at SDRSharp.Tetra.dll.SduParser.Parse (IL offset: 0x0)
at SDRSharp.Tetra.dll.PduParser.MacEndPDU (IL offset: 0x96)
at SDRSharp.Tetra.dll.PduParser.ParsePDU (IL offset: 0xca)
at SDRSharp.Tetra.dll.TetraDecoder.Process (IL offset: 0x2735)
at SDRSharp.Tetra.dll.TetraPanel.DecodingThread (IL offset: 0x98)
at mscorlib.dll.ThreadHelper.ThreadStart_Context (IL offset: 0x14)
at mscorlib.dll.ExecutionContext.RunInternal (IL offset: 0x79)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x0)
at mscorlib.dll.ExecutionContext.Run (IL offset: 0x2b)
at mscorlib.dll.ThreadHelper.ThreadStart (IL offset: 0x8)
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
God thewraith2008, any news in future updates?
I'm asking you out of curiosity! I'm your master fan!
By the way, are you married? Laughs...
Joking apart! Looking forward to the next update!

Another light question...
How do I identify if there is DMO communication in my area?

The program is now perfect since the last fix!
I said earlier, but I never tire of repeating!
Thank you friend!
Thanks for the great work you've done!
The program is reaching perfection!!!
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
any news in future updates?
Another light question...
How do I identify if there is DMO communication in my area?

The full release I was planning has been delayed while I wait for results on a fix. And if it works out, I want to have it included in that release.
For the most part it's the same as hot-fix #6. It will just be a consolidate release (of all hot-fixes to date).

For DMO, depending on frequency, you may need to be close to transmissions. For me 800MHz is where they would be and I would almost have to be standing next to them. Hard to describe what to look for. A TETRA signal that is pulsing or sounds choppy.
Probably the infrequent nature of these transmissions will make finding anything difficult.
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
That's right. I reaffirm that in TMO mode and it's perfect! I'm not missing out on anything! Lossless response fast and accurate! Priorities are also working well! The only peculiarity in my area is that TIMEOUT is 6. But that's a peculiarity of my region. Made the adjustment for 6 seconds everything flows perfectly. This latest release was the most perfect and stable of all! Congratulations!!!
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
For me, very kind of message type:

TS3_unallocated 5
TS2_unallocated 4
TS3_unallocated 5
TS3_unallocated 5
TS2_unallocated 4
TS3_unallocated 5
TS3_unallocated 5

Is that so?
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
Bug fixed in my last release. See rtl-sdr.ru.
If needed i can show all source code.

That would be helpful and much appreciated.
I don't see that error myself and only 2 people have reported it. Must only be some set-ups/PCs

On this forum you need 5 posts to be able to PM each other. At least thats what it was before forum upgrade.
Is there a way to talk private?
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
For me, very kind of message type:

TS3_unallocated 5
TS2_unallocated 4
TS3_unallocated 5
TS3_unallocated 5
TS2_unallocated 4
TS3_unallocated 5
TS3_unallocated 5

Is that so?

This was added by me as a way to detect when a call just disappears off a timeslot.
TTT when it didn't see a D_Release PDU would wait for a timer to expire before returning to MCCH.
By using "TS2_unallocated 4" TTT can immediately return to MCCH when the timeslot becomes unallocated.
This way if a new call starts up you shouldn't miss it. So long as a different GSSI setup doesn't beat the previous GSSI to the setup. I was thinking of adding a hold delay after this unallocated event occurs. But this may not be suitable all the time.

NOTE: The number at end is only for debugging so I knew where it was been triggered in code.
 

klausserthib

Member
Joined
Jan 27, 2019
Messages
8
Hi,

Thanks thewraith2008 for your advice and the work you have done !
I installed the last hot-fix and the issue is solved with GSSI / ISSI on TTT.

Another thing I realized on TTT: Here in France, a company is using a Tetra Network with a MNC code equal to "0" and it seems that TTT don't like this "null" MNC matched code... When a voice communiction is initiated, nothing happend on TTT. But the Tetra Demodulator Plugin audio works if I disable TTT for this network.

Do you plan some additionnal developpement about this ?
Thanks !
 

hamradionl

Member
Joined
Mar 23, 2014
Messages
730
TSSDR
we like contact you PM send 4x PM messages to yourself or 4x PM to all us and you registered to use PM
 

thewraith2008

Member
Joined
Nov 22, 2016
Messages
1,841
Hi,

Thanks thewraith2008 for your advice and the work you have done !
I installed the last hot-fix and the issue is solved with GSSI / ISSI on TTT.

Another thing I realized on TTT: Here in France, a company is using a Tetra Network with a MNC code equal to "0" and it seems that TTT don't like this "null" MNC matched code... When a voice communiction is initiated, nothing happend on TTT. But the Tetra Demodulator Plugin audio works if I disable TTT for this network.

Do you plan some additionnal developpement about this ?
Thanks !

TTT makes an assumption that a MCC, MNC and LA of zero are not used.
Because of the way that TTT obtains these values I added code mainly to use with TTT in single (and will also affect dual) mode that tries to ignore when these values are reset (are zero) when frequency is changed (following a call.)
I will have a look at this sometime to see what I can do to resolve that issue.

Thanks for the feedback.
 

DarkAngelT

Member
Joined
Sep 27, 2018
Messages
131
I noticed a small BUG when I'm using SINGLE mode.

If the option: "Create Call Activity CVS - NO CALLS" is checked, the TTT window starts to display information. Even if "Suppres Lockout Messages" is enabled.
The Tbm drop-down window (F12) displays gray information.

In dual mode these things do not occur. If you have a way, I thank you! ;)
 
Top