6 API Definitions

29.5563GPPEdge Application Server Discovery ServicesRelease 17Stage 3TS

6.1 Neasdf_DNSContext Service API

6.1.1 Introduction

The Neasdf_DNSContext shall use the Neasdf_DNSContext API.

The API URI of the Neasdf_DNSContext API shall be:

{apiRoot}/<apiName>/<apiVersion>

The request URIs used in HTTP requests from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].

– The <apiName> shall be "neasdf-dnscontext".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 6.1.3.

6.1.2 Usage of HTTP

6.1.2.1 General

HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].

HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].

The OpenAPI [6] specification of HTTP messages and content bodies for the Neasdf_DNSContext API is contained in Annex A.

6.1.2.2 HTTP standard headers

6.1.2.2.1 General

See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.

6.1.2.2.2 Content type

The following content types shall be supported:

– JSON, as defined in IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".

– "Problem Details" JSON Object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13];

– JSON Patch (IETF RFC 6902 [15]). The use of the JSON Patch format in a HTTP request body shall be signalled by the content type "application/json-patch+json".

6.1.2.3 HTTP custom headers

The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be supported, and the optional HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [4] may be supported. In this release of this specification, no custom headers specific to the Neasdf_DNSContext service are defined.

6.1.3 Resources

6.1.3.1 Overview

Figure 6.1.3.1-1 describes the resource URI structure of the Neasdf_DNSContext API.

Figure 6.1.3.1-1: Resource URI structure of the Neasdf_DNSContext API

Table 6.1.3.1-1 provides an overview of the resources and applicable HTTP methods.

Table 6.1.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method

Description

(service operation)

DNS contexts collection

/dns-contexts

POST

Create

Individual DNS context

/dns-contexts/{dnsContextId}

PATCH

Update (partial update)

PUT

Update (complete replacement)

DELETE

Delete

6.1.3.2 Resource: DNS contexts collection

6.1.3.2.1 Description

This resource represents the collection of the individual DNS contexts created in the EASDF.

This resource is modelled with the Collection resource archetype (see clause C.2 of 3GPP TS 29.501 [5]).

6.1.3.2.2 Resource Definition

Resource URI: {apiRoot}/neasdf-dnscontext/<apiVersion>/dns-contexts

This resource shall support the resource URI variables defined in table 6.1.3.2.2-1.

Table 6.1.3.2.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.1.1

apiVersion

string

See clause 6.1.1

6.1.3.2.3 Resource Standard Methods

6.1.3.2.3.1 POST

This method creates an individual DNS context resource in the EASDF.

This method shall support the URI query parameters specified in table 6.1.3.2.3.1-1.

Table 6.1.3.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.2.3.1-2 and the response data structures and response codes specified in table 6.1.3.2.3.1-3.

Table 6.1.3.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

DnsContextCreateData

M

1

Representation of the DNS context to be created in the EASDF

Table 6.1.3.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

DnsContextCreatedData

M

1

201 Created

Successful creation of a DNS context

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

ProblemDetails

O

0..1

400 Bad Request

The "cause" attribute may be set to one of the following application errors:

– BASELINE_DNS_PATTERN_UNKNOWN

– BASELINE_DNS_MDT_UNKNOWN

– BASELINE_DNS_AIT_UNKNOWN

NOTE 1: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.2.3.1-4: Headers supported by the 201 response code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

Contains the URI of the newly created resource, according to the structure: {apiRoot}/neasdf-dnscontext/<apiVersion>/dns-contexts/{dnsContextId}

Table 6.1.3.2.3.1-5: Headers supported by the 307 response code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.1.3.2.3.1-6: Headers supported by the 308 response code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.1.3.2.4 Resource Custom Operations

None.

6.1.3.3 Resource: Individual DNS context

6.1.3.3.1 Description

This resource represents an individual DNS context created in the EASDF.

This resource is modelled with the Document resource archetype (see clause C.1 of 3GPP TS 29.501 [5]).

6.1.3.3.2 Resource Definition

Resource URI: {apiRoot}/neasdf-dnscontext/<apiVersion>/dns-contexts/{dnsContextId}

This resource shall support the resource URI variables defined in table 6.1.3.3.2-1.

Table 6.1.3.3.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.1.1.

apiVersion

string

See clause 6.1.1.

dnsContextId

string

DNS context Identifier assigned by the EASDF during the Create service operation.

6.1.3.3.3 Resource Standard Methods

6.1.3.3.3.1 DELETE

This method deletes an individual DNS context resource in the EASDF.

This method shall support the URI query parameters specified in table 6.1.3.3.3.1-1.

Table 6.1.3.3.3.1-1: URI query parameters supported by the DELETE method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.3.3.1-2 and the response data structures and response codes specified in table 6.1.3.3.3.1-3.

Table 6.1.3.3.3.1-2: Data structures supported by the DELETE Request Body on this resource

Data type

P

Cardinality

Description

n/a

Table 6.1.3.3.3.1-3: Data structures supported by the DELETE Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

n/a

204 No Content

Successful deletion of the DNS context.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the DELETE method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.3.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.1.3.3.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.1.3.3.3.2 PATCH

This method updates (partial update) an individual DNS context resource in the EASDF.

This method shall support the URI query parameters specified in table 6.1.3.3.3.2-1.

Table 6.1.3.3.3.2-1: URI query parameters supported by the PATCH method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.3.3.2-2 and the response data structures and response codes specified in table 6.1.3.3.3.2-3.

Table 6.1.3.3.3.2-2: Data structures supported by the PATCH Request Body on this resource

Data type

P

Cardinality

Description

array(PatchItem)

M

1..N

It contains the list of changes to be made to the DNS context, according to the JSON PATCH format specified in IETF RFC 6902 [15].

Table 6.1.3.3.3.2-3: Data structures supported by the PATCH Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

PatchResult

M

1

200 OK

Upon partial success, e.g. some of the requested modifications for unknown attribute(s) are discarded while the rest of the modification instructions are fully accepted, the EASDF shall return the execution report.

n/a

204 No Content

Successful update of the DNS context.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the PATCH method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.3.3.2-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.1.3.3.3.2-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.1.3.3.3.3 PUT

This method updates (complete replacement) an individual DNS context resource in the EASDF.

This method shall support the URI query parameters specified in table 6.1.3.3.3.3-1.

Table 6.1.3.3.3.3-1: URI query parameters supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.3.3.3-2 and the response data structures and response codes specified in table 6.1.3.3.3.3-3.

Table 6.1.3.3.3.3-2: Data structures supported by the PUT Request Body on this resource

Data type

P

Cardinality

Description

DnsContextCreateData

M

1

DNS Context Data to replace the existing DNS context data

Table 6.1.3.3.3.3-3: Data structures supported by the PUT Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

n/a

204 No Content

Successful update of the DNS context.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the PATCH method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.3.3.3-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.1.3.3.3.3-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.1.3.3.4 Resource Custom Operations

There are no resource custom operations for the Neasdf_DNSContext service in this release of the specification.

6.1.4 Custom Operations without associated resources

There are no custom operations defined without any associated resources for the Neasdf_DNSContext service in this release of this specification.

6.1.5 Notifications

6.1.5.1 General

This clause specifies the notifications supported by the Neasdf_DNSContext service.

Notifications shall comply to clause 6.2 of 3GPP TS 29.500 [4] and clause 4.6.2.3 of 3GPP TS 29.501 [5].

Table 6.1.5.1-1: Notifications overview

Notification

Callback URI

HTTP method or custom operation

Description

(service operation)

DNS Context Notification

{notifyUri}

(Notification URI provided by NF Service Consumer)

POST

DNS Context Notify

6.1.5.2 DNS Context Notify

6.1.5.2.1 Description

The Event Notification is used by the EASDF to report one or several observed Events to a NF service consumer(e.g. SMF) that has subscribed to such Notifications.

6.1.5.2.2 Target URI

The Callback URI "{notifyUri}" shall be used with the callback URI variables defined in table 6.1.5.2.2-1.

Table 6.1.5.2.2-1: Callback URI variables

Name

Definition

notifyUri

String formatted as URI with the Callback Uri

6.1.5.2.3 Standard Methods

6.1.5.2.3.1 POST

This method shall support the request data structures specified in table 6.1.5.2.3.1-1 and the response data structures and response codes specified in table 6.1.5.2.3.1-1.

Table 6.1.5.2.3.1-2: Data structures supported by the POST Request Body

Data type

P

Cardinality

Description

DnsContextNotification

M

1

Representation of the DNS context notification

Table 6.1.5.2.3.1-3: Data structures supported by the POST Response Body

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

Successful notification of the DNS context change

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

(NOTE 2)

NOTE 1: The mandatory HTTP error status codes for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.5.2.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of another NF service consumer to which the notification should be sent or pointing to the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance ID towards which the notification is redirected

Table 6.1.5.2.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of another NF service consumer to which the notification should be sent or pointing to the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance ID towards which the notification is redirected

6.1.6 Data Model

6.1.6.1 General

This clause specifies the application data model supported by the API.

Table 6.1.6.1-1 specifies the data types defined for the Neasdf_DNSContext service based interface protocol.

Table 6.1.6.1-1: Neasdf_DNSContext specific Data Types

Data type

Clause defined

Description

Applicability

DnsContextCreateData

6.1.6.2.2

Data in DNS Context Create request

DnsContextCreatedData

6.1.6.2.3

Data in DNS Context Create response

DnsRule

6.1.6.2.4

DNS handling rule

DnsQueryMdt

6.1.6.2.5

DNS Query Message Detection Template

DnsRspMdt

6.1.6.2.6

DNS Response Message Detection Template

Ipv4AddressRange

6.1.6.2.7

IPv4 addresses range

Ipv6PrefixRange

6.1.6.2.8

IPv6 addresses range

Action

6.1.6.2.9

Action to apply to DNS messages matching a message detection template

DnsContextNotification

6.1.6.2.10

DNS context notification

ForwardingParameters

6.1.6.2.11

Forwarding instructions

EcsOption

6.1.6.2.12

ECS Option information

DnsContextEventReport

6.1.6.2.13

DNS context Event report

DnsQueryReport

6.1.6.2.14

DNS Query Event Report

DnsRspReport

6.1.6.2.15

DNS Response Event Report

EcsOptionInfo

6.1.6.2.16

ECS option information

DnsServerAddressInfo

6.1.6.2.17

DNS Server address information

BaselineDnsMdtId

6.1.6.2.18

Baseline DNS Message Detection Template Identifier

BaselineDnsAitId

6.1.6.2.19

Baseline DNS Action Information Template Identifier

BaselineDnsQueryMdtInfo

6.1.6.2.20

Baseline DNS Query MDT ID and

optionally associated information

BaselineDnsRspMdtInfo

6.1.6.2.21

Baseline DNS Response MDT ID and

optionally associated information

ApplyAction

6.1.6.3.3

Action to apply to the DNS packet

Table 6.1.6.1-2 specifies data types re-used by the Neasdf service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Neasdf_DNSContext service based interface.

Table 6.1.6.1-2: Neasdf_DNSContext re-used Data Types

Data type

Reference

Comments

Applicability

IPv4Addr

3GPP TS 29.571 [16]

IPv4 address

IPv6Prefix

3GPP TS 29.571 [16]

IPv6 prefix

Dnn

3GPP TS 29.571 [16]

DNN

Uri

3GPP TS 29.571 [16]

URI

Uint32

3GPP TS 29.571 [16]

Unsigned 32-bit integer

IpAddr

3GPP TS 29.571 [16]

IP address

IPv6Addr

3GPP TS 29.571 [16]

IPv6 address

SupportedFeatures

3GPP TS 29.571 [16]

Supported features

DateTime

3GPP TS 29.571 [16]

Date and time

PatchResult

3GPP TS 29.571 [16]

FqdnPatternMatchingRule

3GPP TS 29.571 [16]

FQDN Pattern Matching Rule

Fqdn

3GPP TS 29.571 [16]

Snssai

3GPP TS 29.571 [16]

6.1.6.2 Structured data types

6.1.6.2.1 Introduction

This clause defines the structures to be used in resource representations.

6.1.6.2.2 Type: DnsContextCreateData

Table 6.1.6.2.2-1: Definition of type DnsContextCreateData

Attribute name

Data type

P

Cardinality

Description

Applicability

ueIpv4Addr

Ipv4Addr

C

0..1

UE IPv4 address (NOTE 1)

ueIpv6Prefix

Ipv6Prefix

C

0..1

UE IPv6 prefix (NOTE 1)

dnn

Dnn

M

1

DNN of the PDU session (NOTE 2)

sNssai

Snssai

M

1

S-NSSAI of the PDU session (NOTE 2)

dnsRules

map(DnsRule)

M

1..N

Map of DNS message handling rules.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], with a maximum of 32 characters.

notifyUri

Uri

C

0..1

Callback URI to receive notifications.

This IE shall be present if the NF service consumer subscribes to receive DNS context notifications.

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.1.8 is supported.

NOTE 1: At least one of the ueIpv4Addr and ueIpv6Prefix attributes shall be present.

NOTE 2: The UE IP address shall be used together with the DNN and S-NSSAI to uniquely identify the DNS context associated with a PDU session (e.g. in deployments where the same EASDF is used for PDU sessions to DNs with overlapping IP address spaces) and to associate the DNS context with a specific DN (and e.g. related tunnels connecting to the DN).

6.1.6.2.3 Type: DnsContextCreatedData

Table 6.1.6.2.3-1: Definition of type DNSContextCreatedData

Attribute name

Data type

P

Cardinality

Description

Applicability

easdfIpv4Addr

IPv4Addr

C

0..1

EASDF IPv4 address

easdfIpv6Addr

IPv6Addr

C

0..1

EASDF IPv6 address

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.1.8 is supported.

NOTE: At least one of the easdfIpv4Addr and easdfIpv6Addr attributes shall be present.

6.1.6.2.4 Type: DnsRule

Table 6.1.6.2.4-1: Definition of type DnsRule

Attribute name

Data type

P

Cardinality

Description

Applicability

dnsRuleId

string

C

0..1

Unique Identifier of the DNS rule within the DNS context

This IE shall be present for a DNS rule other than a One-Time DNS rule.

label

string

O

0..1

DNS rule’s label

(NOTE 5)

precedence

Uint32

C

0..1

Precedence of the DNS message handling rule.

This IE shall be present for a DNS rule other than a One-Time DNS rule.

The lower precedence values indicate higher precedence of the DNS rule, and the higher precedence values indicate lower precedence of the DNS rule when matching a DNS message.

dnsQueryMdtList

map(DnsQueryMdt)

C

1..N

Map of DNS Query message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], with a maximum of 32 characters.

(NOTE 3)

baseDnsQueryMdtList

array(BaselineDnsQueryMdtInfo)

C

1..N

List of Baseline DNS Query Message Detection Template IDs and optionally associated information.

(NOTE 3)

dnsRspMdtList

map(DnsRspMdt)

C

1..N

Map of DNS Response message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], with a maximum of 32 characters.

(NOTE 4)

baseDnsRspMdtList

array(BaselineDnsRspMdtInfo)

C

1..N

List of Baseline DNS Response Message Detection Template IDs and optionally associated information. (NOTE 4)

dnsMsgId

string

C

0..1

DNS message identifier

This IE shall be present for a One-Time DNS Rule and it shall be set to the identifier of the DNS message buffered in the EASDF for which the DNS rule shall apply (see clause 5.2.3.2.4).

(NOTE 6)

actionList

map(Action)

M

1..N

Map of Actions to apply to DNS messages matching the DNS message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], with a maximum of 32 characters.

NOTE 1: A DNS rule shall be provisioned either for DNS Query messages or for DNS Response messages.

NOTE 2: A DNS rule including the dnsMsgId IE shall be considered as a One-Time DNS Rule (see clause 5.2.3.2.4).

NOTE 3: For a DNS rule other than a One-Time DNS rule provisioned for DNS Query messages, at least one of the dnsQueryMdtList and baseDnsQueryMdtList IEs shall be present.

NOTE 4: For a DNS Rule other than a One-Time DNS rule provisioned for DNS Response messages, at least one of the dnsRspMdtList and baseDnsRspMdtList IEs shall be present.

NOTE 5: This attribute may contain free information describing the scope of the DNS rule. It may be used e.g. for trouble-shooting.

NOTE 6: An EASDF can encode the DNS message identifier as the ID field in the header of the DNS message, or as any other string uniquely identifying the DNS message within the DNS context.

6.1.6.2.5 Type: DnsQueryMdt

Table 6.1.6.2.5-1: Definition of type DnsQueryMdt

Attribute name

Data type

P

Cardinality

Description

Applicability

mdtId

string

M

1

Identifier of the DNS Query message detection template, with a maximum of 32 characters.

label

string

O

0..1

DNS Query MDT’s label

(NOTE 2)

sourceIpv4Addr

Ipv4Addr

O

0..1

UE IPv4 address (NOTE 1)

sourceIpv6Prefix

Ipv6Prefix

O

0..1

UE IPv6 prefix (NOTE 1)

fqdnPatternList

array(FqdnPatternMatchingRule)

O

1..N

List of FQDN patterns, where each FQDN pattern is described by a FQDN Pattern Matching Rule.

An FQDN value is considered part of the template if and only if the FQDN in the Queries field in the DNS Query message fully matches at least one FQDN pattern.

(NOTE 3)

NOTE 1: If neither the sourceIpv4Addr IE nor the sourceIpv6Prefix IE is present, the UE IP address in the DNS Context Data shall be assumed.

NOTE 2: This attribute may contain free information describing the scope of the DNS Query MDT. It may be used e.g. for trouble-shooting.

NOTE 3: The list of FQDN patterns may encode some FQDN patterns with a string matching rule and others with a regular expression (when the FQDN patterns cannot be described by a string matching rule).

6.1.6.2.6 Type: DnsRspMdt

Table 6.1.6.2.6-1: Definition of type DnsRspMdt

Attribute name

Data type

P

Cardinality

Description

Applicability

mdtId

string

M

1

Identifier of the DNS Response message detection template, with a maximum of 32 characters.

label

string

O

0..1

DNS Response MDT’s label

(NOTE 1)

fqdnPatternList

array(FqdnPatternMatchingRule)

O

1..N

List of FQDN patterns, where each FQDN pattern is described by a FQDN Pattern Matching Rule.

An FQDN value is considered part of the template if and only if the FQDN in the Queries field in the DNS Response message fully matches at least one FQDN pattern.

(NOTE 2)

easIpv4AddrRanges

array(Ipv4AddressRange)

O

1..N

List of EAS IPv4 addresses ranges

easIpv6PrefixRanges

array(Ipv6PrefixRange)

O

1..N

List of EAS IPv6 prefixes ranges

NOTE 1: This attribute may contain free information describing the scope of the DNS Response MDT. It may be used e.g. for trouble-shooting.

NOTE 2: The list of FQDN patterns may encode some FQDN patterns with a string matching rule and others with a regular expression (when the FQDN patterns cannot be described by a string matching rule).

6.1.6.2.7 Type: Ipv4AddressRange

Table 6.1.6.2.7-1: Definition of type IPv4AddressRange

Attribute name

Data type

P

Cardinality

Description

start

Ipv4Addr

M

1

First value identifying the start of an IPv4 address range

end

Ipv4Addr

M

1

Last value identifying the end of an IPv4 address range

6.1.6.2.8 Type: Ipv6PrefixRange

Table 6.1.6.2.8-1: Definition of type IPv6PrefixRange

Attribute name

Data type

P

Cardinality

Description

start

Ipv6Prefix

M

1

First value identifying the start of an IPv6 prefix range

end

Ipv6Prefix

M

1

Last value identifying the end of an IPv6 prefix range

6.1.6.2.9 Type: Action

Table 6.1.6.2.9-1: Definition of type Action

Attribute name

Data type

P

Cardinality

Description

applyAction

ApplyAction

M

1

Action to apply to the DNS message

forwardingParameters

ForwardingParameters

O

0..1

This IE may be present if applyAction IE is set to " FORWARD".

When present, it shall contain forward instructions to apply to the DNS message before forwarding it.

reportingOnceInd

boolean

O

0..1

Reporting-once Indication

This IE may be present if the applyAction is set to "REPORT".

When present, it shall be set as follows:

– true: only one report shall be sent to the SMF, i.e. one report shall only be sent when a first DNS message matches any Message Detection Template of the DNS rule.

– false (default): a report shall be sent to the SMF for any DNS message matching any Message Detection Template of the DNS rule.

resetReportingOnceInd

boolean

O

0..1

Reset the Reporting-once Indication

This IE may be present in a request modifying a DNS rule, if the applyAction is set to "REPORT" and the reportingOnceInd is set to "true".

When present, it shall be set as follows:

– true: reset the Reporting-once Indication, i.e. send (only) one more report to the SMF when a next first DNS message matches any Message Detection Template of the DNS rule.

– false (default): do not reset the Reporting-once Indication

6.1.6.2.10 Type: DnsContextNotification

Table 6.1.6.2.10-1: Definition of type DnsContextNotification

Attribute name

Data type

P

Cardinality

Description

eventReportList

array(DnsContextEventReport)

O

1..N

List of event reports

6.1.6.2.11 Type: ForwardingParameters

Table 6.1.6.2.11-1: Definition of type ForwardingParameters

Attribute name

Data type

P

Cardinality

Description

ecsOptionInfo

EcsOptionInfo

O

0..1

Information to build optional EDNS Client Subnet (ECS) option to be included in the DNS Query as defined in IETF RFC 7871 [18], or to be used for replacing the ECS option received in the DNS Query message from the UE.

dnsServerAddressInfo

DnsServerAddressInfo

O

0..1

DNS Server Address Information to be used as destination address of the outgoing DNS Query

6.1.6.2.12 Type: EcsOption

Table 6.1.6.2.12-1: Definition of type EcsOption

Attribute name

Data type

P

Cardinality

Description

sourcePrefixLength

integer

M

1

Leftmost number of significant bits of the IP address as defined for the SOURCE PREFIX-LENGTH in clause 6 of IETF RFC 7871 [18].

Minimum=0. Maximum=128

scopePrefixLength

integer

O

0..1

Leftmost number of bits of the IP address that the DNS response covers as defined for the SCOPE PREFIX-LENGTH in clause 6 of IETF RFC 7871 [18]. This attribute shall only be sent in EASDF notification to the SMF.

Minimum=0. Maximum=128

ipAddr

IpAddr

M

1

IP address as defined for the ADDRESS in clause 6 of IETF RFC 7871 [18]

6.1.6.2.13 Type: DnsContextEventReport

Table 6.1.6.2.13-1: Definition of type DnsContextEventReport

Attribute name

Data type

P

Cardinality

Description

timestamp

DateTime

M

1

Time of detection of the event

dnsRuleId

Uint32

C

0..1

Identifies the DNS rule that triggered the report. This IE shall be present if the report is triggered by an event matching a DNS rule.

dnsQueryReport

DnsQueryReport

O

0..1

DNS Query Report

dnsRspReport

DnsRspReport

O

0..1

DNS Response Report

dnsMsgId

string

O

0..1

DNS message identifier

When present, this IE shall be set to a unique identifier of the DNS message for which the event is reported (see clause 5.2.3.2.4)

6.1.6.2.14 Type: DnsQueryReport

Table 6.1.6.2.14-1: Definition of type DnsQueryReport

Attribute name

Data type

P

Cardinality

Description

fqdn

Fqdn

O

0..1

FQDN received in the DNS Query

6.1.6.2.15 Type: DnsRspReport

Table 6.1.6.2.15-1: Definition of type DnsRspReport

Attribute name

Data type

P

Cardinality

Description

fqdn

Fqdn

O

0..1

FQDN received in the DNS Response

easIpv4Addresses

array(IPv4Addr)

O

1..N

EAS IPv4 address(es) received in the DNS Response

easIpv6Addresses

array(IPv6Addr)

O

1..N

EAS IPv6 address(es) received in the DNS Response

ecsOption

EcsOption

O

0..1

EDNS Client Subnet (ECS) option received in the DNS Response (as defined in IETF RFC 7871 [18])

6.1.6.2.16 Type: EcsOptionInfo

Table 6.1.6.2.16-1: Definition of type EcsOptionInfo

Attribute name

Data type

P

Cardinality

Description

ecsOption

EcsOption

C

0..1

Information to build optional EDNS Client Subnet (ECS) option to be included in the DNS Query as defined in IETF RFC 7871 [18], or to be used for replacing the ECS option received in the DNS Query message from the UE. (NOTE 1)

baseDnsAitId

BaselineDnsAitId

C

0..1

Identifier of the Baseline DNS Action Information Template that contains information to build optional EDNS Client Subnet (ECS) option to be included in the DNS Query as defined in IETF RFC 7871 [18], or to be used for replacing the ECS option received in the DNS Query message from the UE.

(NOTE 1, NOTE 2)

NOTE 1: Either the ecsOption IE or the baseDnsAitId IE shall be present.

NOTE 2: The referenced baseline DNS Action Information Template may contain other information beyond the information to build the ECS option, in which case the EADSF shall only apply the information to build the ECS option.

6.1.6.2.17 Type: DnsServerAddressInfo

Table 6.1.6.2.17-1: Definition of type DnsServerAddressInfo

Attribute name

Data type

P

Cardinality

Description

dnsServerAddressList

array(IpAddr)

C

1..N

DNS Server Address to be used as destination address of the outgoing DNS Query. More than one IP address may be provided for resiliency. (NOTE 1)

baseDnsAitId

BaselineDnsAitId

C

0..1

Identifier of the Baseline DNS Action Information Template that contains DNS Server Address to be used as destination address of the outgoing DNS Query. (NOTE 1, NOTE 2)

NOTE 1: Either the dnsServerAddressList IE or the baseDnsAitId IE shall be present.

NOTE 2: The referenced baseline DNS Action Information Template may contain other information beyond the DNS Server Address information, in which case the EADSF shall only apply the DNS Server Address information.

6.1.6.2.18 Type: BaselineDnsMdtId

Table 6.1.6.2.18-1: Definition of type BaselineDnsMdtId

Attribute name

Data type

P

Cardinality

Description

Applicability

baseDnsPatternUri

Uri

M

1

URI of the baseline DNS pattern returned in the Location header in the baseline DNS pattern creation response

mdtId

string

M

1

Identifier of the baseline DNS Message Detection Template ID within the baseline DNS pattern

6.1.6.2.19 Type: BaselineDnsAitId

Table 6.1.6.2.19-1: Definition of type BaselineDnsAitId

Attribute name

Data type

P

Cardinality

Description

Applicability

baseDnsPatternUri

Uri

M

1

URI of the baseline DNS pattern returned in the Location header in the baseline DNS pattern creation response

aitId

string

M

1

Identifier of the baseline DNS Action Information Template ID within the baseline DNS pattern

6.1.6.2.20 Type: BaselineDnsQueryMdtInfo

Table 6.1.6.2.20-1: Definition of type BaselineDnsQueryMdtInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

sourceIpv4Addr

Ipv4Addr

O

0..1

UE IPv4 address (NOTE)

sourceIpv6Prefix

Ipv6Prefix

O

0..1

UE IPv6 prefix (NOTE)

baseDnsMdtList

array(BaselineDnsMdtId)

M

1..N

List of Baseline DNS Query Message Detection Template IDs.

NOTE: If neither the sourceIpv4Addr IE nor the sourceIpv6Prefix IE is present, the UE IP address in the DNS Context Data shall be assumed.

6.1.6.2.21 Type: BaselineDnsRspMdtInfo

Table 6.1.6.2.21-1: Definition of type BaselineDnsRspMdtInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

baseDnsMdtList

array(BaselineDnsMdtId)

M

1..N

List of Baseline DNS Response Message Detection Template IDs.

6.1.6.3 Simple data types and enumerations

6.1.6.3.1 Introduction

This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.

6.1.6.3.2 Simple data types

The simple data types defined in table 6.1.6.3.2-1 shall be supported.

Table 6.1.6.3.2-1: Simple data types

Type Name

Type Definition

Description

Applicability

<one simple data type, i.e. boolean, integer, number, or string>

6.1.6.3.3 Enumeration: ApplyAction

The enumeration ApplyAction represents an action to apply to the DNS packet. It shall comply with the provisions defined in table 6.1.6.3.3-1.

Table 6.1.6.3.3-1: Enumeration ApplyAction

Enumeration value

Description

Applicability

"BUFFER"

Buffer the DNS Query or Response message

"REPORT"

Report the DNS Query or Response message content to the SMF

"FORWARD"

Forward the DNS Query or Response message, after applying the instructions indicated in the forwarding parameters if any

"DISCARD"

Discard DNS messages

6.1.6.4 Data types describing alternative data types or combinations of data types

There is no alternative data types or combinations of data types used for the Neasdf_DNSContext service in this version of the API.

6.1.6.5 Binary data

There is no binary data used for the Neasdf_DNSContext service in this version of the API.

6.1.7 Error Handling

6.1.7.1 General

For the Neasdf_DNSContext API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].

In addition, the requirements in the following clauses are applicable for the Neasdf_DNSContext API.

6.1.7.2 Protocol Errors

Protocol errors handling shall be supported as specified in clause 5.2.7 of 3GPP TS 29.500 [4]. No further specific procedures for the Neasdf_DNSContext service are specified.

6.1.7.3 Application Errors

The application errors defined for the Neasdf_DNSContext service are listed in Table 6.1.7.3-1.

Table 6.1.7.3-1: Application errors

Application Error

HTTP status code

Description

BASELINE_DNS_PATTERN_UNKNOWN

400 Bad Request

The request to create or modify a DNS context is rejected due to a baseline DNS pattern being unknown to the EASDF (i.e the URI of the baseline DNS pattern is unknown).

BASELINE_DNS_MDT_UNKNOWN

400 Bad Request

The request to create or modify a DNS context is rejected due to a baseline DNS Message Detection Template being unknown to the EASDF (the baseline DNS pattern is known).

BASELINE_DNS_AIT_UNKNOWN

400 Bad Request

The request to create or modify a DNS context is rejected due to a baseline DNS Action Information Template being unknown to the EASDF (the baseline DNS pattern is known).

6.1.8 Feature negotiation

The optional features in table 6.1.8-1 are defined for the Neasdf_DNSContext API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].

Table 6.1.8-1: Supported Features

Feature number

Feature Name

Description

NOTE: No optional feature is defined for the Neasdf_DNSContext API in this release of the specification.

6.1.9 Security

As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Neasdf_DNSContext API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.

If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Neasdf_DNSContext API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.

NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Neasdf_DNSContext service.

The Neasdf_DNSContext API defines a single scope "neasdf-dnscontext" for the entire service, and it does not define any additional scopes at resource or operation level.

6.2 Neasdf_BaselineDNSPattern Service API

6.2.1 Introduction

The Neasdf_BaselineDNSPattern service shall use the Neasdf_BaselineDNSPattern API.

The API URI of the Neasdf_BaselineDNSPattern API shall be:

{apiRoot}/<apiName>/<apiVersion>

The request URIs used in HTTP requests from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].

– The <apiName> shall be "neasdf-baselinednspattern".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 6.2.3.

6.2.2 Usage of HTTP

6.2.2.1 General

HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].

HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].

The OpenAPI [6] specification of HTTP messages and content bodies for the Neasdf_BaselineDNSPattern API is contained in Annex A.

6.2.2.2 HTTP standard headers

6.2.2.2.1 General

See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.

6.2.2.2.2 Content type

The following content types shall be supported:

– JSON, as defined in IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".

– "Problem Details" JSON Object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].

– JSON Patch (IETF RFC 6902 [15]). The use of the JSON Patch format in a HTTP request body shall be signalled by the content type "application/json-patch+json".

6.2.2.3 HTTP custom headers

The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be supported, and the optional HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [4] may be supported.

6.2.3 Resources

6.2.3.1 Overview

Figure 6.2.3.1-1 describes the resource URI structure of the Neasdf_BaselineDNSPattern API.

Figure 6.2.3.1-1: Resource URI structure of the Neasdf_BaselineDNSPattern API

Table 6.2.3.1-1 provides an overview of the resources and applicable HTTP methods.

Table 6.2.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method

Description

(service operation)

Individual Baseline DNS Pattern

/base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}

PUT

Create a new Baseline DNS pattern, or replace the existing Baseline DNS pattern, by providing an Baseline DNS pattern

PATCH

Update (partial update)

DELETE

Delete

6.2.3.2 Resource: Individual Baseline DNS Pattern

6.2.3.2.1 Description

This resource represents an individual Baseline DNS Pattern created in the EASDF.

This resource is modelled with the Document resource archetype (see clause C.1 of 3GPP TS 29.501 [5]).

6.2.3.2.2 Resource Definition

Resource URI: {apiRoot}/neasdf-baselinednspattern/<apiVersion>/base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}

This resource shall support the resource URI variables defined in table 6.2.3.2.2-1.

Table 6.2.3.2.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.2.1.

apiVersion

string

See clause 6.2.1.

smfId

VarNfId

Represents the SMF Set Identifier (see NF Set Identifier in clause 28.12 of 3GPP TS 23.003 [19]) or the Set ID part within the SMF Set Identifier (see <Set Id> within the NF Set Identifier in clause 28.12 of 3GPP TS 23.003 [19]) or NF Instance Id of the SMF.

The SMF Set Identifier or the Set ID part within the SMF Set ID shall be included if the EASDF is controlled by the SMF set, or the NF Instance Id of the SMF shall be included if the EASDF is controlled by a SMF.

EXAMPLE 1: …/base-dns-patterns/smfInstanceId=4947a69a-f61b-4bc1-b9da-47c9c5d14b64/{smfImplementationSegmentPaths}

EXAMPLE 2: …/base-dns-patterns/smfSetId=set1.smfset.5gc.mnc012.mcc345/{smfImplementationSegmentPaths}

EXAMPLE 3: …/base-dns-patterns/setId=set1/{smfImplementationSegmentPaths}

6.2.3.2.3 Resource Standard Methods

6.2.3.2.3.1 PATCH

This method updates (partial update) an individual Baseline DNS Pattern resource in the EASDF.

This method shall support the URI query parameters specified in table 6.2.3.2.3.1-1.

Table 6.2.3.3.3.1-1: URI query parameters supported by the PATCH method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.2.3.2.3.1-2 and the response data structures and response codes specified in table 6.2.3.2.3.1-3.

Table 6.2.3.2.3.1-2: Data structures supported by the PATCH Request Body on this resource

Data type

P

Cardinality

Description

array(PatchItem)

M

1..N

It contains the list of changes to be made to the Baseline DNS pattern, according to the JSON PATCH format specified in IETF RFC 6902 [15].

Table 6.2.3.2.3.1-3: Data structures supported by the PATCH Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

PatchResult

M

1

200 OK

Upon partial success, e.g. some of the requested modifications for unknown attribute(s) are discarded while the rest of the modification instructions are fully accepted, the EASDF shall return the execution report.

n/a

204 No Content

Successful update of the Baseline DNS Pattern.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the PATCH method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.2.3.2.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.2.3.2.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.2.3.2.3.2 PUT

This method creates or updates (complete replacement) an individual Baseline DNS Pattern resource in the EASDF.

This method shall support the URI query parameters specified in table 6.2.3.2.3.2-1.

Table 6.2.3.2.3.2-1: URI query parameters supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.2.3.2.3.2-2 and the response data structures and response codes specified in table 6.2.3.2.3.2-3.

Table 6.2.3.2.3.2-2: Data structures supported by the PUT Request Body on this resource

Data type

P

Cardinality

Description

BaseDnsPatternCreateData

M

1

Baseline DNS Pattern Data to be created or to replace the existing Baseline DNS Pattern data

Table 6.2.3.2.3.2-3: Data structures supported by the PUT Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

DnsBasePatternCreatedData

M

1

201 Created

Successful creation of a Baseline DNS Pattern

n/a

204 No Content

Successful update of the Baseline DNS Pattern.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the PUT method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.2.3.2.3.2-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.2.3.2.3.2-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.2.3.2.3.3 DELETE

This method deletes an individual Baseline DNS Pattern resource in the EASDF.

This method shall support the URI query parameters specified in table 6.2.3.2.3.3-1.

Table 6.2.3.2.3.3-1: URI query parameters supported by the DELETE method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.2.3.3.3.3-2 and the response data structures and response codes specified in table 6.2.3.2.3.3-3.

Table 6.2.3.2.3.3-2: Data structures supported by the DELETE Request Body on this resource

Data type

P

Cardinality

Description

n/a

Table 6.2.3.2.3.3-3: Data structures supported by the DELETE Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

n/a

204 No Content

Successful deletion of the Baseline DNS Pattern.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set.

(NOTE 2)

NOTE 1: The mandatory HTTP error status code for the Successful deletion of method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.2.3.2.3.3-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

Table 6.2.3.2.3.3-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located on an alternative service instance within the same EASDF or EASDF (service) set, or same URI if this is a redirection triggered by an SCP towards the same target resource via another SCP.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target EASDF (service) instance ID towards which the request is redirected

6.2.3.3.4 Resource Custom Operations

6.2.3.3.4.1 Overview

Table 6.2.3.3.4.1-1: Custom operations

Operation Name

Custom operation URI

Mapped HTTP method

Description

(Service operation)

6.2.4 Custom Operations without associated resources

There are no custom operations defined without any associated resources for the Neasdf_BaselineDNSPattern service in this release of this specification.

6.2.5 Notifications

There are no notifications defined for the Neasdf_BaselineDNSPattern service in this release of the specification.

6.2.6 Data Model

6.2.6.1 General

This clause specifies the application data model supported by the API.

Table 6.2.6.1-1 specifies the data types defined for the Neasdf_BaselineDNSPattern service based interface protocol.

Table 6.2.6.1-1: Neasdf_BaselineDNSPattern specific Data Types

Data type

Clause defined

Description

Applicability

BaseDnsPatternCreateData

6.2.6.2.2

Data in Baseline DNS Pattern Create request

BaseDnsPatternCreatedData

6.2.6.2.3

Data in Baseline DNS Pattern Create response

BaselineDnsMdt

6.2.6.2.4

Baseline DNS message detection template

BaselineDnsAit

6.2.6.2.5

Baseline DNS action information Template

VarNfId

6.2.6.2.6

SMF or SMF Set Id or Set Id part in SMF set identifier

Table 6.2.6.1-2 specifies data types re-used by the Neasdf service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Neasdf_BaselineDNSPattern service based interface.

Table 6.2.6.1-2: Neasdf_BaselineDNSPattern re-used Data Types

Data type

Reference

Comments

Applicability

DnsQueryMdt

6.1.6.2.5

DNS Query Message Detection Template

DnsRspMdt

6.1.6.2.6

DNS Response Message Detection Template

EcsOption

6.1.6.2.12

ECS Option information

IpAddr

3GPP TS 29.571 [16]

IP address

NfSetId

3GPP TS 29.571 [16]

NF Set Id

NfInstanceId

3GPP TS 29.571 [16]

NF Instance Id

PatchResult

3GPP TS 29.571 [16]

6.2.6.2 Structured data types

6.2.6.2.1 Introduction

This clause defines the structures to be used in resource representations.

6.2.6.2.2 Type: BaseDnsPatternCreateData

Table 6.2.6.2.2-1: Definition of type BaseDnsPatternCreateData

Attribute name

Data type

P

Cardinality

Description

Applicability

label

string

O

0..1

Baseline DNS pattern’s label

(NOTE)

baseDnsMdtList

map(BaselineDnsMdt)

O

1..N

When present, this IE contains the map of DNS message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], carrying the identifier of the baseline DNS Message Detection Template, with a maximum of 32 characters.

baseDnsAitList

map(BaselineDnsAit)

O

1..N

When present, this IE contains the map of Baseline DNS action information Templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], carrying the identifier of the baseline DNS Message Detection Template, with a maximum of 32 characters.

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.8 is supported.

NOTE: This attribute may contain free information describing the scope of the baseline DNS pattern. It may be used e.g. for trouble-shooting.

6.2.6.2.3 Type: BaseDnsPatternCreatedData

Table 6.2.6.2.3-1: Definition of type BaseDnsPatternCreatedData

Attribute name

Data type

P

Cardinality

Description

Applicability

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.8 is supported.

6.2.6.2.4 Type: BaselineDnsMdt

Table 6.2.6.2.4-1: Definition of type BaselineDnsMdt

Attribute name

Data type

P

Cardinality

Description

Applicability

mdtId

string

M

1

Identifier of the DNS message detection template within the baseline DNS pattern, with a maximum of 32 characters.

label

string

O

0..1

Baseline DNS MDT’s label

(NOTE 2)

dnsQueryMdtList

map(DnsQueryMdt)

C

1..N

Map of DNS Query message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], carrying the identifier of the DNS Query message detection template, with a maximum of 32 characters.

If present, only fqdnList attribute shall be included in the DNS Query message detection template.

(NOTE 1)

dnsRspMdtList

map(DnsRspMdt)

C

1..N

Map of DNS Response message detection templates.

The key of the map shall be a (unique) valid JSON string per clause 7 of IETF RFC 8259 [12], carrying the identifier of the DNS Response message detection template, with a maximum of 32 characters.

(NOTE 1)

NOTE 1: Either the dnsQueryMdtList IE or the dnsRspMdtList IE shall be present.

NOTE 2: This attribute may contain free information describing the scope of the baseline DNS MDT. It may be used e.g. for trouble-shooting.

6.2.6.2.5 Type: BaselineDnsAit

Table 6.2.6.2.5-1: Definition of type BaselineDnsAit

Attribute name

Data type

P

Cardinality

Description

Applicability

aitId

string

M

1

Identifier of the DNS message handling action within the baseline DNS pattern

label

string

O

0..1

Baseline DNS AIT’s label

(NOTE)

ecsOption

EcsOption

C

0..1

Information to build optional EDNS Client Subnet (ECS) option to be included in the DNS Query as defined in IETF RFC 7871 [18], or to be used for replacing the ECS option received in the DNS Query message from the UE.

dnsServerAddressList

array(IpAddr)

C

1..N

DNS Server Address to be used as destination address of the outgoing DNS Query More than one IP address may be provided for resiliency.

NOTE: This attribute may contain free information describing the scope of the baseline DNS AIT. It may be used e.g. for trouble-shooting.

6.2.6.2.6 Type: VarNfId

Table 6.2.6.2.6-1: Definition of type VarNfId

Attribute name

Data type

P

Cardinality

Description

Applicability

smfSetId

NfSetId

C

0..1

This IE shall be present if available.

When present, this IE includes the SMF Set Id (NOTE)

setId

string

C

0..1

This IE shall be present if available.

When present, this IE includes Set Id part in NF Set Identifier (see clause 28.12 of 3GPP TS 23.003 [7]), formatted as the following string:

"set<Set ID>"

with

<Set ID> encoded as a string of characters consisting of alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end with either an alphabetic character or a digit.

Pattern: ‘^([A-Za-z0-9\-]*[A-Za-z0-9])$’

Examples:
"setxyz"

"set12"

(NOTE)

smfInstanceId

NfInstanceId

C

0..1

This IE shall be present if available.

When present, this IE includes SMF Instance Id (NOTE)

NOTE: Either smfSetId attribute or setId or smfInstanceId attribute shall be included.

6.2.7 Error Handling

6.2.7.1 General

For the Neasdf_BaselineDNSPattern API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].

In addition, the requirements in the following clauses are applicable for the Neasdf_BaselineDNSPattern API.

6.2.7.2 Protocol Errors

No specific procedures for the Neasdf_BaselineDNSPattern API service are specified.

6.2.7.3 Application Errors

The application errors defined for the Neasdf_BaselineDNSPattern service are listed in Table 6.2.7.3-1.

Table 6.2.7.3-1: Application errors

Application Error

HTTP status code

Description

6.2.8 Feature negotiation

The optional features in table 6.2.8-1 are defined for the Neasdf_BaselineDNSPattern API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].

Table 6.2.8-1: Supported Features

Feature number

Feature Name

Description

6.2.9 Security

As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Neasdf_BaselineDNSPattern API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.

If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Neasdf_BaselineDNSPattern API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.

NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Neasdf_BaselineDNSPattern service.

The Neasdf_BaselineDNSPattern API defines a single scope "neasdf-baselinednspattern" for the entire service, and it does not define any additional scopes at resource or operation level.

Annex A (normative):
OpenAPI specification