The notification management is a SEAL service that offers the notification functionality to one or more verticals. This service enables VAL clients to subscribe and receive notifications from the VAL servers and thereby offloading the complexity of delivery and reception of notifications to the enabler layer. It provides common notification delivery service to vertical applications.
The functional model for the notification management is based on the generic functional model specified in clause 6.2. It is organized into functional entities to describe a functional architecture which addresses the notification management aspects required for vertical applications. Since the notification management is a feature which considers the Uu interfaces, only the on-network functional model is specified in this clause.
The notification management client communicates with the notification management server over the NM-UU reference point. The notification management client provides the support for notification management functions to the VAL client(s) over NM-C reference point. The VAL server(s) communicates with the notification management server over the NM-S reference point for delivering the notification messages which is targeted for the VAL client(s). Notification management server sends these notification messages to the notification management client either through NM-UU interface for direct delivery (e.g. Long-polling, WebSocket) or through the OEM PUSH server for indirect delivery (e.g. FCM, APNS, OMA PUSH) which is implementation specific and outside the scope of this specification.
The notification management client functional entity acts as the application client for notification management aspects. It interacts with the notification management server. It handles the notification messages received from the notification management server and deliver it to the corresponding VAL clients residing on the VAL UE.
The notification management client functional entity is supported by the HTTP client functional entities of the signalling control plane.
The notification management server is a functional entity that handles the notification management aspects by interacting with the notification management client and the VAL servers. The notification management server receives the notification messages from the vertical application layer and delivers it to the notification management client. The notification management server acts as CAPIF's API exposing function as specified in TS 23.222.
The interactions related to notification management functions between the notification management client and the notification management server are supported by NM-UU reference point. This reference point utilizes Uu reference point as described in TS 23.401 and TS 23.501.
The interactions related to notification management functions between the VAL client(s) and the notification management client within a VAL UE are supported by NM-C reference point.
The interactions related to notification management functions between the VAL server(s) and the notification management server are supported by NM-S reference point. This reference point is an instance of CAPIF 2 reference point as specified in TS 23.222.
This sub-clause describes the procedure and information flows for notification management service. The notification management procedures apply to on-network VAL service only.
Table 17.3.2.1-1 describes the information flow create notification channel request from the notification management client to the notification management server.
Table 17.3.2.2-1 describes the information flow create notification channel response from the notification management server to the notification management client.
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 notification management server
Callback URL
M
The URL to be shared to the VAL server by the VAL client for sending the notifications to the notification management server
Validity duration
O
How long the notification channel will last (i.e. channel lifetime) as granted by the notification management server.
Channel ID
M
Unique identifier for the created notification channel
Table 17.3.2.3-1 describes the information flow open notification channel from the notification management client to the notification management server.
Table 17.3.2.4-1 describes the information flow notification message from VAL server to the notification management server and from notification management server to the notification management client.
Table 17.3.2.5-1 describes the information flow delete notification channel request from notification management client to the notification management server.
Table 17.3.2.6-1 describes the information flow delete notification channel response from notification management server to the notification management client.
Table 17.3.2.7-1 describes the information flow Update notification channel request from notification management client to the notification management server.
Table 17.3.2.8-1 describes the information flow Update notification channel request from notification management server to the notification management client.
Figure 17.3.3-1 below illustrates the procedure for receiving notifications from the notification management server by the notification management client.
Pre-conditions:
The notification management client does not have any notification channel open with the notification management server.
The notification management client creates notification channels (i.e. endpoint URLs), if not created already, to be used by the VAL server to send notification messages. To create notification channel, the notification management client sends a create notification channel request to the notification management 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 notification management client decides which type of the notification channel to be used based on the UE capability.
The notification management server sends the notification management client the Create notification channel response with the endpoint URLs that will be used by the VAL server to send the notification messages and the notification management client to receive the notification messages. The notification management server also includes what is the valid duration for these endpoint URLs to be used and the channel ID to uniquely identify the channel created in the response.
If the notification type is PULL method, the notification management client sends the Open notification channel to the notification management server to start receiving the notification message. For certain PUSH method notification type (such as WebSockets) the notification management client requests the notification management server to start the PUSH notification service with its specific protocol that is outside the scope of this specification.
The notification management client responds to the VAL client the status of its request as in step 1 to receive notifications from the VAL server. It also includes the callback URL which needs to be used by the VAL client while subscribing to the VAL server for receiving notifications.
The VAL client subscribes to the VAL server for receiving notifications. This request includes the subscription data and the callback URL returned from the notification management server in step 4.
The VAL server sends the notification message to the notification management server containing the VAL UE or VAL user ID, VAL service ID, VAL application ID and the notification data.
If the delivery method is PULL, the notification management server sends the notification message to the notification management client over the opened notification channel.
The notification management client delivers the received notification message to the appropriate VAL client based on the details as received in the notification message from the notification management server.
If the same notification channel is being used for other VAL clients in the UE, the notification management client sends the delete notification channel request with request type as de-register otherwise the notification management client sends the delete notification channel request with request type as delete to the notification management server. The delete notification channel request carries the channel ID of the notification channel.
The notification management client indicates to the VAL client about the status (de-registered or channel deleted or failure) of its request to stop receiving the notification.
The notification management client detects the expiry timer of the active notification channel being approached and a need for updating the new expiry time on notification management server.
To update notification channel, the notification management client sends an update notification channel request to the notification management server with the proposed new validity duration for the active channel.
The notification management server checks whether the new proposed expiry timer is valid or not. The NMS may accept the proposed validity duration from the request or assign a different validity duration based on the local policy.
The notification management server sends the notification management client the Update notification channel response with the valid duration for this active notification channel. The notification management client shall store the new valid duration of the notification management channel.