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.
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:
The MCData user has an account with the MCData message store.
A successful authentication and authorization have been performed between the message store client and the MCData message store.
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.
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.
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.
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:
The MCData user has an account with the MCData message store.
A successful authentication and authorization have been performed between the message store client and the MCData message store.
The Message store client is in an ongoing session with the MCData message store.
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:
The MCData user has an account with the MCData message store.
A successful authentication and authorization have been performed between the message store client and the MCData message store.
The Message store client doesn't have an ongoing session with the MCData message store.
The trust relationship between the MCData notification server and the MCData message store has been established.
The MCData notification server has a trust relationship and connection with the PUSH Enabler server.
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.
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.
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.
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.
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.
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:
A notification channel has already been requested and established between the message notification client and MCData notification server.
The message store client has a successful notification subscription with the MCData message store.
The validity duration of the notification channel is about to expire.
The message notification client sends the Update notification channel request, including the desired new validity duration, to the MCData notification server.
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.
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.
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:
A notification channel has already been requested and established between the message notification client and MCData notification server.
The message store client has a successful notification subscription with the MCData message store.
The MCData user no longer wants to receive notifications from the MCData message store.
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.
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.
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:
A successful authentication and authorization have been performed between the message store client and the MCData message store.
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.
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.
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:
A successful authentication and authorization have been performed between the message store client and the MCData message store.
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.
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.
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.
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:
A successful authentication and authorization have been performed between the message store client and the MCData message store.
The configuration to store the MCData communication in MCData message store is enabled for the MCData user.
MCData user has requested to store his MCData communication.
The message store client knows the object identifier of the stored object.
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.
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.
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.