New write-up on message encoding


#1

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)


#2

is it Type Length Value encoding with 32 bit ints?


#3

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.


#4

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?


#5

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.