7 Provisioning (M1) APIs

26.5123GPP5G Media Streaming (5GMS)ProtocolsRelease 17TS

7.1 General

This clause defines the provisioning API used by a 5GMS Application Provider to configure downlink or uplink 5G Media Streaming services.

7.2 Provisioning Sessions API

7.2.1 Overview

The Provisioning Sessions API is used by the 5GMS Application Provider to instantiate and manipulate Provisioning Sessions in the 5GMS System, as described in clause 4.3.2. Having created a Provisioning Session, the 5GMS Application Provider can then go on to provision other 5GMS features in the context of that Provisioning Session, using the APIs specified in clause 7.3 et seq. Certain of these features are only applicable to the type of Provisioning Session created.

7.2.2 Resource structure

The Provisioning Sessions API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/

Table 7.4.2‑1 specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the sub-resource path specified in the second column of the table shall be appended to the above URL base path.

Table 7.2.2‑1: Operations supported by the Provisioning Sessions API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Provisioning Session

POST

Used to create a new Provisioning Session resource.

If the operation succeeds, the URL of the created Provisioning Session resource shall be returned in the Location header of the response.

Retrieve Provisioning Session

{provisioningSessionId}

GET

Used to retrieve a Provisioning Session resource for inspection.

Destroy Provisioning Session

DELETE

Used to destroy an existing Provisioning Session resource.

7.2.3 Data model

7.2.3.1 ProvisioningSession resource

The data model for the ProvisioningSession resource is specified in Table 7.2.3.1-1 below. Different properties are present in the resource depending on the type of Provisioning Session indicated in the provisioningSessionType property, and this is specified in the Applicability column.

Table 7.2.3.1‑1: Definition of ProvisioningSession resource

Property name

Type

Cardinality

Usage

Description

Applicability

provisioningSessionId

ResourceId

1..1

C: R

R: RO

A unique identifier for this Provisioning Session.

All types.

provisioningSession‌Type

Provisioning‌Session‌Type

1..1

C: RW
R: RO

U: –

The type of Provisioning Session.

All types.

aspId

AspId

0..1

C: W

R: RO

The identity of the Application Service Provider responsible for this Provisioning Session, as specified in clause 5.6.2.3 of TS 29.514 [34].

All types.

externalApplicationId

ApplicationId

1..1

C: RW
R: RO
U: RO

The external application identifier (see TS 29.571 [12]), nominated by the 5GMS Application Provider, to which this Provisioning Session pertains.

All types.

serverCertificateIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Server Certificate identifiers currently associated with this Provisioning Session.

downlink

contentPreparation‌TemplateIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Content Preparation Template identifiers currently associated with this Provisioning Session.

downlink,

uplink

metricsReporting‌ConfigurationIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Metrics Reporting Configuration identifiers currently associated with this Provisioning Session.

downlink,

uplink

policyTemplateIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Policy Template identifiers currently associated with this Provisioning Session.

downlink,

uplink

edgeResources‌ConfigurationIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Edge Resources Configuration identifiers currently associated with this Provisioning Session.

downlink,

uplink

eventDataProcessing‌ConfigurationIds

Array(ResourceId)

0..1

C: –

R: RO

A list of Event Data Processing Configuration identifiers currently associated with this Provisioning Session.

downlink,

uplink

7.3 Server Certificates Provisioning API

7.3.1 Overview

The Server Certificates Provisioning API is used to provision X.509 [8] server certificates that can be referenced by a Content Hosting Configuration and subsequently presented by the 5GMSd AS when it distributes content to 5GMSd Clients at interface M4d using Transport Layer Security [30]. Server Certificate resources are provisioned within the scope of an enclosing Provisioning Session.

7.3.2 Resource structure

The Server Certificates Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.3.2‑1 specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.3.2‑1: Operations supported by the Server Certificates Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Server Certificate

certificates

POST

Invoked on the Server Certificates collection associated with a Provisioning Session to request that the 5GMS System creates a new Server Certificate on behalf of the 5GMSd Application Provider.

The request message body shall be empty.

If the operation succeeds, the URL of the created Server Certificate resource shall be returned in the Location header of the response and this shall comply with the sub-resource path specified below for manipulating Server Certificate resources in the collection.

The body of the response message may include a copy of the created X.509 certificate, as specified in clause 7.3.3.2 below.

Reserve Server Certificate

certificates?csr

POST

Invoked on the Server Certificates collection associated with a Provisioning Session to solicit a Certificate Signing Request for a new Server Certificate.

The request message body shall be empty.

If the operation succeeds, the URL of the reserved Server Certificate resource shall be returned in the Location header of the response and this shall comply with the sub-resource path specified below for manipulating Server Certificate resources in the collection.

The body of the response shall be a PEM-encoded X.509 Certificate Signing Request, as specified in clause 7.3.3.1 below.

Retrieve Server Certificate

certificates/{certificateId}

GET

Used to retrieve a previously created or uploaded Server Certificate.

If a Server Certificate resource has been reserved but not yet uploaded, this operation shall return 204 (No Content).

Upload Server Certificate

PUT

Used by the 5GMSd Application Provider to supply a new Server Certificate in response to a solicited Certificate Signing Request.

The body of the request message shall be a PEM-encoded X.509 certificate signed with the public key of the Certificate Signing Request, as specified in clause 7.3.3 below.

The 5GMSd AF shall associate the Server Certificate with the private key it generated alongside the Certificate Signing Request.

Attempting to update a previously uploaded Server Certificate is an error.

Destroy Server Certificate

DELETE

Removes the specified Server Certificate from the set of certificates associated with the Provisioning Session.

NOTE: The Server Certificate resource identifier {certificateId} differs from the serial number of the X.509 certificate.

7.3.3 Data model

7.3.3.1 Certificate Signing Request

The Certificate Signing Request shall comply with the Privacy-Enhanced Mail (PEM) textual format specified in RFC 7468 [17], i.e. a Base64-encoded DER certificate request or certificate, including leading and trailing encapsulation boundary lines.

The MIME content type shall be application/x-pem-file.

7.3.3.2 Server Certificate resource

The Server Certificate resource shall comply with the Privacy-Enhanced Mail (PEM) textual format specified in RFC 7468 [17], i.e. a Base64-encoded DER certificate request or certificate, including leading and trailing encapsulation boundary lines. The resource shall include only the public parts of the X.509 certificate. In particular, the private key shall not be included.

The MIME content type shall be application/x-pem-file.

7.3.4 Operations

Under no circumstances shall the 5GMSd AF reveal the private key associated with the Certificate Signing Request to the 5GMSd Application Provider.

7.4 Content Preparation Templates Provisioning API

7.4.1 Overview

Content Preparation Templates are used to specify manipulations applied by a 5GMS AS to downlink media resources ingested at interface M2d for distribution at interface M4d, or to uplink media resources contributed at interface M4u for egest at interface M2u. The Content Preparation Templates Provisioning API is used to provision a Content Preparation Template within the scope of a Provisioning Session that can subsequently be referenced from a Content Hosting Configuration.

7.4.2 Resource structure

The Content Preparation Templates Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.4.2‑1 specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.4.2‑1: Operations supported by the Content Preparation Templates Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Content Preparation Template

content-preparation-templates

POST

Invoked on a Content Preparation Templates collection when supplying a new Content Preparation Template resource.

If the operation succeeds, the URL of the newly created Content Preparation Template resource shall be returned in the Location header of the response and this shall comply with the sub-resource path specified below for manipulating Content Preparation Templates.

Retrieve Content Preparation Template

content‑preparation‑templates/‌{contentPreparationTemplateId}

GET

Used to retrieve a Content Preparation Template resource.

Update Content Preparation Template

PUT,

PATCH

Used to modify an existing Content Preparation Template resource.

Destroy Content Preparation Template

DELETE

Used to destroy an existing Content Preparation Template resource.

7.4.3 Data model

The data model of the Content Preparation Template resource shall be determined by its MIME content type.

7.4.4 Operations

The operations shall be determined by the MIME content type of the Content Preparation Template resource.

7.5 Content Protocols Discovery API

7.5.1 Overview

The Content Protocols Discovery API is used by a 5GMS Application Provider to find out which content ingest or egest protocols are supported by the 5GMS AS instance(s) associated with a 5GMS AF. One of the supported ingest protocols is subsequently indicated in a Content Hosting Configuration for downlink media streaming.

7.5.2 Resource structure

The Content Protocols Discovery API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.5.2‑1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column of the table shall be appended to the URL base path.

Table 7.5.2‑1: Operations supported by the Ingest Protocols Discovery API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Fetch list of supported content protocols

protocols

GET

This operation is used to retrieve a list of supported content protocols.

7.5.3 Data model

7.5.3.1 ContentProtocols resource

The data model for the ContentProtocols resource is specified in Table 7.5.3.1-1 below:

Table 7.5.3.1-1: Definition of ContentProtocols resource

Property name

Data Type

Cardinality

Description

downlinkIngestProtocols

Array(Content‌Protocol‌Descriptor)

0..1

An array of ContentProtocolDescriptor objects, as specified in clause 7.5.3.2, each one uniquely identifying a content ingest protocol supported at interface M2d by the 5GMSd AS(s) associated with the corresponding 5GMSd AF.

uplinkEgestProtocols

Array(Content‌Protocol‌Descriptor)

0..1

An array of ContentProtocolDescriptor objects, as specified in clause 7.5.3.2, each one uniquely identifying a content egest protocol supported at interface M2u by the 5GMSu AS(s) associated with the corresponding 5GMSu AF.

geoFencingLocatorTypes

Array(Uri)

0..1

An array of fully-qualified term identifiers, each one indicating a content geo-fencing locator type supported by the 5GMS System.

Every 5GMS System shall support at least the locator type urn:3gpp:5gms:locatortype:iso3166.

7.5.3.2 ContentProtocolDescriptor type

The data model for the ContentProtocolDescriptor type is specified in table 7.5.3.2-1 below:

Table 7.5.3.2-1: Definition of ContentProtocolDescriptor type

Property name

Data Type

Cardinality

Description

termIdentifier

Uri

1..1

A fully-qualified term identifier from the controlled vocabulary urn:3gpp:5gms:content-protocol, as specified in clause 8.

descriptionLocator

Url

0..1

The location of a description of the content protocol, for example the public web URL of its specification.

7.6 Content Hosting Provisioning API

7.6.1 Overview

This clause specifies the API that a 5GMSd Application Provider uses at interface M1d to provision and manage 5GMSd AS Content Hosting Configurations by interacting with a 5GMSd AF. Each such configuration is represented by a ContentHostingConfiguration, the data model for which is specified in clause 7.6.3 below. The RESTful resources for managing Content Hosting Configurations are specified in clause 7.6.2 and the operations on these resources are further elaborated in clause 7.6.4.

7.6.2 Resource structure

The Content Hosting Provisioning API is accessible through this URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.6.2-1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.6.2‑1: Operations supported by the Content Hosting Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Content Hosting Configuration

content-hosting-configuration

POST

Used to create a Content Hosting Configuration resource.

Retrieve Content Hosting Configuration

GET

Used to retrieve an existing Content Hosting Configuration.

Update Content Hosting Configuration

PUT,

PATCH

Used to modify an existing Content Hosting Configuration.

Delete Content Hosting Configuration

DELETE

Used to delete an existing Content Hosting Configuration.

Purge Content Hosting Configuration cache

content-hosting-configuration/purge

POST

This operation is used to invalidate some or all cached media resources associated with this Content Hosting Configuration.

7.6.3 Data model

7.6.3.1 ContentHostingConfiguration resource

The data model for the ContentHostingConfiguration resource is specified in table 7.6.3.1-1 below:

Table 7.6.3.1-1: Definition of ContentHostingConfiguration resource

Property name

Data Type

Cardinality

Description

name

String

1..1

A name for this Content Hosting Configuration.

entryPointPath

Url

0..1

An entry point for a single content item expressed as a relative path (i.e. without a scheme or any leading forward slash characters). The semantics of the entry point are dependent on the value of ingestConfiguration.protocol, as specified in clause 8.

If provided, the path shall be valid at reference point M2d when appended to the ingest base URL and at reference point M4d when appended to all distribution base URLs.

ingestConfiguration

Object

1..1

Describes the 5GMSd Application Provider’s origin server from which media resources will be ingested via interface M2d.

pull

Boolean

1..1

Indicates whether to the 5GMSd AS shall use Pull or Push for ingesting the content.

protocol

Uri

1..1

A fully-qualified term identifier allocated in the name space urn:3gpp:5gms:content-protocol that identifies the content ingest protocol.

The set of supported protocols is defined in clause 8.

baseURL

Url

0..1

A base URL (i.e. one that includes a scheme, authority and, optionally, path segments) from which content is ingested at reference point M2d for this ingest configuration.

In the case of Pull-based content ingest (pull flag is set to True), the base URL shall be provided to the 5GMSd AF to indicate the location from which content is to be pulled for this Content Hosting Configuration. A request received at reference point M4d is mapped by the 5GMSd AS to a URL at reference point M2d whose base is the value of this property.

In the case of Push-based content ingest (pull flag is set to False), this property is populated by the 5GMSd AF and returned to the 5GMSd Application Provider to indicate the base URL to which content for this Content Hosting Configuration is to be published.

distributionConfigurations

Array(Object)

1..1

Specifies the distribution method and configuration for the ingested content.

More than one distribution may be configured for the ingested content, e.g. to offer different distribution configurations such as DASH and HLS.

contentPreparationTemplateId

ResourceId

0..1

Indicates that content preparation prior to distribution is requested by the 5GMSd Application Provider. It identifies the Content Preparation Template that shall be used as defined in clause 7.4

supplementary‌Distribution‌Networks

Array(<Distribution‌NetworkType, DistributionMode>

0..1

Specifies that the content for this distribution configuration is to be distributed via one of more supplementary networks. Each member of the array is a duple mapping a type of distribution network to a mode of distribution.

The same DistributionNetworkType value shall appear at most once in the array.

canonicalDomainName

String

0..1

All resources of the current distribution shall be accessible through this default Fully Qualified Domain Name assigned by the 5GMSd AF.

domainNameAlias

String

0..1

The 5GMSd Application Provider may assign another Fully-Qualified Domain Name through which media resources are additionally accessible at M4d.

This domain name is used by the 5GMSd AS to select an appropriate Server Certificate to present at M4d, and to set appropriate CORS HTTP response headers at M4d.

If this property is present, the 5GMSd Application Provider is responsible for providing in the DNS a CNAME record that resolves domainNameAlias to canonicalDomainName.

baseURL

Url

0..1

A base URL (i.e. one that includes a scheme, authority and, optionally, path segments) from which content is made available to 5GMS Clients at reference point M4d for this distribution configuration.

The value is chosen by the 5GMSd AF when the Content Hosting Configuration is provisioned. It is an error for the 5GMSd Application Provider to set this.

pathRewriteRules

Array(Object)

0..1

An ordered list of rules for rewriting the request URL paths of media resource requests handled by the 5GMSd AS.

If multiple rules match a particular resource’s path, only the first matching rule, in order of appearance in this array, shall be applied.

requestPathPattern

String

1..1

A regular expression [5] against which the path part of each 5GMSd AS request URL, including the leading "/", and up to and including the final "/", shall be compared. (Any leaf path element following the final "/" shall be excluded from this comparison.)

In the case of Pull-based ingest, the M4d download request path is used in the comparison.

In the case of Push-based ingest, the M2d upload request path is used in the comparison.

In either case, if the request path matches this pattern, the path mapping specified in the corresponding mappedPath shall be applied.

mappedPath

String

1..1

A replacement for the portion of the 5GMSd AS request path that matches requestPathPattern.

In the case of Pull-based ingest, ingestConfiguration.entryPoint is concatenated with the mapped path and any leaf path element from the original M4d download request to form the M2d origin request URL.

In the case of Push-based ingest, canonicalDomainName (and, optionally, domainNameAlias) are concatenated with the mapped path and any leaf path element from the original M2d upload request to form the distribution URL(s) exposed over M4d.

cachingConfigurations

Array(Object)

0..1

Defines a configuration of the 5GMSd AS cache for a matching subset of media resources ingested in relation to this Content Hosting Configuration.

urlPatternFilter

String

1..1

A pattern that will be used to match media resource URLs to determine whether a given media resource is eligible for caching by the 5GMSd AS. The format of the pattern shall be a regular expression as specified in [5].

cachingDirectives

Object

1..1

If a urlPatternFilter applies to a resource, then the provided cachingDirectives shall be applied by the 5GMSd AS at M4d, potentially overwriting any origin caching directives ingested at M2d.

statusCodeFilters

Array(Integer)

0..1

The set of HTTP origin response status codes to which these cachingDirectives apply. The filter shall be provided as a regular expression as specified in [5].

If the list is empty, the CachingDirectives shall apply to all HTTP origin response status codes at M2d.

noCache

Boolean

1..1

If set to True, this indicates that the media resources matching the filters shall not be cached by the 5GMSd AS and shall be marked as not to be cached when served by the 5GMSd AS at M4d.

maxAge

Integer

0..1

The caching time-to-live period that shall be set on ingested media resources matching the filters. This determines the minimum period for which the 5GMSd AS shall cache matching media resources as well as the time-to-live period signalled by the 5GMSd AS at interface M4d when it serves such media resources.

The time-to-live for a given media resource shall be calculated relative to the time it was ingested.

geoFencing

Object

0..N

Limit access to the content to the indicated geographic areas.

locatorType

Uri

1..1

The type of the locators shall be indicated using a fully-qualified term identifier URI from the controlled vocabulary urn:3gpp:5gms:‌locator‑type, as specified in clause 7.6.4.6, or else from a vendor-specific vocabulary.

locators

Array(String)

1..1

Array of locators from which access to the resources is to be allowed. The format of the locator strings shall be determined by the value of locatorType, as specified in clause 7.6.4.6.

urlSignature

Object

0..1

Defines the URL signing scheme. Only correctly signed and valid URLs will be allowed to access the content resource at M4d.

urlPattern

String

1..1

A pattern that shall be used by the 5GMSd AS to match M4d media resource URLs. The 5GMSd AS shall not serve a matching media resource at M4d unless it includes a valid authentication token calculated over the portion of the M4d request URL that matches this pattern. The format of the pattern shall be a regular expression as specified in [5].

tokenName

String

1..1

The name of the M4d request query parameter that the Media Player should use to present the authentication token when required to do so.

passphraseName

String

1..1

The name of the query parameter that is used to refer to the passphrase when constructing the authentication token.

Note that the token is not included in the cleartext part of the M4d URL query component.

passphrase

String

1..1

The shared secret between the 5GMSd Application Provider and the 5GMSd AS for this distributionConfiguration.

The passphrase is used in the computation and verification of the M4d authentication token but is never sent in-the-clear over that interface.

tokenExpiryName

String

1..1

The name of the M4d request query parameter that the Media Player should use to present the token expiry field.

useIPAddress

Boolean

1..1

If set to True, the IP address of the UE is included in the computation of the authentication token for resources that match urlPattern and access to matching media resources shall be allowed by the 5GMSd AF only when the M4d request is made from a UE with this IP address.

ipAddressName

String

0..1

The name of the M4d request query parameter that is encoded as part of the authentication token if the useIPAddress flag is set to True.

Note that the IP address is not passed in the cleartext part of the M4d URL query component.

certificateId

ResourceId

0..1

When content is distributed using TLS [16], the X.509 [8] certificate for the origin domain is shared with the 5GMSd AF so that it can be presented by the 5GMSd AS in the TLS handshake at M4d. This attribute indicates the identifier of the certificate to use.

7.6.3.2 DistributionNetworkType enumeration

The data model for the DistributionNetworkType enumeration is specified in Table 7.6.3.2-1 below:

Table 7.6.3.2‑1: Definition of DistributionNetworkType enumeration

Enumeration value

Description

DISTRIBUTION_NETWORK_EMBMS

Downlink media streaming via eMBMS.

7.6.3.3 DistributionMode enumeration

The data model for the DistributionMode enumeration is specified in Table 7.6.3.3-1 below:

Table 7.6.3.3‑1: Definition of DistributionMode enumeration

Enumeration value

Description

MODE_EXCLUSIVE

Downlink media streaming content ingested by the 5GMSd AS is distributed exclusively via a supplementary network and is not available at reference point M4d.

MODE_HYBRID

Downlink media streaming content ingested by the 5GMSd AS is available at reference point M4d and is additionally distributed via a supplementary network.

MODE_DYNAMIC

Downlink media streaming content ingested by the 5GMSd AS is available at reference point M4d and is additionally distributed via a supplementary network only when reported client demand exceeds a configured threshold.

7.6.4 Operations

7.6.4.1 Overview

This clause defines the behaviour that is expected from the 5GMSd AS when the Content Hosting Configuration has been successfully provisioned. The main operations that are performed affect the caching and purging of cached content as well as the processing for media preparation and at the edge.

7.6.4.2 Content caching

A Content Hosting Configuration may specify caching rules to be applied to media resources when they are distributed by the 5GMSd AS over interface M4d. The distribution shall use the urlPatternFilter in the CachingConfiguration object to determine which caching directives apply to that object. In case a media resource’s URL matches the pattern filter of more than one CachingConfiguration, the first match shall apply. In case no CachingConfiguration is identified as a match, the 5GMSd AS shall apply the caching directives that were received from the origin. In the case where no match is found and the origin server does not supply caching directives at M2d, then default caching directives based on the media resource type shall be applied.

A caching directive shall either indicate that a matching media resource is not to be cached by the 5GMSd AS, nor by downstream M4d clients (noCache set to True), or that the 5GMSd AS and downstream M4d clients are to cache it for maxAge seconds. The maxAge value applies relative to the time when a media resource was ingested, t_ingest. For an HTTP-based ingest, this corresponds to the Date header field in the HTTP request/response that carries the media resource at M2d. At the time t_ingest + maxAge, the object is considered stale and should not be served at M4d from the 5GMSd AS cache. The 5GMSd AS shall compensate for any synchronization skew between the origin and its own clock. This can be for instance done by including the max-stale HTTP cache directive in its M4d responses.

The maxAge value may be signalled at M4d by the 5GMSd AS using the Expires HTTP response header or the HTTP Cache-Control directives max‑age or s‑maxage.

When distributing a media resource using HTTP, a no-cache request may be translated into a no-cache and no-store HTTP Cache-Control directive and/or a max-age=0 HTTP Cache-Control directive.

By default, all origin HTTP header fields shall be assumed as not forwarded by the 5GMSd AS, unless specified otherwise by setting the flag originCacheHeaders to True.

7.6.4.3 Cache purging

The 5GMSd Application Provider may perform a purge operation to invalidate some or all cached media resources of a particular Content Hosting Configuration. A regular expression describing the set of media resource URLs to be purged from the 5GMSd AS cache for the Content Hosting Configuration in question shall be supplied in the body of the request. The body shall be encoded using the application/x-www-form-urlencoded MIME type as a key–value pair, with the key being the string pattern and the value being the regular expression.

On receiving a purge request, the 5GMSd AF shall immediately invalidate all media resources in the 5GMSd AS cache matching the regular expression by declaring them as stale. Any request at interface M4d for a purged media resource will trigger the fetching (and possible caching) of the current version from the origin via M2d in case of a Pull-based ingest. For Push-based ingest, the request shall be responded to with a 404 (Not Found) HTTP response, until a new version of the object is pushed by the origin to the 5GMSd AS via M2d.

7.6.4.4 Content processing

The 5GMSd AS can perform various content processing tasks (such as repackaging, encryption, ABR transcoding) on media resources ingested at M2d prior to serving them at M4d. These processing tasks shall be specified in a Content Preparation Template resource referenced from the Content Hosting Configuration object.

7.6.4.5 URL signing

The URL signing procedure allows the 5GMSd Application Provider to prevent deep linking and unauthorized access to M4d media resources. It works by cryptographically signing some elements of the M4d request URL and then appending this authentication token to the URL as an additional query parameter. The token is generated by the 5GMSd Application Provider and supplied to the player, for example as part of an initial URL. When it receives a request that requires URL signing, the 5GMSd AS verifies the presence and validity of the token in the M4d request URL before allowing access to the requested media resource. The 5GMSd AS(s) and the origin share a secret that is encoded as part of the query parameter hash, but not shared with the 5GMSd Media Player.

The validity of the authentication token can also be limited to a single UE. If useIPAddress is set to True, then the public IP address of the UE as viewed by the 5GMSd AS, ue_public_ip_address, shall be incorporated into the token calculation. The parameter name shall be indicated by ipAddressName.

The shared secret shall be provided in UrlSignature.passphrase as a string of length between 6 and 50 characters. The parameter name for the passphrase shall be provided by passphraseName.

The expiry time of the signed URL, tokenExpiry, shall be included as an additional query parameter in the URL exposed at M4d with the name indicated in tokenExpiryName. The expiry time shall be the string representation of the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds, as defined in section 4.16 of POSIX.1 [11].

Given the above, the authentication token shall be calculated as:

token := SHA512(url&UrlSignature.tokenExpiryName=token_expiry&UrlSignature.ipAddressName=‌ue_public_ip_address&‌UrlSignature.passphraseName=passphrase)

where the SHA512 function shall be the SHA‑512 hash [6] of the enclosed string. The url parameter shall be the original M4d media resource request URL, including the scheme, authority and path components but excluding any query and fragment components.

The resulting token value shall be "base64url" encoded, as specified in section 5 of RFC 4648 [10], prior to inclusion in the M4d URL.

The query part of the signed URL presented by the 5GMSd Media Player at M4d as proof of authenticity shall be composed as follows:

query := UrlSignature.tokenExpiryName=token_expiry&UrlSignature.tokenName=base64url(token)

For all media resources requested at reference point M4d that match the regular expression specified in UrlSignature.urlPattern, the 5GMSd AS shall validate the query presented in the request URL according to the following steps:

1) If the parameter indicated by UrlSignature.tokenName is absent from query, or if the supplied token value is malformed, the 5GMSd AS shall respond with a 403 (Forbidden) error response message and terminate further processing of the M4d request.

2) If the parameter indicated by UrlSignature.tokenExpiryName is absent from query, or if the supplied token_expiry value has expired, or if the supplied token_expiry is malformed, the 5GMSd AS shall respond with a 403 (Forbidden) error response message and terminate further processing of the M4d request.

3) The 5GMSd AS shall compute the authentication token according to the token production specified above using the requesting UE’s public IP address as the value of ue_public_ip_address if required by UrlSignature.useIPAddress being set to True. After applying "base64url" encoding, the 5GMSd AS shall compare this with the value supplied in the URL query parameter whose name is UrlSignature.tokenName. If the two values differ, the 5GMSd AS shall respond with a 403 (Forbidden) error response message and terminate further processing of the M4d request.

4) Otherwise, the presented authentication token is valid. The 5GMSd AS shall either return the media resource in a 200 (OK) response message (if it is able to serve that media resource), or else return an appropriate error response, such as 404 (Not Found) or 503 (Service Unavailable).

7.6.4.6 Geofencing

The 5GMSd Application Provider may wish to limit access to its media content at interface M2d to UEs located in certain geographical zones. Geofencing is used to configure the zone from which content is accessible.

Two different types of locator are specified here:

– Administrative area locator: the value of GeoFencing.locatorType shall be urn:3gpp:5gms:locator‑type:‌iso3166 and each member of the GeoFencing.locators array shall be either a string representation of an ISO 3166‑1 alpha‑2 country code [18] (e.g. US, CN, KR, GB, FR) or an ISO 3166-2 code [19] comprising an alpha‑2 country code and a country subdivision code valid for that country (e.g. US‑CA, CN-GD, KR‑26, GB‑ENG, GB‑WSM, FR‑IDF, FR‑75).

[- Tracking Area locator: the value of GeoFencing.locatorType shall be urn:3gpp:5gms:locatortype:‌trackingAreaCode and each member of the GeoFencing.locators array shall be the Fully-Qualified Domain Name representation of a Tracking Area Code, as defined in clause 19.4.2.3 of TS 23.003 [7].]

7.7 Consumption Reporting Provisioning API

7.7.1 Overview

The Consumption Reporting Provisioning API is a RESTful API that allows a 5GMSd Application Provider to configure the Consumption Reporting Procedure for a particular downlink media streaming Provisioning Session at interface M1d. The different procedures are described in clause 4.3.8. The Consumption Reporting Configuration is represented by a ConsumptionReportingConfiguration, the data model for which is specified in clause 7.7.3 below. The RESTful resources for managing the Consumption Reporting Configuration are specified in clause 7.7.2.

7.7.2 Resource structure

The Consumption Reporting Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.7.2‑1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.7.2‑1: Operations supported by the Consumption Reporting Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Activate Consumption Reporting procedure with a Consumption Reporting Configuration

consumption‑reporting‑configuration

POST

Activate the consumption reporting procedure and to set the Consumption Reporting Configuration.

Fetch Consumption Reporting Configuration

GET

Retrieve an existing Consumption Reporting Configuration.

Update Consumption Reporting Configuration

PUT,

PATCH

Modify an existing Consumption Reporting Configuration.

Delete Consumption Reporting Configuration

DELETE

Deactivate the consumption reporting procedure for that particular session.

7.7.3 Data model

7.7.3.1 ConsumptionReportingConfiguration resource

The data model for the ConsumptionReportingConfiguration resource is specified in table 7.7.3.1‑1.

Table 7.7.3.1-1: ConsumptionReportingConfiguration resource

Property name

Type

Cardinality

Description

reportingInterval

DurationSec

0..1

The interval between two consecutive consumption reports. The value shall be greater than zero.

If absent, a single final report shall be sent immediately after the media streaming session has ended.

samplePercentage

Percentage

0..1

The proportion of media streaming clients that shall report media consumption, expressed as a floating point value between 0.0 and 100.0.

If not specified, all clients shall send consumption reports.

locationReporting

boolean

0..1

Stipulates whether the Media Session Handler is required to provide location data to the 5GMSd AF in consumption reporting messages (in case of MNO or trusted third parties).

If omitted, location reporting is disabled.

accessReporting

boolean

0..1

Stipulates whether the Media Session Handler is required to provide consumption reporting messages to the 5GMSd AF when the access network changes during a media streaming session.

If omitted, access reporting is disabled.

7.8 Metrics Reporting Provisioning API

7.8.1 Overview

The Metrics Reporting Provisioning API allows an 5GMS System operator or a 5GMS Application Provider to configure the Metrics Collection and Reporting procedure for a particular downlink or uplink media streamingProvisioning Session at interface M1.

7.8.2 Resource structure

The Metrics Reporting Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.8.2‑1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column of the table shall be appended to the URL base path.

Table 7.8.2-1: Operations supported by the Metrics Reporting Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Metrics Reporting Configuration

metrics‑reporting‑configurations

POST

Create and optionally provide a configuration.

If the operation succeeds, the URL of the created Metrics Reporting Configuration resource shall be returned in the Location header of the response.

Read Metrics Reporting Configuration

metrics‑reporting‑configurations/‌{metricsReportingConfigurationId}

GET

Retrieve the values of an existing Metrics Reporting Configuration.

Update Metrics Reporting Configuration

PUT,

PATCH

Provide initial upload of a new configuration, or either the modification of, or replacement to an existing configuration.

Delete Metrics Reporting Configuration

DELETE

Delete a configuration, disables reporting.

7.8.3 Data model

7.8.3.1 MetricsReportingConfiguration resource

The data model for the MetricsReportingConfiguration resource is specified in table 7.8.3-1 below:

Table 7.8.3‑1: Definition of MetricsReportingConfiguration resource

Property name

Type

Cardinality

Description

metricsReportingConfigurationId

ResourceId

1..1

An identifier for this Metrics Reporting Configuration that is unique within the scope of the enclosing Provisioning Session.

scheme

Uri

0..1

The scheme associated with this Metrics Reporting Configuration. A scheme may be associated with 3GPP or with a non-3GPP entity.

For downlink media streaming, if not specified, the 3GPP metrics scheme urn:‌3GPP:‌ns:‌PSS:‌DASH:‌QM10 from TS 26.247 shall apply.

For uplink media streaming, if not specified, the implication is that no associated uplink metrics reporting shall be performed.

dataNetworkName

Dnn

0..1

The Data Network Name (DNN) which shall be used when sending metrics reports.

If not specified, the default DNN shall be used.

reportingInterval

DurationSec

0..1

The time interval between successive metrics reports. The value shall be greater than zero.

If not specified, a single final report shall be sent after the media streaming session has ended.

samplePercentage

Percentage

0..1

The proportion of media streaming sessions for which metrics shall be reported, expressed as a floating point value between 0.0 and 100.0.

If not specified, reports shall be sent for all sessions.

urlFilters

Array(String)

0..1

A non-empty list of content URL patterns for which metrics shall be reported.

If not specified, reporting shall be done for all URLs.

metrics

Array(String)

0..1

A non-empty list of metrics which shall be collected and reported.

In the case of downlink media streaming and for the 3GPP scheme urn:‌3GPP:‌ns:‌PSS:‌DASH:‌QM10 the listed metrics shall correspond to one or more of the metrics as specified in clauses 10.3 and 10.4, respectively, of TS 26.247 [7], and the quality reporting scheme and quality reporting protocol as defined in clauses 10.5 and 10.6, respectively, of [7] shall be used.

Metrics related to virtual reality media, as specified in TS 26.118 [42] clause 9.3, may also be listed in the metrics configuration, and shall be reported according to the quality reporting scheme defined in TS 26.118 clause 9.4.

In the case of uplink streaming, no standardized metrics nor metrics reporting protocol are defined in the present document. It is assumed that those quality metrics and reporting protocol are defined by the metrics scheme.

If not specified, the complete (or default if applicable) set of metrics associated with the specified scheme shall be collected and reported.

7.9 Policy Templates Provisioning API

7.9.1 Overview

The Policy Templates Provisioning API allow a 5GMS Application Provider to configure a set of Policy Templates within the scope of a Provisioning Session that can subsequently be applied to downlink or uplink media streaming sessions belonging to that Application Provider using the Dynamic Policies API specified in clause 11.5. A Policy Template is used to specify the traffic shaping and charging policies to be applied to these media streaming sessions.

A Policy Template, identified by its policyTemplateId, represents a set of PCF/NEF API parameters which defines the service quality and associated charging for the corresponding downlink or uplink media streaming session(s). The Policy Template is configured as part of the provisioning procedures with the 5GMS AF and is then used by the 5GMS AF to request specific QoS and charging policies for that session from the PCF or NEF.

The state of a Policy Template can be:

– pending: The Policy Template is awaiting validation, potentially because not all required parameters have yet been provided. This is the default state after Policy Template creation.

– invalid: One or more of the Policy Template’s properties failed validation by the 5GMS AF.

– ready: After successful validation by the 5GMS AF the Policy Template moves into this state.

– suspended: The 5GMS AF may move a Policy Template into this state under certain conditions defined within the Service Level Agreement.

When the Policy Template is used for QoS Flows, the qoSSpecification object (of type M1QoSSpecification) shall be present:

– The qosReference value is obtained with the Service Level Agreement. See TS 23.502 [45] for detailed usage.

– The maxBtrUl and maxBtrDl properties define the maximal bit rate which can be used for QoS Flows. This value is defined by the 5G System.

– The maxAuthBtrUl and MaxAuthBtrDl properties define the maximal authorized bit rate values which can be requested by a Media Session Handler. Higher bit rate values are not authorized for use by the 5GMS Application Provider.

– The minPacketLossRateDl and minPacketLossRateUl properties define the minimal authorized packet loss rate, which can be requested by a Media Session Handler.

When the Policy Template is used for differential changing the chargingSpecification property shall be present.

The ApplicationSessionContext Object is a mandatory object, which contains at least the aspId property.

– The aspId identifies the API invoker.

– The dnn property contains the Data Network Name of the data network, in which the 5GMS AF is hosted.

– When Network Slicing is used, the sliceInfo property contains information about the network slice, which is serving the UE.

– When present, the afAppId property contains an application identifier referencing one or more PFD objects. The value of the afAppId property is provided to the PCF with each new Npcf_PolicyAuthorization Service instance.

7.9.2 Resource structure

The Policy Template Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.9.2‑1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.9.2‑1: Operations supported by the Policy Template Provisioning API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create a new Policy Template

policy-templates

POST

Used to create a new Policy Template resource.

If the operation succeeds, the URL of the created Policy Template resource shall be returned in the Location header of the response.

Fetch a Policy Template

policy-templates/‌{policyTemplateId}

GET

Used to retrieve an existing Policy Template resource.

Update a Policy Template

PUT,

PATCH

Used to modify the configuration of an existing Policy Template.

Delete a Policy Template

DELETE

Used to delete an existing Policy Template resource.

7.9.3 Data model

7.9.3.1 PolicyTemplate resource

The data model for the PolicyTemplate resource is specified in table 7.9.3‑1 below:

Table 7.9.3-1: Definition of PolicyTemplate resource

Property

Type

Cardinality

Usage

Visibility

Description

policyTemplateId

ResourceId

1..1

C: RO
R: RO
U: RO

Unique identifier of this Policy Template within the scope of the Provisioning Session.

state

Enumeration of Strings

1..1

C: RO
R: RO
U: RO

A Policy Template may be in the PENDING, INVALID, READY, or SUSPENDED state.

Only a Policy Template in the READY state may be instantiated as a Dynamic Policy Instance and applied to media streaming sessions.

apiEndPoint

String

1..1

C: RW
R: RO
U: RW

MNO Admin

The API endpoint that should be invoked when activating a Dynamic Policy Instance based on this Policy Template.

apiType

Enumeration of Strings

1..1

C: RW
R: RO
U: RW

MNO Admin

N5: Npcf_PolicyAuthorization Service.

N33: AsSessionWithQoS or CHargableParty.

externalReference

String

1..1

C: RW
R: RO
U: RW

Additional identifier for this Policy Template, unique within the scope of its Provisioning Session, that can be cross-referenced with external metadata about the media streaming session.

qoSSpecification

M1QoSSpecification

0..1

C: RW
R: RO
U: RW

Specifies the network quality of service to be applied to media streaming sessions at this Policy Template.

applicationSession‌Context

Object

1..1

Specifies information about the application session context to which this Policy Template can be applied.

afAppId

AfAppId

0..1

C: RW
R: RW

U: RW

As defined in clause 5.6.2.3 of TS 29.514 [34] and clause 5.3.2 of TS 29.571 [12].

sliceInfo

Snssai

0..1

C: RW
R: RW

U: RW

dnn

Dnn

0..1

C: RW
R: RW

U: RW

aspId

AspId

1..1

C: RW
R: RW

U: RW

chargingSpecification

ChargingSpecification

0..1

C: RW
R: RW

U: RW

Provides information about the charging policy to be used for this Policy Template.

7.10 Edge Resources Provisioning API

7.10.1 General

The Edge Resources Provisioning API is used by the 5GMS Application Provider to provision edge resource usage for media streaming sessions associated with the parent Provisioning Session. The information serves as a template to select or instantiate the appropriate 5GMS AS EAS instance that will serve the media session to the UE.

7.10.2 Resource structure

The Edge Resources API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.10.2-1 specifies the operations and the corresponding HTTP methods that are supported by the Edge Resources API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path indicated by the second column of the table shall be appended to the resulting URL base path.

Table 7.10.2-1: Operations supported by the Edge Resources API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Configure Edge Resources

edge-resources-configurations

POST

Invoked on the Edge Resources Configurations collection to create a new Edge Resources Configuration.

If the operation succeeds, the URL of the newly created Edge Resources Configuration resource shall be returned in the Location header of the response.

Retrieve Edge Resources Configuration

edge-resources-configurations/‌{edgeResourcesConfigurationId}

GET

Used to retrieve a specific Edge Resources Configuration resource.

Modify Edge Resources Configuration

PUT,
PATCH

Used to modify or replace an existing Edge Resources Configuration resource.

Destroy Edge Resources Configuration

DELETE

Used to destroy an existing Edge Resources Configuration resource.

7.10.3 Data model

7.10.3.1 EdgeResourcesConfiguration resource type

The data model for the Edge Resources Configuration resource is specified in table 7.10.3.1-1:

Table 7.10.3.1-1: Definition of EdgeResourcesConfiguration resource type

Property name

Type

Cardinality

Description

edgeResourcesConfigurationId

ResourceId

1..1

An identifier for this Edge Resources Configuration that is unique within the scope of the enclosing Provisioning Session.

edgeManagementMode

Edge‌Management‌Mode

1..1

Indicates whether the management of edge resources is client-driven or AF-driven. (See clause 7.10.3.2.)

eligibilityCriteria

Edge‌Processing‌Eligibility‌Criteria‌

0..1

Condition to activate edge resources for this Provisioning Session. If the activationTrigger element is not provided, it shall be assumed that all media sessions related to the parent Provisioning Session will use edge resources. (See clause 6.4.3.8.)

easRequirements

EASRequirements

1..1

Requirements on the EAS Profile used by the 5GMS AF or by the EEC to discover and select one or more 5GMS EAS instances to serve media streaming sessions. (See clause 7.10.3.3.)

eas‌Relocation‌Requirements

M1EAS‌Relocation‌Requirements

0..1

EAS relocation tolerance and requirements.

If not present, the 5GMS AF shall assume that the application is unaware of context transfer and that transfers to a target 5GMS EAS are allowed. (See clause 7.10.3.4.)

7.10.3.2 EdgeManagementMode enumeration

The EdgeManagementMode enumeration is specified in table 7.10.3.2-1 below:

Table 7.10.3.2‑1: Definition of EdgeManagementMode enumeration

Enumeration value

Description

EM_AF_DRIVEN

The 5GMS AF, in coordination with the Media Session Handler, assigns edge resources and directs application traffic to the 5GMS EAS instance transparently to the application running on the UE.

EM_CLIENT_DRIVEN

An Application Client running on the UE explicitly manages edge resources via the EES at reference point EDGE‑1.

7.10.3.3 EASRequirements type

The EASRequirements type is specified in table 7.10.3.3-1 below:

Table 7.10.3.3-1: Definition of EASRequirements type

Property name

Type

Cardinality

Description

easProviderIds

array(string)

1..1

The set of acceptable providers of 5GMS EAS instances associated with this Provisioning Session.

If empty, EAS instances from any provider are acceptable.

easType

String

1..1

The type of 5GMS EAS instances associated with this Provisioning Session.

easFeatures

array(string)

1..1

5GMS EAS service features required to be supported by EAS instances associated with this Provisioning Session.

If empty, 5GMS EAS instances of the specified easType with any feature set are acceptable.

serviceKpi

EASServiceKPI

0..1

Service characteristics required to be satisfied by 5GMS AS EAS instances associated with this Provisioning Session.

If absent, 5GMS EAS instances with any service characteristics are acceptable.

serviceArea

Geographical‌Service‌Area

0..1

The list of geographical areas that 5GMS EAS instances associated with this Provisioning Session are required to serve.

If absent, 5GMS EAS instances shall serve all geographical areas whenever possible.

service‌Availability‌Schedule

array(Scheduled‌Communication‌Time)

1..1

The required availability schedule for 5GMS EAS instances associated with this Provisioning Session.

If empty, 5GMS EAS instances are required to be available at all times.

service‌Continuity‌Scenarios

array(ACRScenario)

1..1

The Application Context Relocation scenarios that 5GMS EAS instances associated with this Provisioning Session are required to support for service continuity.

If empty 5GMS EAS instances are not required to support service continuity across EAS relocation.

NOTE: Data types ScheduledCommunicationTime, GeographicalServiceArea, EASServiceKPI, and ACRScenario are defined in TS 29.558 [43].

7.10.3.4 M1EASRelocationRequirements type

The M1ACRRequirements type is specified in table 7.10.3.4-1 below:

Table 7.10.3.4-1: Definition of M1EASRelocationRequirements type

Property name

Type

Cardinality

Description

tolerance

EAS‌Relocation‌Tolerance

1..1

Indicates whether the 5GMS EAS instance tolerates Application Context Relocation. (See clause 6.4.4.4.)

If set to RELOCATION_INTOLERANT, the other properties in this data type shall be ignored.

max‌Interruption‌Duration

UintegerRm

0..1

The maximum downtime (expressed in milliseconds) that an application can tolerate during EAS relocation.

If the expected downtime of the application is expected to exceed this duration, relocation of the 5GMS EAS instance shall not be performed.

maxResponseTime‌Difference

UintegerRm

0..1

The maximum allowed difference between the previously experienced average User Plane network latency to the source 5GMS EAS instance and the expected latency to the target 5GMS EAS instance, expressed in milliseconds.

7.11 Event Data Processing Provisioning API

7.11.1 General

The Event Data Processing Provisioning API is used by a 5GMS Application Provider to provide Event Data Processing Configurations to the Data Collection AF instantiated in the 5GMS AF. Each such configuration is represented by an EventDataProcessingConfiguration resource, the data model of which is specified in clause 7.11.3 below. It comprises processing rules and parameters expressed by Data Access Profiles each of which defines a level of access by Event consumers to the UE data collected by the Data Collection AF. The RESTful structure of the Data Exposure Restriction Configuration resource collection, along with the operations and corresponding HTTP methods for managing resources of this type are defined in clause 7.11.2.

7.11.2 Resource structure

The Event Data Processing Provisioning API is accessible through the following URL base path:

{apiRoot}/3gpp-m1/{apiVersion}/provisioning-sessions/{provisioningSessionId}/

Table 7.11.2-1 below specifies the operations and the corresponding HTTP methods that are supported by this API. In each case, the Provisioning Session identifier shall be substituted into {provisioningSessionId} in the above URL template and the sub-resource path specified in the second column shall be appended to the URL base path.

Table 7.11.2‑1: Operations supported by the Data Exposure Restriction API

Operation

Sub‑resource path

Allowed HTTP method(s)

Description

Create Event Data Processing Configuration

event-data-processing-configurations

POST

Used to create a new Event Data Processing Configuration resource.

Retrieve Event Data Processing Configuration

event-data-processing-configurations/{event‌Data‌Processing‌ConfigurationId}

GET

Used to retrieve an existing Event Data Processing Configuration.

Update Event Data Processing Configuration

PUT,

PATCH

Used to modify an existing Event Data Processing Configuration.

Destroy Event Data Processing Configuration

DELETE

Used to destroy an existing Event Data Processing Configuration.

7.11.3 Data model

7.11.3.1 EventDataProcessingConfiguration resource type

The data model for the EventDataProcessingConfiguration resource is specified in table 7.11.3‑1 below:

Table 7.11.3‑1: Definition of EventDataProcessingConfiguration resource

Property name

Type

Cardinality

Description

eventDataProcessing‌ConfigurationId

ResourceId

1..1

An identifier for this Event Data Processing Configuration that is unique within the scope of the enclosing Provisioning Session.

eventId

AfEvent

1..1

One of the enumerated values specified in clause 5.6.3.3 of TS 29.517 [46] relating to 5G Media Streaming.

authorizationUrl

Url

0..1

A URL that may be used to authorize the Event consumer entity to enable its subscription to the Data Collection AF for event notification, subject to the data access restrictions of a Data Access Profile.

dataAccessProfiles

Array(Data‌Access‌Profile)

1..1

One or more Data Access Profile definitions, each one describing a set of data processing instructions to be applied by the Data Collection AF when exposing events to an associated Event consumer entity. (See clause 6.3.3.2 of TS 26.532 [47].)

The controlled vocabularies to be used with DataAccessProfile.‌parameters are specified in annex E of the present document.