[aprssig] Making APRS text messages longer

Heikki Hannikainen hessu at hes.iki.fi
Wed Nov 24 15:42:05 EST 2021


On Sun, 21 Nov 2021, Kenneth Finnegan wrote:

> 3. Sharing the same TX delay for multi-line messages or bulletins 
> because the message length limit is so ungodly short because of the IBM 
> PC screen width limits

This is actually something I'd like to improve a bit. The limit indeed is 
way too short, and we should figure a way to increase it for modern 
software without breaking a lot of things. I bump into the limit every 
time I do messaging and it is slightly annoying.

Something like: APRS devices/software supporting a Long Messages feature 
shall accept message packets of up to 255 bytes. The total length of the 
recipient field, message id, reply-ack id, and the delimiters and packet 
format identifier characeter, must not exceed 255 bytes.

27 bytes (with a message-id, and a reply-ack id):

:N0CALL-14:Hello{msgid}rack

28 bytes (after UTF-8 encoding, "ö" is 2 bytes):

:N0CALL-14:Hellö{msgid}rack

The maximum message payload length, in characters, depends on language and 
the length of the message-IDs. When a user enters a message, the sending 
application shall try encoding the message, taking into account the 
maximum length of the message-ID which may be used, and limit the message 
length accordingly.

If a very long message is split into multiple APRS messages, care must be 
taken to perform the splitting on a character boundary, or a word 
boundary. If splitting would be done at an arbitrary byte offset, a 
multibyte Unicode character could be broken into multiple messages, 
preventing UTF-8 decoding.

Then we can add a field in the APRS device identification database [1] to 
mark devices supporting Long Messages, and other software using the 
database will know that the recipient will accept them.  It won't have 
backwards compatibility for older versions of such devices which do not 
yet support Long Messages, when a newer version does, but I suppose we can 
live with that. Just upgrade the thing.

Alternatively, we'd have to somehow do in-band signaling of support for 
this feature, perhaps by abusing the message-id contents somehow, and it'd 
only enable long messages after the first message. And still there would 
be some risk that it'd get enabled accidentally for a recipient which 
doesn't accept them.

[1]: https://github.com/hessu/aprs-deviceid

   - Hessu


More information about the aprssig mailing list