7.13.3 Manage MCData message store

23.2823GPPFunctional architecture and information flows to support Mission Critical Data (MCData)Release 18Stage 2TS

7.13.3.1 Information flows for managing MCData message store

7.13.3.1.1 MCData retrieve a stored object request

Table 7.13.3.1.1-1 describes the information flow for the MCData retrieve a stored object request sent from the message store client to the MCData message store.

Table 7.13.3.1.1-1: MCData retrieve a stored object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the object stored in the MCData message store

7.13.3.1.2 MCData retrieve a stored object response

Table 7.13.3.1.2-1 describes the information flow for the MCData retrieve a stored object response sent from the MCData message store to the message store client.

Table 7.13.3.1.2-1: MCData retrieve a stored object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Stored object

M

The stored object identified by the object identifier in the request. This information element shall be returned as empty when there is no stored object can be identified by the object identifier in the request

7.13.3.1.3 MCData search stored objects request

Table 7.13.3.1.3-1 describes the information flow for the MCData search stored objects request sent from the message store client to the MCData message store.

Table 7.13.3.1.3-1: MCData search stored objects request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Search criteria

M

Any part of the stored object can be the search criteria. Linking multiple parts of a stored object as the search criteria is possible

7.13.3.1.4 MCData search stored objects response

Table 7.13.3.1.4-1 describes the information flow for the MCData search stored objects response sent from the MCData message store to the message store client.

Table 7.13.3.1.4-1: MCData search stored objects response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Stored object(s)

M

The stored object(s) that meets the search criteria. This information element shall be returned as empty when there is no stored object can be identified by the search criteria in the request

7.13.3.1.5 MCData update a stored object request

Table 7.13.3.1.5-1 describes the information flow for the MCData update a stored object request sent from the message store client to the MCData message store.

Table 7.13.3.1.5-1: MCData update a stored object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the object stored in the MCData message store

Metadata

M

The metadata that will be updated

7.13.3.1.6 MCData update a stored object response

Table 7.13.3.1.6-1 describes the information flow for the MCData update a stored object response sent from the MCData message store to the message store client.

Table 7.13.3.1.6-1: MCData update a stored object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user storage area in the MCData message store

Result

M

The result if the update is success or failure

7.13.3.1.7 MCData delete a stored object request

Table 7.13.3.1.7-1 describes the information flow for the MCData delete a stored object request sent from the message store client to the MCData message store.

Table 7.13.3.1.7-1: MCData delete a stored object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the object stored in the MCData message store

7.13.3.1.8 MCData delete a stored object response

Table 7.13.3.1.8-1 describes the information flow for the MCData delete a stored object response sent from the MCData message store to the message store client.

Table 7.13.3.1.8-1: MCData delete a stored object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user storage area in the MCData message store

Result

M

The result if the delete is success or failure

7.13.3.1.9 MCData synchronization request

Table 7.13.3.1.9-1 describes the information flow for the MCData synchronization request sent from the message store client to the MCData message store.

Table 7.13.3.1.9-1: MCData synchronization request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Synchronization type

M

Indicates the type of synchronization is requested. It can be a full or partial synchronization

Filter criteria (see NOTE)

O

The filter criteria indicate what kind of stored objects needs to be synchronized to the device local message store

NOTE: Filter criteria information element shall be presented if the Synchronization type is partial.

7.13.3.1.10 MCData synchronization response

Table 7.13.3.1.10-1 describes the information flow for the MCData synchronization response sent from the MCData message store to the message store client.

Table 7.13.3.1.10-1: MCData synchronization response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Stored objects

M

The stored objects that need to be synchronized with the device local message store. Empty information element means no stored objects need to be synchronized

7.13.3.1.11 MCData create a user account request

Table 7.13.3.1.11-1 describes the information flow for the MCData create a user account request sent from the MCData server to the MCData message store.

Table 7.13.3.1.11-1: MCData create a user account request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

7.13.3.1.12 MCData create a user account response

Table 7.13.3.1.12-1 describes the information flow for the MCData create a user account response sent from the MCData message store to the MCData server.

Table 7.13.3.1.12-1: MCData create a user account response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the account creation is success or failure

7.13.3.1.13 MCData deposit an object request

Table 7.13.3.1.13-1 describes the information flow for the MCData deposit an object request sent from the MCData server to the MCData message store.

Table 7.13.3.1.13-1: MCData deposit an object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Retrieve file indication

O

Flag to instruct the MCData message store to retrieve the file to locally store in the MCData user’s account

Object

M

The object needs to be stored

7.13.3.1.14 MCData deposit an object response

Table 7.13.3.1.14-1 describes the information flow for the MCData deposit an object response sent from the MCData message store to the MCData server.

Table 7.13.3.1.14-1: MCData deposit an object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object Identifier

M

The object identifier that will be used to retrieve this object in the MCData message store directly. If this information element is empty it means the object is not stored

7.13.3.1.15 MCData copy a stored object request

Table 7.13.3.1.15-1 describes the information flow for the MCData copy a stored object request sent from the message store client to the MCData message store.

Table 7.13.3.1.15-1: MCData copy a stored object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the object stored in the MCData message store

Destination folder identifier

M

Indicates where the object will be copied to

7.13.3.1.16 MCData copy a stored object response

Table 7.13.3.1.16-1 describes the information flow for the MCData copy a stored object response sent from the MCData message store to the message store client.

Table 7.13.3.1.16-1: MCData copy a stored object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

7.13.3.1.17 MCData move a stored object request

Table 7.13.3.1.17-1 describes the information flow for the MCData move a stored object request sent from the message store client to the MCData message store.

Table 7.13.3.1.17-1: MCData move a stored object request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the object stored in the MCData message store

Destination folder identifier

M

Indicates where the object will be moved to.

7.13.3.1.18 MCData move a stored object response

Table 7.13.3.1.18-1 describes the information flow for the MCData move a stored object response sent from the MCData message store to the message store client.

Table 7.13.3.1.18-1: MCData move a stored object response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

7.13.3.1.19 MCData create folder request

Table 7.13.3.1.19-1 describes the information flow for the MCData create folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.19-1: MCData create folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Parent folder identifier

O

The parent folder identifier of the created folder

Folder name

O

Indicates the name of the new folder

7.13.3.1.20 MCData create folder response

Table 7.13.3.1.20-1 describes the information flow for the MCData create folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.20-1: MCData create folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

Folder identifier

O

The identifier of the folder that is created

7.13.3.1.21 MCData delete folder request

Table 7.13.3.1.21-1 describes the information flow for the MCData delete folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.21-1: MCData delete folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Folder identifier

M

The identifier of the folder to be deleted

7.13.3.1.22 MCData delete folder response

Table 7.13.3.1.22-1 describes the information flow for the MCData delete folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.22-1: MCData delete folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

7.13.3.1.23 MCData copy folder request

Table 7.13.3.1.23-1 describes the information flow for the MCData copy folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.23-1: MCData copy folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Source folder identifier

M

The identifier of the folder to copy from

Destination folder identifier

M

The identifier of the folder to copy to

New folder name (see NOTE)

O

Indicates the name of the new folder

NOTE: If no new folder nameinformation element is provided, the new folder name will be the same as the source folder name.

7.13.3.1.24 MCData copy folder response

Table 7.13.3.1.24-1 describes the information flow for the MCData copy folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.24-1: MCData copy folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

New folder identifier

M

Indicates the identifier of the new folder

7.13.3.1.25 MCData move folder request

Table 7.13.3.1.25-1 describes the information flow for the MCData move folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.25-1: MCData move folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Source folder identifier

M

The identifier of the folder to be moved

Destination folder identifier

M

The identifier of the folder to move to

New folder name (see NOTE)

O

Indicates the name of the new folder

NOTE: If no new folder name information element is provided, the new folder name will be the same as the source folder name.

7.13.3.1.26 MCData move folder response

Table 7.13.3.1.26-1 describes the information flow for the MCData move folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.26-1: MCData move folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

The result if the operation is success or failure

New folder identifier

M

Indicates the identifier of the new folder

7.13.3.1.27 MCData list folder request

Table 7.13.3.1.27-1 describes the information flow for the MCData list folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.27-1: MCData list folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Folder identifier

O

The identifier of the folder to be listed

7.13.3.1.28 MCData list folder response

Table 7.13.3.1.28-1 describes the information flow for the MCData list folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.28-1: MCData list folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result (see NOTE)

M

The result of the list operation

NOTE: If no folder identifier information element is provided in the request, the MCData message store returns folders from the root of the user account. If folder identifier information element is provided in the request, the MCData message store returns the child folders from that folder identifier provided.

7.13.3.1.29 MCData upload objects request

Table 7.13.3.1.29-1 describes the information flow for the MCData upload objects request sent from the message store client to the MCData message store.

Table 7.13.3.1.29-1: MCData upload objects request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Targeted folder identifier

M

The folder where the uploaded objects will be stored

Uploaded objects

M

The objects in the client that need to be uploaded to the MCData message store

7.13.3.1.30 MCData upload objects response

Table 7.13.3.1.30-1 describes the information flow for the MCData upload objects response sent from the MCData message store to the message store client.

Table 7.13.3.1.30-1: MCData upload objects response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object upload result

M

Indicates if the objects upload is successful or not

7.13.3.1.31 MCData synchronization notification

Table 7.13.3.1.31-1 describes the information flow for the MCData synchronization notification sent from the MCData message store to the message store client.

Table 7.13.3.1.31-1: MCData synchronization notification

Information element

Status

Description

MCData ID

M

The identity of the MCData user that the notification is for

7.13.3.1.32 Create notification channel request

Table 7.13.3.1.32-1 describes the information flow for the create notification channel request sent from the message notification client to the MCData notification server.

Table 7.13.3.1.32-1: Create notification channel request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

O

How long the notification channel is intended to be used (see NOTE)

Channel Type

M

Indicates if PULL (e.g. long-polling method) or PUSH method will be used to deliver notification messages

NOTE: If this element not present, a default validity duration shall be provided by the server in response

7.13.3.1.33 Create notification channel response

Table 7.13.3.1.33-1 describes the information flow for the create notification channel response sent from the MCData notification server to the message notification client.

Table 7.13.3.1.33-1: Create notification channel response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the notification channel will last (i.e. channel lifetime) as granted by the MCData notification server

Notification URL

O

The URL to receive the notification message if a Pull method is requested . For some PUSH method implementation (such as WebSockets) this URL is used to start the PUSH notification service from the MCData notification server

Callback URL

M

The URL used by the Message notification client to subscribe to MCData message store notifications

7.13.3.1.34 Open notification channel

Table 7.13.3.1.34-1 describes the information flow for the open notification channel sent from the message notification client to the MCData notification server.

Table 7.13.3.1.34-1: Open notification channel request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Notification URL

M

The URL to receive the notification message

7.13.3.1.35 Subscribe for notification request

Table 7.13.3.1.35-1 describes the information flow for the subscribe for notification request sent from the message store client to the MCData message store.

Table 7.13.3.1.35-1: Subscribe for notification request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Callback URL

M

The URL where to send the notification message

Validity duration

M

How long the subscription to notification will last (i.e. subscription lifetime); this value shall be the returned value in the create notification channel response

7.13.3.1.36 Subscribe for notification response

Table 7.13.3.1.36-1 describes the information flow for the subscribe for notification response sent from the MCData message store to the message store client.

Table 7.13.3.1.36-1: Subscribe for notification response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the subscription of notification will last (i.e. subscription lifetime) as granted by the server

Result

M

Indicates if the subscription is success or failure

7.13.3.1.37 MCData search folder request

Table 7.13.3.1.37-1 describes the information flow for the MCData search folder request sent from the message store client to the MCData message store.

Table 7.13.3.1.37-1: MCData search folder request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Search criteria

M

Any part of the folder information (such as metadata) can be used as the search criteria. Linking multiple parts of the folder information as the search criteria is possible

7.13.3.1.38 MCData search folder response

Table 7.13.3.1.38-1 describes the information flow for the MCData search folder response sent from the MCData message store to the message store client.

Table 7.13.3.1.38-1: MCData search folder response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Folder identifier(s)

M

The folder(s) that meets the search criteria. This information element shall be returned as empty if there is no folder matching the search criteria

7.13.3.1.39 MCData retrieve folder content request

Table 7.13.3.1.39-1 describes the information flow for the MCData retrieve folder content request sent from the message store client to the MCData message store.

Table 7.13.3.1.39-1: MCData retrieve folder content request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Folder identifier

M

The identifier of the folder its content is requested to be returned

7.13.3.1.40 MCData retrieve folder content response

Table 7.13.3.1.40-1 describes the information flow for the MCData retrieve folder content response sent from the MCData message store to the message store client.

Table 7.13.3.1.40-1: MCData retrieve folder content response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Folder content

M

The content of the requested folder; such as objects and subfolders. This information element shall be returned as empty if the requested folder is not found.

7.13.3.1.41 MCData retrieve file to store locally request

Table 7.13.3.1.41-1 describes the information flow for the MCData retrieve file to store locally request sent from the message store client to the MCData message store and from the MCData server to the MCData message store.

Table 7.13.3.1.41-1: MCData retrieve file to store locally request

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Object identifier

M

The object identifier of the FD communication object stored in the MCData message store

7.13.3.1.42 MCData retrieve file to store locally response

Table 7.13.3.1.42-1 describes the information flow for the MCData retrieve file to store locally response sent from the MCData message store to the message store client and the MCData server.

Table 7.13.3.1.42-1: MCData retrieve file to store locally response

Information element

Status

Description

MCData ID

M

The identity of the MCData user

Result

M

Indicates success or failure of MCData update FD object with file content request

Content reference

O

URL reference to the file content stored in the MCData user’s storage area

NOTE: Content reference shall be present if the content stored into the MCData user’s storage area successfully.

7.13.3.1.43 Update notification channel request

Table 7.13.3.1.43 describes the information flow for the update notification channel request sent from the message notification client to the MCData notification server.

Table 7.13.3.1.43: Update notification channel request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the notification channel will last (i.e. channel lifetime) as requested by the Message notification client.

7.13.3.1.44 Update notification channel response

Table 7.13.3.1.44 describes the information flow for the update notification channel response sent from the MCData notification server to the message notification client.

Table 7.13.3.1.44: Update notification channel response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the notification channel will last (i.e. channel lifetime) as granted by the MCData notification server

Result

M

Indicates if the update is success or failure

7.13.3.1.45 Update notification subscription request

Table 7.13.3.1.45 describes the information flow for the update notification subscription request sent from the message store client to the MCData message store.

Table 7.13.3.1.45: Update notification subscription request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the notification channel will last (i.e. notification subscription lifetime). This value should be the returned value in the update notification channel response

7.13.3.1.46 Update notification subscription response

Table 7.13.3.1.46 describes the information flow for the update notification subscription response sent from the MCData message store to the message store client.

Table 7.13.3.1.46: Update notification subscription response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Validity duration

M

How long the notification channel will last (i.e. notification subscription lifetime) as granted by the MCData message store

Result

M

Indicates if the update is success or failure

7.13.3.1.47 Delete notification channel request

Table 7.13.3.1.47 describes the information flow for the delete notification channel request sent from the message notification client to the MCData notification server.

Table 7.13.3.1.47: Delete notification channel request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

7.13.3.1.48 Delete notification channel response

Table 7.13.3.1.48 describes the information flow for the delete notification channel response sent from the MCData notification server to the message notification client.

Table 7.13.3.1.48: Delete notification channel response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Result

M

Indicates if deletion of notification channel is success or failure

7.13.3.1.49 Delete notification subscription request

Table 7.13.3.1.49 describes the information flow for the delete notification subscription request sent from the message store client to the MCData message store.

Table 7.13.3.1.49: Delete notification subscription request

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

7.13.3.1.50 Delete notification subscription response

Table 7.13.3.1.50 describes the information flow for the delete notification subscription response sent from the MCData message store to the message store client.

Table 7.13.3.1.50: Delete notification subscription response

Information element

Status

Description

MCData ID

M

The identity of the MCData client initiating the request

Result

M

Indicates if deletion of notification subscription is success or failure

7.13.3.1.51 Notification message

Table 7.13.3.1.51-1 describes the information flow for the notification message sent from the MCData message store to the MCData notification server and from the MCData notification server to the MCData notification client.

Table 7.13.3.1.51-1: Notification message

Information element

Status

Description

Event-data

M

The specific information carried in the notification message to inform the MCData client of changes to the MCData message store. (see NOTE)

NOTE: MCData client uses the event information for actions such as updating its local message store or uses the event as a trigger for inquiring the Message store for desired changes.

7.13.3.2 Retrieve a stored object

7.13.3.2.1 General

A stored object can be retrieved from the MCData message store with the known object identifier that is generated by the MCData message store when the object was deposited.

7.13.3.2.2 Procedure

The procedure in figure 7.13.3.2.2-1 describes the case when a message store client retrieves a stored object from the MCData message store using the known object identifier.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

2. The message store client knows the object identifier of the stored object.

Figure 7.13.3.2.2-1: Retrieve a stored object

1. The message store client would like to retrieve a stored object from the MCData message store and initiates a MCData retrieve a stored object request toward the MCData message store. The unique object identifier of the stored object is included in the request.

2. The MCData message store returns the stored object that is identified by the object identifier in the MCData retrieve a stored object response.

7.13.3.3 Search stored objects

7.13.3.3.1 General

The message store client can search stored objects in the MCData message store with certain criteria. This procedure allows the message store client to look for stored object(s) without knowing the object identifier(s) of the object. This procedure also allows the message store client to retrieve stored objects that are related to each other; such as all messages and files exchanged in a conversation.

7.13.3.3.2 Procedure

The procedure in figure 7.13.3.3.2-1 describes the case when a message store client searches and retrieves relevant stored objects from the MCData message store.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.3.2-1: Search stored objects

1. The message store client would like to retrieve stored objects that meet certain criteria (such as with the same Conversation identifier) and initiates a MCData search objects request toward the MCData message store. The search criteria are included in the request.

2. The MCData message store looks up all stored objects that meet the search criteria and returns them in the MCData search objects response.

7.13.3.4 Update a stored object

7.13.3.4.1 General

The message store client can update the metadata of a stored object (such as mark a stored object as "flagged").

7.13.3.4.2 Procedure

The procedure in figure 7.13.3.4.2-1 describes the case when a message store client updates metadata of a stored object in the MCData message store.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

2. The message store client knows the object identifier of the stored object.

Figure 7.13.3.4.2-1: Update a stored object

1. The message store client would like to update the metadata of a stored object (such as "flagged") and initiates a MCData update a stored object request toward the MCData message store. The stored object’s object identifier and the updated meta data are included in the request.

2. The MCData message store locates the stored object with the object identifier and updates its metadata as carried in the MCData update a stored object request and communicates the result in the MCData update a stored object response.

7.13.3.5 Delete a stored object

7.13.3.5.1 General

The message store client of an authorized user can delete a stored object in the MCData message store.

7.13.3.5.2 Procedure

The procedure in figure 7.13.3.5.2-1 describes the case when a stored object in the MCData message store is deleted by the message store client of an authorized MCData user.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

2. The message store client knows the object identifierof the stored object.

3. The MCData user is authorized to delete the stored object.

Figure 7.13.3.5.2-1: Delete a stored object

1. The message store client would like to delete a stored object in the MCData message store and initiates a MCData delete a stored object request toward the MCData message store. The stored object’s object identifier is included in the request.

2. The MCData message store locates the stored object with the object identifier and permanently removes it from the MCData message store. It then communicates the result in the MCData delete a stored object response.

7.13.3.6 Synchronization

7.13.3.6.1 General

The message store client can synchronize its local message store with the MCData message store. Different level of synchronization shall be supported with a filter in the request.

7.13.3.6.2 Procedure

The procedure in figure 7.13.3.6.2-1 describes the case when a message store client synchronizes its local message store with the MCData message store for a MCData user.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.6.2-1: Synchronization

1. The message store client would like to synchronize its local message store with the MCData message store. It initiates the MCData synchronization request toward the MCData message store. The synchronization type and optional filter criteria are included in the request to indicate the type of synchronization (such as full synchronization, partial synchronization etc.) is requested.

2. The MCData message store returns all the stored objects, based on the synchronization filter criteria, to the message store client in the MCData synchronization response.

7.13.3.7 Create a user account

7.13.3.7.1 General

When the MCData server is ready to deposit an object into the MCData user’s storage area in the MCData message store the MCData user’s storage area (i.e. user account) needs to be created already. If the user account is not created, the MCData server shall create the user account (i.e. allocate the MCData user’s storage area in the MCData message store) first and then deposit the subsequent MCData communications.

NOTE: Another possible way to create a user account on the MCData message store is through service provisioning which is out of the scope of the present document.

7.13.3.7.2 Procedure

The procedure in figure 7.13.3.7.2-1 describes how the MCData server creates a user account (allocate MCData user storage area) in the MCData message store.

Pre-conditions:

1. A successful authentication and authorization has been performed between the MCData server and the MCData message store.

2. No storage area in the MCData message store has been allocated for the MCData user; i.e. no user account has been created.

3. The MCData server is authorized to create user accounts on the MCData message store.

Figure 7.13.3.7.2-1: Create a user account

1. The MCData server would like to create a MCData user account in the MCData message store to store the MCData communication for that MCData user and initiates a MCData create a user account request toward the MCData message store. The MCData ID of the MCData user is included in the request.

2. The MCData message store creates a user account (i.e. allocate dedicated and secured storage area) for the MCData user as specified in the request and communicates the result back to the MCData server in the MCData create a user account response.

7.13.3.8 Deposit an object

7.13.3.8.1 General

MCData server needs to store the communication information (i.e. an object) for a MCData user during an active MCData communication. If there is a file URL in the object for file distribution in the communication, the MCData server may instruct the MCData message store to retrieve a copy of the file to store locally in the MCData user’s account.

7.13.3.8.2 Procedure

The procedure in figure 7.13.3.8.2-1 describes how the MCData server deposit an object into the MCData message store during an active MCData communication.

Pre-conditions:

1. A successful authentication and authorization has been performed between the MCData server and the MCData message store.

2. The MCData user has been allocated a secured storage area in the MCData message store.

3. The configuration to store the MCData communication in MCData message store is enabled for the MCData user.

4. MCData user has requested to store his MCData communication and also store the distributed file content into his MCData message store account if the MCData communication is for file distribution through URL.

Figure 7.13.3.8.2-1: Deposit an object

1. The MCData server would like to deposit a MCData communication information (i.e. object) to the MCData user’s storage area in the MCData message store and initiates a MCData deposit an object request toward the MCData message store. The object is constructed by the MCData server and is included in the request. If the object is a message that carries a URL for file distribution, the MCData server may instruct the MCData message store to retrieve a copy of the file and store locally in the MCData user’s account by setting the retrieve file indication information element to true.

2. The MCData message store deposits the object into the MCData user’s storage area. If the retrieve file indication is set in the MCData deposit an object request the MCData message store retrieves the file URL from the stored object and fetches the file content from the MCData content server.

3. The MCData message store stores the file content into the MCData user’s storage area and update the object with the URL referencing the file content stored in the MCData user’s storage area.

4. The MCData message store communicates the result back to the MCData server in the MCData deposit an object response. The object identifier of the stored object is returned.

7.13.3.9 Copy a stored object

7.13.3.9.1 General

A stored object in the MCData message store can be copied to another location (i.e. folder) in the same MCData user account where there is no such object stored. After the successful object copy operation, the object will exist in both the original and destination locations. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.9.2 Procedure

The procedure in figure 7.13.3.9.2-1 describes the case when a stored object is copied to a different location in the same MCData user account.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

3. The message store client knows the object identifier of the stored object and the destination folder identifier.

Figure 7.13.3.9.2-1: Copy a stored object

1. The message store client would like to copy a stored object in the MCData message store to a destination folder and initiates a MCData copy a stored object request toward the MCData message store. The uniqe identifier of the stored object and the destination folder are included in the request.

2. The MCData message store copies the object to the target location.

3. The MCData message store returns the result of the request in the MCData copy a stored object response.

7.13.3.10 Move a stored object

7.13.3.10.1 General

A stored object in the MCData message store can be moved to a different location (i.e. folder) in the same MCData user account. After the successful object move operation the object will only exist in the new location. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.10.2 Procedure

The procedure in figure 7.13.3.10.2-1 describes the case when a stored object is moved to a different location in the same MCData user account.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

3. The message store client knows the object identifier of the stored object and the destination folder identifier.

Figure 7.13.3.10.2-1: Move a stored object

1. The message store client would like to move a stored object in the MCData message store to a destination folder and initiates a MCData move a stored object request toward the MCData message store. The uniqe object identifier of the stored object and the destination folder are included in the request.

2. The MCData message store moves the object to the target location.

3. The MCData message store returns the result of the request in the MCData move a stored object response.

7.13.3.11 Folder create operation

7.13.3.11.1 General

A user can create a new folder in his user account n the MCData message store. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.11.2 Procedure

The procedure in figure 7.13.3.11.2-1 describes the case when a MCData user creates a new folder in the MCData message store.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.11.2-1: Create a new user folder

1. The MCData user would like to create a new folder in his user account in the MCData message store, the message store client initiates a MCData create folder request toward the MCData message store. The parent folder identifier and the folder name are included in the request to indicate where the new folder will be created.

2. The MCData message store creates the user folder in the location specified in the request. If the folder name is provided in the request, the MCData message store creates the folder with the provided folder name. If the provided folder name has a conflict or no folder name is provided in the request, the MCData message store assigns a name for the new user folder.

3. The MCData message store returns the result in the MCData create folder response. The identifier of the new folder is returned in the response.

7.13.3.12 Folder delete operation

7.13.3.12.1 General

A user can delete an existing folder in his user account in the MCData message store. All the child folders and objects stored in that folder will be deleted. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.12.2 Procedure

The procedure in figure 7.13.3.12.2-1 describes the case when a MCData user deletes an existing folder in the MCData message store.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.12.2-1: Delete a user folder

1. The MCData user would like to delete an existing folder in his user account in the MCData message store, the message store client initiates a MCData delete folder request toward the MCData message store. The folder identifier of the folder to be deleted is included in the request.

2. The MCData message store identifies the target folder and deletes it from the user account. All the child folders and objects stored in this folder are also deleted.

3. The MCData message store returns the result in the MCData delete folder response.

7.13.3.13 Folder copy operation

7.13.3.13.1 General

A user can copy an existing folder in his user account to a different location. All the child folders and objects stored in that folder will be copied to the new folder. The name of the new folder will be the same as the folder it copies from or the name provided in the request. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.13.2 Procedure

The procedure in figure 7.13.3.13.2-1 describes the case when a MCData user copies an existing folder in the MCData message store.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.13.2-1: Copy a user folder

1. The MCData user would like to copy an existing folder in his user account in the MCData message store, the message store client initiates a MCData copy folder request toward the MCData message store. The folder identifiers of the source and destination folders and the new folder name are included in the request.

2. The MCData message store copy the source folder to the destination with the new folder name. If no new folder name is provided in the request, the source folder name will be used. All the child folders and objects stored in this folder are also copied to the new folder.

3. The MCData message store returns the result in the MCData copy folder response. The identifier of the new folder is returned in the response.

7.13.3.14 Folder move operation

7.13.3.14.1 General

A user can move an existing folder in his user account to a different location. All the child folders and objects stored in that folder will be moved to the new folder. The name of the new folder will be the same as the folder it moves from or the name provided in the request. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.14.2 Procedure

The procedure in figure 7.13.3.14.2-1 describes the case when a MCData user moves an existing folder in the MCData message store.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.14.2-1: Move a user folder

1. The MCData user would like to move an existing folder in his user account in the MCData message store to a new location, the message store client initiates a MCData move folder request toward the MCData message store. The folder identifiers of the source and destination folders and the new folder name are included in the request.

2. The MCData message store move the source folder to the destination with the new folder name. If no new folder name is provided in the request, the source folder name will be used. All the child folders and objects stored in this folder are also moved to the new folder.

3. The MCData message store returns the result in the MCData move folder response. The identifier of the new folder is returned in the response.

7.13.3.15 Folder list operation

7.13.3.15.1 General

A user can view the folder structure in his user account in the MCData message store. The target folder hierarchy structure will be presented to the user; i.e. the folder and all its child folders. This operation is only meaningful when the user account in the MCData message store is structured in the folder hierarchy.

7.13.3.15.2 Procedure

The procedure in figure 7.13.3.15.2-1 describes the case when a MCData user lists an existing folder’s hierarchy structure in the MCData message store.

Pre-conditions:

1. The MCData user has an account in the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.15.2-1: Folder list operation

1. The MCData user would like to view the folder strcture of a targeted folder in his user account in the MCData message store, the message store client initiates a MCData list folder request toward the MCData message store. The folder identifier of the target folder is included in the request.

2. The MCData message store retrieves the target folder and all its child folders. If no target folder name is provided in the request, the MCData message store will use the root folder as the target folder.

3. The MCData message store returns the result in the MCData list folder response.

7.13.3.16 Upload objects

7.13.3.16.1 General

A MCData user, with an account in the MCData message store, involved in an off-network communication will store the communication as objects in a specific folder in the local message store on his UE. These objects can be uploaded to his user account in the MCData message store once he is connected to the network with MC data service again.

7.13.3.16.2 Procedure

The procedure in figure 7.13.3.16.2-1 describes the case when a message store client uploads new objects in its local message store to the MCData message store for a MCData user.

Pre-conditions:

1. The MCData user has an account with the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.16.2-1: Upload objects

1. The message store client would like to upload new objecs in its local message store to the MCData message store. It initiates the MCData upload objects request toward the MCData message store. The uploaded objects and the target folder identifier where the objects will be stored are included in the request.

2. The MCData message store stores the uploaded objects to the target folder. If the target folder doesn’t exist, the MCData message store will create it.

3. The MCData message store returns the result in the MCData upload objects response.

7.13.3.17 Notify client to synchronize

7.13.3.17.1 General

MCData message store will send a notification to the MCData user when there are new objects in the MCData message store that need to be synchronized with his local message store.

7.13.3.17.2 Procedure using in-band connection

The procedure in figure 7.13.3.17.2-1 describes how the MCData message store notifies the message store client that there are new objects in the MCData message store need to be synchronized.

Pre-conditions:

1. The MCData user has an account with the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

3. The Message store client is in an ongoing session with the MCData message store.

Figure 7.13.3.17.2-1: Notify client to synchronize using in-band connection

1. The MCData message store receives new objects for the MCData user and decides to send a notification to inform the MCData user.

NOTE: How MCData message store determines if a notification needs to be sent to the message store client is out of scope of the present specification.

2. The MCData message store sends the MCData synchronization notification to the message store client.

7.13.3.17.3 Procedure using MCData notification server

The procedure in figure 7.13.3.17.3-1 describes how the MCData message store notifies the message notification client, using a MCData notification server, that there are new objects in the MCData message store needing to be synchronized. This procedure uses a web base notification mechanism in wide deployment today. The Message notification client requests the notification service from the MCData notification server and the MCData notification server returns with two URLs; one used by the service client to inform the service server where to send notification messages and the other one to use by the service client to PULL notification messages from the MCData notification server.

Pre-conditions:

1. The MCData user has an account with the MCData message store.

2. A successful authentication and authorization have been performed between the message store client and the MCData message store.

3. The Message store client doesn’t have an ongoing session with the MCData message store.

4. The trust relationship between the MCData notification server and the MCData message store has been established.

5. The MCData notification server has a trust relationship and connection with the PUSH Enabler server.

Figure 7.13.3.17.3-1: Notify client to synchronize through MCData notification server

1. The Message notification client wants to create notification channels (i.e. endpoint URLs) to be used by the MCData message store to send notification messages and sends a Create notification channel request to the MCData notification server. The desired validity duration for the channels to be used and the notification channel type (PUSH or PULL) are included in the request.

2. The MCData notification server authenticates the Message notification client and authorizes its request.

3. The MCData notification server sends the Message notification client the Create notification channel response with the endpoint URLs that will be used by the MCData message store to send the notification messages and the Message notification client to receive the notification messages. The MCData notification server also includes what is the valid duration for these endpoint URLs to be used in the response.

4. If the notification type is PULL method, the message notification client sends the Open notification channel to the MCData notification server to start receiving the notification message. For certain PUSH method notification type (such as WebSockets) the message notification client requests the MCData notification server to start the PUSH notification service with its specific protocol that is outside the scope of this specification.

5. The message store client sends the Subscribe for notification request to the MCData message store asking to be notified if there are changes to its message store account. The callback URL returned from the MCData notification server in step 3 is included in the request for the MCData message store to use to send notification messages.

6. The MCData message store sends the Subscribe for notification response to the message store client to acknowledge the request.

7. The MCData user’s message store account has changed and the MCData message store generates a notification message.

8. Using the callback URL, the MCData message store sends the notification message to the MCData notification server.

9. If the delivery method is PULL, the MCData notification server sends the notification message to the message notification client over the opened notification channel. If the delivery method is PUSH, the MCData notification server sends the notification message to the PUSH Enabler server (not shown in the figure) to deliver to the message notification client.

NOTE: The PUSH Enabler server is implementation specific and outside the scope of this specification.

The procedure in figure 7.13.3.17.3-2 describes how the message notification client updates the validity duration of a notification channel and subscription to avoid its expiration, i.e. to extend its lifetime.

Pre-conditions:

1. A notification channel has already been requested and established between the message notification client and MCData notification server.

2. The message store client has a successful notification subscription with the MCData message store.

3. The validity duration of the notification channel is about to expire.

Figure 7.13.3.17.3-2: Update a notification channel

1. The message notification client sends the Update notification channel request, including the desired new validity duration, to the MCData notification server.

2. The MCData notification server grants the request and sends the Update notification channel response to the message notification client. The new validity duration is included in the response.

3. The message store client sends the Update notification subscription request to the MCData message store with the new validity duration received from the MCData notification server in step 2.

4. The MCData message store sends the Update notification subscription response to the message store client and confirms the new validity duration.

The procedure in figure 7.13.3.17.3-3 describes how the message notification client delete a notification channel and subscription that is no longer needed.

Pre-conditions:

1. A notification channel has already been requested and established between the message notification client and MCData notification server.

2. The message store client has a successful notification subscription with the MCData message store.

3. The MCData user no longer wants to receive notifications from the MCData message store.

Figure 7.13.3.17.3-3: Delete a notification channel

1. The message store client decides to stop receiving notifications from the MCData message store and sends the Delete notification subscription request to the MCData message store.

2. The MCData message store acknowledges the request and sends the Delete notification subscription response to the message store client.

3. The message notification client sends the Delete notification channel request to the MCData notification server.

4. The MCData notification server acknowledges the request and sends the Delete notification channel response to the message notification client.

7.13.3.18 Search folder

7.13.3.18.1 General

The message store client can search stored folder(s) with certain criteria. This procedure allows the message store client to look for folder(s) that meet certain criteria such as when the folder is created. This procedure provides the message store client the ability to locate a specific folder(s) matching the search criteria to perform further operations.

7.13.3.18.2 Procedure

The procedure in figure 7.13.3.18.2-1 describes the case when a message store client searches and retrieves relevant stored objects from the MCData message store.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.18.2-1: Search folder

1. The message store client wants to retrieve message store folder(s) that meet certain criteria (such as when the folder(s) was created, certain keywords etc.) and initiates a MCData search folder request toward the MCData message store. The search criteria are included in the request.

2. The MCData message store identifies all folders that match the search criteria and returns them in the MCData search folder response.

7.13.3.19 Retrieve folder content

7.13.3.19.1 General

An MCData user can retrieve the content of a folder in the user’s message store account. This procedure allows the message store client to retrieve the specific folder’s content from the MCData message store.

7.13.3.19.2 Procedure

The procedure in figure 7.13.3.19.2-1 describes the case when a message store client retrieves the content of a specific folder in the MCData message store.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

Figure 7.13.3.19.2-1: retrieve folder content

1. The message store client wants to retrieve the content of a specific folder and initiates a MCData retrieve folder content request toward the MCData message store. The requested folder identifier is included in the request.

2. The MCData message store locates the requested folder and returns the content of the folder (e.g. objects and subfolders) in the MCData retrieve folder content response.

7.13.3.20 Store file contents distributed using HTTP

7.13.3.20.1 General

An MCData user can store the received file content in his message store account. This procedure allows the message store client to request the MCData message store to retrieve the file from the media storage function of MCData content server and store into MCData message store account of the user.

7.13.3.20.2 Procedure for storing the file – receiver side

The procedure in figure 7.13.3.20.3-1 describes the case when a message store client requests the MCData message store to retrieve the file from media storage function of MCData content server and store into MCData message store account of the user.

Pre-conditions:

1. A successful authentication and authorization have been performed between the message store client and the MCData message store.

2. The configuration to store the MCData communication in MCData message store is enabled for the MCData user.

3. MCData user has requested to store his MCData communication.

4. The message store client knows the object identifier of the stored object.

Figure 7.13.3.20.3-1: store file contents distributed using HTTP – receiver side

1. The Message store client initiates MCData retrieve file to store locally request towards the MCData message store. The object identifier corresponding to the stored MCData FD communication is included in the request.

2. The MCData message store retrieves the file URL from the stored object and fetches the file content from the MCData content server.

3. The MCData message store stores the file content into the MCData user’s storage area and update the object with the URL referencing the file content stored in the MCData user’s storage area.

4. The MCData message store provides the MCData retrieve file to store locally response to the message store client. This response includes the URL of the file being stored in the MCData user’s storage area.