New write-up on message encoding

Hi all,

A new practical write-up about message encoding in the goTenna network, which I helped to fact-check, is now live on Sybip’s excellent goTenna wiki. Have a look, it’s a fun exercise to try, even with your own messages.

Also, if anyone knows (and can say) what the hell TLV 4 is, please give a shout.

(edit: messed up the link and the author’s name)

1 Like

is it Type Length Value encoding with 32 bit ints?

1 Like

Thanks @goTennaUser_24176, it’s not a generic concept that I was asking about, but a specific TLV element (of the regular type, byte-byte-bytes) found in some messages, with type=4 and length usually 3, which serves no obvious purpose but may cause delivery problems if not included.

1 Like

How many bytes could be used for gps location? Is it used? Could it be shared in emergency messages or across sms relay to text911 ready psaps?

In theory, an optimal encoding of GPS location can fit in 32 bytes:

  • 8+8 lon/lat as floats,
  • 2 altitude,
  • 8 GID,
  • 4 timestamp,
  • 2 metadata (precision, flags etc)

In practice, the goTenna app uses something like 65-70 bytes because it redundantly includes the text “[full name of the sender]'s last shared location” in every location packet (instead of just the GID). Also, the goTenna app uses TLV formatting in location packets, which introduces its own overhead.

As far as I remember, emergency messages sent from app contain a location object.