TrafficInfluence

This resource allows an AF to read all active traffic influence subscribtions for the given AF.

OpenAPI

OpenAPI Version: 3.0.0

info

Title: 3gpp-traffic-influence

Version: "1.0.0"

externalDocs

Description: 3GPP TS 29.522 V15.2.0; 5G System; Network Exposure Function Northbound APIs.

URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/'

security

- {}

- oAuth2ClientCredentials: []

servers

URL: '{apiRoot}/3gpp-traffic-influence/v1'

Variables:

API Root:

Default: https://example.com

Description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122.

paths

/{afId}/subscriptions

Parameters:

- name: afId

In: path

Description: Identifier of the AF

Required/Optional: true

Schema:

Type: string

get:

Summary: read all of the active subscriptions for the AF

Tags:

- TrafficInfluence API SCS/AS level GET Operation

Responses:

'200' OK.

Content:

Application/JSON:

Schema:

Type: array

items:

Reference: '#/components/schemas/TrafficInfluSub'

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'406': Reference 'TS29122_CommonData.yaml#/components/responses/406'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

Method: Post

Summary: Creates a new subscription resource

Tags:

- TrafficInfluence API Subscription level POST Operation

Request Body:

Description: Request to create a new subscription resource

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

Callbacks:

notificationDestination:

'{request.body#/notificationDestination}':

Method: Post

Request Body: # contents of the callback message

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/EventNotification'

Responses:

'204' No Content (successful notification)

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29122_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29122_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29122_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

Responses:

'201' Created (Successful creation of subscription)

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

Headers:

Location:

Description: 'Contains the URI of the newly created resource'

Required/Optional: true

Schema:

Type: string

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29122_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29122_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29122_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

/{afId}/subscriptions/{subscriptionId}

Parameters:

- name: afId

In: path

Description: Identifier of the AF

Required/Optional: true

Schema:

Type: string

- name: subscriptionId

In: path

Description: Identifier of the subscription resource

Required/Optional: true

Schema:

Type: string

get:

Summary: read an active subscriptions for the SCS/AS and the subscription Id

Tags:

- TrafficInfluence API Subscription level GET Operation

Responses:

'200' OK (Successful get the active subscription)

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'406': Reference 'TS29122_CommonData.yaml#/components/responses/406'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

put:

Summary: Updates/replaces an existing subscription resource

Tags:

- TrafficInfluence API subscription level PUT Operation

Request Body:

Description: Parameters to update/replace the existing subscription

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

Responses:

'200' OK (Successful update of the subscription)

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29122_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29122_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29122_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

patch:

Summary: Updates/replaces an existing subscription resource

Tags:

- TrafficInfluence API subscription level PATCH Operation

Request Body:

Required/Optional: true

Content:

application/merge-patch+json:

Schema:

Reference: '#/components/schemas/TrafficInfluSubPatch'

Responses:

'200' OK. The subscription was modified successfully.

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TrafficInfluSub'

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29122_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29122_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29122_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

delete:

Summary: Deletes an already existing subscription

Tags:

- TrafficInfluence API Subscription level DELETE Operation

Responses:

'204' No Content (Successful deletion of the existing subscription)

'400': Reference 'TS29122_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29122_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29122_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29122_CommonData.yaml#/components/responses/404'

'429': Reference 'TS29122_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29122_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29122_CommonData.yaml#/components/responses/503'

default: Reference 'TS29122_CommonData.yaml#/components/responses/default'

components

securitySchemes

oAuth2ClientCredentials

Type: oauth2

Flows:

clientCredentials:

tokenUrl: '{tokenUrl}'

scopes: {}

schemas

TrafficInfluSub

Type: object

Properties:

afServiceId:

Type: string

Description: Identifies a service on behalf of which the AF is issuing the request.

afAppId:

Type: string

Description: Identifies an application.

afTransId:

Type: string

Description: Identifies an NEF Northbound interface transaction, generated by the AF.

appReloInd:

Type: boolean

Description: Identifies whether an application can be relocated once a location of the application has been selected.

dnn:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Dnn'

snssai:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Snssai'

externalGroupId:

Reference: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'

anyUeInd:

Type: boolean

Description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false".

subscribedEvents:

Type: array

Items:

Reference: '#/components/schemas/SubscribedEvent'

minItems: 1

Description: Identifies the requirement to be notified of the event(s).

gpsi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'

ipv4Addr:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'

ipv6Addr:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr'

macAddr:

Reference: 'TS29571_CommonData.yaml#/components/schemas/macAddr48'

dnaiChgType:

Reference: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType'

notificationDestination:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Link'

requestTestNotification:

Type: boolean

Description: Set to true by the SCS/AS to request the NEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise.

websockNotifConfig:

Reference: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig'

self:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Link'

trafficFilters:

Type: array

Items:

Reference: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'

minItems: 1

Description: Identifies IP packet filters.

ethTrafficFilters:

Type: array

Items:

Reference: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'

minItems: 1

Description: Identifies Ethernet packet filters.

trafficRoutes:

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'

minItems: 1

Description: Identifies the N6 traffic routing requirement.

tempValidities:

Type: array

Items:

Reference: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity'

validGeoZoneIds:

Type: array

Items:

Type: string

minItems: 1

Description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone.

suppFeat:

Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

allOf:

- oneOf:

- required: [afAppId]

- required: [trafficFilters]

- required: [ethTrafficFilters]

- oneOf:

- required: [ipv4Addr]

- required: [ipv6Addr]

- required: [macAddr]

- required: [gpsi]

- required: [externalGroupId]

- required: [anyUeInd]

anyOf:

- not:

Required: [subscribedEvents]

- required: [notificationDestination]

TrafficInfluSubPatch

Type: object

Properties:

appReloInd:

Type: boolean

Description: Identifies whether an application can be relocated once a location of the application has been selected.

nullable: true

trafficFilters:

Type: array

Items:

Reference: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'

minItems: 1

Description: Identifies IP packet filters.

ethTrafficFilters:

Type: array

Items:

Reference: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'

minItems: 1

Description: Identifies Ethernet packet filters.

trafficRoutes:

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'

minItems: 1

Description: Identifies the N6 traffic routing requirement.

tempValidities:

Type: array

Items:

Reference: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity'

minItems: 1

nullable: true

validGeoZoneIds:

Type: array

Items:

Type: string

minItems: 1

Description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone.

nullable: true

EventNotification

Type: object

Properties:

afTransId:

Type: string

Description: Identifies an NEF Northbound interface transaction, generated by the AF.

dnaiChgType:

Reference: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType'

sourceTrafficRoute:

Reference: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'

subscribedEvent:

Reference: '#/components/schemas/SubscribedEvent'

targetTrafficRoute:

Reference: 'TS29571_CommonData.yaml#/components/schemas/RouteToLoaction'

gpsi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'

srcUeIpv4Addr:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'

srcUeIpv6Prefix:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'

tgtUeIpv4Addr:

Reference: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'

tgtUeIpv6Prefix:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'

ueMac:

Reference: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'

Required:

- dnaiChgType

- subscribedEvent

SubscribedEvent

anyOf:

- type: string

Possible values are

- CHANGE_OF_DNAI: The AF requests to be notified when the UP path changes for the PDU session.