6.2.2 Announce request procedure for open 5G ProSe direct discovery

24.5543GPPProximity-services (ProSe) in 5G System (5GS) protocol aspectsRelease 17Stage 3TS

6.2.2.1 General

The purpose of the announce request procedure for open 5G ProSe direct discovery is for the UE:

a) to obtain one or more ProSe application code(s) to be announced over the PC5 interface, upon a request for announcing from upper layers as defined in 3GPP TS 23.304 [2];

b) to inform the 5G DDNMF that the UE wants to stop announcing a ProSe application code as defined in 3GPP TS 23.304 [2]; or

c) to upload metadata associated with a ProSe application ID to the 5G DDNMF as defined in 3GPP TS 23.304 [2].

The UE shall be authorized for open 5G ProSe direct discovery announcing in the registered PLMN or the local PLMN based on the service authorization procedure as specified in clause 5, before initiating the announce request procedure.

The UE includes one of the ProSe application code(s) obtained as a result of a successful announce request procedure per PROSE PC5 DISCOVERY message and passes the PROSE PC5 DISCOVERY messages to the lower layers for transmission over the PC5 interface.

6.2.2.2 Announce request procedure initiation

Before initiating the announce request procedure for open 5G ProSe direct discovery, the UE is configured with the data structure of the ProSe application IDs appropriate for its HPLMN. This step is performed using mechanisms out of scope of 3GPP.

If the UE is authorized to perform open 5G ProSe direct discovery announcing in the PLMN operating the radio resources signalled from the serving PLMN, it shall initiate an announce request procedure:

a) when the UE is triggered by an upper layer application to announce a ProSe application ID and the UE has no valid corresponding ProSe application code for that upper layer application;

b) when the validity timer T5060 assigned by the 5G DDNMF to a ProSe application code has expired and the request from upper layers to announce the ProSe application ID corresponding to that ProSe application code is still in place;

c) when the UE selects a new PLMN while announcing a ProSe application code and intends to announce in the new PLMN and the UE is authorized for open 5G ProSe direct discovery announcing in the new PLMN;

d) when, while announcing a ProSe application ID, the UE intends to switch the announcing PLMN to a different PLMN without performing PLMN selection and the UE does not have a valid allocated ProSe application code for this new PLMN yet;

e) when the UE needs to inform the 5G DDNMF that the UE wants to stop announcing a ProSe application code; or

f) when the UE needs to update metadata associated with a ProSe application ID to the 5G DDNMF.

When the UE selects a new PLMN while announcing a ProSe application code and the UE is not yet authorized for open 5G ProSe direct discovery announcing in the new PLMN, the UE shall initiate an announce request procedure only after the UE is authorized for open 5G ProSe direct discovery announcing in the new PLMN.

NOTE 1: To ensure service continuity if the UE needs to keep announcing a ProSe application code corresponding to the same ProSe application ID, the UE can initiate the announce request procedure before the validity timer T5060 assigned by the 5G DDNMF for a Prose application code expires.

The UE shall initiate the announce request procedure for open 5G ProSe direct discovery by sending a DISCOVERY_REQUEST message with:

a) a new transaction ID;

b) the ProSe application ID set to the ProSe application ID received from upper layers;

c) the command set to "metadata_update" if the UE has a valid ProSe application code corresponding to the ProSe application ID and intends to update metadata associated with the ProSe application ID to the 5G DDNMF, otherwise set to "announce";

d) the application identity set to the ProSe identifier of the upper layer application that requested the announcing as specified in clause 5.2.3;

e) the discovery entry ID set to 0 when this is a new request or set to the discovery entry ID received from the 5G DDNMF if the announce request is to update a previously sent announce request;

f) the ACE enabled indicator set to "application-controlled extension enabled" if application-controlled extension is required by the upper layers or "normal" if application-controlled extension is not used;

g) optionally the requested timer set to the length of validity timer associated with the ProSe application code that the UE expects to receive from the 5G DDNMF;

h) optionally the Metadata set to the metadata received from upper layers associated with the ProSe application ID; and

i) optionally the announcing PLMN ID set to the PLMN ID of the local PLMN operating the radio resources that the UE intends to use for announcing this ProSe application ID.

If open 5G ProSe direct discovery with application-controlled extension is requested by upper layers, the DISCOVERY_REQUEST message shall also include the application level container, which contains application-level data transparent to the 3GPP network, to be used by the ProSe application server e.g., to assign ProSe application code suffix(es).

When the UE initiates the announce request procedure to inform the 5G DDNMF that the UE wants to stop announcing a ProSe application code before the associated valid timer expires, the UE shall set the requested timer to 0.

NOTE 2: A UE can include one or multiple transactions in one DISCOVERY_REQUEST message for different ProSe application IDs and receive corresponding <response-announce> element or <response-reject> element in a DISCOVERY_RESPONSE message for each respective transaction. In the following description of the announce request procedure, only one transaction is included.

Figure 6.2.2.2.1 illustrates the interaction of the UE and the 5G DDNMF in the announce request procedure.

Figure 6.2.2.2.1: Announce request procedure

6.2.2.3 Announce request procedure accepted by the 5G DDNMF

Upon receiving a DISCOVERY_REQUEST message with the command set to "announce", if the requested timer is included in the DISCOVERY_REQUEST message and the requested timer is set to 0, the 5G DDNMF shall check whether there is an existing UE context containing the discovery entry identified by the discovery entry ID included in the DISCOVERY_REQUEST message. If the discovery entry exists in the UE context, the 5G DDNMF shall inform the 5G DDNMF in the announcing PLMN to remove the corresponding discovery entry as specified in 3GPP TS 29.555 [9] when the announcing PLMN is not the same as that of the PLMN to which the 5G DDNMF belongs and remove the discovery entry identified by the discovery entry ID from the UE’s context. Then the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-announce> element with:

a) the transaction ID set to the value of the transaction ID received in the DISCOVERY_REQUEST message; and

b) the discovery entry ID set to the identifier associated with the corresponding discovery entry.

Upon receiving a DISCOVERY_REQUEST message with the command set to "announce", if the requested timer is not included in the DISCOVERY_REQUEST message or the requested timer included in the DISCOVERY_REQUEST message is not set to 0, the 5G DDNMF shall perform the following procedure.

The 5G DDNMF shall check that the application corresponding to the ProSe identifier contained in the DISCOVERY_REQUEST message is authorized for open 5G ProSe direct discovery announcing. If the application is authorized for open 5G ProSe direct discovery announcing, the 5G DDNMF may also check whether the ProSe application ID contained in the DISCOVERY_REQUEST message is known. If the ProSe application ID is known or the 5G DDNMF skips the check of the ProSe application ID, the 5G DDNMF shall check whether there is an existing context for the UE associated with the requested ProSe application ID.

If there is no associated UE context, the 5G DDNMF checks with the UDM whether the UE is authorized for open 5G ProSe direct discovery announcing as described in 3GPP TS 29.503 [10]. If the check indicates that the UE is authorized then:

a) the 5G DDNMF shall check whether the UE is authorized to announce the ProSe application ID contained in the DISCOVERY_REQUEST message;

b) if the UE is authorized to announce the ProSe application ID, the ACE enabled indicator is included and set to "application-controlled extension enabled", the application level container is included in the DISCOVERY_REQUEST message and the requested application uses application-controlled extension, the 5G DDNMF shall check whether the UE is authorized to use ACE. If the UE is authorized for ACE, the 5G DDNMF shall invoke the procedure described in 3GPP TS 29.557 [19] to check whether the UE is authorized to announce the requested ProSe application ID with application-defined suffix(es) and obtain suffix-related information from the ProSe application server. The 5G DDNMF shall then allocate one ProSe application code prefix and a value for validity timer T5060 to be used with the ProSe application code suffix(es) obtained from the ProSe application server for the given ProSe application ID as specified in 3GPP TS 29.557 [19]. The 5G DDNMF may take into account the requested timer if contained in the DISCOVERY_REQUEST message;

c) if the UE is authorized to announce the ProSe application ID, the ACE enabled indicator is included and set to "normal" in the DISCOVERY_REQUEST message and the requested application does not use application-controlled extension, the 5G DDNMF shall allocate the corresponding ProSe application code(s) and a value for validity timer T5060. The 5G DDNMF may take into account the requested timer if contained in the DISCOVERY_REQUEST message;

d) if the UE is authorized to announce the ProSe application ID, the ACE enabled indicator is set included and to "normal" in the DISCOVERY_REQUEST message, the application level container is included in the DISCOVERY_REQUEST and the requested application only uses application-controlled extension, the 5G DDNMF shall check whether the UE is authorized to use ACE. If the UE is authorized for ACE, 5G DDNMF shall invoke the procedure described in 3GPP TS 29.557 [19] to check whether the UE is authorized to announce the requested ProSe application ID with application-defined suffix(es) and obtain suffix-related information from the ProSe application server. The 5G DDNMF shall then allocate one ProSe application code prefix and a value for validity timer T5060 to be used with the ProSe application code suffix(es) obtained from the ProSe application server for the given ProSe application ID as specified in 3GPP TS 29.557 [19]. The 5G DDNMF may take into account the requested timer if contained in the DISCOVERY_REQUEST message;

e) if the UE is authorized to announce the ProSe application ID, the ACE enabled indicator is included and set to "application-controlled-extension enabled" and the application level container is included in the DISCOVERY_REQUEST message but the requested application does not use application-controlled extension, the 5G DDNMF shall allocate the corresponding ProSe application code(s) and a value for validity timer T5060. The 5G DDNMF may consider the requested timer if contained in the DISCOVERY_REQUEST message; and

f) if the UE is authorized to announce the ProSe application ID and the ACE enabled indicator is not included in the DISCOVERY_REQUEST message, the 5G DDNMF shall allocate the corresponding ProSe application code(s) and a value for validity timer T5060. The 5G DDNMF may consider the requested timer if contained in the DISCOVERY_REQUEST message.

NOTE: The 5G DDNMF can allocate multiple ProSe application codes for a given ProSe application ID for instance in the case when one or more labels in the ProSe application ID name are wild carded as described in clause 24.2.2 of 3GPP TS 23.003 [12].

If the requested ProSe application ID is country-specific or global as described in clause 24.2 of 3GPP TS 23.003 [12], the 5G DDNMF shall allocate the corresponding ProSe application code(s) or ProSe application code prefix according to clause 24.3 of 3GPP TS 23.003 [12]. The temporary identity part of each ProSe application code or ProSe application code prefix is taken from the data structure corresponding to the country-specific or global ProSe application ID namespace according to clause 24.3 of 3GPP TS 23.003 [12]. The 5G DDNMF shall use the MCC and MNC of the PLMN ID of this 5G DDNMF for the PLMN ID part of the ProSe application code or ProSe application code prefix.

After the ProSe application code(s) or ProSe application code prefix allocation, the 5G DDNMF then associates the ProSe application code(s) or ProSe application code prefix with a new discovery entry identified by a non-zero value discovery entry ID in the new context for the UE that contains the UE’s subscription parameters obtained from the UDM and starts timer T5061. The UDM also provides to the 5G DDNMF the PLMN ID of the PLMN in which the UE is currently registered. For a given set of ProSe application codes or the allocated ProSe application code prefix, timer T5061 shall be longer than timer T5060. By default, the value of timer T5061 is 4 minutes greater than the value of timer T5060.

If there is an existing context for the UE that contains the UE’s subscription parameters obtained from the UDM, but no discovery entry identified by the discovery entry ID contained in the DISCOVERY_REQUEST message, the 5G DDNMF shall behave as if the discovery entry ID included in the DISCOVERY_REQUEST message was set to 0 and the 5G DDNMF shall allocate a new non-zero discovery entry ID for this entry.

If the metadata is included in the DISCOVERY_REQUEST message, the 5G DDNMF shall allocate the ProSe application code or ProSe application code prefix including a metadata index to indicate the current version of the metadata and store the received metadata in the UE context.

Moreover, if the command is set to "metadata_update" in the DISCOVERY_REQUEST message and there is an existing UE context stored in the 5G DDNMF, the 5G DDNMF shall update the metadata in the UE context by using the received metadata in the DISCOVERY_REQUEST message and update the ProSe application code or ProSe application code prefix in the UE context by changing the metadata index portion and keeping the rest unchanged.

After the ProSe application code(s) allocation, the 5G DDNMF then associates the ProSe application code(s) with a new discovery entry identified by a non-zero value discovery entry ID in the UE context and starts timer T5061.

If there is an existing context for the UE and a discovery entry identified by the discovery entry ID contained in the DISCOVERY_REQUEST message associated with the requested ProSe application ID, the 5G DDNMF shall either update the discovery entry with a new validity timer T5060, or allocate new ProSe application code(s) or ProSe application code prefix for the requested ProSe application ID with a new validity timer T5060 and restart timer T5061. The 5G DDNMF may consider the requested timer if contained in the DISCOVERY_REQUEST message.

If a new discovery entry was created or an existing discovery entry was updated and the UE is currently roaming or the Announcing PLMN ID is included in the DISCOVERY_REQUEST message, the 5G DDNMF checks with the 5G DDNMF of the VPLMN or in case of open 5G ProSe direct discovery the local PLMN identified by the Announcing PLMN ID whether the UE is authorized for open 5G ProSe direct discovery announcing as described in 3GPP TS 29.555 [9].

If the check indicates that the UE is authorized, then the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-announce> element with:

a) the transaction ID set to the value of the transaction ID received in the DISCOVERY_REQUEST message from the UE;

b) either the ProSe application code(s) set to the ProSe application code(s) allocated by the 5G DDNMF, or the ProSe application code ACE parameter set to include the ProSe-application code- prefix allocated by the 5G DDNMF and one or more ProSe application code suffix Ranges which contain the suffix(es) for the ProSe application ID received in the DISCOVERY_REQUEST message from the UE;

c) validity timer T5060 set to the T5060 timer value assigned by the 5G DDNMF to the ProSe application code(s):

d) if the ACE enabled indicator was included by the UE in the DISCOVERY_REQUEST message, the ACE enabled indicator set to:

1) "application-controlled extension enabled" if application-controlled extension is used; or

2) "normal" if application-controlled extension is not used;

e) the discovery entry ID set to the identifier associated with the corresponding discovery entry;

f) the discovery key set to a value provided by the 5G DDNMF; and

g) the current time set to the current UTC-based time at the 5G DDNMF and the max offset.

If timer T5061 expires, the 5G DDNMF shall remove the discovery entry identified by the discovery entry ID from the UE’s context.

The 5G DDNMF uses the information (e.g. ProSe application ID, application identity) received from the UE in the DISCOVERY_REQUEST message, UE identity in GBA or AKMA information related to TLS tunnel transporting the DISCOVERY_REQUEST message, and other information for charging purposes as specified in 3GPP TS 32.277 [45].

6.2.2.4 Announce request procedure completion by the UE

Upon receipt of the DISCOVERY_RESPONSE message, if only the transaction ID and the discovery entry ID are contained in the <response-announce> element and the transaction ID and the discovery entry ID match the corresponding values sent by the UE in a DISCOVERY_REQUEST message, the UE shall:

a) stop the validity timer T5060 corresponding to the ProSe application code(s) or ProSe application code prefix in the discovery entry identified by the discovery entry ID;

b) remove the discovery entry identified by the discovery entry ID included; and

c) instruct the lower layers to stop announcing.

Upon receipt of the DISCOVERY_RESPONSE message, if the transaction ID contained in the <response-announce> element matches the value sent by the UE in a DISCOVERY_REQUEST message with the command set to "announce", the UE shall create a new discovery entry or update an existing discovery entry with the received ProSe application code(s) and the PLMN ID of the intended announcing PLMN. For this discovery entry, the UE shall stop the validity timer T5060 if running and start the validity timer T5060 with the received value. Otherwise, the UE shall discard the DISCOVERY_RESPONSE message and shall not perform the procedures below. The UE shall set a ProSe clock (see 3GPP TS 33.503 [34]) to the value of the received current time parameter and store the received max offset parameter.

For any one of the received ProSe application codes or ProSe application code prefix in this discovery entry, the UE may perform open 5G ProSe direct discovery announcing as described in clause 6.2.14.2.1.1.

6.2.2.5 Announce request procedure not accepted by the 5G DDNMF

If the DISCOVERY_REQUEST message cannot be accepted by the 5G DDNMF, the 5G DDNMF sends a DISCOVERY_RESPONSE message containing a <response-reject> element to the UE including an appropriate PC3a control protocol cause value.

If the application corresponding to the ProSe identifier contained in the DISCOVERY_REQUEST message is not authorized for open 5G ProSe direct discovery announcing, the 5G DDNMF shall send the DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #1 "Invalid application".

If the ProSe application ID contained in the DISCOVERY_REQUEST message is unknown to the 5G DDNMF, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #2 "Unknown ProSe application ID".

If the UE is not authorized for open 5G ProSe direct discovery announcing, the 5G DDNMF shall send the DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #3 "UE authorization failure".

If the UE is not authorized to use the ProSe application ID contained in the DISCOVERY_REQUEST message, the 5G DDNMF shall send the DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #3 "UE authorization failure".

If the UE requests a country-specific ProSe application ID for a country that does not correspond to the country of its HPLMN and the 5G DDNMF has not authorized the UE to announce in that country, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #8 "Scope violation in Prose application ID".

If the UE requests a country-specific ProSe application ID for a country that does not correspond to the country of its HPLMN and the 5G DDNMF has no agreement to access the country-wide ProSe application ID database of that country, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #8 "Scope violation in Prose application ID".

If the discovery entry ID contained in the DISCOVERY_REQUEST message is unknown to the 5G DDNMF and the requested timer is set to zero, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value # 10 "Unknown or invalid discovery entry ID".

If the UE is not authorized to use ACE, but the DISCOVERY_REQUEST message contains the ACE enabled indicator set to "application-controlled extension enabled", the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #12 "UE unauthorized for discovery with application-controlled extension".

If the DISCOVERY_REQUEST message contains the ACE enabled indicator set to "application-controlled extension enabled", but does not contain the application level container parameter, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #14 "Missing application level container".

If the ProSe application server indicates to the 5G DDNMF that the application level container in the DISCOVERY_REQUEST message contains invalid information, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #15 "Invalid data in application level container".

If the DISCOVERY_REQUEST message does not contain the ACE enabled indicator and the requested application only uses application-controlled extension, the 5G DDNMF shall send a DISCOVERY_RESPONSE message containing a <response-reject> element with PC3a control protocol cause value #1 "Invalid application".

6.2.2.6 Abnormal cases

6.2.2.6.1 Abnormal cases in the UE

The following abnormal cases can be identified:

a) Indication from the transport layer of transmission failure of DISCOVERY_REQUEST message (e.g., after TCP retransmission timeout)

The UE shall close the existing secure connection to the 5G DDNMF, establish a new secure connection and then restart the announce request procedure.

NOTE 1: The UE can abort this procedure when detecting loss of NG-RAN coverage in its serving PLMN.

b) No response from the 5G DDNMF after the DISCOVERY_REQUEST message has been successfully delivered (e.g., TCP ACK has been received for the DISCOVERY_REQUEST message)

The UE shall retransmit the DISCOVERY_REQUEST message.

NOTE 2: The UE can abort this procedure when detecting loss of NG-RAN coverage in its serving PLMN.

NOTE 3: The timer to trigger retransmission and the maximum number of allowed retransmissions are UE implementation specific.

c) Indication from upper layers that the request to announce the ProSe application ID is no longer in place after sending the DISCOVERY_REQUEST message, but before the announce request procedure is completed

The UE shall acknowledge the DISCOVERY_RESPONSE message received from the 5G DDNMF but discard its contents and then abort the procedure.

d) Change of PLMN

If a PLMN change occurs before the announce request procedure is completed, the procedure shall be aborted. If the UE is authorized to announce in the new PLMN, the procedure shall be restarted once the UE is registered on the new PLMN.

e) Absence of discovery entry ID parameter in a DISCOVERY_RESPONSE message received in response to a DISCOVERY_REQUEST message which contained a discovery entry ID parameter

If the DISCOVERY_REQUEST message:

1) included a requested timer which is set to 0; or

2) included an Announcing PLMN ID;

the UE shall acknowledge the DISCOVERY_RESPONSE message received from the 5G DDNMF but discard its content and then abort the procedure.

6.2.2.6.2 Abnormal cases in the 5G DDNMF

The following abnormal cases can be identified:

a) Indication from the lower layer of transmission failure of DISCOVERY_RESPONSE message

After receiving an indication from lower layer that the DISCOVERY_RESPONSE message has not been successfully acknowledged (e.g., TCP ACK is not received), the 5G DDNMF shall abort the procedure and stop any associated timer(s) T5061, if running.