Skip to content

feat(pcf): Add possibility to provision PCC rules from file

Stefan Spettel requested to merge feature_pcc_rules_file into develop

The policy decisions are configured in three different locations, as indicated in the pcf.conf The files itself are yaml files, but follow the specification of the Npcf_SMPolicyControl API (3GPP TS 29.512)

Each directory can contain many files and they will each be interpreted as the type indicated by the directory. It is also possible to configure multiple rules of the same type in the same file. All the rules do not need to have their ID set, as the ID is the name of the rule.

TRAFFIC_RULES_DIRECTORY

Contains the traffic rules. It must be structured as the TrafficControlData element.

Example:

edge-ulcl-scenario:
  routeToLocs:
  - dnai: access
  - dnai: edge

PCC_RULES_DIRECTORY

Contains the PCC rules. It must be structured as the PccRule element. As seen in the example, when you want to influence traffic decisions, the ID in the refTcData must refer to the one from the TRAFFIC_RULES_DIRECTORY.

Example:

edge-ulcl-rule:
  flowInfos:
  - flowDescription: permit out ip from 8.8.8.8 to assigned
  precedence: 9
  refTcData:
  - edge-ulcl-scenario

POLICY_DECISIONS_DIRECTORY

In this directory you can define which PCC rule applies to which PDU session. There are currently four selection criteria:

  • SUPI (only IMSI)
  • DNN
  • SLICE
  • DEFAULT

The syntax of the file is as follows:

rule-name:
  supi_imsi: <imsi>
  dnn: <dnn>
  slice:
    sst: <sst>
    sd:  "sd"
  pcc_rules:
  - edge-ulcl-rule
  - <rule2>
  - ...

The rules in PCC rules must be created in the PCC_RULES_DIRECTORY first.

Edited by Stefan Spettel

Merge request reports