tetra-rx was missing the LLC layer

Harald Welte laforge at gnumonks.org
Mon Apr 25 13:48:46 UTC 2011


during some work over the last weekend on OsmocomTETRA and reading through
many hours of real-world TETRA captures, I have realized that a lot of the
data we displayed about the higher protocol layers (like MM, CMCE, ...) was
completely bogus.

The reason for it is simple and quite obvious:  My old code made the assumption
that the MLE layer is directly on top of the MAC layer - whereas in reality,
there is the LLC layer in between.  Not only that, but LLC also takes care
of fragmentation and re-assembly, i.e. we were just printing some general

I've started to fix this in the git master banch and I have some local
uncommitted code that actually implements re-assembly.  I've successfully
decoded some NTP/UDP/IP-in-SNDCP-over-TETRA frames from a real network,
but the implementation is a big ugly hack and has many constraints.

I will try to clean this up asap and commit it (maybe even later today).

This posting is JFYI, so you are not surprised if you now get some completely
different output with the same input data.

The good part is that we actually get the CMCE messages that tell us when and
where will be voice frames that belong together, i.e. we can identify start and
end of indivdiual push-to-talk 'segments'.  This could be a nice base for
extracting them in a useful format.

- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)

More information about the tetra mailing list