The Discovery Request is sent by the "announcing UE" or "monitoring UE" in order to be authorised to access the discovery resources and perform ProSe Direct Discovery.
The UE is configured with the data structure of the ProSe Application IDs corresponding to HPLMN. This step is performed using mechanisms that are out of scope of 3GPP.
If the UE is authorised to announce in HPLMN, or if UE intends to make announcement using WLAN-based PC5 and is triggered to announce, it shall establish a secure connection with the ProSe Function and it shall send a Discovery Request (ProSe Application ID, UE Identity, announce command, Application ID, Discovery Entry ID, [Requested Timer], [metadata], [Application Level Container], [PC5_tech]) message for announcing. The ProSe Application ID indicates what the UE is interested to announce. The UE Identity is set to e.g. IMSI. The Application ID represents a unique identifier of the UE application that has triggered the transmission of the Discovery Request message. The Discovery Entry ID indicates whether this is a new request. The Requested Timer is an optional parameter and indicates the length of validity timer associated with the ProSe Application Code that the UE expects to receive from the ProSe Function in step 3. When the Requested Timer is set to zero, procedures in clause 5.3.6A.1.3 shall be followed. PC5_tech is an optional parameter that indicates the PC5 radio technology (e.g. E-UTRA, WLAN) that UE wishes to use for announcements. PC5_tech may include more than one PC5 radio technology. When this parameter is omitted the intended PC5 radio technology is E-UTRA. This request is always sent to the ProSe Function in HPLMN.
If application-controlled extension is used, the Discovery Request message also includes the Application Level Container. The Application Level Container contains the request and any relevant information for the ProSe Application Server to assign a (set of) ProSe Application Code Suffix(es).
If dynamic metadata is used, the Discovery Request message also includes the metadata to be uploaded to the ProSe Function. Moreover, when the UE updates the metadata for a valid ProSe Application Code, the command is set to "metadata _update" in the Discovery Request message.
The ProSe Function checks for the authorization of the application represented by the Application ID. If there is no associated UE context, the ProSe Function shall check with HSS the authorisation for discovery and create a new context for this UE that contains the subscription parameters for this UE. The HSS provides the MSISDN of the UE. When the Discovery Entry ID in the Discovery Request message does not contain a valid value for this UE, the ProSe Function will create a new discovery entry in the UE's context for this request, and will return the corresponding identifier in the Discovery Response message in step 3.
If the UE indicated it desired application-controlled extension by the inclusion of the Application Level Container, the ProSe Function sends an Auth Request (ProSe Application ID, Request Type, Application Level Container, Allowed number of suffixes) to the ProSe Application Server. The Request Type is set to "open discovery with application-controlled extension /announce". The Allowed Number of Suffixes indicates how many ProSe Application Code Suffixes the ProSe Application Server can assign for the UE. The ProSe Function locates the ProSe Application Server based on the Application ID.
The ProSe Application Server returns an Auth Response (Response Type, ProSe Application Code Suffix pool) message. The ProSe Application Code Suffix pool contains the Suffix(es) allocated by the ProSe Application based on the inputs in step 2.a. The Response Type is set to "open discovery with application-controlled extension /announce ack".
If the Discovery Request is authorised, then the ProSe Function shall check whether the UE is authorized to use the ProSe Application ID contained in the Discovery Request. If the UE is authorised to use that ProSe Application ID, then the ProSe Function shall respond with a Discovery Response (ProSe Application Code, validity timer, Discovery Entry ID, [PC5_tech]) message. The ProSe Application Code is provided by the ProSe Function and corresponds to the ProSe Application ID that was contained in the Discovery Request. The validity timer indicates for how long this ProSe Application Code is going to be valid; the ProSe Function takes into account the Requested Timer parameter, if provided by the UE, when allocating the validity timer. The UE will be authorised to announce this ProSe Application Code for the duration of validity timer and if it remains in the HPLMN. When the validity timer expires or the UE changes its registered PLMN the UE needs to request a new ProSe Application Code. The optional PC5_tech parameter indicates the PC5 radio technology(ies) that is/are authorized to be used for the assigned ProSe Application Code. When this parameter is omitted, the authorized PC5 radio technology is E-UTRA.
If dynamic metadata is used, the ProSe Function stores the metadata with the associated ProSe Application ID in the UE context, and allocates a corresponding Metadata Index to be included into the ProSe Application Code. Moreover, if the command is set to "metadata_update" in step 1, the ProSe Function only updates the Metadata Index portion of the ProSe Application Code, and keeps the rest unchanged.
If application-controlled extension is used, the ProSe Application Code is replaced by the ProSe Application Code Prefix, and the Discovery Response message also contains the ProSe Application Code Suffix pool.
The UE may start announcing the provided ProSe Application Code in HPLMN, using the radio resources authorised and configured by E-UTRAN to be used for ProSe as defined in RAN specifications or using WLAN, or both.
If the validity timer associated with a ProSe Application Code expires (because the UE has not refreshed the corresponding Discovery Request within the duration of the validity timer), then the ProSe Function removes the entry related to that ProSe Application Code from the UE context.
The user sets the permission for the restricted discovery using application layer mechanisms. In addition, the application client in the UE retrieves the PDUID and provides it to the ProSe Application Server. The ProSe Application Server allocates a RPAUID for that PDUID stores the binding between the PDUID and the RPAUID and returns the RPAUID to the application client in the UE. The UE may optionally provide metadata to be associated with the RPAUID, and the ProSe Application Server stores the metadata. The application client in the UE stores the binding between the PDUID and its own RPAUID. If the application client in the UE intends to use the ProSe service, it triggers the UE to perform the announce procedure, providing its own RPAUID obtained by the ProSe Application Server.
If the UE is authorized to announce in the serving PLMN, or if UE intends to make announcement using WLAN-based PC5 and is triggered by the application client to announce, it shall establish a secure connection with the ProSe Function in HPLMN and send a Discovery Request message (RPAUID, UE Identity, command=announce, Discovery Type, Application ID, Discovery Entry ID, Requested Discovery Timer, Application Level Container, Announcing Type, [PC5_tech]) for announcing. The RPAUID indicating what the UE is interested to announce was obtained in step 0. The UE Identity is set to IMSI. The Application ID represents a unique identifier of the UE application that has triggered the transmission of the Discovery Request message. The Discovery Type is set to "restricted discovery". The Discovery Entry ID indicates whether this is a new request. The Requested Discovery Timer is an optional parameter and indicates the length of validity timer associated with the ProSe Restricted Code that the UE expects to receive from the ProSe Function in step 4. When the Requested Discovery Timer is set to zero, the ProSe Function shall remove the discovery entry indicated by the Discovery Entry ID, and release the associated resources. PC5_tech is an optional parameter that indicates the PC5 radio technology (e.g. E-UTRA, WLAN) that UE wishes to use for announcements. PC5_tech may include more than one PC5 radio technology. When this parameter is omitted the intended PC5 radio technology is E-UTRA.
If restricted Direct Discovery with application-controlled extension is used, the Discovery Request message also includes the Application Level Container. The Application Level Container contains the request and any relevant information (e.g. intent to use metadata indication in the suffix) for the ProSe Application Server to assign a (set of) ProSe Restricted Code Suffix(es). The Discovery Type is set to "restricted discovery with application-controlled extension".
Announcing type can be set to "on demand" to indicate the "on demand" announcing is requested by UE for the indicated application.
If the Requested Discovery Timer is included in step 1 and the value is set to zero, step 2 to step 3 are skipped.
The ProSe Function checks for the authorization of the application represented by the Application ID. If there is no associated UE context, the ProSe Function shall check with HSS the authorisation for discovery and, if necessary, create a new context for this UE that contains the subscription parameters for this UE. The HSS provides the MSISDN of the UE. The HSS also provides the serving PLMN ID of where the UE is registered. When the Discovery Entry ID in the Discovery Request message does not contain a valid value for this UE, the ProSe Function creates a new discovery entry in the UE's context for this request, and returns the corresponding identifier in the Discovery Response message in step 4.
Optionally, the ProSe Function sends an Auth Request (RPAUID, Request Type) to the ProSe Application Server. The ProSe Function locates the ProSe Application Server based on the Application ID. The Request Type is set to "restricted discovery/announce".
If restricted Direct Discovery with application-controlled extension is used, the Auth Request message also includes the Allowed Number of Suffixes. The Allowed Number of Suffixes indicates how many ProSe Restricted Code Suffixes the ProSe Application Server can assign for the UE. The Request Type is set to "restricted discovery with application-controlled extension /announce".
The ProSe Application Server returns an Auth Response (PDUID(s), Response Type) message. The PDUID(s) corresponds to the RPAUID stored in the ProSe Application Server. The Response Type is set to "restricted discovery/announce ack".
If restricted Direct Discovery with application-controlled extension is used, the Auth Response message also includes the ProSe Restricted Code Suffix pool. The ProSe Restricted Code Suffix pool contains the Suffix(es) allocated by the ProSe Application based on the inputs in step 2.a. The Request Type is set to "restricted discovery with application-controlled extension /announce ack".
The ProSe Function verifies that at least one of the received PDUID(s) belongs to the requesting UE.
The ProSe Function in HPLMN allocates a ProSe Restricted Code and the associated validity timer. The ProSe Restricted Code corresponds to the RPAUID that was contained in the Discovery Request from the UE. The validity timer shall indicate for how long this ProSe Restricted Code is going to be valid. The UE will be authorised to announce this ProSe Restricted Code for the duration of validity timer and if it remains in the same PLMN. The ProSe Function stores the RPAUID, the ProSe Restricted Code and the associated validity timer in the user context.
If restricted Direct Discovery with application-controlled extension is used, the ProSe Function in the HPLMN allocates a ProSe Restricted Code Prefix (rather than a ProSe Restricted Code) based on the Application ID and/or the Restricted ProSe App User ID.
If restricted ProSe Direct Discovery with "on demand" announcing has been requested, the ProSe Function determines if "on demand" announcing is authorized and enabled based on the Application ID and operator's policy. If "on demand" announcing is authorized and enabled, the ProSe Function stores the RPAUID, the ProSe Restricted Code with the associated validity timer and the Announcing Enabled indicator in the user context.
The ProSe Function in HPLMN responds to the UE with a Discovery Response (ProSe Restricted Code, validity timer, Discovery Entry ID, [PC5_tech]) message.
If restricted Direct Discovery with application-controlled extension is used, the ProSe Restricted Code is replaced by the ProSe Restricted Code Prefix, and the Discovery Response message also contains the ProSe Restricted Code Suffix pool.
If the "on demand" announcing is authorized and enabled in step 3 and there is no ongoing monitoring request, the ProSe Function in HPLMN does not provide a ProSe Restricted Code to the UE and responds to the UE with a Discovery Response (validity timer, Announcing Enabled indicator, Discovery Entry ID) message.
If the Requested Discovery Timer is included in step 1 and the value is set to zero, the validity timer in the Discovery Response message is set to zero.
The optional PC5_tech parameter indicates the PC5 radio technology(ies) that is/are authorized to be used for the assigned ProSe Application Code. When this parameter is omitted, the authorized PC5 radio technology is E-UTRA.
The UE may start announcing the provided ProSe Restricted Code in the serving PLMN, using the radio resources authorised and configured by E-UTRAN to be used for ProSe as defined in RAN specifications or using WLAN, or both.
If the "on demand" announcing is used and ProSe Function does not provide a ProSe Restricted Code to the UE in step 4, the UE waits for an Announcing Alert Request message from the ProSe Function in HPLMN before starting to announce over the air (see clause 5.3.5.1).
If the validity timer associated with a ProSe Restricted Code expires (because the UE has not refreshed the corresponding Discovery Request within the duration of the validity timer), then the ProSe Function removes the entry related to that ProSe Restricted Code from the UE context.