Processing Short Message Format (RSMF)

RSMF was made for the handling, delivering, and transporting short message information and records.


Why RSMF?

RSMF files are used in the handling, delivering, and transporting of short message information and records. An RSMF file is a way to normalize chat (ex: Teams and Slack) and mobile communications (e.g. SMS and WhatsApp) data into one file format. The issue with this data is each type has varying types of metadata and information inside of them. Prior to RSMF, each of these communication types would have its own specific data export. The RSMF file is a way to have one unified file type that can hold all information from all these various file types. 

What is an RSMF File?

Information from chat applications like Slack, Teams, SMS and WhatsApp are encapsulated into one RSMF file. This RSMF contains the text and metadata packaged from the source data.

What are the technical specifications of an RSMF?

In short, an RSMF file is an EML file with a ZIP attachment.

The EML file is an RFC 5322 standard and compliant internet message formatted file that has an .rsmf extension. The EML is partitioned into a “header” section and a “body” section which contain previews of the participants and messages.

The EML also contains an attachment rsmf.zip. The rsmf.zip file attachment will contain an “rsmf_manifest.json” as well as any attachments or avatar files.

This results in a short messaging package to be processed and pushed into review.

What is the RSMF_MANIFEST.JSON File?

The rsmf_manifest.json is a specifically-formatted JSON file containing the activity in the short messages, such as:

  • Participants

  • Events – an individual message between participants. 
  • Conversations – a group of events. This is built from the conversation id field.
  • Parentid – a subgrouping of events, similar to a thread or a family. E.g., “Reply in Thread” in Slack.
  • Event Collection IDs (this was introduced in RSMF 2.0).
  • Slices – A time window within a conversation. Processing exports 24 hour slices. 

Reveal Processing and RSMF Handling

Reveal Processing has been engineered to improve positive identification of RSMF as a distinct file type and process these data in a format that is required for the Reveal review environment.

The primary requirement for the processing of RSMF files is the RFC RSMF wrapper (the EML) which contains the header and body. The header has a required field (X-RSMF-Version) for processing to truly identify the content for full processing support. This is true for both RSMF versions 1.0 and 2.0. Inside the RSMF.ZIP wrapped in the EML are an RSMF file and the rsmf_manifest.json file. 

  • The RSMF file contains virtual paths and instructions to process the content that resides in the rsmf_manifest.json. 
  • The manifest will contain the participants, conversations, events, and event collection ids.
  • Attachments and avatars will also fall inline inside the RSMF.zip file.
  • Further support of the RSMF 2.0 specification will be evaluated based on requested functionality requirements.

During Archive Processing, Filetype 10007 (RSMF_ZIP Files) requires special processing from standard zip files. There will be metadata containing some of the key information, such as communicators (participants), dates and times, communication type and multi-document number tracking.

Dates and Times

Each event is stored as its own record and then are aggregated on conversation or thread levels. The hour offset of the chosen time zone/daylight savings setting are applied to the dates and times found within the RSMF. At export, each conversation is split into a 24-hour time period (or 'slices'), as a single ‘document’ for export with the associated metadata provided as a record. If a conversation spans multiple 24-hour periods, the relationship will be identified.

NOTE: Reveal Processing assumes the dates within imported RSMFs are in UTC.

To review the RSMF handling workflow in Reveal, please see Short Message Format Workflow

 

Last Updated 8/30/2024