Npcf_AMPolicyControl

The PCF uses the Npcf_AMPolicyControl API to communicate with the Access and Mobility Management Function (AMF) over the N15 Interface.

OpenAPI

OpenAPI Version: 3.0.0

info

Description: Access and Mobility Policy Control Service API

Version: "1.0.0"

Title: Npcf_AMPolicyControl

externalDocs

Description: 3GPP TS 29.507 V15.2.0; 5G System; Access and Mobility Policy Control Service.

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

servers

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

Variables:

API Root:

Default: https://example.com

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

security

- {}

- oAuth2ClientCredentials:

- npcf-am-policy-control

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-am-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

'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'

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-am-policy-control: Access to the Npcf_AMPolicyControl API

schemas

PolicyAssociation

Type: object

Properties:

request:

Reference: '#/components/schemas/PolicyAssociationRequest'

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.

servAreaRes:

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

rfsp:

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

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'

groupIds:

Type: array

Items:

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

minItems: 1

servAreaRes:

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

rfsp:

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

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_AMPolicyControl_UpdateNotify service operation.

traceReq:

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

suppFeat:

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

Required:

- notificationUri

- suppFeat

- supi

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.

servAreaRes:

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

rfsp:

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

praStatuses:

Type: object

additionalProperties:

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

minProperties: 1

Description: Map of PRA status information.

userLoc:

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

traceReq:

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

PolicyUpdate

Type: object

Properties:

resourceUri:

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

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.

servAreaRes:

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

rfsp:

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

pras:

Type: object

additionalProperties:

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

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

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.

- SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the subscribed service area restriction information has changed.

- RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has changed.

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.