Notes about how TETRA Demodulator plug-in handles calls.
Notes about how TETRA Demodulator plug-in handles calls.
The way that the plug-in indicates a call is via the main side panel:
And via "Calls" tab in "Network Info" window.
Because of the way the plug-in processes "calls", these two indicators do not always show correctly the real call details and is misleading people about what's really going on. They think they are missing something when they are not.
The plug-in activates calls via detecting the "D_TX_Granted" PDU. While this works as far as detecting any transmission, it does not serve to reflect a set-up call.
The correct way to display call is to use the "D_Setup" PDU and process all PDUs based on the "Call ID"
Calls can be:
- Individual [Simplex/Duplex]
- Group [Simplex]
The SSIs that are connected to a call can be anywhere on the network (MNC) across LAs.
You will only see a call set-up (D_Setup) on current LA if a SSI that is a part of the individual/group is on the LA.
Some generalized examples of different set-ups: (as seen via SSI1 on LA1)
Example #1
SSI1, SSI2 are on LA1
A "D_Setup" is sent from originating MS and both SSI move to carrier and timeslot and call occurs.
D_TX_Granted, D_TX_Ceased, D_Release are used during call and to end it.
Example #2
SSI1 is on LA1 and SSI2 is on LA2
A "D_Setup" is sent from originating MS SS2 (LA2) to LA1
A "D_Connect" is sent on LA1 and SS2 is setup on a carrier and timeslot (on LA1, this has it's own Call ID)
SSI1 and the patched in SSI call are set-up to a carrier and timeslot set by "D_Setup" PDU and call occurs.
The same is most likely occurring on LA2 so SSI2 can hear SSI1
D_TX_Granted, D_TX_Ceased, D_Release are used during call and to end it.
The plug-in simply shows example #2 as having two calls that could be listened too, when in fact the two Call IDs are the same call. One of the Call IDs (the D_Setup one) is the correct one to be listening too. The 2nd one is only the patched in SS2 and if you listen to this, is only one sided.
The "Calls" tab in "Network Info" window has the call list which is cleared via a timer and not when a call actually ends. (When D_Release is seen).
This method is necessary because D_Release is only seen on the carrier where call ends.
D_TX_Granted resets the timer for each Call ID when seen, there for prolonging calls presence in the list.
In the next release of the plug-in, I have added an alternative call list generation that uses "D_Setup" and some other PDUs to more accurately display Individual [simplex/duplex] and Group [simplex] calls.
This will be better suited to the Dual mode setup of TETRA Trunk Tracker since it does not change CC frequency. Single mode changes frequency when switching to VC there by resetting window contents.
Hopefully this helps understanding how the plug-in works with calls.