5 Npcf_UEPolicyControl API
29.5253GPP5G SystemStage 3TSUE Policy Control Service
5.1 Introduction
The Access and Mobility Policy Control Service shall use the Npcf_UEPolicyControl API.
The API URI of the Npcf_UEPolicyControl API shall be:
{apiRoot}/<apiName>/<apiVersion>
The request URIs used in HTTP requests from the NF service consumer towards the PCF shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [6], i.e.:
{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>
with the following components:
– The {apiRoot} shall be set as described in 3GPP TS 29.501 [6].
– The <apiName> shall be "npcf-ue-policy-control".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 5.3.
5.2 Usage of HTTP
5.2.1 General
HTTP/2, IETF RFC 7540 [8], shall be used as specified in clause 5 of 3GPP TS 29.500 [5].
HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [5].
The OpenAPI [10] specification of HTTP messages and content bodies for the Npcf_UEPolicyControl is contained in Annex A.
5.2.2 HTTP standard headers
5.2.2.1 General
See clause 5.2.2 of 3GPP TS 29.500 [5] for the usage of HTTP standard headers.
5.2.2.2 Content type
JSON, IETF RFC 8259 [9], 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 [5]. 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 [21].
5.2.3 HTTP custom headers
The Npcf_UEPolicyControl API shall support HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [5] and may support HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [5].
In this Release of the specification, no specific custom headers are defined for the Npcf_UEPolicyControl API.
5.3 Resources
5.3.1 Resource Structure
This clause describes the structure for the Resource URIs and the resources and methods used for the service.
Figure 5.3.1-1 depicts the resource URIs structure for the Npcf_UEPolicyControl API.
Figure 5.3.1-1: Resource URI structure of the Npcf_UEPolicyControl API
Table 5.3.1-1 provides an overview of the resources and applicable HTTP methods.
Table 5.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
UE Policy Associations |
/policies |
POST |
Create a new Individual UE policy association resource. |
Individual UE Policy Association |
/policies/{polAssoId} |
GET |
Read an Individual UE Policy Association resource. |
DELETE |
Delete an Individual UE Policy Association resource. |
||
/policies/{polAssoId}/update |
update (POST) |
Report observed event trigger and obtain updated UE policies. |
5.3.2 Resource:UE Policy Associations
5.3.2.1 Description
This resource represents a collection of UE policy associations.
5.3.2.2 Resource definition
Resource URI: {apiRoot}/npcf-ue-policy-control/v1/policies
This resource shall support the resource URI variables defined in table 5.3.2.2-1.
Table 5.3.2.2-1: Resource URI variables for this resource
Name |
Data type |
Definition |
apiRoot |
string |
See clause 5.1 |
5.3.2.3 Resource Standard Methods
5.3.2.3.1 POST
This method shall support the URI query parameters specified in table 5.3.2.3.1-1.
Table 5.3.2.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 5.3.2.3.1-2 and the response data structures and response codes specified in table 5.3.2.3.1-3.
Table 5.3.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
PolicyAssociationRequest |
M |
1 |
Input parameters for the creation of a policy association. |
Table 5.3.2.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
PolicyAssociation |
M |
1 |
201 Created |
Policy association was created and policies are being provided. |
ProblemDetails |
O |
0..1 |
400 Bad Request |
(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 [5] also apply. NOTE 2: Failure cases are described in clause 5.7. |
Table 5.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}/npcf-ue-policy-control/v1/policies/{polAssoId} |
5.3.3 Resource: Individual UE Policy Association
5.3.3.1 Description
This resource represents an individual UE policy association.
5.3.3.2 Resource definition
Resource URI: {apiRoot}/npcf-ue-policy-control/v1/policies/{polAssoId}
This resource shall support the resource URI variables defined in table 5.3.2.2-1.
Table 5.3.2.2-1: Resource URI variables for this resource
Name |
Data type |
Definition |
apiRoot |
string |
See clause 5.1. |
polAssoId |
string |
Identifier of a policy association. |
5.3.3.3 Resource Standard Methods
5.3.3.3.1 GET
This method shall support the URI query parameters specified in table 5.3.2.3.1-1.
Table 5.3.3.3.1-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 5.3.2.3.1-2 and the response data structures and response codes specified in table 5.3.2.3.1-3.
Table 5.3.3.3.1-2: Data structures supported by the GET Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 5.3.3.3.1-3: Data structures supported by the GET Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
PolicyAssociation |
M |
1 |
200 OK |
|
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection, during Individual UE policy retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection, during Individual UE policy retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
NOTE: The mandatory HTTP error status codes for the GET method listed in table 5.2.7.1-1 of 3GPP TS 29.500 [5] also apply. |
Table 5.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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
Table 5.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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
5.3.3.3.2 DELETE
This method shall support the URI query parameters specified in table 5.3.3.3.2-1.
Table 5.3.3.3.2-1: URI query parameters supported by the DELETE method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 5.3.3.3.2-2 and the response data structures and response codes specified in table 5.3.3.3.2-3.
Table 5.3.3.3.2-2: Data structures supported by the DELETE Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 5.3.3.3.2-3: Data structures supported by the DELETE Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
The policy association was successfully deleted. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection, during Individual UE policy deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection, during Individual UE policy deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
NOTE: The mandatory HTTP error status codes for the DELETE method listed in table 5.2.7.1-1 of 3GPP TS 29.500 [5] also apply. |
Table 5.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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
Table 5.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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
5.3.3.4 Resource Custom Operations
5.3.3.4.1 Overview
Table 5.3.3.4.1-1: Custom operations
Operation name |
Custom operation URI |
Mapped HTTP method |
Description |
Update |
/policies/{polAssoId}/update |
POST |
Report observed event trigger and obtain updated policies. |
5.3.3.4.2 Operation: Update
5.3.3.4.2.1 Description
The update custom operation allows an NF service consumer to report the occurrence on one or more policy request trigger(s) and to obtain related updated policies.
5.3.3.4.2.2 Operation Definition
This operation shall support the request data structures specified in table 5.3.3.4.2.2-1 and the response data structure and response codes specified in table 5.3.3.4.2.2-2.
Table 5.3.3.4.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
PolicyAssociationUpdateRequest |
M |
1 |
Describes the observed policy control request trigger(s). |
Table 5.3.3.4.2.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
|||
PolicyUpdate |
M |
1 |
200 OK |
Describes updated policies. |
|||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection, during Individual UE policy modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
|||
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection, during Individual UE policy modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PCF (service) instance. Applicable if the feature "ES3XX" is supported. |
|||
ProblemDetails |
O |
0..1 |
400 Bad Request |
(NOTE 2) |
|||
ProblemDetails |
O |
0..1 |
404 Not Found |
(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 [5] also apply. NOTE 2: Failure cases are described in clause 5.7. |
Table 5.3.3.4.2.2-3: 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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
Table 5.3.3.4.2.2-4: 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 in an alternative PCF (service) instance. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the request is redirected |
5.4 Custom Operations without associated resources
None.
5.5 Notifications
5.5.1 General
Table 5.5.1-1: Notifications overview
Notification |
Callback URI |
HTTP method or custom operation |
Description (service operation) |
Policy Update Notification |
{notificationUri}/update |
update (POST) |
Policy Update Notification. |
Request for termination of the UE policy association |
{notificationUri}/terminate |
termminate (POST) |
Request for termination of the policy association. |
5.5.2 Policy Update Notification
5.5.2.1 Description
This notification is used by the H-PCF to provide updates of UE policies to the V-PCF as NF service consumer, and used by the V-PCF to provide updates of policy control request triggers to the AMF as NF service consumer.
5.5.2.2 Operation Definition
This operation shall support the request data structures specified in table 5.5.2.2-1 and the response data structure and response codes specified in table 5.5.2.2-2.
Table 5.5.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
PolicyUpdate |
M |
1 |
Updated policies. |
Table 5.5.2.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
UeRequestedValueRep |
O |
0..1 |
200 OK |
The current applicable values corresponding to the policy control request trigger are reported. |
n/a |
204 No Content |
The policies were successfully updated. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
The NF service consumer shall generate a Location header field containing a URI pointing to another NF service consumer to which the notification should be sent. Applicable if the feature "ES3XX" is supported. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection, during UE policy notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent. Applicable if the feature "ES3XX" is supported. |
ProblemDetails |
O |
0..1 |
404 Not Found |
The NF service consumer can use this response when the notification can be sent to another unknown host. Applicable if the feature "ErrorResponse" is supported. |
ProblemDetails |
O |
0..1 |
400 Bad Request |
(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 [5] also apply. NOTE 2: Failure cases are described in clause 5.7. |
Table 5.5.2.2-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI representing the end point of an alternative NF service consumer (service) instance towards which the notification should be redirected. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the notification request is redirected. May be included if the feature "ES3XX" is supported. |
Table 5.5.2.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the notification request is redirected |
5.5.3 Request for termination of the UE policy association
5.5.3.1 Description
This notification is used by the PCF to request the termination of a UE policy association.
5.5.3.2 Operation Definition
This operation shall support the request data structures specified in table 5.5.3.2-1 and the response data structure and response codes specified in table 5.5.3.2-2.
Table 5.5.3.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
TerminationNotification |
M |
1 |
Request to terminate the policy association. |
Table 5.5.3.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
The request for policy association termination was received. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection, during UE policy notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent as defined in clause 6.5.3.2 of 3GPP TS 29.500 [5]. Applicable if the feature "ES3XX" is supported. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection, during UE policy notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent as defined in clause 6.5.3.2 of 3GPP TS 29.500 [5]. Applicable if the feature "ES3XX" is supported. |
ProblemDetails |
O |
0..1 |
404 Not Found |
The NF service consumer can use this response when the notification can be sent to another unknown host. |
NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.7.1-1 of 3GPP TS 29.500 [5] also apply. |
Table 5.5.3.2-3: 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 |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the notification request is redirected. It may be included if the feature "ES3XX" is supported. |
Table 5.5.3.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance towards which the notification request is redirected |
5.6 Data Model
5.6.1 General
This clause specifies the application data model supported by the API.
Table 5.6.1-1 specifies the data types defined for the Npcf_UEPolicyControl service based interface protocol.
Table 5.6.1-1: Npcf_UEPolicyControl specific Data Types
Data type |
Section defined |
Description |
Applicability |
Pc5Capability |
5.6.3.5 |
Indicates the specific PC5 RAT(s) which the UE supports for V2X communications over PC5 reference point. |
V2X |
ProSeCapability |
5.6.3.6 |
Indicates the 5G ProSe capabilities. |
ProSe |
PolicyAssociation |
5.6.2.2 |
Description of a policy association that is returned by the PCF when a policy Association is created, updated, or read. |
|
PolicyAssociationReleaseCause |
5.6.3.4 |
The cause why the PCF requests the termination of the policy association. |
|
PolicyAssociationRequest |
5.6.2.3 |
Information that NF service consumer provides when requesting the creation of a policy association. |
|
PolicyAssociationUpdateRequest |
5.6.2.4 |
Information that NF service consumer provides when requesting the update of a policy association. |
|
PolicyUpdate |
5.6.2.5 |
Updated policies that the PCF provides in a notification or in the reply to an Update Request. |
|
RequestTrigger |
5.6.3.3 |
Enumeration of possible Request Triggers. |
|
TerminationNotification |
5.6.2.6 |
Request to terminate a policy Association that the PCF provides in a notification. |
|
UeRequestedValueRep |
5.6.2.8 |
Contains the current applicable values corresponding to the policy control request triggers. |
ImmediateReport |
UePolicy |
5.6.3.2 |
UE Policies |
|
UePolicyDeliveryResult |
5.6.3.2 |
UE Policy delivery Result |
|
UePolicyRequest |
5.6.3.2 |
Request for UE Policies |
|
UePolicyTransferFailureNotification |
5.6.2.7 |
Information that the UE policy is failure to be transferred to the UE because the UE is not reachable. |
Table 5.6.1-2 specifies data types re-used by the Npcf_UEPolicyControl 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 Npcf_UEPolicyControl service based interface.
Table 5.6.1-2: Npcf_UEPolicyControl re-used Data Types
Data type |
Reference |
Comments |
Applicability |
||||||
AccessType |
3GPP TS 29.571 [11] |
||||||||
Bytes |
3GPP TS 29.571 [11] |
String with format "byte". |
|||||||
CmState |
3GPP TS 29.518 [14] |
Connectivity state of UE |
ConnectivityStateChange |
||||||
Fqdn |
3GPP TS 29.571 [11] |
FQDN |
|||||||
Gpsi |
3GPP TS 29.571 [11] |
Generic Public Subscription Identifier |
|||||||
GroupId |
3GPP TS 29.571 [11] |
||||||||
Guami |
3GPP TS 29.571 [11] |
Globally Unique AMF Identifier |
|||||||
Ipv4Addr |
3GPP TS 29.571 [11] |
||||||||
Ipv6Addr |
3GPP TS 29.571 [11] |
||||||||
N1N2MessageTransferCause |
3GPP TS 29.518 [14] |
||||||||
N2InfoContent |
3GPP TS 29.518 [14] |
Represents a transparent N2 information content to be relayed by AMF. |
V2X, ProSe |
||||||
NfInstanceId |
3GPP TS 29.571 [11] |
||||||||
Pei |
3GPP TS 29.571 [11] |
Permanent Equipment Identifier |
|||||||
PlmnId |
3GPP TS 29.571 [11] |
||||||||
PlmnIdNid |
3GPP TS 29.571 [11] |
Identifies the network: PLMN Identifier or the SNPN Identifier (the PLMN Identifier and the NID). |
|||||||
PresenceInfo |
3GPP TS 29.571 [11] |
Presence reporting area information |
|||||||
ProblemDetails |
3GPP TS 29.571 [11] |
||||||||
RatType |
3GPP TS 29.571 [11] |
||||||||
RedirectResponse |
3GPP TS 29.571 [11] |
Contains redirection related information. |
ES3XX |
||||||
ServiceName |
3GPP TS 29.510 [13] |
Name of the service instance. |
|||||||
Supi |
3GPP TS 29.571 [11] |
Subscription Permanent Identifier |
|||||||
SupportedFeatures |
3GPP TS 29.571 [11] |
Used to negotiate the applicability of the optional features defined in table 5.8-1. |
|||||||
TimeZone |
3GPP TS 29.571 [11] |
||||||||
Uinteger |
3GPP TS 29.571 [11] |
||||||||
Uri |
3GPP TS 29.571 [11] |
||||||||
UserLocation |
3GPP TS 29.571 [11] |
5.6.2 Structured data types
5.6.2.1 Introduction
This clause defines the structures to be used in resource representations.
5.6.2.2 Type PolicyAssociation
Table 5.6.2.2-1: Definition of type PolicyAssociation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
request |
PolicyAssociationRequest |
O |
0..1 |
The information provided by the NF service consumer when requesting the creation of a policy association |
|
uePolicy |
UePolicy |
O |
0..1 |
The UE policy as determined by the H-PCF (for the H-PCF as NF service producer). |
|
n2Pc5Pol |
N2InfoContent |
O |
0..1 |
The N2 PC5 policy for V2X communications as determined by the H-PCF. |
V2X |
n2Pc5ProSePol |
N2InfoContent |
O |
0..1 |
The N2 PC5 policy for 5G ProSe as determined by the PCF. |
ProSe |
triggers |
array(RequestTrigger) |
O |
1..N |
Request Triggers to which the PCF subscribes. Only the values "LOC_CH", "PRA_CH", "PLMN_CH" and "CON_STATE_CH" are permitted. |
(NOTE) |
pras |
map(PresenceInfo) |
C |
1..N |
If the Request Trigger "PRA_CH" is provided, the presence reporting area(s) for which reporting is requested shall be provided. The "praId" attribute within the PresenceInfo data type shall also be the key of the map. The "presenceState" and the "additionalPraId" attributes within the PresenceInfo data type shall not be supplied. The "praId" attribute within the PresenceInfo data type shall include the identifier of either a presence reporting area or a presence reporting area set. |
|
suppFeat |
SupportedFeatures |
M |
1 |
Indicates the negotiated supported features. |
|
NOTE: The "PLMN_CH" and "CON_STATE_CH" values in the "triggers" attribute apply under feature control as described in clause 4.2.3.2. |
5.6.2.3 Type PolicyAssociationRequest
Table 5.6.2.3-1: Definition of type PolicyAssociationRequest
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
notificationUri |
Uri |
M |
1 |
Identifies the recipient of Notifications sent by the PCF. |
|
altNotifIpv4Addrs |
array(Ipv4Addr) |
O |
1..N |
Alternate or backup IPv4 Addess(es) where to send Notifications. |
|
altNotifIpv6Addrs |
array(Ipv6Addr) |
O |
1..N |
Alternate or backup IPv6 Addess(es) where to send Notifications. |
|
altNotifFqdns |
array(Fqdn) |
O |
1..N |
Alternate or backup FQDN(s) where to send Notifications. |
|
supi |
Supi |
M |
1 |
Subscription Permanent Identifier. |
|
gpsi |
Gpsi |
C |
0..1 |
Generic Public Subscription Identifier. Shall be provided when available. |
|
accessType |
AccessType |
C |
0..1 |
The Access Type where the served UE is camping. Shall be provided when available. |
|
pei |
Pei |
C |
0..1 |
The Permanent Equipment Identifier of the served UE. Shall be provided when available. |
|
userLoc |
UserLocation |
C |
0..1 |
The location of the served UE. Shall be provided when available. |
|
timeZone |
TimeZone |
C |
0..1 |
The time zone where the served UE is camping. Shall be provided when available. |
|
servingPlmn |
PlmnIdNid |
C |
0..1 |
The serving network (a PLMN or an SNPN) where the served UE is camping. For the SNPN the NID together with the PLMN ID identifies the SNPN. Shall be provided when available. |
|
ratType |
RatType |
C |
0..1 |
The RAT Type where the served UE is camping. Shall be provided when available. |
|
groupIds |
array(GroupId) |
C |
1..N |
Internal Group Identifier(s) of the served UE. Shall be provided when available. |
|
hPcfId |
NfInstanceId |
C |
0..1 |
H-PCF Identifier. Shall be provided when available. |
|
uePolReq |
UePolicyRequest |
C |
0..1 |
A request for UE Policies. Shall be provided when the AMF receives an "UE STATE INDICATION" message, as defined in Annex D.5.4 of 3GPP TS 24.501 [15]. |
|
guami |
Guami |
C |
0..1 |
The Globally Unique AMF Identifier (GUAMI) shall be provided by an AMF as NF service consumer. |
|
serviceName |
ServiceName |
O |
0..1 |
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. |
|
servingNfId |
NfInstanceId |
C |
0..1 |
If the NF service consumer is an AMF, it shall contain the identifier of the serving AMF. |
|
pc5Capab |
Pc5Capability |
C |
0..1 |
Indicates the PC5 Capability for V2X communications supported by the UE. It shall be provided when available at the NF service consumer. |
V2X |
proSeCapab |
array(ProSeCapability) |
C |
1..N |
Indicates whether the UE is capable of one or more of the the following 5G ProSe Capabilities: 5G ProSe Direct Discovery, 5G ProSe Direct Communication, Layer-2 and/or Layer 3 5G ProSe UE-to-Network Relay and Layer-2 and/or Layer 3 5G ProSe Remote UE. It shall be provided when available at the NF service consumer. |
ProSe |
suppFeat |
SupportedFeatures |
M |
1 |
Indicates the features supported by the service consumer. |
5.6.2.4 Type PolicyAssociationUpdateRequest
Table 5.6.2.4-1: Definition of type PolicyAssociationUpdateRequest
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
|||||
notificationUri |
Uri |
O |
0..1 |
Identifies the recipient of Notifications sent by the PCF. |
||||||
altNotifIpv4Addrs |
array(Ipv4Addr) |
O |
1..N |
Alternate or backup IPv4 Address(es) where to send Notifications. |
||||||
altNotifIpv6Addrs |
array(Ipv6Addr) |
O |
1..N |
Alternate or backup IPv6 Address(es) where to send Notifications. |
||||||
altNotifFqdns |
array(Fqdn) |
O |
1..N |
Alternate or backup FQDN(s) where to send Notifications. |
||||||
triggers |
array(RequestTrigger) |
C |
1..N |
Request Triggers that the NF service consumer observes. |
||||||
praStatuses |
map(PresenceInfo) |
C |
1..N |
If the Trigger "PRA_CH" is reported, the UE presence status for tracking area for which changes of the UE presence occurred shall be provided. The "praId" attribute within the PresenceInfo data type shall also be the key of the map. The "presenceState" attribute within the PresenceInfo data type shall be supplied. The "additionalPraId" attribute within the PresenceInfo data type shall not be supplied. The "praId" attribute within the PresenceInfo data type shall include the identifier of an individual presence reporting area. |
||||||
userLoc |
UserLocation |
C |
0..1 |
The location of the served UE shall be provided for trigger "LOC_CH". |
||||||
uePolDelResult |
UePolicyDeliveryResult |
C |
0..1 |
UE Policy Delivery Result. Shall be provided together with trigger "UE_POLICY" when 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 [15], has been received by the V-PCF and is being forwarded to the H-PCF. |
||||||
uePolTransFailNotif |
UePolicyTransferFailureNotification |
C |
0..1 |
The UE policy transfer failure notification. Shall be the provided together with trigger "UE_POLICY" when a response with HTTP status code 4xx or 5xx as defined in clause 5.2.2.3.1.2 of 3GPP TS 29.518 [14] or a N1N2 Transfer Failure Notification as defined in clause 5.2.2.3.2 of 3GPP TS 29.518 [14] is received after the V-PCF provisioned the UE policy by invoking the Namf_Communication_N1N2MessageTransfer service operation to the AMF and is notifying the H-PCF. |
||||||
uePolReq |
UePolicyRequest |
C |
0..1 |
A request for UE Policies. Shall be provided together with trigger "UE_POLICY" when the V-PCF receives an "UE POLICY PROVISIONING REQUEST" message, as defined in clause 7.2.1.1 of 3GPP TS 24.587 [24], if the "V2X" feature is supported, and/or when the V-PCF receives an "UE POLICY PROVISIONING REQUEST" message for 5G ProSe, as defined in clause 10.4.1 of 3GPP TS 24.554 [28], if the "ProSe" feature is supported. |
V2X, ProSe |
|||||
guami |
Guami |
C |
0..1 |
The Globally Unique AMF Identifier (GUAMI) shall be provided by an AMF as NF service consumer during the AMF relocation. |
||||||
servingNfId |
NfInstanceId |
C |
0..1 |
It shall contain the identifier of the new AMF during the AMF relocation. |
||||||
plmnId |
PlmnIdNid |
C |
0..1 |
The serving network identity (a PLMN or an SNPN) of the served UE shall be provided for trigger "PLMN_CH". |
PlmnChange |
|||||
connectState |
CmState |
C |
0..1 |
The connectivity state of the served UE shall be provided for trigger "CON_STATE_CH". |
ConnectivityStateChange |
|||||
groupIds |
array(GroupId) |
C |
1..N |
Internal Group Identifier(s) of the served UE. Shall be provided for trigger "GROUP_ID_LIST_CHG". |
GroupIdListChange |
|||||
proSeCapab |
array(ProSeCapability) |
O |
1..N |
Indicates whether the UE is capable of one or more of the the following 5G ProSe Capabilities: 5G ProSe Direct Discovery, 5G ProSe Direct Communication, Layer-2 and/or Layer 3 5G ProSe UE-to-Network Relay and Layer-2 and/or Layer 3 5G ProSe Remote UE. |
ProSe |
5.6.2.5 Type PolicyUpdate
Table 5.6.2.5-1: Definition of type PolicyUpdate
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
|||||
resourceUri |
Uri |
M |
1 |
The resource URI of the individual UE policy association related to the notification. (NOTE 2) |
||||||
uePolicy |
UePolicy |
O |
0..1 |
The UE policy as determined by the H-PCF. |
||||||
n2Pc5Pol |
N2InfoContent |
O |
0..1 |
The N2 PC5 policy for V2X communications as determined by the H-PCF. |
V2X |
|||||
n2Pc5ProSePol |
N2InfoContent |
O |
0..1 |
The N2 PC5 policy for 5G ProSe as determined by the PCF. |
ProSe |
|||||
triggers |
array(RequestTrigger) |
O |
1..N |
Request Triggers that the PCF subscribes. Only values "LOC_CH", "PRA_CH", "PLMN_CH" and "CON_STATE_CH" are permitted. |
(NOTE 1) |
|||||
pras |
map(PresenceInfo) |
C |
1..N |
If the Trigger "PRA_CH" is provided or if that trigger was already set but the requested presence reporting areas need to be changed, the presence reporting area(s) for which reporting is requested shall be provided. The "praId" attribute within the PresenceInfo data type shall also be the key of the map. The "presenceState" attribute within the PresenceInfo data type shall not be supplied. The "praId" attribute within the PresenceInfo data type shall include the identifier of either a presence reporting area or a presence reporting area set. |
||||||
NOTE 1: The "PLMN_CH" and "CON_STATE_CH" values in the "triggers" attribute apply under feature control as described in clause 4.2.3.2. NOTE 2: When the PolicyUpdate data type is used in a policy update notify service operation, either the complete resource URI included in the "resourceUri" attribute or the "apiSpecificResourceUriPart" component (see clause 5.1) of the resource URI included in the "resourceUri" attribute may be used by the NF service consumer (e.g. AMF) for the identification of the Individual UE Policy Association resource related to the notification. |
5.6.2.6 Type TerminationNotification
Table 5.6.2.6-1: Definition of type TerminationNotification
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
resourceUri |
Uri |
M |
1 |
The resource URI of the individual UE policy association related to the notification. (NOTE) |
|
cause |
PolicyAssociationReleaseCause |
M |
1 |
The cause why the PCF requests the termination of the policy association. |
|
NOTE: Either the complete resource URI included in the "resourceUri" attribute or the "apiSpecificResourceUriPart" component (see clause 5.1) of the resource URI included in the "resourceUri" attribute may be used by the NF service consumer (e.g. AMF) for the identification of the Individual UE Policy Association resource related to the termination notification. |
5.6.2.7 Type UePolicyTransferFailureNotification
Table 5.6.2.7-1: UEPolicyTransferFailureNotification
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
cause |
N1N2MessageTransferCause |
M |
1 |
Indicates the reason why the UE policy could not be transferred by the AMF. |
|
ptis |
array(Uinteger) |
M |
1..N |
Contains a list of PTI assigned by the H-PCF corresponding to the UE policy(s) which could not be transferred by the AMF. |
5.6.2.8 Type UeRequestedValueRep
Table 5.6.2.8-1: Definition of type UeRequestedValueRep
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
userLoc |
UserLocation |
O |
0..1 |
The location of the served UE is camping. |
|
praStatuses |
map(PresenceInfo) |
O |
1..N |
The UE presence statuses for tracking areas. The "praId" attribute within the PresenceInfo data type shall also be the key of the map. |
|
plmnId |
PlmnIdNid |
C |
0..1 |
The serving network identity (a PLMN or an SNPN) of the served UE shall be provided for trigger "PLMN_CH". |
PlmnChange |
connectState |
CmState |
O |
0..1 |
The connectivity state of the served UE. |
ConnectivityStateChange |
5.6.3 Simple data types and enumerations
5.6.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
5.6.3.2 Simple data types
The simple data types defined in table 5.6.3.2-1 shall be supported.
Table 5.6.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
UePolicy |
Bytes |
"MANAGE UE POLICY COMMAND" message content, as defined in Table D.5.1.1.1 of 3GPP TS 24.501 [15] |
|
UePolicyDeliveryResult |
Bytes |
"MANAGE UE POLICY COMPLETE" message content, as defined in Table D.5.2.1.1 of 3GPP TS 24.501 [15], or "MANAGE UE POLICY COMMAND REJECT" message content, as defined in Table D.5.3.1.1 of 3GPP TS 24.501 [15] |
|
UePolicyRequest |
Bytes |
"UE STATE INDICATION" message content, as defined in Table D.5.4.1.1 of 3GPP TS 24.501 [15] or "UE POLICY PROVISIONING REQUEST" message content, as defined in clause 7.2.1.1 of 3GPP TS 24.587 [24]. |
5.6.3.3 Enumeration: RequestTrigger
The enumeration RequestTrigger represents the possible Policy Control Request Triggers.. It shall comply with the provisions defined in table 5.6.3.3-1.
Table 5.6.3.3-1: Enumeration RequestTrigger
Enumeration value |
Description |
Applicability |
LOC_CH |
Location change (tracking area): the tracking area of the UE has changed. (NOTE) |
|
PRA_CH |
Change of UE presence in PRA: the AMF reports the current presence status of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the Presence Reporting Area. (NOTE) |
|
UE_POLICY |
A "MANAGE UE POLICY COMPLETE" message, a "MANAGE UE POLICY COMMAND REJECT" message, as defined in Annex D.5 of 3GPP TS 24.501 [15] has been received by the V-PCF and is being forwarded to the H-PCF. A Namf_Communication_N1N2MessageTransfer failure response as defined in clause 5.2.2.3.1.2 of 3GPP TS 29.518 [14], or an N1N2 Transfer Failure Notification as defined in clause 5.2.2.3.2 of 3GPP TS 29.518 [14], a UE Policy transfer failure is notifying to the H-PCF. When the "ProSe" feature is supported it indicates that a "UE POLICY PROVISIONING REQUEST" message, as defined in clause 10.4 of 3GPP TS 24.554 [28] has been received by the V-PCF and is being forwarded to the H-PCF. When the "V2X" feature is supported it indicates that a "UE POLICY PROVISIONING REQUEST" message, as defined in clause 7.2 of 3GPP TS 24.587 [24] has been received by the V-PCF and is being forwarded to the H-PCF. This event does not require a subscription and is only applicable for the V‑PCF as NF service consumer and the H‑PCF as NF service producer. |
|
PLMN_CH |
PLMN change: the serving network (a PLMN or an SNPN) of UE has changed. (NOTE) |
PlmnChange |
CON_STATE_CH |
Connectivity state change: the connectivity state of UE has changed. (NOTE) |
ConnectivityStateChange |
GROUP_ID_LIST_CHG |
UE Internal Group Identifier(s) has changed: the AMF reports that UDM provided list of group Ids has changed. This policy control request trigger does not require a subscription. |
GroupIdListChange |
UE_CAP_CH |
UE Capabilities change: the UE provided 5G ProSe capabilities have changed. This policy control request trigger does not require subscription. |
ProSe |
NOTE: The report of this trigger includes reporting the current value at the time the trigger is provisioned during the update or update notification of the policy association. |
5.6.3.4 Enumeration: PolicyAssociationReleaseCause
The enumeration PolicyAssociationReleaseCause represents the cause why the PCF requests the termination of the policy association. It shall comply with the provisions defined in table 5.6.3.4-1.
Table 5.6.3.4-1: Enumeration PolicyAssociationReleaseCause
Enumeration value |
Description |
Applicability |
UNSPECIFIED |
This value is used for unspecified reasons. |
|
UE_SUBSCRIPTION |
This value is used to indicate that the policy association 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 policy association. |
5.6.3.5 Enumeration: Pc5Capability
The enumeration Pc5Capability indicates the specific PC5 RAT(s) which the UE supports for V2X communication over PC5 reference point. It shall comply with the provisions defined in table 5.6.3.5-1.
Table 5.6.3.5-1: Enumeration Pc5Capability
Enumeration value |
Description |
Applicability |
LTE_PC5 |
This value is used to indicate that UE supports PC5 LTE RAT for V2X communication over PC5 reference point. |
|
NR_PC5 |
This value is used to indicate that UE supports PC5 NR RAT for V2X communication over PC5 reference point. |
|
LTE_NR_PC5 |
This value is used to indicate that UE supports both PC5 LTE and NR RAT for V2X communication over PC5 reference point. |
5.6.3.6 Enumeration: ProSeCapability
This enumeration indicates the 5G ProSe capabilities. It shall comply with the provisions defined in table 5.6.3.6-1.
Table 5.6.3.6-1: Enumeration ProSeCapability
Enumeration value |
Description |
Applicability |
PROSE_DD |
This value is used to indicate that 5G ProSe Direct Discovery is supported by the UE. |
|
PROSE_DC |
This value is used to indicate that 5G ProSe Direct Communication is supported by the UE. |
|
PROSE_L2_U2N_RELAY |
This value is used to indicate that Layer-2 5G ProSe UE-to-Network Relay is supported by the UE. |
|
PROSE_L3_U2N_RELAY |
This value is used to indicate that Layer-3 5G ProSe UE-to-Network Relay is supported by the UE. |
|
PROSE_L2_REMOTE_UE |
This value is used to indicate that Layer-2 5G ProSe Remote UE is supported by the UE. |
|
PROSE_L3_REMOTE_UE |
This value is used to indicate that Layer-3 5G ProSe Remote UE is supported by the UE. |
5.7 Error handling
5.7.1 General
For the Npcf_UEPolicyControl API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [6].
Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [5] 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 [5].
In addition, the requirements in the following clauses are applicable for the Npcf_UEPolicyControl API.
5.7.2 Protocol Errors
No specific protocol errorsfor the Npcf_UEPolicyControl API are specified.
5.7.3 Application Errors
The application errors defined for the Npcf_UEPolicyControl service are listed in Table 5.7.3-1 and Table 5.7.3-2.
Table 5.7.3-1: Application errors when PCF acts as a server
Application Error |
HTTP status code |
Description |
USER_UNKNOWN |
400 Bad Request |
The HTTP request is rejected because the end user specified in the request is unknown to the PCF. |
ERROR_REQUEST_PARAMETERS |
400 Bad Request |
The HTTP request is rejected because the set of information needed by the PCF for UE Policy selection is incomplete or erroneous or not available for the decision to be made. |
PENDING_TRANSACTION |
400 Bad Request |
This error shall be used when the PendingTransaction feature is supported and the PCF receives an incoming request on a policy association while it has an ongoing transaction on the same policy association and cannot handle the request as described in clause 9.2 of 3GPP TS 29.513 [7]. |
POLICY_ASSOCIATION_NOT_FOUND |
404 Not Found |
The HTTP request is rejected because no UE policy association corresponding to the request exists in the PCF. |
NOTE: Including a "ProblemDetails" data structure with the "cause" attribute in the HTTP response is optional unless explicitly mandated in the service operation clauses. |
Table 5.7.3-2: Application errors when NF service consumer acts as a server to receive a notification
Application Error |
HTTP status code |
Description |
PENDING_TRANSACTION |
400 Bad Request |
This error shall be used when the PendingTransaction feature is supported and the NF service consumer receives an incoming request on a policy association while it has an ongoing transaction on the same policy association and cannot handle the request as described in clause 9.2 of 3GPP TS 29.513 [7]. (NOTE 1) |
NOTE 1: This application error is included in the response to the Policy Update Notification HTTP POST request. NOTE 2: Including a "ProblemDetails" data structure with the "cause" attribute in the HTTP response is optional unless explicitly mandated in the service operation clauses. |
5.8 Feature negotiation
The optional features in table 5.8-1 are defined for the Npcf_UEPolicyControl API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [5].
Table 5.8-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
PendingTransaction |
This feature indicates support for the race condition handling as defined in 3GPP TS 29.513 [7]. |
2 |
PlmnChange |
This feature indicates support for the change of PLMN trigger handling. |
3 |
ConnectivityStateChange |
This feature indicates support for the UE connectivity state change trigger handling. |
4 |
V2X |
This feature indicates support for the UE policy provisioning and N2 information provisioning for V2X communications. |
5 |
GroupIdListChange |
This feature indicates the support for the notification of changes in the list of internal group identifiers. |
6 |
ImmediateReport |
This feature indicates the support of the current applicable values report corresponding to the policy control request triggers for policy update notification. |
7 |
ErrorResponse |
This feature indicates support for "404 Not Found" error response code for policy update notification between AMF and (V-)PCF. |
8 |
ES3XX |
Extended Support for 3xx redirections. This feature indicates the support of redirection for any service operation, according to Stateless NF procedures as specified in clauses 6.5.3.2 and 6.5.3.3 of 3GPP TS 29.500 [5] and according to HTTP redirection principles for indirect communication, as specified in clause 6.10.9 of 3GPP TS 29.500 [5]. |
9 |
ProSe |
This feature indicates support of UE policy and N2 information provisioning for 5G ProSe. |
5.9 Security
As indicated in 3GPP TS 33.501 [19] and 3GPP TS 29.500 [5], the access to the Npcf_UEPolicyControl API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [20]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [13]) plays the role of the authorization server.
If OAuth2 is used, an NF service consumer, prior to consuming services offered by the Npcf_UEPolicyControl API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [13], 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 Npcf_UEPolicyControl service.
The Npcf_UEPolicyControl API defines a single scope "npcf-ue-policy-control" for the entire service, and it does not define any additional scopes at resource or operation level.
Annex A (normative):
OpenAPI specification