PCRF configuration reference

The Policy and Charging Rules Function (PCRF) service is a core function of the Policy and Charging Control (PCC) platform. It generates rules that enforce policy and charging control on a Policy and Charging Enforcement Function (PCEF). This page acts as a reference for that configuration providing a detailed description for each section and property.

The core configuration file for the PCRF is typically found at /tango/config/PCRF.cfg.


Configuration file structure

  1. [section] - denoted by the open and closed brackets and acts as a container for similar properties.

  2. property - denoted by the code styling and found within a [section]; contains descriptive information to explain the property.

[pcrf rules handler]                        (1)

    rulesHandlerSlClass = = rulesHandlerSl  (2)



PCRF Rules Handler section

Property Type Description

rulesHandlerSlClass

string

Specifies the PCRF rules handler service logic class name.

options
  • rulesHandlerSl = service logic for the Tango SPCM

  • rulesHandlerSl_csgi = service logic for CSGIntec SPR (via Sp adaptor).

default

rulesHandlerSl

useSpResource

boolean

Specifies whether the SP interface resource is used or not.

options
  • yes = use the SP interface

  • no = do not use the SP interface

default

yes

spResource

string

Specifies the Sp interface resource name.

default

SPCM

spClass

string

Specifies the Sp interface class name.

default

spcmMain

spResponseTimer

integer

Specifies the Sp response timer (in milliseconds).

range
  • minimum = 1000

  • maximum = 10000

default

3000

spUpdateDelayEnabled

boolean

Specifies whether the Sp update delay timer is enabled.

options
  • yes = timer is enabled

  • no = timer is disabled

default

yes

spUpdateDelayTimer

integer

The length of time (in milliseconds) between the first and second Sp notifications. If both are received before the timer expires, then the rules are generated based on the information in the second notification.

If the timer expires before the second notification is received, the saved parameters of the first notification are processed.
default

1000

terminateRulesTimer

integer

Specifies the terminate rules timer (in milliseconds).

range
  • minimum = 1000

  • maximum = 10000

default

3000

locationUpdateEnabled

boolean

A flag that specifies whether location tracking is enabled.

options
  • yes = enable location tracking

  • no == do not enable location tracking

default

yes

installationReportEnabled

boolean

A flag that specifies whether the rules installation report is enabled.

options
  • yes = enable the report

  • no == do not enable the report

default

no

installationReportTimer

integer

The rules installation report timer (milliseconds).

range
  • minimum = 1000

  • maximum = 10000

default

3000

revalidationEnabled

boolean

A flag that specifies whether rules revalidation is enabled.

options
  • yes = enable rule revalidation

  • no == do not enable rules revalidation

default

yes

revalidationInterval

integer

Specifies the rules revalidation interval (in seconds).

range
  • minimum = 60

  • maximum = 86400

default

1800

usageReportsEnabled

boolean

A flag that specifies whether enable usage reports are enabled.

options
  • yes = enabled

  • no == not enabled

default

yes

blockedUsageReportsEnabled

boolean

Specifies if usage reports are enabled for blocking rules.

options
  • yes = enabled for blocking

  • no == not enabled for blocking

default

yes

blockedUsageReportsTimer

integer

Specifies the timer in milliseconds.

When the timer expires a usage report for the blocking rules is requested.
default

5000

terminateSessionOnInvalidUsageKey

boolean

A flag that determines if the PCRF will terminate a session when it receives an InvalidUsageKey reportUsageResponse message from the SPCM.

options
  • yes = terminate

  • no == do not terminate

default

yes

useGlobalMonitoringKey

boolean

A flag that specifies whether the global usage monitoring key is enabled.

options
  • yes = enabled

  • no == not enabled

default

no

primaryOcsAddress

string

Specifies the address of the primary online charging system.

secondaryOcsAddress

string

Specifies the address of the secondary online charging system.

primaryOfcAddress

string

Specifies the address of the primary offline charging system.

secondayOfcsAddress

string

Specifies the address of the secondary offline charging system.

setBearerQos

boolean

A flag that specifies whether to set the bearer Qos with rules.

options
  • yes = set the bearer QoS

  • no == do not set the bearer QoS

default

yes

dbConfigFile

string

Specifies the PCRF database configuration file name.

default

/tango/config/PCRF_diam.cfg

oamConfigFile

string

Specifies the default PCRF O&M configuration file name.

default

/tango/config/PCRF_oam.cfg

defaulRulesConfigFile

string

Specifies the PCRF default rules handler configuration file name.

default

/tango/config/PCRF_defaultRules.cfg

usePredefinedRules

boolean

Flag that indicates if predefined rules are being used.

options
  • yes = allows the PCRF to map subscriber profile information to predefined rules instead of dyanmic rules

  • no == disabled

default

no

predefinedRulesConfigFile

string

Specifies the PCRF predefined rules configuration file name.

default

/tango/config/PCRF_predefinedRules.cfg

removePreinstalledRule

boolean

Specifies whether PCRF service logic should remove rules that are pre-installed on the PCEF.

options
  • yes = remove

  • no == do not remove

default

yes

maxDeactivationDelay

integer

Specifies the maximum delay in seconds in a rules deactivation time.

The actual delay is some random number of seconds between 0 and the selected parameter. This means all rules will not deactivate at the exact same time. This helps avoid a sudden surge of usage reports.
default

60

useRuleActivationTimes

boolean

A flag that defines whether rule activation times are enabled or disabled.

options
  • yes = enabled

  • no == disabled; REVALIDATION_TIMEOUT used instead

default

yes

rulePrecedenceReordering

boolean

A flag that specifies whether plans of equal precedence can be ordered such that serviceblocking and QoS-downgrade plans have lower priority than non-service-blocking and non-QoSdowngrade plans.

options
  • yes = enabled

  • no == disabled

default

yes

MinRevalidationJitter

integer

Specifies the minimum advance or delay in seconds on the PCC rules revalidation time.

The jittered time is some random number of seconds between the minimum and the maximum value configured for revalidation jitter.
Advance in the the case where activation times are enabled and a revalidation must be done before a rule hits its activation times. Delay in the case where activation times are disabled and revalidation timeout is used for time-based rules.
default

0

MaxRevalidationJitter

integer

Specifies the maximum advance or delay in seconds on the PCC rules revalidation time.

The jittered time is some random number of seconds between the minimum and the maximum value configured for revalidation jitter.
Advance in the the case where activation times are enabled and a revalidation must be done before a rule hits its activation times. Delay in the case where activation times are disabled and revalidation timeout is used for time-based rules.
default

60

messageDelayEnabled

boolean

Specifies if a delay should be inserted between sending two messages back to back from PCRF to PCEF.

options
  • yes = enabled

  • no == disabled

default

yes

messageDelayTimer

integer

Specifies the length of delay (in milliseconds) which should be inserted between sending two messages back to back from PCRF to PCEF.

default

100

discountChoice

string

Specifies which size discount should be used if a plan has a discount schedule (DS) discount, a plan metering discount and a DPS discount:

options
  • biggest = biggest discount is used

  • smallest = smallest discount is used

default

smallest

uemConfigFile

string

Specifies the file to load UEM configuration from.

Configuration of the UEM profile information must be manually synchronised between the PMI and the Rules Handler.
default

/tango/config/PCRF_uem.cfg

timeMeterConfigFile

string

Specifies the file containing the configuration related to time metering.

default

/tango/config/PCRF_timeMeter.cfg

meteringPercentageEnabled

boolean

Specifies if use of PCC profile metering rates is enabled.

options
  • yes = enabled

  • no == disabled

default

no

ensuredQosEnabled

boolean

Specifies if the ensured QoS feature of the PCRF is enabled.

options
  • yes = enabled

  • no == disabled

default

no

msTimeZoneEnabled

boolean

A boolean flag that specifies whether time zone tracking is enabled.

options
  • yes = enabled

  • no == disabled

default

no

usageReportExpiryGracePeriodRecurring

integer

An integer value specifying the grace period, in seconds, after the expiry of a recurring plan during which the PCRF will continue submitting usageReports to the SPCM.

range
  • minimum = 0

  • maximum == 2592000 - 30 days

default

3600 - 1 hour

usageReportExpiryGracePeriodNonRecurring

integer

An integer value specifying the grace period, in seconds, after the expiry of a non-recurring plan during which the PCRF will continue submitting usageReports to the SPCM.

range
  • minimum = 0

  • maximum == 2592000 - 30 days

default

3600 - 1 hour

tenantConfigFile

string

Denotes the location of the Tenant Configuration file where tenant information is configured.

default

/config/PCC_tenant.cfg

substitutePlmnIdFromULI

boolean

A boolean flag that specifies if the plmnId is substituted with the mccMnc which is extracted from user location information.

options
  • yes = substitute plmnId with mccMnc

  • no == do not substitute plmnId with mccMnc

If User-Location-Information is not present, it attempts to use the RAI AVP if it is present.
default

no

substituteRuleNameForThrottling

boolean

A boolean flag that indicates if the serviceProfile (used at the time the rule was generated) should be used instead of the installed rules the PCRF typically supplies to the SPCM.

options
  • true = enabled

  • false == disabled

The CDRs will reflect the serviceProfile if true.
default

false

ignoreExcessPlans

boolean

A boolean flag that decides whether to ignore or recognise more than 16 plans from the SPCM. If enabled, the 17th plan and on will be ignored. This is optional and reloadable.

options
  • true = enabled (ignores plans after 16)

  • false == disabled (recognises all plans)

default

no

ignoreExcessAddons

boolean

A boolean flag that decides whether to ignore or recognise more than 16 add-on plans (addOnProfileInfo parameter) from the SPCM. If enabled, everything after the 16th add-on will be ignored. This is optional and reloadable.

options
  • true = enabled (ignores add-ons after 16)

  • false == disabled (recognises all add-ons)

default

no

qosChangeEnabled

boolean

A boolean flag that enables QoS change reporting.

options
  • yes = The QoS_CHANGE event trigger is specified in the list of event triggers sent to the PCEF.

  • no == The QoS_CHANGE event trigger is not specified in the list of event triggers sent to the PCEF.

default

no

AEHC Config File

string

Specifies the file to load AEHC configuration from.

default

/tango/config/AEHC.cfg

stripAndReplaceConfigFile

string

Points to the strip and replace configuration file.

options
  • yes = enabled

  • no = disabled

Within the strip and replace configuration file, you have a boolean flag which enables or disables the strip and replace rule as well as the rules themselves incremented from 0.
default

no



Diameter section

Property Type Description

diamConfigFile

string

Specifies the default PCRF Diameter configuration file name.

default

/tango/config/PCRF_diam.cfg

gateKeeperConfig

string

Specifies the configuration file for the diameter gatekeeper state machine.

default

/tango/config/PCRF_gateKeeper.cfg

rulesHandlerBusyPollingEnabled

boolean

Specifies if the Diameter state manager queries and outputs the number of busy rulesHandlerSl instances while in OFFLINE mode and while shutting down instances.

options
  • yes = Diameter state manager performs the query

  • no = Diameter state manager does not perform the query

default

yes

It is recommended to set this item to yes. Configuration changes to the [diameter] section of this file only take effect after a process restart.



Cancel profile section

Property Type Description

sendOnProfileFailure

boolean

A flag that specifies if the rules handler sends an SP Cancel command to the SPCM in cases where an SP Profile Failure occurs for the initial profile request. This will clear the session data in the SPCM for the subscriber and stop the sending of notifications.

options
  • yes = send cancelProfile to SPCM

  • no = do not send cancelProfile to SPCM

default

yes

sendOnProfileTimeout

boolean

A flag that specifies if the rules handler sends an SP Cancel command to the SPCM in cases where an SP Profile Timeout occurs for the initial profile request. This will clear the session data in the SPCM for the subscriber and stop the sending of notifications.

options
  • yes = send cancelProfile to SPCM

  • no = do not send cancelProfile to SPCM

default

no



Resource section

Property Type Description

provide

boolean

Provide a resource or not.

default

yes

name

string

The resource name.

default

PCRF



Dynamic Pricing Service(DPS) section

Property Type Description

enabled

boolean

Specifies if DPS is enabled on the PCRF.

options
  • yes = enabled

  • no = disabled

If this is set to yes, then a request will be made to the DPS for a discount if the subscriber is DPS enabled or has a DPS enabled plan. If set to no, no request will be made to the DPS regardless of whether or not the subscriber is DPS enabled or has a DPS enabled plan.
default

no

resourcePolicy

string

The name of the resource policy for the DPS.

Ensure this is defined in the PCRF_resPolicy.cfg file.
default

DPS

responseTimer

integer

The time to wait (in milliseconds) for a response from the DPS.

range
  • minimum = 500

  • maximum = 10000

default

3000

notifications enabled

boolean

A boolean flag which specifies whether subscribers receive discount notifications.

options
  • true = notifications enabled

  • false = notifications disabled

default

true

notification of zero discount

boolean

A boolean flag that specifies whether DPS notifications are sent to a subscriber when their discount rate is zero.

options
  • true = notifications are sent even when discount rate is zero

  • false = notifications are not sent when discount rate is zero

default

true

notification of no dps

boolean

A boolean flag that specifies whether DPS notifications are sent to a subscribers in cases where no discount is available.

options
  • true = notifications are sent even when no discount is available

  • false = notifications are not sent when no discount is available

default

true

discount text

integer

The text notification sent to a subscriber eligible for a discount.

This information is retrieved from the corresponding index in the PCRF_messageContexts.cfg file.
range
  • minimum = 0

  • maximum = 127

default

0

no dps text

integer

The text notification sent to a subscriber who is not eligible for a discount.

This information is retrieved from the corresponding index in the PCRF_messageContexts.cfg file.
range
  • minimum = 0

  • maximum = 127

default

0

update applied discount

boolean

A boolean flag which specifies whether an updated discount can be applied while a session is in progress.

options
  • true = updated discounts can be applied in the middle of a session

  • false = updated discounts cannot be applied in the middle of a session

default

true

notification at end of discount

boolean

A boolean flag to enable/disable the sending of the new end-of-discount notifications.

options
  • true = enabled

  • false = disabled

default

false

end of discount text

integer

An integer, X, which indicates the [messageContextX] section in the PCRF_messageContexts.cfg file defining the format of the end-of-discount notification message.

range
  • minimum = 0

  • maximum = 127

default

0



User Notification Service section

Property Type Description

enabled

boolean

A flag indicating whether UNS notifications are enabled or not. This setting is reloadable.

options
  • yes = enabled

  • no = disabled

default

yes

unsResourcePolicy

string

The policy used to select the UNS resource to which we will forward the notifications. This setting is reloadable.

default

UNS_MEDIATOR_POLICY

unsResponseTimer

integer

The time (in milliseconds) we wait for a response from the UNS resource. This setting is reloadable.

range
  • minimum = 1000

  • maximum = 10000

default

5000

messages from

string

Messages appear to be from this string.

default

Tango



Pay as you go section

Property Type Description

notifications enabled

boolean

A flag that specifies whether pay-as-you-go notifications are turned on or off.

options
  • yes = enabled

  • no = disabled

default

no

message map

string

The name of the IMAP which will map service profile keys to message context indexes

default

[defaultPaygMessageMap]

send default message

boolean

Indicates if the default payg message should be sent or not.

default

no



Default payg Message Map section

Property Description

defaultMapping

A standard IMAP configuration which maps service profile keys to a message context index in the PCRF_messageContexts.cfg file.

mappedItemCount

An entry should be added to the IMAP for each service profile key in the PPU plans.

For example, if the PPU plans has 2 PCC profiles for low and high PPU rates, the service profile key for each of these should be added to the IMAP and the appropriate index to the [messageContextX] sections in the PCRF_messageContexts.cfg file.


Discount schedule section

Property Type Description

enabled

boolean

A flag that specifies whether the discount schedule is turned on or off.

options
  • yes = enabled (on)

  • no = disabled (off)

default

no

resourcePolicy

string

The name of the resource policy for the DS.

Ensure this is defined in the PCRF_resPolicy.cfg file.
default

DS

responseTimer

integer

Specifies the length of time (in milliseconds) to wait for a response from the DS process.

range
  • minimum = 500

  • maximum = 10000

default

3000



USSD section

Property Type Description

enabled

boolean

Boolean flag indicating whether the USSD requests are enabled. The setting is reloadable.

options
  • yes = enabled

  • no = disabled

default

no

useBuiltInMediator

boolean

Boolean flag indicating whether the PCRF built-in mediator state machine is used to manage the USSD requests The setting is reloadable.

options
  • yes = enabled

  • no = disabled

default

no

resourcePolicy

string

The policy used to select the USSD resource to which requests are forwarded. The setting is reloadable.

default

USSD_POLICY

responseTimer

integer

The time limit (milliseconds) for the USSD resource to respond to the request. The setting is reloadable.

range
  • minimum = 500

  • maximum = 60000

default

5000

serviceCode

integer

String representing the USSD service code to use in the USSD requests. The setting is reloadable.

default

8484

ussdConfigFile

string

The absolute path of an optional file defining the USSD codec configuration parameters. The setting is reloadable.

default

PCC_ussd.cfg

useHRGInterface

boolean

Boolean flag indicating if the request to the USSD should be sent via the HRG.

options
  • yes = send via HRG

  • no = do not send via HRG

default

no

hrgContext

string

Specifies which request handler to be used on the HRG.

default

ussdAutoProvision

resubmitProfileInfoRequest

boolean

Boolean that controls whether the PCRF can resubmit the getInitialProfileInfo message when it suspects that the SPCM has prevented the notifyProfileUpdate message from being generated.

options
  • yes = PCRF can resubmit request

  • no = PCRF cannot resubmit request

default

no



Radius optimiser section

Denoted by [optimiser].

Property Type Description

enabled

boolean

Boolean that denotes whether the optimiser is enabled or not.

default

no

resourcePolicy

string

A string that details the name of the optimiser resource policy.

default

OPTIMISER_RESOURCE_POLICY

responseTimer

integer

The default response time in milliseconds

default

5000

optimiserMap

string

Specifies the name of the SMAP section in this configuration file where the ServiceProfileNames used for optimisation are defined.

default

optimiserMap



Usage reporting section

Property Type Description

errorToActionMap

string

Identifies the IMAP table for error codes.

default

defaultUrErrorToActionMap



Default Ur Error to Action Map section

Property Type Description

defaultMapping

string

Standard IMAP configuration where each item adheres to the format:

<usage report error>, <action>

Where <usage report error> is one of the following:

  • -1 - NotHandled

  • 0 - Normal

  • 1 - Failure

  • 2 - SubscriberProfileServiceTimeout

  • 3 - SpAdaptorSprConnectionPoolTimeout

  • 4 - InvalidUsageKey

  • 5 - InvalidPlanState

  • 100 - ResponseTimeout

  • 101 - UnknownMonitorKey

  • 102 - UsageReportSuspended

  • 103 - InvalidMonitorState

  • 104 - ZeroBytes

And <action> is one of the following:

  • 0 - Ignore

  • 1 - RemoveRule

  • 2 - TerminateSession


default

2

mappedItemCount

integer

The number of mapped items.

item<x>

string

Each mapped item (from 0) with usage report error and action denoted.