Npcf_UEPolicyControl

NF service consumer ( for example, AMF) can create and manage a UE Policy Association in the PCF through which the NF service consumer receives policy information for a UE.

OpenAPI

OpenAPI Version: 3.0.0

info

Description: UE Policy Control Service API

Version: "1.0.0"

Title: Npcf_UEPolicyControl

externalDocs

Description: 3GPP TS 29.525 V15.0.0; 5G System; UE Policy Control Service.

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

security

- {}

- oAuth2ClientCredentials:

- npcf-ue-policy-control

servers

URL: '{apiRoot}/npcf-ue-policy-control/v1'

Variables:

API Root:

Default: https://example.com

Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501

paths

/policies

Method: Post

Request Body:

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyAssociationRequest'

Responses:

'201' Created

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyAssociation'

Headers:

Location:

Description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/npcf-ue-policy-control/v1/policies/{polAssoId}'

Required/Optional: true

Schema:

Type: string

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

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

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

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

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

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

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

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

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

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

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

Callbacks:

policyUpdateNotification:

'{$request.body#/notificationUri}/update':

Method: Post

Request Body:

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyUpdate'

Responses:

'204' No Content, Notification was succesfull

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

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

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

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

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

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

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

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

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

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

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

policyAssocitionTerminationRequestNotification:

'{$request.body#/notificationUri}/terminate':

Method: Post

Request Body:

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/TerminationNotification'

Responses:

'204' No Content, Notification was succesfull

'307' temporary redirect

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

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

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

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

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

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

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

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

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

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

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

/policies/{polAssoId}

get:

Parameters:

- name: polAssoId

In: path

Description: Identifier of a policy association

Required/Optional: true

Schema:

Type: string

Responses:

'200' OK. Resource representation is returned

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyAssociation'

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

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

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

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

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

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

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

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

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

delete:

Parameters:

- name: polAssoId

In: path

Description: Identifier of a policy association

Required/Optional: true

Schema:

Type: string

Responses:

'204' No Content. Resource was succesfully deleted

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

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

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

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

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

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

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

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

/policies/{polAssoId}/update

Method: Post

Request Body:

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyAssociationUpdateRequest'

Parameters:

- name: polAssoId

In: path

Description: Identifier of a policy association

Required/Optional: true

Schema:

Type: string

Responses:

'200' OK. Updated policies are returned

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/PolicyUpdate'

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

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

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

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

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

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

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

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

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

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

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

components

securitySchemes

oAuth2ClientCredentials

Type: oauth2

Flows:

clientCredentials:

tokenUrl: '{nrfApiRoot}/oauth2/token'

scopes:

npcf-ue-policy-control: Access to the Npcf_AMPolicyControl API

schemas

PolicyAssociation

Type: object

Properties:

request:

Reference: '#/components/schemas/PolicyAssociationRequest'

uePolicy:

Reference: '#/components/schemas/UePolicy'

triggers:

Type: array

Items:

Reference: '#/components/schemas/RequestTrigger'

minItems: 1

Description: Request Triggers that the PCF subscribes. Only values "LOC_CH" and "PRA_CH" are permitted.

pras:

Type: object

additionalProperties:

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

minProperties: 1

suppFeat:

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

Required:

- suppFeat

PolicyAssociationRequest

Type: object

Properties:

notificationUri:

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

altNotifIpv4Addrs:

Type: array

Items:

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

minItems: 1

Description: Alternate or backup IPv4 Address(es) where to send Notifications.

altNotifIpv6Addrs:

Type: array

Items:

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

minItems: 1

Description: Alternate or backup IPv6 Address(es) where to send Notifications.

supi:

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

gpsi:

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

accessType:

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

pei:

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

userLoc:

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

timeZone:

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

servingPlmn:

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

ratType:

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

groupId:

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

hPcfId:

Type: string

Description: H-PCF Identifier. Shall be provided when available.

uePolReq:

Reference: '#/components/schemas/UePolicyRequest'

guami:

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

serviveName:

Type: string

Description: If the NF service consumer is an AMF, it should provide the name of a service produced by the AMF that makes use of information received within the Npcf_UEPolicyControl_UpdateNotify service operation.

suppFeat:

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

Required:

- notificationUri

- suppFeat

PolicyAssociationUpdateRequest

Type: object

Properties:

notificationUri:

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

altNotifIpv4Addrs:

Type: array

Items:

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

minItems: 1

Description: Alternate or backup IPv4 Address(es) where to send Notifications.

altNotifIpv6Addrs:

Type: array

Items:

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

minItems: 1

Description: Alternate or backup IPv6 Address(es) where to send Notifications.

triggers:

Type: array

Items:

Reference: '#/components/schemas/RequestTrigger'

minItems: 1

Description: Request Triggers that the NF service consumer observes.

praStatuses:

Type: object

additionalProperties:

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

Description: Map of PRA status information.

minProperties: 1

userLoc:

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

uePolDelResult:

Reference: '#/components/schemas/UePolicyDeliveryResult'

PolicyUpdate

Type: object

Properties:

resourceUri:

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

uePolicy:

Reference: '#/components/schemas/UePolicy'

triggers:

Type: array

Items:

Reference: '#/components/schemas/RequestTrigger'

minItems: 1

nullable: true

Description: Request Triggers that the PCF subscribes. Only values "LOC_CH" and "PRA_CH" are permitted.

pras:

Type: object

additionalProperties:

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

Description: Map of PRA information.

minProperties: 1

nullable: true

Required:

- resourceUri

TerminationNotification

Type: object

Properties:

resourceUri:

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

cause:

Reference: '#/components/schemas/PolicyAssociationReleaseCause'

Required:

- resourceUri

- cause

UePolicy

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

UePolicyDeliveryResult

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

UePolicyRequest

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

RequestTrigger

anyOf:

- type: string

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

Possible values are

- LOC_CH: Location change (tracking area). The tracking area of the UE has changed.

- PRA_CH: Change of UE presence in PRA. The UE is entering/leaving a Presence Reporting Area.

- UE_POLICY: A MANAGE UE POLICY COMPLETE message or a MANAGE UE POLICY COMMAND REJECT message, as defined in Annex D.5 of 3GPP TS 24.501, has been received by the AMF and is being forwarded.

PolicyAssociationReleaseCause

anyOf:

- type: string

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

Possible values are

- UNSPECIFIED: This value is used for unspecified reasons.

- UE_SUBSCRIPTION: This value is used to indicate that the session needs to be terminated because the subscription of UE has changed (e.g. was removed).

- INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs to abort the session.