6.7 Stored files operational procedures

24.2823GPPMission Critical Data (MCData) signalling controlProtocol specificationRelease 18TS

6.7.1 General

This clause describes the various operational procedures (e.g. retrieval of a file, retrieval of a file’s metadata, checking the availability of a file) of the stored files for the general clients. The following procedures are common for the functional entities which are required to fulfil the operational requirements using the HTTP interface and support the role of both HTTP Client and HTTP Server as defined in annex A of 3GPP TS 24.482 [24].

6.7.2 Retrieve the stored file procedure

6.7.2.1 General client procedures

In order to retrieve a file from the functional entity acting as an HTTP server, the functional entity in the network, acting as an HTTP client:

1) shall generate an HTTP GET request as specified in IETF RFC 7230 [22] and IETF RFC 7231 [23] with the following clarifications:

a) a Request-URI set to an absolute URI identifying the URL of the file being requested to download;

b) the Host header field shall be set to a URI identifying the functional entity acting as an HTTP server; and

c) shall include a valid access token in the Authorization header; and

2) shall send the HTTP GET request as specified for the HTTP client in the network entity in annex A of 3GPP TS 24.482 [24].

On receipt of an HTTP 200 OK response containing the requested file, the HTTP client shall store the file for further processing.

6.7.2.2 General server procedures

On receipt of an HTTP GET request with a Request-URI identifying a file, the functional entity acting as an HTTP server:

1) shall handle the HTTP request as specified for the HTTP server in annex A of 3GPP TS 24.482 [24] with the following clarifications:

a) shall validate the access token received in the Authorization header of the request as specified in 3GPP TS 24.482 [24];

b) if the HTTP client is not allowed to download files due to operator policy, shall return an HTTP 403 Forbidden response; and

c) if the requested file is not available to download, shall return an HTTP 404 Not Found; and

2) shall process the HTTP GET request by following the procedures in IETF RFC 7230 [22] and IETF RFC 7231 [23], and shall return a HTTP 200 OK response containing the requested file.

6.7.3 Verify the stored file availability procedure

6.7.3.1 General client procedures

In order to verify whether the corresponding file is available in the functional entity acting as an HTTP server, the functional entity in the network, acting as an HTTP client:

1) shall generate an HTTP HEAD request as specified in IETF RFC 7230 [22] and IETF RFC 7231 [23] with the following clarifications:

a) a Request-URI set to an absolute URI identifying the URL of the file being requested to verification of its availability;

b) the Host header field shall be set to the functional entity acting as an HTTP server; and

c) shall include a valid access token in the Authorization header; and

2) shall send the HTTP HEAD request as specified for the HTTP client in the network entity in annex A of 3GPP TS 24.482 [24].

On receipt of an HTTP 404 Not Found response, the HTTP client shall invoke further corresponding procedure when the stored file is not available in the functional entity acting as an HTTP server.

On receipt of an HTTP 200 OK response, the HTTP client shall invoke further corresponding procedure when the stored file is available in the functional entity acting as an HTTP server.

6.7.3.2 General server procedures

On receipt of an HTTP HEAD request with a Request-URI identifying a file, the functional entity acting as an HTTP server:

1) shall handle the HTTP request as specified for the HTTP server in annex A of 3GPP TS 24.482 [24] with the following clarifications:

a) shall validate the access token received in the Authorization header of the request as specified in 3GPP TS 24.482 [24];

b) if the HTTP client is not allowed to request to verify the file availability due to operator policy, shall return an HTTP 403 Forbidden response; and

c) if the requested file is not available in the server, shall return an HTTP 404 Not Found; and

2) shall process the HTTP HEAD request by following the procedures in IETF RFC 7230 [22] and IETF RFC 7231 [23], and shall return a HTTP 200 OK response or any other appropriate response based on the result of the requested operation.