Additional Extensions for the More Instant Messaging Interoperablility (MIMI) Content Format
draft-mimi-content-more-extensions-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Rohan Mahy , Cullen Fluffy Jennings | ||
| Last updated | 2026-03-01 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-mimi-content-more-extensions-00
Network Working Group R. Mahy
Internet-Draft
Intended status: Informational C. Jennings
Expires: 3 September 2026 Cisco
2 March 2026
Additional Extensions for the More Instant Messaging Interoperablility
(MIMI) Content Format
draft-mimi-content-more-extensions-00
Abstract
This document defines some new useful extensions for the MIMI content
format.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at
https://rohanmahy.github.io/mimi-content-more-extensions/draft-mimi-
content-more-extensions.html. Status information for this document
may be found at https://datatracker.ietf.org/doc/draft-mimi-content-
more-extensions/.
Source for this draft and an issue tracker can be found at
https://github.com/rohanmahy/mimi-content-more-extensions.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 3 September 2026.
Mahy & Jennings Expires 3 September 2026 [Page 1]
Internet-Draft More MIMI Content Extensions March 2026
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3
3. Sender Timestamp Extension . . . . . . . . . . . . . . . . . 3
4. External Message ID Extension . . . . . . . . . . . . . . . . 3
5. Subject Extension . . . . . . . . . . . . . . . . . . . . . . 4
6. Message Ordering via lastSeen . . . . . . . . . . . . . . . . 4
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8.1. senderTimestamp MIMI Content Extension Key . . . . . . . 6
8.2. externalMessageId MIMI Content Extension Key . . . . . . 7
8.3. subject MIMI Content Extension Key . . . . . . . . . . . 7
8.4. lastSeen MIMI Content Extension Key . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Complete CDDL Schema . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
This document defines a set of new fields for the MIMI content
[I-D.ietf-mimi-content] format extensions map. These particular
extensions were chosen to provide functionality already in some other
messaging systems, so that they can carry this information safely
with the MIMI content format.
Mahy & Jennings Expires 3 September 2026 [Page 2]
Internet-Draft More MIMI Content Extensions March 2026
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Sender Timestamp Extension
This extension represents the sender asserted sending timestamp. It
is a map containing the whole number of seconds since the start of
the UNIX epoch, and optionally the number of additional milliseconds,
microseconds, or nanoseconds.
/senderTimestamp/ 3: {
/seconds since UNIX epoch/ 1: 1762760377,
/microseconds/ -6: 462917
}
The Concise Data Definition Language (CDDL) [RFC8610] description of
the extension is below.
$$otherKnownExtensions //= (
&(senderTimestamp: TBD1) ^ => {
1: uint,
? fractional
}
)
fractional = ( -3: millisecs // -6: microsecs // -9: nanosecs)
millisecs = 0..999
microsecs = 0..999999
nanosecs = 0..999999999
TBD1 = 3 ; recommended value for IANA
4. External Message ID Extension
While the MIMI content format has its own message ID derived from a
hash of its content, many messaging systems already have a native
message ID format. This extension allows this "external" message ID
to also be included in the MIMI content extensions map.
Mahy & Jennings Expires 3 September 2026 [Page 3]
Internet-Draft More MIMI Content Extensions March 2026
It consists of an array of two parts, a byte string for the native
message ID, and a scope. The scope could be be an Internet domain
name (represented as a text string), a tagged URI, or an IANA-
registered Private Enterprise Number (PEN), which is a positive
integer. The PEN option allows for a concise, but unambiguous scope
in many organizations.
4: [h'08bbeeb8175c4a64a8926a5a23bb2811', 311]
The CDDL description is below.
$$otherKnownExtensions //= (
&(externalMessageId: TBD2) ^ => ExtMessageId
)
ExtMessageId = [ bstr, scope ]
scope = pen / domain / uri
pen = uint .gt 0 ; IANA Private Enterprise Number
domain = tstr ; Internet domain name
TBD2 = 4
5. Subject Extension
The subject extension allows messaging systems which already have a
Subject field to carry a text string of up to 4096 octets of legal
UTF-8.
5: "This space intentionally left blank"
The CDDL description is below.
$$otherKnownExtensions //= (
&(subject: TBD3) ^ => tstr .size (1..4096)
)
TBD3 = 5
6. Message Ordering via lastSeen
The lastSeen data field indicates the latest message(s) the sender
was aware of in the group. It is a list of MIMI message IDs, or a
list of external message IDs.
If the sender recently joined the group and has not yet seen any
messages, the list is empty.
Mahy & Jennings Expires 3 September 2026 [Page 4]
Internet-Draft More MIMI Content Extensions March 2026
If the sender identifies a single message as unambiguously the latest
message in the group, the lastSeen list contains a single message id
from that message.
Imagine however that two users (Bob and Cathy) see a message from
Alice offering free Hawaiian pizza, and reply at the same time. Bob
and Cathy both send messages with their lastSeen including a single
message id (Alice's message about pizza). Their messages don't need
to be replies or reactions. Bob might just send a message saying he
doesn't like pineapple on pizza. Now Doug receives all these
messages and replies as well. Doug's message contains a lastSeen
including the message id list of both Bob's and Cathy's replies,
effectively "merging" the order of messages.
The next message after Doug's message contains a lastSeen containing
only the message id of Doug's message.
The CDDL description is below.
$$otherKnownExtensions //= (
&(lastSeen: TBD4) ^ => [ * MessageId ] / [ * ExtMessageId ]
)
TBD4 = 256
7. Security Considerations
The Security Consideration of MIMI content apply.
These extensions are most likely to be used for interoperability with
messaging systems other than MIMI. The security of the MIMI content
format needs to be considered in combination with the properties of
the messaging system that carries the messages.
The situations listed below are considered anomalies and could
indicate a malicious sender. When they are encountered the receiver
MAY reject the MIMI message.
When the senderTimestamp extension:
* dates from before the start of the UNIX epoch,
* dates from before the first known message exchanged in the target
messaging system,
* is from a time dramatically in the future (ex: hundreds of years),
or
Mahy & Jennings Expires 3 September 2026 [Page 5]
Internet-Draft More MIMI Content Extensions March 2026
* jumps more than expected for the target messaging system. For
example, a messaging system designed to deliver messages no more
that one month old, could reject messages more than 32 days in the
past or future.
Note that occasionally out-of-order messages are a consequence of
normal operations in most messaging systems.
When the externalMessageId extension:
* is a duplicate of another external message ID already encountered,
or
* is from a completely unexpected scope.
When the subject extension:
* is not a string of legal UTF-8 characters.
When the lastSeen extension:
* is empty, but the sender has previously sent messages in the room,
* results in a loop,
* contains a mix of both native MIMI MessageId and external message
IDs,
* contains external message IDs from a completely unexpected scope,
or
* refers to an excessive number of lastSeen messages simultaneously
(ex: contains more than 65535 message IDs).
Note that a popular message sent in a large group can result in
thousands of reactions in a few hundred milliseconds.
8. IANA Considerations
IANA is requested to add the following entries to the MIMI Content
Extension Keys registry.
8.1. senderTimestamp MIMI Content Extension Key
The following completed registration template is provided:
* Key: TBD1 (suggested value 3)
Mahy & Jennings Expires 3 September 2026 [Page 6]
Internet-Draft More MIMI Content Extensions March 2026
* Name: senderTimestamp
* Type: map
* Recommended: N
* Reference: Section 3 of this document
8.2. externalMessageId MIMI Content Extension Key
The following completed registration template is provided:
* Key: TBD2 (suggested value 4)
* Name: externalMessageId
* Type: array of 2 items
* Recommended: N
* Reference: Section 4 of this document
8.3. subject MIMI Content Extension Key
The following completed registration template is provided:
* Key: TBD3 (suggested value 5)
* Name: subject
* Type: tstr
* Recommended: N
* Reference: Section 5 of this document
8.4. lastSeen MIMI Content Extension Key
The following completed registration template is provided:
* Key: TBD4 (suggested value 256)
* Name: lastSeen
* Type: array
* Recommended: N
Mahy & Jennings Expires 3 September 2026 [Page 7]
Internet-Draft More MIMI Content Extensions March 2026
* Reference: Section 6 of this document
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data
Definition Language (CDDL): A Notational Convention to
Express Concise Binary Object Representation (CBOR) and
JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610,
June 2019, <https://www.rfc-editor.org/rfc/rfc8610>.
9.2. Informative References
[I-D.ietf-mimi-content]
Mahy, R., "More Instant Messaging Interoperability (MIMI)
message content", Work in Progress, Internet-Draft, draft-
ietf-mimi-content-07, 7 July 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-mimi-
content-07>.
Appendix A. Complete CDDL Schema
Mahy & Jennings Expires 3 September 2026 [Page 8]
Internet-Draft More MIMI Content Extensions March 2026
$$otherKnownExtensions //= (
&(senderTimestamp: TBD1) ^ => {
1: uint,
? fractional
}
)
fractional = ( -3: millisecs // -6: microsecs // -9: nanosecs)
millisecs = 0..999
microsecs = 0..999999
nanosecs = 0..999999999
$$otherKnownExtensions //= (
&(externalMessageId: TBD2) ^ => ExtMessageId
)
ExtMessageId = [ bstr, scope ]
scope = pen / domain / uri
pen = uint .gt 0 ; IANA Private Enterprise Number
domain = tstr ; Internet domain name
$$otherKnownExtensions //= (
&(subject: TBD3) ^ => tstr .size (1..4096)
)
$$otherKnownExtensions //= (
&(lastSeen: TBD4) ^ => [ * MessageId ] / [ * ExtMessageId ]
)
TBD1 = 3
TBD2 = 4
TBD3 = 5
TBD4 = 256
Figure 1: A complete CDDL description of the new extensions
Authors' Addresses
Rohan Mahy
Email: rohan.ietf@gmail.com
Cullen Jennings
Cisco
Email: fluffy@iii.ca
Mahy & Jennings Expires 3 September 2026 [Page 9]