6.1 Overview

24.3343GPPProximity-services (ProSe) User Equipment (UE) to ProSe function protocol aspectsRelease 17Stage 3TS

This clause describes the PC3 Control Protocol procedures between the UE and the ProSe Function for ProSe direct discovery announcing and monitoring. It also describes the ProSe Protocol procedures at the UE for ProSe direct discovery of other ProSe-enabled UEs over the PC5 interface.

6.1.1 Transport protocol for PC3 Control Protocol messages for ProSe direct discovery

The UE and ProSe Function shall use HTTP 1.1 as specified in IETF RFC 7230 [18] and IETF RFC 7231 [19] as the transport protocol for ProSe messages over the PC3 interface. The ProSe messages described here shall be included in the body of either an HTTP request message or an HTTP response message. The following rules apply:

6.1.2 Handling of UE-initiated procedures

The following rules apply for UE-initiated procedures:

– The UE initiates ProSe transactions with an HTTP request message containing the PC3 request(s);

– The ProSe Function responds to the requests with an HTTP response message containing the PC3 response(s) for the PC3 request(s); and

– HTTP POST methods are used for PC3 direct discovery procedures.

Optionally, the operator can configure the UE with configuration parameters for establishment of the PDN connection for reaching the HPLMN ProSe Function. If the UE is configured with the configuration parameter for establishment of the PDN connection for reaching the HPLMN ProSe Function (see 3GPP TS 24.333 [9]):

a) if a PDN connection for reaching the HPLMN ProSe Function is not established yet, the UE shall establish the PDN connection for reaching the HPLMN ProSe Function according to the UE configuration and shall send the HTTP request message via the PDN connection for reaching the HPLMN ProSe Function; and

b) if a PDN connection for reaching the HPLMN ProSe Function is already established (e.g. either due to other ProSe feature or due to other application), the UE shall send the HTTP request message via the PDN connection for reaching the HPLMN ProSe Function;

6.1.3 Handling of ProSe Function-initiated procedures

6.1.3.1 General

The ProSe Function-initiated messages for ProSe direct discovery over the PC3 interface shall be contained in an HTTP response message. Either HTTP long polling, or OMA Push, can be used to trigger the HTTP request corresponding to this HTTP response message. The UE and the ProSe Function shall support OMA Push for network initiated procedures. Optionally the UE and ProSe Function should support long polling as well for network initiated procedures.

If the UE supports the HTTP long polling, the UE shall include a Network-Initiated Transaction Method set to "HTTP long polling" in the DISCOVERY_REQUEST message to the ProSe Function.

Upon receiving a DISCOVERY_REQUEST message containing a Network-Initiated Transaction Method set to "HTTP long polling", if the ProSe Function supports the HTTP long polling and wants to use the HTTP long polling for network initiated procedures, the ProSe Function shall include a Network-Initiated Transaction Method set to "HTTP long polling" in the DISCOVERY_RESPONSE message. Otherwise the ProSe Function shall not include a Network-Initiated Transaction Method in the DISCOVERY_RESPONSE message.

If the UE receives a DISCOVERY_RESPONSE message including a Network-Initiated Transaction Method set to "HTTP long polling", the UE shall use the HTTP long polling for network initiated procedures. Otherwise, the UE shall assume that the ProSe Function uses OMA Push for network initiated procedures.

6.1.3.2 HTTP long polling

The HTTP long polling method involves the following steps:

a) the UE sends an empty HTTP request message as a polling request when it expects network initiated message(s) over the PC3 interface;

b) the ProSe Function defers its response to the UE’s request until;

i) one ore more network-initiated PC3 message(s) for the UE are available. The ProSe Function encloses the message(s) in an HTTP response message and send it to the UE; or

ii) a particular timeout for HTTP polling has occurred. The ProSe Function then sends an empty HTTP response message as the polling response to the UE.

c) After receiving the response from the ProSe Function, the UE may keep polling after some waiting period if:

i) the UE receives an empty polling response; or

ii) the UE receives prose function-initiated message(s) from the ProSe Function but still expects additional network-initiated message(s).

NOTE: The implementation of the HTTP polling process can be coordinated with the SUPL (Secure User Plane Location) procedures to synchronize the SUPL location report procedures and the HTTP polling procedure so as to reduce unnecessary wait time of polling.

If the UE is trigged to send a PC3 message to the ProSe Function while it has a pending HTTP polling request, the UE shall open another HTTP connection to the ProSe Function to send this new request. Alternately the UE may always use a separate dedicated HTTP connection for polling.

6.1.3.3 OMA Push

The OMA Push method involves the following steps:

a) if one or more network-initiated PC3 message(s) for the UE are available, the ProSe Function sends a push message containing a particular URL to the UE via the OMA-Push Architecture as defined in OMA-AD-Push-V2_2-20110809-A [22]. The URL is linked to the PC3 message(s) to be sent to the UE. The ProSe Function (performing OMA Push Proxy Gateway functionality) generates a Push Message as specified in OMA-WAP-TS-PushOTA-V2_1-20110405-A [21] with the PDU set according to WAP-168-ServiceLoad-20010731-a [20]. The URL information shall be included in the PDU payload;

b) After receiving the push message, the UE retrieves the URL from the payload of the message and sends an HTTP GET request to the ProSe Function with this URL; and

c) the ProSe Function sends an HTTP response message containing the PC3 message(s) to the UE.