4 Procedures for Downlink Media Streaming

26.5123GPP5G Media Streaming (5GMS)ProtocolsRelease 17TS

4.1 General

This clause defines all procedures for Downlink Media Streaming using the different 5G Media Streaming Reference Points.

NOTE: The descriptions of certain M1 interface procedures in clause 4.3, and of certain M5 interface procedures in clause 4.7, indicate applicability of those procedures to both downlink and uplink media streaming. This avoids redundant duplication of normative text in clause 5, regarding M1 and M5 procedures for uplink media streaming.

4.2 APIs relevant to Downlink Media Streaming

Table 4.2‑1 summarises the APIs used to provision and use the various downlink media streaming features specified in TS 26.501 [2].

Table 4.2‑1: Summary of APIs relevant to downlink media streaming features

5GMSd feature

Abstract

Relevant APIs

Interface

API name

Clause

Content protocols discovery

Used by the 5GMSd Application Provider to interrogate which content ingest protocols are supported by 5GMSd AS(s).

M1d

Content Protocols Discovery API

7.5

Content hosting

Content is ingested, hosted and distributed by the 5GMSd AS according to a Content Hosting Configuration associated with a Provisioning Session.

M1d

Provisioning Sessions API

7.2

Server Certificates Provisioning API

7.3

Content Preparation Templates Provisioning API

7.4

Content Hosting Provisioning API

7.6

M2d

HTTP-pull based content ingest protocol

8.2

DASH-IF push based content ingest protocol

8.3

M4d

DASH [4] or 3GP [37]

10

M5d

Service Access Information API

11.2

Metrics reporting

The 5GMSd Client uploads metrics reports to the 5GMSd AF according to a provisioned Metrics Reporting Configuration it obtains from the Service Access Information for its Provisioning Session.

M1d

Provisioning Sessions API

7.2

Metrics Reporting Provisioning API

7.8

M5d

Service Access Information API

11.2

Metrics Reporting API

11.4

Consumption reporting

The 5GMSd Client provides feedback reports on currently consumed content according to a provisioned Consumption Reporting Configuration it obtains from the Service Access Information for its Provisioning Session.

M1d

Provisioning Sessions API

7.2

Consumption Reporting Provisioning API

7.7

M5d

Service Access Information API

11.2

Consumption Reporting API

11.3

Dynamic Policy invocation

The 5GMSd Client activates different traffic treatment policies selected from a set of Policy Templates configured in its Provisioning Session.

M1d

Provisioning Sessions API

7.2

Policy Templates Provisioning API

7.9

M5d

Service Access Information API

11.2

Dynamic Policies API

11.5

Network Assistance

The 5GMSd Client requests bit rate recommendations and delivery boosts from the 5GMSd AF.

M5d

Service Access Information API

11.2

Network Assistance API

11.6

Edge content processing

Edge resources are provisioned for processing content in 5GMS downlink media streaming sessions.

M1d

Provisioning Sessions API

7.2

Edge Resources Provisioning API

7.10

M5d

Service Access Information API

11.2

5GMS via eMBMS

The 5GMSd AF provisions the delivery of content via eMBMS.

M1d

Provisioning Sessions API

7.2

M5d

Service Access Information API

11.2

M4d

DASH [4] or 3GP [37] or HLS

10

UE data collection, reporting and exposure

UE data related to downlink 5G Media Streaming is reported to the Data Collection AF instantiated in the 5GMSd AF for exposure to Event consumers.

M1d

Event Data Processing Provisioning API

7.11

R4

Ndcaf_DataReporting service

17

R5, R6

Naf_EventExposure service

18

4.3 Procedures of the M1 (5GMS Provisioning) interface

4.3.1 General

A 5GMS Application Provider may use the procedures in this clause to provision the network for media streaming sessions that are operated by that 5GMS Application Provider. For downlink media streaming, these sessions may be DASH streaming sessions, progressive download sessions, or any other type of media streaming or distribution (e.g. HLS) sessions. For uplink media streaming, the content format and delivery protocol are defined by the 5GMSu Application Provider, and may be either non-fully standardized or employ standardized HTTP-based streaming of ISO BMFF content fragments as profiled by CMAF [39].

The M1 interface offers three different sets of procedures:

– For downlink media streaming, configuration of content ingest at M2d for onward distribution by the 5GMSd AS over M4d or via other distribution systems such as eMBMS: designed as an API that is equivalent to the functionality of a public CDN. For uplink media streaming, configuration of content egest at M2u for the media content received by the 5GMSu AS from the 5GMSu Client over M4u. The resource types involved in content hosting configuration are provisioning session (see clause 4.3.2), content hosting procedures (see clause 4.3.3), ingest protocols (see clause 4.3.4), content preparation template (see clause 4.3.5), and server certificates (see clause 4.3.6).

– Configuration of dynamic policies: allows the configuration of Policy Templates at M5 that can be applied to M4 downlink/uplink media streaming sessions.

– Configuration of reporting: permits the MNO to collect, at M5, QoE metrics and consumption reports about M4 downlink sessions, as well as permits the MNO to collect, at M5, QoE metrics reports about M4 uplink sessions.

A 5GMS Application Provider may use any of these procedures, in any combination, to support its media streaming sessions.

4.3.2 Provisioning Session procedures

4.3.2.1 General

Prior to configuring content hosting, dynamic policies, or reporting, the 5GMS Application Provider shall create a new Provisioning Session. The following CRUD operations are used to manage a provisioning session.

4.3.2.2 Create Provisioning Session

This procedure is used by the 5GMS Application Provider to create a new Provisioning Session. The 5GMS Application Provider shall use the HTTP POST method to create a new Provisioning Session. Upon successful creation, the 5GMS AF shall respond with a 201 (Created) response message that includes the resource identifier of the newly created Provisioning Session in the body of the reply and the URL of the resource, including its resource identifier, shall be returned as part of the HTTP Location header field.

4.3.2.3 Read Provisioning Session properties

This procedure is used by the 5GMS Application Provider to obtain the properties of the Provisioning Session from the 5GMS AF. The 5GMS Application Provider uses the GET method for this purpose.

4.3.2.4 Update Provisioning Session properties

The Update operation is not allowed on Provisioning Sessions.

4.3.2.5 Destroy Provisioning Session

This procedure is used by the 5GMS Application Provider to destroy a Provisioning Session. The 5GMS AF will release any associated resources, purge any cached data, delete all QoS and reporting configurations associated with this Provisioning Session. The 5GMS AF shall use the HTTP DELETE method for this purpose.

4.3.3 Content Hosting Provisioning procedures

4.3.3.1 General

These procedures are used by the 5GMSd Application Provider and the 5GMSd AF on M1d to provision the content hosting feature for downlink streaming.

4.3.3.2 Create Content Hosting Configuration

This procedure is used by the 5GMSd Application Provider to create a new Content Hosting Configuration. The 5GMSd Application Provider shall use the HTTP POST method for this purpose and the request message body shall include a ContentHostingConfiguration resource, as specified in clause 7.6.3.1.

– If the Content Hosting Configuration uses the Pull-based content ingest method, i.e. the pull attribute is set to True, then the IngestConfiguration.baseURL property shall be nominated by the 5GMSd Application Provider in the request message body.

– If the Content Hosting Configuration uses the Push-based content ingest method, i.e. the pull attribute is set to False, then the IngestConfiguration.baseURL property shall be nominated by the 5GMSd AF and returned in the response message body. It shall not be set by the 5GMSd Application Provider in the request message body.

In all cases, the DistributionConfiguration.baseURL property is read-only: it shall be omitted from the creation request and shall be assigned by the 5GMSd AF, allowing the value to be inspected by the 5GMSd Application Provider in the returned ContentHostingConfiguration resource representation, or by using the procedure specified in clause 4.3.3.3 below.

If the procedure is successful, the 5GMSd AF shall generate a resource identifier representing the new Content Hosting Configuration. In this case, the 5GMSd AF shall respond with a 201 (Created) HTTP response message and shall provide the URL to the newly created resource in the Location header field. The response message body may include a ContentHostingConfiguration resource (see clause 7.6.3.1) that represents the current state of the Content Hosting Configuration, including any fields set by the 5GMSd AF.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.3.3 Read Content Hosting Configuration properties

This procedure is used by the 5GMSd Application Provider to obtain the properties of an existing Content Hosting Configuration resource from the 5GMSd AF. The HTTP GET method shall be used for this purpose.

If the procedure is successful, the 5GMSd AF shall respond with a 200 (OK) response message that includes the ContentHostingConfiguration resource in the response message body.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.3.4 Update Content Hosting Configuration properties

The update operation is invoked by the 5GMSd Application Provider to modify the properties of an existing ContentHostingConfiguration resource. All writeable properties except domainNameAlias may be updated. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

If the procedure is successful, the 5GMSd AF shall respond with a 200 (OK) and provide the content of the resource in the response, confirming the successful update operation.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.3.5 Destroy Content Hosting Configuration

This operation is used by the 5GMS Application Provider to destroy a Content Hosting Configuration resource and to terminate the related distribution. The HTTP DELETE method shall be used for this purpose. As a result, the 5GMS AF will release any associated network resources, purge any cached content, and delete any corresponding configurations.

If the procedure is successful, the 5GMSd AF shall respond with a 200 (OK) response message.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.4 Content Protocols Discovery procedures

4.3.4.1 General

The set of downlink content ingest or uplink content egest protocols supported by the 5GMS AS at interface M2 is described by the ContentProtocols resource at M1, as specified in clause 7.5.3.1.

4.3.4.2 Create Content Protocols

The Create operation is not permitted for the ContentProtocols resource.

4.3.4.3 Read Content Protocols

This procedure is used by the 5GMS Application Provider to retrieve a list of content ingest protocols supported by the 5GMS AS. The HTTP GET method shall be used for this purpose.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response that includes a ContentProtocols resource in the response message body, as specified in clause 7.5.3.1. If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.4.4 Update Ingest Protocols

The Update operation is not permitted for the ContentProtocols resource.

4.3.4.5 Destroy Ingest Protocols

The Delete operation is not permitted for the ContentProtocols resource.

4.3.5 Content Preparation Template Provisioning procedures

4.3.5.1 General

For downlink media streaming, the 5GMSd AS may be required to process content ingested at interface M2d before serving it on interface M4d. For uplink media streaming, the 5GMSu AS may be required to process content it receives from the 5GMSu Client before passing it to the 5GMSu Application Provider on the egest interface M2u. The content processing operations are specified in a Content Preparation Template resource, as specified in clause 7.4.2.

4.3.5.2 Create Content Preparation Template

This procedure is used by the 5GMS Application Provider to register a new Content Preparation Template with a Provisioning Session. The 5GMS Application Provider shall use the HTTP POST method to upload a new Content Preparation Template resource. The MIME content type of the Content Preparation Template shall be supplied in the Content-Type HTTP request header.

Upon successful creation, the 5GMS AF shall respond with a 201 (Created) response message and the URL of the newly created resource, including its resource identifier, shall be returned as part of the HTTP Location header field.

If the MIME content type indicated in Content-Type is not understood by the 5GMS AF, the creation of the Content Preparation Template resource shall fail with HTTP error response status code 422 (Unprocessable entity).

If the 5GMS AF is unable to provision the resources indicated in the supplied Content Preparation Template, the creation operation shall fail with an HTTP response status code of 503 (Service Unavailable).

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.5.3 Read Content Preparation Template

This procedure is used by the 5GMS Application Provider to download a copy of a Content Preparation Template resource from the 5GMS AF. The 5GMS Application Provider shall use the GET method for this purpose.

If the procedure is successful, the 5GMS AF shall respond with 200 (OK) and shall provide the requested resource in the HTTP message response body. The Content-Type response header shall have the same value as that supplied when the Content Preparation Template resource was created.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.5.4 Update Content Preparation Template

The update procedure is used by the 5GMS Application Provider to modify or replace an existing Content Preparation Template resource. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) and provide the content of the resource in the response, reflecting the successful update operation.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.5.5 Destroy Content Preparation Template

This operation is used by the 5GMS Application Provider to destroy a Content Preparation Template resource. The HTTP DELETE method shall be used for this purpose.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3. If the Content Preparation Template is in use as part of a Content Hosting Configuration, the procedure shall fail with HTTP error response status code 409 (Conflict).

4.3.6 Server Certificate Provisioning procedures

4.3.6.1 General

Each X.509 server certificate [8] presented by the 5GMSd AS at reference point M4d or at reference point xMB-U is represented by a Server Certificate resource at M1d. The Server Certificates Provisioning API as specified in clause 7.3 enables a Server Certificate resource to be created within the scope of a Provisioning Session, and subsequently referenced by a Content Hosting Configuration created in the scope of the same Provisioning Session. That API supports two alternative provisioning methods for Server Certificate resources: one in which a certificate is generated by the 5GMS System operator on behalf of the 5GMSd Application Provider; the other in which a certificate is generated by the 5GMSd Application Provider from a Certificate Signing Request solicited from the 5GMSd AF. Both methods shall be supported by implementations of the 5GMSd AF.

NOTE: As a consumer of media from the 5GMSd AS in a combined architecture using 5GMS and eMBMS, the BMSC needs to be able to trust the content it is receiving comes from a bona fide source.This issue is left to implementation.

4.3.6.2 Create Server Certificate

This procedure is used by the 5GMSd Application Provider to request that the 5GMS System generates a new X.509 certificate on its behalf within the scope of a Provisioning Session. In this case, the certificate’s Common Name (CN) is assigned in a domain under the control of the 5GMSd System operator.

The 5GMSd Application Provider shall use the HTTP POST method to create a new Server Certificate resource. Upon successful creation, the 5GMSd AF shall respond with a 201 (Created) response message and the URL of the resource, including its resource identifier, shall be returned in the HTTP Location header. The response message body may optionally include a copy of the X.509 certificate corresponding to the newly created Server Certificate resource, as specified in clause 7.3.3.2.

NOTE: The X.509 certificate corresponding to the newly created Server Certificate resource may not be available immediately for interrogation and use. See clause 4.3.6.4 below for more details.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.6.3 Reserve Server Certificate

This procedure is used by the 5GMSd Application Provider to solicit a Certificate Signing Request from the 5GMSd AF for the purpose of generating an X.509 certificate independently of the 5GMSd System. In this case, the certificate’s Common Name (CN) is assigned in a domain under the control of the 5GMSd Application Provider itself, or that of a third party acting on its behalf. The 5GMSd Application Provider shall separately arrange for the FQDN carried in the Common Name of the certificate, or that of a Subject Alternative Name (subjectAltName) extension in the same certificate (see section 4.2.1.6 of RFC 5280 [20]), to resolve to the address of a 5GMSd AS in the target 5GMS System.

The 5GMSd Application Provider shall use the HTTP POST method to create a new Server Certificate. Upon successful creation of the resource, the 5GMSd AF shall respond with a 201 (Created) response message and the URL of the resource, including its resource identifier, shall be returned in the HTTP Location header. The Content‑Type response header and the body of the HTTP response message shall be as specified in clause 7.3.3.1.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.6.4 Retrieve Server Certificate

This procedure is used by the 5GMSd Application Provider to download a Server Certificate resource for inspection. The HTTP GET method shall be used for this purpose. If the requested resource exists and is populated with an X.509 certificate, the 5GMSd AF shall respond with 200 (OK) and shall return the requested Server Certificate in accordance with clause 7.3.3.2.

In the case where the X.509 certificate was provisioned by the 5GMSd System on behalf of the 5GMSd Application Provider according to clause 4.3.6.2 above, the HTTP response 503 (Service Unavailable) shall be returned until such time as the X.509 certificate is generated and available for download. The optional HTTP response header Retry-After should be included in such a response, indicating when the certificate is expected to become available for inspection and use.

In cases where the X.509 certificate is to be generated by the 5GMSd Application Provider from a Certificate Signing Request obtained according to clause 4.3.6.3 above, the HTTP response 204 (No Content) shall be returned until such time as the X.509 certificate has been uploaded using the procedure specified in clause 4.3.6.5 below.

4.3.6.5 Upload Server Certificate

This procedure is used by a 5GMSd Application Provider to upload an X.509 certificate that it has generated in response to a Certificate Signing Request solicited using the reservation procedure specified in clause 4.3.6.3 above. The HTTP PUT method shall be used for this purpose. The Content‑Type request header and the body of the HTTP request message shall be as specified in clause 7.3.3.2.

Before accepting the supplied X.509 certificate, the 5GMSd AF shall verify that the party originating the upload is the same party that reserved the Server Certificate resource using the procedure specified in clause 4.3.6.3 above. If there is a mismatch, the HTTP response 403 (Forbidden) shall be returned.

Attempting to upload an X.509 certificate to a Server Certificate resource that has not been reserved shall elicit a 404 (Not Found) HTTP response.

4.3.6.6 Update Server Certificate

Updating a previously uploaded Server Certificate is not permitted for security reasons. Any attempt to do so using the PUT method shall result in the HTTP response 405 (Method Not Allowed).

To supply a replacement X.509 certificate, for example when a previously supplied certificate is shortly due to expire, the 5GMSd Application Provider should instead use one of the procedures specified in clause 4.3.6.2 or 4.3.6.3 above to create or reserve a new Server Certificate resource and, once the certificate is available for use, update the Content Hosting Configuration to reference it.

4.3.6.7 Destroy Server Certificate

This procedure is used to remove a Server Certificate resource from a Provisioning Session. The HTTP DELETE method shall be used for this purpose. On success, the HTTP response 200 (OK) or 204 (No content) shall be returned and afterwards the identifier of the Service Certificate resource is no longer valid.

Only the party that created (see clause 4.3.6.2) or reserved (see clause 4.3.6.3) the Server Certificate resource is permitted to destroy it. Any attempt by another party to destroy a Server Certificate resource shall elicit the HTTP response 405 (Method Not Allowed).

The HTTP response 409 (Conflict) shall be returned if an attempt is made to destroy a Server Certificate resource that is currently referenced by a Content Hosting Configuration resource.

Attempting to destroy a Server Certificate resource that has been reserved but never uploaded shall elicit a 200 (OK) HTTP response. In this case, the 5GMSd AF should release any resources associated with the reservation.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.7 Dynamic Policy Provisioning procedures

4.3.7.1 General

These procedures are used by the 5GMS Application Provider to configure the Policy Templates for streaming sessions of a particular Provisioning Session.

Figure 4.3.7.1‑1 below is a state diagram showing the life-cycle of a Policy Template resource.

Figure 4.3.7.1‑1: Policy Template Resource State Diagram

Since Policy Templates require 5GMS System operator verification, a Policy Template resource that is newly created cannot be used immediately. Upon creation, a Policy Template resource shall be in the PENDING state. Once all mandatory properties are provided, the 5GMS AF triggers validation. If the Policy Template is not deemed to be valid by the operator of the 5GMS System, it shall move to the INVALID state, from where it can be updated to remedy the defect. Once it has been successfully validated by the 5GMS System operator, a Policy Template resource shall take the READY state, indicating that it may be applied to media streaming sessions. If it is subsequently updated by the 5GMS Application Provider, a Policy Template resource shall return to the PENDING state, awaiting revalidation by the operator of the 5GMS System. Finally, a Policy Template resource may be SUSPENDED by the 5GMS System operator, e.g. in case of a violation of the usage terms or for some other reasons, which renders it unusable. The update of any property moves the state into PENDING and triggers revalidation.

A Policy Template resource may be destroyed when it is in any of the abovementioned states.

The 5GMS AF shall verify the status of a Policy Template resource prior to allowing a Dynamic Policy Instance to instantiate it. Only a Policy Template resource in the READY state is eligible to be instantiated in this way.

4.3.7.2 Create Policy Template

This procedure is used by the 5GMS Application Provider to create a new Policy Template resource. The HTTP POST method shall be used for this purpose.

If the procedure is successful, the 5GMS AF shall generate a resource identifier to uniquely identify the newly created Policy Template resource. In that case, it shall respond with a 201 (Created) HTTP response message and provide the URL to the newly created resource in the Location header field.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

The default state of a newly created Policy Template resource is PENDING. If all mandatory property values have been provided, the Policy Template resource is eligible for validation.

4.3.7.3 Read Policy Template

This procedure is used by the 5GMS Application Provider and other 5GMS AFs to query the properties of an existing Policy Template resource from the 5GMS AF. The HTTP GET method shall be used for this purpose.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response that includes a copy of the Policy Template resource in the response message body.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.7.4 Update Policy Template

The update operation is invoked by the 5GMS Application Provider to modify the properties of an existing Policy Template resource. All available properties except state may be updated. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

Any update to the Policy Template resource will change its state back to PENDING, which makes it temporarily unusable. If all mandatory property values have been provided, the Policy Template is eligible for revalidation.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message that includes a copy of the Policy Template resource in the response message body. Modifications to read-only properties, such as changes to the state of a Policy Template, shall be rejected with a 403 (Forbidden) HTTP response.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.7.5 Destroy Policy Template

This operation is used by the 5GMS Application Provider to destroy a Policy Template resource. The HTTP DELETE method shall be used for this purpose. As a result, the 5GMS AF will remove the Policy Template from any Provisioning Sessions that reference it.

Currently active media streaming sessions using the destroyed Policy Template, if any exist, shall be stopped by the removal of the Policy Template.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.8 Consumption Reporting Configuration procedures

4.3.8.1 General

These procedures are used by the 5GMSd Application Provider to activate and to configure consumption reporting. This clause defines the basic procedures. More details are provided in clause 7.7.

4.3.8.2 Create Consumption Reporting Configuration

This procedure is used by the 5GMSd Application Provider to activate consumption reporting for a particular Provisioning Session. The 5GMSd Application Provider shall use the HTTP POST method to activate the consumption reporting procedure and to transmit the Consumption Reporting Configuration to the 5GMSd AF. Upon successful operation, the 5GMSd AF shall respond with a 201 (Created) response message and the same resource URL shall be returned in the Location header field.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.8.3 Read Consumption Reporting Configuration

This procedure is used by the 5GMSd Application Provider to obtain the current Consumption Reporting Configuration from the 5GMSd AF. The 5GMSd Application Provider uses the GET method for this purpose.

4.3.8.4 Update Consumption Reporting Configuration

The update operation is invoked by the 5GMSd Application Provider to modify the current Consumption Reporting Configuration. All available parameters may be updated. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

If the procedure is successful, the 5GMSd AF shall respond with a 200 (OK) reflecting the successful update operation.

If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.8.5 Destroy Consumption Reporting Configuration

This operation is used by the 5GMSd Application Provider to terminate the related consumption reporting procedure. The HTTP DELETE method shall be used for this purpose. As a result, the 5GMSd AF will release any associated resources, purge any cached data, and delete any corresponding configurations.

If the procedure is successful, the 5GMSd AF shall respond with a 200 (OK) response message. If the procedure is not successful, the 5GMSd AF shall provide a response code as defined in clause 6.3.

4.3.9 Metrics Reporting Provisioning procedures

4.3.9.1 General

These procedures are used by the 5GMS Application Provider to configure QoE metrics reporting functionality associated with downlink or uplink media streaming. This clause defines the basic procedures. More details are provided in clause 7.8.3.1.

A given instance of a Metrics Reporting Configuration resource is identified by the metricsReportingConfigurationId property of the MetricsReportingConfiguration resource, The properties of that resource, as described in clause 7.8.3.1, pertain to metrics collection and reporting by the Media Session Handler to the 5GMS AF.

4.3.9.2 Create Metrics Reporting Configuration

This procedure is used by the 5GMS Application Provider to create a Metrics Reporting Configuration resource for a particular Provisioning Session. The 5GMS Application Provider shall use the HTTP POST method for this purpose and the request message body may include a MetricsReportingConfiguration resource, as specified in clause 7.8.3.1. Upon successful operation, the 5GMS AF shall respond with a 201 (Created) response message and the resource URL for the newly-created Metrics Reporting Configuration resource shall be returned in the Location header field. If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

This procedure may be performed multiple times to provision different Metrics Reporting Configurations in the scope of a particular Provisioning Session. Each such configuration resource is represented by a different value of metricsReportingConfigurationId.

4.3.9.3 Read Metrics Reporting Configuration

This procedure is used by the 5GMS Application Provider to obtain the properties of an existing Metrics Reporting Configuration resource from the 5GMS AF. The 5GMS Application Provider shall use the GET method for this purpose. If successful, the 5GMS AF shall respond with a 200 (OK) and the requested MetricsReportingConfiguration resource (see clause 7.8.3.1) shall be returned in the body of the HTTP response message. If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.9.4 Update Metrics Reporting Configuration

The update operation is invoked by the 5GMS Application Provider to initially upload the Metrics Reporting Configuration resource, or in the case of an existing Metrics Reporting Configuration resource, to entirely replace or modify certain properties of that resource. All available properties may be updated. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) reflecting the successful update operation. If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.9.5 Destroy Metrics Reporting Configuration

This operation is used by the 5GMS Application Provider to destroy a Metrics Reporting Configuration resource and to terminate the related metrics reporting procedure. The HTTP DELETE method shall be used for this purpose. As a result, the 5GMS AF should release any associated resources, discard any pending metrics reports, and delete any corresponding configurations.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message. If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.10 Edge Resources Provisioning Procedures

4.3.10.1 General

These procedures are used by the 5GMS Application Provider and the 5GMS AF at reference point M1d to provision edge resources for downlink streaming.

NOTE: The requirements on an edge-enabled 5GMS AF are defined in clause 4.5.2 of TS 26.501 [2].

4.3.10.2 Create Edge Resources Provisioning Configuration

This procedure is used by the 5GMS Application Provider to create a new Edge Resources Provisioning Configuration. The 5GMS Application Provider shall use the HTTP POST method for this purpose and the request message body shall include an EdgeResourcesConfiguration resource, as specified in clause 7.10.3.1.

– If the edgeManagmentMode is set to EM_AF_DRIVEN (indicating AF-driven edge resource management), the 5GMS AF is responsible for requesting and managing the required edge resources and for handling EAS relocation in relation to media streaming sessions that fall within the scope of the parent Provisioning Session.

– If the edgeManagementMode is set to EM_CLIENT_DRIVEN (indicating client-driven edge resource management), the 5GMS AF shall only request edge resources based on requests from the EEC instantiated in the Media Session Handler at reference point EDGE‑1.

If the procedure is successful, the 5GMS AF shall generate a resource identifier representing the new Edge Resources Provisioning Configuration. In this case, the 5GMS AF shall respond with a 201 (Created) HTTP response message and shall provide the URL to the newly created resource in the Location header field. The response message body may include an EdgeResourcesConfiguration resource (see clause 7.10.3.1) that represents the current state of the Edge Resources Provisioning Configuration, including any fields set by the 5GMS AF.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.10.3 Read Edge Resources Provisioning Configuration

This procedure is used by the 5GMS Application Provider to retrieve the current values of the properties of an existing Edge Resources Provisioning Configuration resource from the 5GMS AF. The HTTP GET method shall be used for this purpose.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message that includes the EdgeResourcesConfiguration resource in the response message body.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.10.4 Update Edge Resources Provisioning Configuration

The update operation is invoked by the 5GMS Application Provider to modify the properties of an existing EdgeResourcesConfiguration resource. All writeable properties except edgeManagementMode may be updated. The HTTP PATCH or HTTP PUT methods shall be used for the update operation.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) and provide the content of the resource in the response, confirming the successful update operation.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.10.5 Destroy Edge Resources Provisioning Configuration

This operation is used by the 5GMS Application Provider to destroy an Edge Resources Provisioning Configuration resource. The HTTP DELETE method shall be used for this purpose. This operation makes the configuration unsuable for future media streaming sessions, but it does not affect any ongoing media streaming sessions.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message.

If the procedure is not successful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.11 Event Data Processing Provisioning procedures

4.3.11.1 General

These procedures are used by the 5GMS Application Provider to configure the collection and processing of UE data related to 5G Media Streaming over reference point M1 (as defined in TS 26.531 [46]) and to restrict its exposure over reference points R5 and R6 by configuring the Data Collection AF instantiated in the 5GMS AF (as defined in clause 4.7 of TS 26.501 [2]) with one or more Event Data Processing Configurations and Data Access Profiles for a particular Event ID.

Each instance of a Data Access Profile specifies a set of data processing operations to be performed by the Data Collection AF on its collected UE data in order to synthesize the event data to be exposed to a specific Event service consumer entity. In this release, eligible Event service consumer entities of 5GMS event data are the NWDAF, the Event Consumer AF and the NEF.

The Event Data Processing Provisioning API is specified in clause 7.11.

4.3.11.2 Create Event Data Processing Configuration

This procedure is used by the 5GMS Application Provider to create a new Event Data Processing Configuration in the form of one or more Data Access Profiles. The 5GMS Application Provider shall use the HTTP POST method for this purpose and the request message body shall include an EventDataProcessingConfiguration resource, as specified in clause 7.11.3.

If the procedure is successful, the 5GMS AF shall generate a resource identifier representing the new Event Data Processing Configuration. In this case, the 5GMS AF shall respond with a 201 (Created) response message and shall provide the URL to the newly created resource in the Location header field.

If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.11.3 Read Event Data Processing Configuration

This procedure is used by the 5GMS Application Provider to obtain the properties of an existing Event Data Processing Configuration resource from the 5GMS AF. The HTTP GET method shall be used for this purpose.

If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.3.11.4 Destroy Event Data Processing Configuration

This operation is used by the 5GMS Application Provider to destroy an existing Event Data Processing Configuration resource and to terminate the related distribution. The HTTP DELETE method shall be used for this purpose. As a result, the Data Collection AF shall process any reported UE data still outstanding and shall delete any corresponding data collection and reporting client configurations.

If the procedure is successful, the 5GMS AF shall respond with a 200 (OK) response message.

If the procedure is unsuccessful, the 5GMS AF shall provide a response code as defined in clause 6.3.

4.4 Procedures of the M2d (5GMS Ingest) interface

No procedures are specified in this release.

4.5 Procedures of the M3d interface

Interface M3d is internal and no procedures on this interface are specified.

4.6 Procedures of the M4d (Media Streaming) interface

4.6.1 Procedures for DASH Session

This procedure is used by a 5GMSd Client to establish a DASH session via the M4d interface. In order to establish such a session, the 5GMSd AS shall host an MPD as defined in ISO/IEC 23009-1 [32] or TS 26.247 [4] and the MPD URL is known to the 5GMSd Client typically using M8d.

The Media Player receives an MPD URL from the 5GMSd-Aware Application through M7d by methods defined in clause 13. The Media Player shall send an HTTP GET message to the 5GMSd AS including the URL of the MPD resource. On success, the 5GMSd AS shall respond with a 200 (OK) message that includes the requested MPD resource.

Additional procedures for reactions to different HTTP status codes are provided in TS 26.247 [4], clause A.7 and ISO/IEC 23009-1 [32] clause A.7.

Additional procedures for handling partial file responses are provided in TS 26.247 [4], clause A.9.

This information is provided through M7d to the application for selection. In addition, the currently used service description parameters are provided as status information through M7d in order for the Media Session Handler to make use of this information, for example for Dynamic Policy and Network Assistance.

The detailed handling of service description information is documented in clause 13.2 of the present document.

4.6.2 Procedures for Progressive Download Session

This procedure is used by a 5GMSd client to establish a Progressive Download session via the M4d interface. In order to establish such a session, the 5GMSd AS shall host an 3GP/MP4 file as defined in TS 26.247 [4]. The 3GP/MP4 URL is known to the Media Player (in this case a progressive download player), typically by using M8d.

The Media Player receives a URL from the 5GMSd-Aware Application through M7d by methods defined in clause 13. The Media Player shall send an HTTP GET message to the 5GMSd AS including the URL of the 3GP/MP4 resource. On success, the 5GMSd AS shall respond with a 200 (OK) message that includes the requested 3GP/MP4 resource.

Additional procedures for reactions to different HTTP status codes are provided in TS 26.247 [4].

4.7 Procedures of the M5 (Media Session Handling) interface

4.7.1 Introduction

The M5 APIs are used by a Media Session Handler within a 5GMS Client to invoke services relating to downlink or uplink media streaming at the 5GMS AF.

4.7.2 Procedures for Service Access Information

4.7.2.1 General

Service Access Information is the set of parameters and addresses needed by the 5GMSd Client to activate reception of a downlink media streaming session or by a 5GMSu Client to activate an uplink media streaming session for contribution. The data model of the ServiceAccessInformation resource acquired by the Media Session Handler of the 5GMS Client is shown in clause 11.2.3. Service Access Information additionally includes configuration information to allow the Media Session Handler to invoke procedures for dynamic policy (see clause 4.7.3), consumption reporting (clause 4.7.4), metrics reporting (clause 4.7.5) and network assistance (clause 4.7.6).

For downlink media streaming, the Media Session Handler may obtain Service Access Information from either the 5GMSd-Aware Application (via M6d) or the 5GMSd AF (via M5d). In the former case, the Service Access Information is initially acquired by the 5GMSd-Aware Application from the 5GMSd Application Provider via M8d. In the latter case, the Service Access Information is derived by the 5GMSd AF from the Provisioning Session established via M1d.

Typically, the Service Access Information for downlink media streaming includes a media entry point (e.g. a URL to a DASH MPD or a URL to a progressive download file) that can be consumed by the Media Player and is handed to the Media Player through M7d.

If an Edge Resources Configuration with client-driven management (EM_CLIENT_DRIVEN) is provisioned in the applicable Provisioning Session, the 5GMSd AF shall convey the ClientEdgeResources‌Configuration to the Media Session Handler (via M5d) as part of the Service Access Information.

NOTE: The requirements on an edge-enabled Media Session Handler are defined in clause 4.5.2 of TS 26.501 [2].

For downlink media streaming exclusively via eMBMS and for hybrid 5GMSd/eMBMS services as defined in clauses 5.10.2 and 5.10.5 respectively of TS 26.501 [2], the Service Access Information indicates that the 5GMSd Client acts as an MBMS-Aware Application.

For dynamically provisioned downlink media streaming via eMBMS as defined in clause 5.10.6 of TS 26.501 [2], the 5GMSd AS creates a presentation manifest that is regularly polled by the Media Player for a potential update. When an eMBMS User Service carrying the 5GMSd content is dynamically provisioned or removed by the 5GMSd AF, the 5GMSd AS shall update the presentation manifest with the locations where the updated manifest and the media segments are now available, for example to add or change to the media server in the MBMS Client.

For uplink media streaming, the 5GMSu Client may obtain Service Access Information from either the 5GMSu-Aware Application (via M6u/M7u) or the 5GMSu AF (via M5u). In the former case, the Service Access Information is initially acquired by the 5GMSu-Aware Application from the 5GMSu Application Provider via M8u. In the latter case, the Service Access Information is derived by the 5GMSu AF from the Provisioning Session established via M1u.

This clause specifies the procedures whereby the 5GMS Client fetches Service Access Information from the 5GMS AF.

4.7.2.2 Create Service Access Information

The Create operation is not allowed on Service Access Information.

4.7.2.3 Read Service Access Information properties

This procedure shall be used by the Media Session Handler to acquire Service Access Information from the 5GMS AF. The Media Session Handler uses the GET method for this purpose.

The downlink or uplink media streaming session for which the Media Session Handler is requesting data is identified by a unique reference contained in the path of the URL, as specified in clause 11.2.2.

Once it has obtained an initial set of Service Access Information, the Media Session Handler shall periodically check for updated Service Access Information by issuing a conditional HTTP GET request containing either:

– an If-None-Match request header with the value of the entity tag (ETag) that was returned with the most recently acquired ServiceAccessInformation resource; or else

– an If-Modified-Since request header with the Last-Modified value of that most recently acquired resource.

The periodicity of polling for updated Service Access Information shall be guided by the value of the Expires and/or Cache-control: max-age headers that shall be included along with every response message for this procedure.

4.7.2.4 Update Service Access Information properties

The Update operation is not allowed on Service Access Information.

4.7.2.5 Destroy Service Access Information properties

The Destroy operation is not allowed on Service Access Information.

4.7.3 Procedures for dynamic policy invocation

This procedure is used by a Media Session Handler to manage Dynamic Policy Instance resources via the M5 interface. A dynamic policy invocation consists of a Policy Template Id, flow description(s), a 5GMS Application Service Configuration Id and potentially other parameters, according to TS 26.501 clause 5.7.

A Policy Template Id identifies the desired Policy Template to be applied to an application flow. A Policy Template includes properties such as specific QoS (e.g. background data) or different charging treatments. The 5GMS AF combines the information from the Policy Template with dynamic information from the Media Session Handler to gather a complete set of parameters to invoke the N33 or N5 API call. The Policy Template may contain for example the AF identifier.

The flow description allows the identification and classification of the media traffic, such as the packet filter sets given in clause 5.7.6 of [2].

In order to instantiate a new dynamic policy, the Media Session Handler shall first create a resource for the Dynamic Policy Instance on the 5GMS AF. When the Media Session Handler needs several dynamic policies, it repeats the step as often as needed.

The Media Session Handler creates a new Dynamic Policy Instance by sending an HTTP POST message to the 5GMS AF. The body of the HTTP POST message shall include a Provisioning Session Id, the Policy Template Id and the Service Data Flow description. The Service Data Flow description identifies the actual application flow(s) to be policed according to the Policy Template. If the operation is successful, the 5GMS AF creates a new resource URL representing the Dynamic Policy Instance. In this case, the 5GMS AF shall respond to the Media Session Handler with a 201 Created HTTP response message, including the URL for the newly created Dynamic Policy Instance resource as the value of the Location header field.

When the Dynamic Policy Instance is successfully instantiated, the 5GMS AF triggers the creation of a corresponding policy in the 5G System. Depending on the selected sdfMethod, the 5GMS AF fills in a flowDescription object and / or provides an application identifier referring to a PFD (Packet Flow Description) object containing the domain name.

NOTE 1: It is not defined in this Release how a 5GMS AF in an external Data Network provides an application identifier.

NOTE 2: It is not defined in this Release how a 5GMS AF in an external Data Network selects a specific DNN or S‑NSSAI. The Media Session Handler can modify the parameters of an existing Dynamic Policy Instance resource using either the HTTP PUT or PATCH methods, as appropriate to the desired update. The 5GMS AF shall trigger the appropriate actions towards other Network Functions like PCF or NEF when all information is set.

The Media Session Handler can destroy a Dynamic Policy Instance resource using the HTTP DELETE method. As a result, the 5GMS AF shall trigger the appropriate actions towards other Network Functions like PCF or NEF to remove the associated PCC rule.

4.7.4 Procedures for consumption reporting

These procedures are used by the Media Session Handler and the Consumption Reporting functions of the 5GMSd Client to submit a consumption report via the M5d interface if Consumption Reporting is applied for a downlink streaming session.

The Service Access Information indicating whether Consumption Reporting is provisioned for downlink streaming sessions is described in clause 11.2.3. When the ClientConsumptionReportingConfiguration.samplePercentage value is 100, the Media Session Handler shall activate the consumption reporting procedure. If the samplePercentage is less than 100, the Media Session Handler shall generate a random number which is uniformly distributed in the range of 0 to 100, and the Media Session Handler shall activate the consumption report procedure when the generated random number is of a lower value than the samplePercentage value.

If the consumption reporting procedure is activated, the Media Session Handler shall submit a consumption report to the 5GMSd AF when any of the following conditions occur:

– Start of consumption of a downlink streaming session;

– Stop of consumption of a downlink streaming session;

– Upon determining the need to report ongoing 5GMS consumption at periodic intervals determined by the ClientConsumptionReportingConfiguration.reportingInterval property.

– Upon determining a location change, if the ClientConsumptionReportingConfiguration.locationReporting property is set to True.

– Upon determining an access network change (e.g. unicast to eMBMS, or vice versa), if the ClientConsumptionReportingConfiguration.accessReporting property is set to True.

Whenever a consumption report is sent, the Media Session Handler shall reset its reporting interval timer to the value of the reportingInterval property and it shall begin countdown of the timer again. Whenever the Media Session Handler stops the consumption of a downlink streaming session, it shall disable its reporting interval timer.

In order to submit a consumption report, the Media Session Handler shall send an HTTP POST message to the 5GMSd AF. If several 5GMSd AF addresses are listed in the ClientConsumptionReportingConfiguration.‌serverAddresses array (see table 11.2.3.1-1), the Media Session Handler shall choose one and send the message to the selected. The request body shall be a ConsumptionReport structure, as specified in clause 11.3.3.1.The server shall respond with a 200 (OK) message to acknowledge successful processing of the consumption report.

NOTE: If the connection via M5d for consumption reporting is temporarily unavailable, the consumption reports are expected to be stored on the UE for some time until connectivity to 5GMSd AF is restored and send as collection later to the 5GMSd AF. Details are left to implementation.

The Consumption Reporting API, defining the data formats and structures and related procedures for consumption reporting, is described in clause 11.3.

A reporting client identifier shall be included in the consumption report. If available to the Media Session Handler, its value should be a GPSI value as defined by TS 23.003 [7]. Otherwise, the reporting client identifier should be represented by a stable and globally unique string.

4.7.5 Procedures for metrics reporting

The M5 procedures for QoE metrics reporting pertain to the combination of the provisioning of metrics collection and reporting in the Media Session Handler using relevant Service Access Information, and the sending of collected metrics by the Media Session Handler to the 5GMS AF in accordance with the configured metrics scheme(s). A metrics scheme may be 3GPP-defined or non-3GPP-defined.

When the metrics collection and reporting feature is activated for a downlink media streaming session, one or more metrics configuration sets, each associated with a metrics scheme, may be provided to the 5GMS Client. A given metrics configuration set contains information such as the 5GMS AF address(es) to which metrics are to be sent by the Media Session Handler, metrics reporting interval, target percentage of media streaming sessions for which reports should be sent, and the set of metrics to be collected and reported. See TS 26.501 [2] for additional details.

For progressive download and DASH streaming services, the listed metrics in a given metrics configuration set are associated with the 3GPP metrics scheme and shall correspond to one or more of the metrics as specified in clauses 10.3 and 10.4, respectively, of TS 26.247 [4]. Metrics related to virtual reality media, as specified in clause 9.3 of TS 26.118 [42] clause 9.3, may also be listed in the metrics configuration. Metrics related to eMBMS delivery, as specified in clause 9.4.6 of TS 26.346 [51], may also be listed in the metrics configuration.

NOTE: If the connection via M5d for metrics reporting is temporarily unavailable, the consumption reports are expected to be stored on the UE for some time until connectivity to 5GMSd AF is restored and send as collection later to the 5GMSd AF. Details are left to implementation.

Details of the metrics reporting API are provided in clause 11.4, and for 3GP-DASH based downlink media streaming services, the 3GPP-defined metrics reporting scheme and metrics report format are defined in clause 11.4.3.

A reporting client identifier may be included in the metrics report. If available to the Media Session Handler, its value should be a GPSI value as defined by TS 23.003 [7]. Otherwise, the reporting client identifier should be represented by a stable and globally unique string.

4.7.6 Procedures for network assistance

This procedure is used by the 5GMS Client to request Network Assistance from the 5GMSd AF.

The 5GMS Client first creates a Network Assistance Session. It provides information that will be used by the Network Assistance function to request QoS from the PCF and to recommend a bit rate to the 5GMS Client.

The 5GMS Client may also request a delivery boost to be provided.

After the Network Assistance Session resource is provisioned, the 5GMS Client uses the Network Assistance Session identifier when requesting a bit rate recommendation.

In order to terminate a Network Assistance Session, the 5GMS Client deletes the Network Assistance session resource.

4.8 Procedures of the M6d (UE Media Session Handling) interface

4.8.1 General

This clause contains the procedures for the interaction between the 5GMSd-Aware application or the Media Player and the Media Session Handler through the M6d API. Details are provided in clause 12.

4.8.2 Consumption reporting procedures

Before a streaming session is started, the Media Session Handler shall check if the Service Access Information contains any Consumption reporting configuration, as specified in clause 4.7.3. If such a configuration is present, the Media Session Handler shall initiate consumption reporting based on this configuration for the current streaming session.

The Media Session Handler shall first determine whether consumption reporting is active for the session. The determination shall be based on the samplePercentage attribute specified in the consumption reporting configuration. When the samplePercentage is not present or its value is 100, consumption reporting is active for the session. If the samplePercentage is less than 100, the Media Session Handler generates a random number which is uniformly distributed in the range 0 to100; consumption reporting is active for the session when the generated random number is of a lower value than the samplePercentage value.

If consumption reporting for this session is active, the Media Session Handler shall regularly determine the consumption reporting parameters defined in clause 11.3.2.4 from the Media Player through the M7d interface and shall report these values according to the reportingInterval specified in the Client Consumption Reporting Configuration.

4.9 Procedures of the M7d (UE Media Player) interface

4.9.1 General

This clause contains the procedures for the interaction between the 5GMSd-Aware Application or the Media Session Handler and the Media Player through the M7d API. Details are provided in clause 13.

4.9.2 Metrics reporting procedures

These procedures shall be used by the Media Session Handler function to control metrics reporting when such reporting is configured via metadata sent in-band via the media manifest.

When a streaming session is started, the Media Session Handler shall check if the manifest contains any metrics configuration, as specified in TS 26.247 clauses 10.4 and 10.5, or TS 26.118 [42] clause 9.3. If such a configuration is found, the Media Session Handler shall use it for the current streaming session.

The Media Session Handler shall first determine whether metrics from this session shall be reported. The determination shall be based on the samplePercentage attribute specified in the metrics configuration, according to TS 26.247 clause 10.5.

If metrics are reported for the session, the Media Session Handler shall request the Media Player to create a metrics collection job. The Media Player shall return a reference to the created job, which the Media Session Handler shall use in all subsequent actions related to this job.

The Media Session Handler shall configure the metrics collector job with the set of metrics which shall be collected during the session. The format of the configuration shall be according to TS 26.247 Annex L.2, but note that only the metrics attribute in the configuration shall be used for this purpose.

The Media Session Handler shall regularly request the collected metrics from the Media Player according to the reportingInterval specified in the metrics configuration. The metrics returned by the Media Player shall use the format as described in TS 26.247 clause 10.6, and (for virtual reality media) in TS 26.118 [42] clause 9.4 and the Media Session Handler shall forward these to the server address(es) specified in the metrics configuration using the specified DNN according to the procedures described in TS 26.247 clause 10.6.

When the session is finished the Media Session Handler shall delete the metrics collection job.

4.10 Procedures of the M8d interface

This clause defines basic procedures for M8d.

No specific procedures are defined but it is expected that the 5GMSd Application Provider can provide media session entry points to a 5GMSd-Aware Application through M8d. The 5GMSd-Aware Application would then initiate the media session by providing such an entry point to the 5GMSd Client through M7d.

4.11 Data collection and reporting procedures at reference point R4

4.11.1 General

These procedures are used by the 5GMS AS, as a type of data collection client, to acquire its data collection and reporting client configuration from, and subsequently report media streaming access activity to, the Data Collection AF instantiated in the 5GMS AF. It does so by invoking the Ndcaf_DataReporting service offered by the Data Collection AF at reference point R4, as specified in clause 7 of TS 26.532 [49].

4.11.2 5GMS AS data collection and reporting client configuration

The 5GMS AS shall use the service operations and procedures specified in TS 26.532 [49] to obtain its data collection and reporting client configuration from the Data Collection AF instantiated in the 5GMS AF at reference point R4:

– In the case where both the 5GMS AS and the 5GMS AF reside in the trusted domain, the 5GMS AS shall obtain its data collection client configuration directly from the Data Collection AF by invoking appropriate Ndcaf_DataReporting service operations as specified in clause 7.2 of [49] according to the procedures specified in clauses 4.2.5 of [49].

– Should the 5GMS AS and the 5GMS AF reside in different trust domains, the 5GMS AS shall instead obtain its configuration from the Data Collection AF indirectly via the NEF by invoking the equivalent operations on the Nnef_DataReporting service as defined in TS 26.531 [48].

In both cases, the 5GMS AS shall declare that it supports the MS_ACCESS_ACTIVITY data reporting domain in Data‌Reporting‌Session.‌supportedDomains (see clauses 7.2.3.2.1 and 7.2.3.3.1 of TS 26.532 [49]) and the Data Collection AF instantiated in the 5GMS AF shall request reporting for this domain by including the same value as a key to the Data‌Reporting‌Session.‌reportingConditions dictionary. The value of the ReportingCondition.type property at this key shall be INTERVAL, THRESHOLD or OFF.

The 5GMS AS shall refresh its data collection and reporting client configuration according to the procedures specified in clause 4.2.5.3 of TS 26.532 [49].

4.11.3 5GMS AS data reporting

The 5GMS AS shall use the service operations and procedures specified in TS 26.532 [49] to report media streaming access activity to the Data Collection AF instantiated in the 5GMS AF at reference point R4:

– In the case where both the 5GMS AS and the 5GMS AF reside in the trusted domain, the 5GMS AS shall submit media streaming access activity reports directly to the Data Collection AF by invoking appropriate Ndcaf_DataReporting service operations as specified in clause 7.3 of [49] according to the procedures specified in clauses 4.2.7 of [49].

– Should the 5GMS AS and the 5GMS AF reside in different trust domains, the 5GMS AS shall instead submit media streaming access activity reports indirectly to the 5GMS AF via the NEF by invoking the equivalent operations on the Nnef_DataReporting service as defined in TS 26.531 [48].

In both cases, the conditions for sending a downlink media streaming access activity report by the 5GMSd AS and the parameters of such report are signalled in the data collection and reporting client configuration obtained using the procedure specified in clause 4.11.2.

In order to submit a media streaming access activity report, the 5GMS AS shall send an HTTP POST message to the Data Collection AF instantiated in the 5GMS AF. The request body shall be a JSON document of type DataReport (as defined in clause 7.3.3.2.1 of TS 26.532 [49]) containing one or more MediaStreaming‌AccessRecord structures, as specified in clauses 17.2 and C.5.1 of the present document.

The Data Collection AF shall respond with a 200 (OK) message to acknowledge successful processing of the media streaming access activity report.

4.12 Event Exposure procedures at reference points R5 and R6

4.12.1 General

As specified in clauses 4.7.1 and 4.7.4 of TS 26.501 [2], Events relating to 5G Media Streaming are exposed to Event consumers at reference points R5 and R6 by the Data Collection AF instantiated in the 5GMS AF (playing the role of Event service provider). Procedures for event exposure are specified in clauses 5.11.3 (for downlink media streaming) and 6.8.3 (for uplink media streaming) respectively of [2].

The following Naf_EventExposure service operations as defined in TS 23.502 [45] apply for such interactions between the Data Collection AF and consumer entities:

– Naf_EventExposure_Subscribe,

– Naf_EventExposure_Unsubscribe, and

– Naf_EventExposure Notify.

In this release, eligible Event service consumers of 5GMS Event services are the NWDAF and NEF as NFs, and the Event Consumer AF of the 5GMS Application Provider.

4.12.2 Event Exposure subscription procedure

The definition of input and output parameters of the Naf_EventExposure_Subscribe service operation is identical to that specified in clause 5.2.19.2.2 of TS 23.502 [45], except that "AF" is replaced by "Data Collection AF" and "consumer NF" (or "NF consumer") is replaced by "Event service consumer".

4.12.3 Event Exposure unsubscription procedure

The definition of input and output parameters of the Naf_EventExposure_Unsubscribe service operation is identical to that specified in clause 5.2.19.2.3 of TS 23.502 [45], except that "AF" is replaced by "Data Collection AF" and "consumer NF" (or "NF consumer") is replaced by "Event service consumer".

4.12.4 Event Exposure notification procedure

The definition of input and output parameters of the Naf_EventExposure_Notify service operation is identical to that specified in clause 5.2.19.2.4 of TS 23.502 [45], except that "AF" is replaced by "Data Collection AF" and "consumer NF" (or "NF consumer") is replaced by "Event service consumer".

4.13 Procedures for downlink media streaming via eMBMS

This procedure is used by a 5GMSd Client to establish a 5GMSd session either completely, or at least partially, through eMBMS.

– For downlink media streaming exclusively via eMBMS and for hybrid 5GMSd/eMBMS services, as defined in clauses 5.10.2 and 5.10.5 respectively of TS 26.501 [2]:

– The 5GMSd Application Provider shall provision a supplementary distribution network of type DISTRIBUTION_‌NETWORK_‌EMBMS in the Content Hosting configuration at reference point M1d, as specified in clause 7.6.3.1, with either MODE_EXCLUSIVE or MODE_HYBRID (as appropriate).

– The 5GMSd Application Provider may additionally provision access reporting in the Consumption Reporting Configuration at M1d, as specified in clause 7.7.3.1.

– The MBMS Client shall host an MPD as defined in ISO/IEC 23009‑1 [32] or in TS 26.247 [4], or any other presentation manifest as the 5GMSd Media Entry Point such as an HLS Master Playlist.

– The URL of this presentation manifest shall be signalled to the 5GMSd Client through the 5GMSd session establishment procedure.

– The MBMS Client shall be invoked by the Media Session Handler via reference point MBMS-API-C using the procedures defined in TS 26.347 [52].

– For dynamically provisioned downlink media streaming via eMBMS as defined in clause 5.10.6 TS 26.501 [2]:

– The 5GMSd Application Provider shall provision a supplementary distribution network of type DISTRIBUTION_‌NETWORK_‌EMBMS in the Content Hosting configuration at reference point M1d, as specified in clause 7.6.3.1, with MODE_DYNAMIC.

– The 5GMSd Application Provider shall additionally provision access reporting in the Consumption Reporting Configuration at M1d, as specified in clause 7.7.3.1.

– The 5GMSd AS shall host an MPD as defined in ISO/IEC 23009‑1 [32] or in TS 26.247 [4], or any other presentation manifest as the 5GMSd Media Entry Point.

– The URL of this presentation manifest shall be signalled to the 5GMSd Client through the 5GMSd session establishment procedure. If the 5GMSd service is currently available as an MBMS User Service, the 5GMSd Client forwards the manifest request to the MBMS Client; otherwise, it forwards the request to the 5GMSd AS via reference point M4d.

NOTE: The detailed execution of dynamically handling this decision is left to implementation.

– The MBMS Client shall be invoked dynamically, paused or destroyed by the Media Session Handler via reference point MBMS-API-C using the procedures defined in TS 26.347 [52].

Additional procedures for reactions to different HTTP status codes are provided in clause A.7 of TS 26.247 [4] and clause A.7 of ISO/IEC 23009‑1 [32].

Additional procedures for handling partial file responses are provided in clause A.9 of TS 26.247 [4].