Phone: (469) 634-4200

Npcf Service-Based Interface

PCF Testing with dsTest

The Policy Control Function (PCF) is the rule keeper in the 5G core network. As such, it interacts with various network functions to gather data as a basis for the rules that it formulates. It obtains subscription data from the UDR, current network conditions from the NWDAF, and spending limits from the CHF. A PCF uses that data, along with any predefined policies, to determine how a UE may behave as well as how a UE’s PDU sessions may be handled. It then dispenses those rules, using the Npcf services, to the network functions that will enforce them.

The dsTest Npcf application supports the services briefly described below.


AMFs and PCFs utilize the Access and Mobility Policy Control Service, specified in TS 29.507, to create, deploy, and manage the AM policy for a UE. AM policies govern UE service area restrictions and RAT/Frequency Selection Priority (RFSP) index. The PCF transmits these policies towards the enforcement entities: the serving AMF, the serving NG RAN, and the UE itself.

These policies may be predefined in the PCF, dynamically formulated based on UE subscription data retrieved from the UDR, or a mixture of both — predefined policies that are dynamically modified based on subscription data. If the UE is roaming the H-PCF relays the policy to the V-PCF. The V-PCF may modify the policy based on local policy rules before forwarding it to the serving AMF. The AMF receives the policy from the (V-)PCF and then uses the N1/N2 interface to convey the service area restrictions to the UE and the service area restrictions along with the RFSP index to the NG RAN.

Service Operations

When a UE initially registers with a network or when mobility results in a new serving AMF and PCF, the serving AMF initiates the Create operation in an attempt to establish an AM Policy Association in the (V-)PCF. If the attempt is successful the PCF returns the AM policy in its response. An AMF will initiate an Update operation to modify the policy association if a policy control request trigger occurs. Movement of the UE to a different tracking area or Presence Reporting Area (PRA), or a change to the UE’s subscribed service area restriction or RFSP index can trigger a policy control request.

The PCF initiates the UpdateNotify operation to convey updated policies to the appropriate AMF(s) or V-PCF based on the active policy associations managed by the (H-)PCF. AM policy changes — due to a subscription change or operator policy modification — trigger this operation.

Finally, when a UE is no longer within a PCF’s jurisdiction, either due to mobility or deregistration, the AMF initiates the termination of the applicable policy association in the PCF through the Delete operation. In addition, a PCF, through an UpdateNotify operation, can trigger the AMF to initiate a Delete operation when the server is overloaded and must abort the session or if the UE’s subscription was removed by the operator.


UE policies govern non-3GPP access network selection and outgoing traffic routing through the Access Network Discovery & Selection Policy (ANDSP) and the UE Route Selection Policy (URSP) respectively. ANDSP rules define N3IWF, and potentially ePDG, selection criteria for UEs that indicate support for ANDSP during registration. The UE uses URSP rules to determine whether a new PDU session should be established for outgoing traffic or whether that traffic should be routed to an established PDU session or offloaded to non-3GPP access outside of a PDU session. Either the H-PCF or the V-PCF may dictate the ANDSP but only the H-PCF can issue the URSP. Policies received from a PCF always take precedence over policies predefined in the UE.

The UE Policy Control service, specified in TS 29.525, provides the mechanisms used by AMFs and (V-)PCFs to manage UE policy contexts. Operations and procedures for this service mirror those used to manage AM policies — service consumers may initiate Create, Update, and Delete operations while service producers may initiate UpdateNotify operations. In contrast with AM policies, however, these policies are delivered to the UE from the local PCF through the N1N2MessageTransfer operation of the Namf_Communication service.


The PCF’s Session Management Policy Control service, specified in TS 29.512, is primarily concerned with managing the Policy and Charging Control (PCC) rules that govern service data flows in the user plane and the session rules that govern individual PDU sessions. PCC rules control data flow detection, gating, QoS, traffic steering, flow-based charging and usage reporting. Session rules, however, control AMBR, default QoS, and usage and condition data.

Network operators may predefine PCC rules — in either the PCF or the SMF — or the PCF may dynamically generate them. The PCF always dynamically generates session rules, on the other hand, as they take into account the UE’s subscription, charging data, and current network conditions. It uses this service to manage PCC and session rules in the SMF by either activating and deactivating rules predefined in the SMF or by installing, modifying, and removing rules. The SMF, in turn, formulates and manages the various rules that it provides to the UPF over the N4 interface.

Service Operations

When an SMF is requested by an AMF, through the Nsmf_PDU_Session service, to establish a PDU session, it may use the Create operation of this service to request the PCF to establish an SM Policy Association. If the PCF authorizes the session it returns a policy decision in its response. In addition to policy rules, the policy decision includes event triggers that would require the PCF to reevaluate the rules. The PCF may also use the Nsmf_Event_Exposure service to subscribe to PDU session events that could trigger a policy update.

An SMF uses the Update operation to inform the PCF when a trigger event occurs. The PCF evaluates that information and if it determines that a policy update is indicated it includes the updated policty in its response. It can initiate policy modification or removal with the UpdateNotify operation. That decision could be based on internal events such as subscription or operator modifications, usage quota exhaustion, or information received from an AF or NEF regarding the UE’s AF session. The SMF, through the Delete operation, instructs the PCF to terminate the policy association as it is deleting the UE’s PDU session.


An Application Function (AF) provides application services to a UE. AFs may be deployed by network operators or they may be external entities. If an AF establishes an application session with a UE and realizes that policy control is needed, it attempts to interact with the PCF that has jurisdiction over that PDU session through the Policy Authorization service, which is specified in TS 29.514. An AF may only communicate directly with a PCF if the operator trusts the AF; otherwise it must utilize the services offered by a Network Exposure Function (NEF) to accomplish policy negotiations. It communicates the identities of the service provider and the PDU session, along with the bandwidth required to support the application, to the PCF.

Service Operations

A PCF, upon receiving a Create request, first validates the request. Then, assuming the request is accepted, it creates an application session context and binds the context to the SM Policy Association that governs the PDU session. Next it determines, based on the media components and the gating, routing, and bandwidth requirements conveyed by the AF, whether any of the policy rules for that PDU session need to be modified. If so, it engages with the serving SMF through the UpdateNotify operation of the Npcf_SMPolicyControl service. The AF may modify an application session context through the Update operation. An Update may result in a modification to the SM Policy Association and thus an additional SM UpdateNotify transaction between the PCF and SMF.

The PCF utilizes the Notify operation to inform the AF of events to which it has subscribed. An AF may subscribe to events during the Create operation, as part of an Update operation, or with the Subscribe operation. Resource allocation outcome, service data flow deactivation, QoS status, PLMN change, access type change, and usage for sponsored data connectivity are all events to which an AF may subscribe. It may also unsubscribe to all events as part of an Update operation or with the Unsubscribe operation.

Upon termination of the application session the AF initiates the Delete operation. The PCF then removes the associated application session context. In addition to the application session context, the PCF deletes any rules created to support the session. These changes may trigger an update to the SM Policy Association as well as an SM UpdateNotify operation. The PCF includes the final usage report for sponsored data connectivity in its response to the AF when indicated.


An AF may negotiate a Background Data Transfer (BDT) policy with the PCF through this service, which is specified in TS 29.554. It requests a time window and related conditions for future data transfers. An NEF initiates the Create operation to request the policies available to the AF. The request identifies the provider along with preferred time window and describes the volume of data. The PCF returns one or more suitable BDT policies in its response if it is able to fulfill the request. If the AF receives more than one policy it selects one and informs the NEF of the selection. The NEF, in turn, notifies the PCF of the selected policy through the Update operation.

Before a BDT begins, the AF provides the ID of the negotiated policy to the PCF. The PCF, in turn, derives the PCC rules for the transfer and conveys those rules to the SMF by way of an SM UpdateNotify operation.


The Event Exposure service, specified in TS 29.523, enables an NEF to subscribe and unsubscribe to policy event notifications for a specific UE, for a group of UEs, or for all UEs.

A PCF exposes the following events:

  • AC_TY_CH — access type change
  • PLMN_CH — PLMN change


Use our PCF emulator in your lab to provide Npcf services for your 5G testing. You can configure its subscriber database with UE subscription data — network access profiles, QoS profiles, and PCC profiles that include online charging limits — eliminating the need for a UDR or CHF in the test network. Associate those profiles with groups of subscribers and simulate operator changes by changing subscribers’ profiles. Initiate UpdateNotify operations directly with test actions or conditionally in your SmartEvents state machine.

Npcf Testing with dsTestTest your Npcf provider by surrounding it with our node emulators:

  • Initiate create, update, and delete operations from service consumers simulating AMFs, SMFs, and AFs to test the capacity and performance of your service provider.
  • Provision subscription profiles in an SPR’s subscriber database and respond to Nudr_DM queries from your PCF.

read moreRead more about dsTest capacity and performance.

As with all dsTest products, the node configurations and test scenarios are easily defined and configured with XML files that are validated against a published XML Schema to avoid invalid definitions. With our dsClient Desktop application you can create, run, and archive tests; capture, graph and archive operational measurements; capture real-time data flows and subscriber events; and manage your dsTest platforms and testing scenarios with a standalone application that runs on your PC.

read moreRead more about the dsClient Desktop application.

Advanced Testing Features

SmartEvents — Alter application behavior or coordinate multiple interface applications with SmartEvents — our programmable, subscriber-level state machine. All dsTest applications are event-driven, enabling you to easily alter subscribers’ activities. Use our visual composer to draw your state machine and to trace a single subscriber’s path through the state machine while the test is running. Define event handlers that affect a subscriber’s behavior in an application, or that trigger an event in another application. You can also configure event handlers to modify subscriber information during run-time, introduce timers, or randomize subscriber behavior based on configurable probabilities to name just a few of the many options in one of dsTest’s most powerful features.

SmartMessageElement — Insert, delete, or replace elements in Diameter, RADIUS, MAP, LDAP, GTP, REST, or SOAP messages with our SmartMessageElement feature. Define proprietary signaling or corrupt elements to facilitate negative testing. You can specify when your elements are used with SmartEvents.

Traffic Profile — Draw the shape of your test actions across time with Traffic Profile. You can define the rate for any action as a static rate or reference a Traffic Profile configuration, which also means that multiple Traffic Profiles can be running concurrently. Use Traffic Profile in conjunction with the randomizing features in SmartEvents to design a test that more truly simulates real-world network activity.

REST Dictionary — Add conformance testing to your performance or functional test with our REST Dictionary. You can validate message types and JSON structures by simply including our base dictionary. You can also build custom dictionaries to explicitly define required parameter and property values and selectively include the dictionary to be used for a particular test.

Operational Measurements

dsTest provides rich sets of measurements for the Npcf services:

  • Transaction and transport layer attempts, successes, and failures
  • Transaction duration, transactions-per-second, and round-trip delay
  • Message and byte counters
  • Errors encountered and error indications received in messages

See our Online Help for Npcf SM Policy Control measurements, Policy Authorization measurements, and socket measurements.

read moreRead more about dsTest and dsClient reporting features.

Reference Standards