6.2.4B Match report procedure for restricted ProSe direct discovery model B
24.3343GPPProximity-services (ProSe) User Equipment (UE) to ProSe function protocol aspectsRelease 17Stage 3TS
6.2.4B.1 General
The purpose of the Match report procedure is to allow a UE to send a ProSe Response Code that was matched during the restricted ProSe direct discovery Model B discoverer operation and receive the corresponding RPAUID, if there is no such a mapping stored locally.
The UE shall only initiate the match report procedure if it has been authorised for restricted ProSe direct discovery model B discoverer operation in the monitored PLMN based on the service authorisation procedure.
As a result of the match report procedure completing successfully, the UE obtains a RPAUID and potentially other information, which the UE may store locally and pass to the upper layers.
6.2.4B.2 Match report procedure initiation
The UE shall meet the following pre-conditions before initiating this procedure:
– a request from upper layers to discover the target RPAUID with restricted discovery model B, which resulted in the matched ProSe Response Code, is still in place;
– the lower layers have provided UTC time information, along with the discovery message containing the ProSe Response Code; and
– the TTL timer T4013 associated with the Discovery Response Filter, whose use resulted in a match event of the ProSe Response Code, has not expired.
If the UE is authorised to perform restricted ProSe direct discovery model B discoverer operation in the monitored PLMN, it should initiate a match report procedure:
a) when there is a match event when applying one of the Discovery Response Filter(s) to one of the ProSe Response Codes received from the lower layers, and the UE does not have a corresponding RPAUID already locally stored;
b) when the UE has a locally stored mapping for the ProSe Response Code that resulted in a match event, but the validity timer T4016 of the ProSe Response Code has expired;
c) when the UE has a locally stored mapping for the ProSe Response Code that resulted in a match event, but the match report refresh timer T4017 of the ProSe Response Code has expired;
d) when the UE desires to obtain the metadata associated with the discovered ProSe Response Code; or
e) when the UE has a locally stored mapping for the ProSe Response Code that resulted in a match event, but the UE does not have a running match report refresh timer T4017 for this ProSe Response Code and the UE is directed by the ProSe Function to perform the required MIC check via the match report procedure.
NOTE 1: The ProSe Function directs the UE to use the match report procedure to perform the MIC check by including the MIC Check Indicator parameter in the DISCOVERY_RESPONSE message.
The UE initiates the match report procedure by sending a MATCH_REPORT message with a new transaction ID and shall set the message contents as follows:
– the RPAUID set to the UE’s RPAUID which has requested the corresponding restricted discovery model B discoverer operation that resulted this match event;
– the ProSe Response Code set to the ProSe Response Code for which there was a match event;
– the UE identity set to the UE’s IMSI;
– the Discovery Type set to "Restricted discovery";
– the Application Identity set to the Application Identity of the upper layer application that triggered the restricted direct discovery Model B discoverer operation;
– optionally, the UTC-based counter set as follows if the MIC is checked via the match report procedure:
– the UE shall generate two UTC-based counters with:
1) the first counter composed of:
– the 27 most significant bits of the UTC-based counter set to the 27 most significant bits of the UTC time provided by the lower layers for the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event encoded as specified in subclause 12.2.2.18;
– the 24th most significant bit of the UTC-based counter set to ‘0’; and
– the 8 least significant bits of the UTC-based counter shall be set to the 8 least significant bits of the UTC-based counter contained in the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event, as specified in 3GPP TS 33.303 [6]; and
2) the second counter composed of:
– the 23 most significant bits of the UTC-based counter set to the 23 most significant bits of the UTC time provided by the lower layers for the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event encoded as specified in subclause 12.2.2.18;
– the 24th most significant bit of the UTC-based counter set to ‘1’; and
– the 8 least significant bits of the UTC-based counter set to the 8 least significant bits of the UTC-based counter contained in the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event, as specified in 3GPP TS 33.303 [6]; and
– then the UE shall select, among the two counters described above, the counter that is nearest to the UTC time provided by the lower layers for the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event encoded as specified in subclause 12.2.2.18, and set the UTC-based counter in the MATCH_REPORT message to that counter;
– optionally, the Message Type set to the value of Message Type field of the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event, if the MIC is checked via the match report procedure;
– optionally, the MIC to the MIC of the PC5_DISCOVERY message that contained the ProSe Response Code for which there was a match event if the MIC is checked via the match report procedure;
– the Metadata Flag set to indicate whether or not the UE wishes to receive the latest metadata information associated with the RPAUID in the MATCH_REPORT_ACK message from the ProSe Function; and
– optionally the PC5_tech set to the PC5 radio technology for which there was a match event. PC5_tech may include more than one PC5 radio technology.
NOTE 2: A UE can include one or multiple transactions in one MATCH_REPORT message for different ProSe Response Codes, and receive corresponding <restricted-match-ack> element or <match-reject> element in the MATCH_REPORT_ACK message for each respective transaction. In the following description of match report procedure, only one transaction is included.
Figure 6.2.4B.2.1 illustrates the interaction between the UE and the ProSe Function in the match report procedure.
Figure 6.2.4A.2.1: Match report procedure for restricted discovery model B
6.2.4B.3 Match report procedure accepted by the ProSe Function
Upon receiving a MATCH_REPORT message, the ProSe Function shall check whether there is an existing discoverer UE context for the UE identified by its IMSI.
The ProSe Function shall analyse the ProSe Response Code received from the UE in the MATCH_REPORT message. If the MIC value and its corresponding UTC-based counter are included, the ProSe Function shall check whether the MIC value and the UTC-based counter are valid and within the acceptable range respectively, as defined in 3GPP TS 33.303 [6]. The ProSe Function shall then check in the UE context if the ProSe Response Code matches any Discovery Response Filter(s) allocated for the particular application identified by the Application Identity received in the MATCH_REPORT message. If such a discovery filter exists, the target RPAUID associated with the filter(s) shall be identified as the corresponding RPAUID for this code. Optionally, the ProSe Function may further invoke the procedure defined in 3GPP TS 29.343 [31] to verify if the target RPAUID is allowed to be discovered by the RPAUID of the requesting UE that has sent the MATCH_REPORT message, or to retrieve metadata associated for the target RPAUID if Metadata Flag is set to "True" in the MATCH_REPORT message and the ProSe Function does not have the latest metadata.
If the outcome of the above processing is successful, the ProSe Function shall send a MATCH_REPORT_ACK message containing a <restricted-match-ack> element with the transaction ID set to the value of the transaction ID received in the MATCH_REPORT message from the UE, the RPAUID set to the target RPAUID retrieved from the UE context at the ProSe Function which corresponds to the ProSe Response Code contained in the MATCH_REPORT message, the Validity Timer T4016 set to indicate for how long this ProSe Response Code is valid. The ProSe Function shall set the Match Report Refresh Timer T4017 to indicate for how long the UE will wait before sending a new Match Report for this ProSe Response Code if the MIC value and the UTC-based counter are included in the MATCH_REPORT message. If there exists metadata information associated with this target RPAUID, the ProSe Function shall set the Metadata to the associated metadata information.
If the corresponding PDUID of the target RPAUID does not belong to the HPLMN of the requesting UE, the ProSe Function may optionally invoke the procedure defined in 3GPP TS 29.345 [5] to inform the ProSe Function of the discoveree UE about the match event.
6.2.4B.4 Match report procedure completion by the UE
Upon receipt of the MATCH_REPORT_ACK message, if the transaction ID contained in the <restricted-match-ack> element matches the value sent by the UE in a MATCH_REPORT message, the UE shall store the mapping between the ProSe Response Code and the RPAUID locally, start timers T4016 and T4017, and may inform the upper layers of this match of the RPAUID. Otherwise the UE shall discard the MATCH_REPORT_ACK message.
Upon receipt of the MATCH_REPORT_ACK message, if the transaction ID contained in the <match-reject> element matches the value sent by the UE in a MATCH_REPORT message and if the received PC3 Control Protocol cause value is #5 "Invalid MIC", as specified in subclause 6.2.4A.5, the UE shall stop timer T4016 if it is running.
NOTE 1: It is an implementation specific choice whether the UE informs the upper layers every time a RPAUID triggers a match event, or only the first time this match occurs.
NOTE 2: The UE can also inform the upper layers if an RPAUID is no longer matched, because the validity timer T4016 of the corresponding ProSe Response Code expires.
NOTE 3: The UE can also inform the upper layers if a ProSe Response Code is no longer matched, because the validity timer T4016 of the corresponding ProSe Response Code is stopped upon receiving MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #5 "Invalid MIC".
6.2.4B.5 Match report procedure not accepted by the ProSe Function
If the MATCH_REPORT message is not accepted by the ProSe Function, the ProSe Function sends a MATCH_REPORT_ACK message with a <match-reject> element to the UE including an appropriate PC3 Control Protocol cause value.
If there is no associated UE context for the IMSI contained in the MATCH_REPORT, the ProSe Function shall send the MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #16 "Invalid Match Event".
If the ProSe Response Code contained in the MATCH_REPORT message does not match any Discovery Response Filter(s) allocated for the requesting UE for the corresponding application,, the ProSe Function shall send the MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #16 "Invalid Match Event".
If the check of the MIC contained in the MATCH_REPORT message fails, the ProSe Function shall send the MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #5 "Invalid MIC".
If the check of the UTC-based counter contained in the MATCH_REPORT message fails, the ProSe Function shall send the MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #6 " Invalid UTC-based counter".
If the UE is not authorised for restricted ProSe direct discovery model B discoverer operation, the ProSe Function shall send the MATCH_REPORT_ACK message with a <match-reject> element with PC3 Control Protocol cause value #3 "UE authorisation failure".
6.2.4B.6 Abnormal cases
6.2.4B.6.1 Abnormal cases in the UE
The following abnormal cases can be identified:
a) Indication from the transport layer of transmission failure of MATCH_REPORT message (e.g. after TCP retransmission timeout)
The UE shall close the existing secure connection to the ProSe Function, establish a new secure connection and then restart the match report procedure.
b) No response from the ProSe Function after the MATCH_REPORT message has been successfully delivered (e.g. TCP ACK has been received for the MATCH_REPORT message)
If the TTL timer T4013 associated with the Discovery Response Filter which resulted in a match event has not expired, the UE shall retransmit the MATCH_REPORT message.
NOTE: The timer to trigger retransmission and the maximum number of allowed retransmissions are UE implementation specific.