How It
Works
The Execution-Time
AVP is an optional AVP in the Override-Control grouped AVP, sent in RAR/CCA
message by the PCRF. It is valid for Rule-level, Charging-action level, and
Wildcard-level OC.
Whenever
Override-Control AVP is sent in RAR/CCA message from PCRF, and:
-
it does not
contain the Execution-Time AVP, then the existing OC application procedure is
adopted for backward compatibility. In other words, the OC parameter is applied
immediately by the PCEF.
-
it contains
Execution-Time AVP which is in the “Past”, then it is treated as if no
Execution-Time AVP was sent and the OC parameter is applied immediately by the
PCEF.
-
it contains
Execution-Time AVP which is in “Future”, then the PCEF marks the OC as
“Pending” and installs the OC when the Execution-Time is reached.
Session Recovery and ICSR
The Pending OCs are
recovered on intra/inter chassis session recovery. The PCEF checkpoints
Execution-Time using the existing framework that is used for check-pointing of
other OC parameters. When the Session Manager restarts or ICSR switchover
occurs, timer is started for each of the recovered OC with Execution-Time AVP.
The value of this new timer is equal to the time left for the OC to be
activated or applied on the call.
If the timer expires
during the recovery, then the OC is applied immediately after the recovery.
During downgrade
from N to N-1 build, the pending OCs on currently active N chassis are not
check-pointed to the standby N-1 chassis.
Flushing the Pending OCs
The PCEF decides
whether to flush or retain already pending OCs for a subscriber, based on the
presence or absence of the Override-Control-Pending-Queue-Action AVP.
On receiving a new
OC (with or without Execution-Time AVP) in a new RAR/CCA message, the PCEF
flushes all the previous pending OCs for that subscriber. The PCEF either
buffers or applies the newly received OC, based on the presence or absence of
the Execution-Time AVP respectively. This behavior is the default behavior.
When the requirement
is that the Pending OCs should not be flushed, the new AVP,
Override-Control-Pending-Queue-Action, is sent within at least one of the
Override-Control AVPs in the RAR/CCA message, as shown in the following figure.
Adding OC in the Pending
Queue
The PCEF processes
all the instances of Override-Control grouped AVPs received from PCRF in
RAR/CCA message. If an Override-Control AVP has an Execution-Time AVP with
“Future” time stamp, the PCEF marks it “Pending” for that subscriber. If an OC
is received with Execution-Time AVP and there is already an OC pending with
same OC identifier, then the newly received OC is merged with the pending OC.
The Execution-Time of the merged OC is that of the newly received OC.
The Override-Control
grouped AVP received without the Execution-Time AVP, or with Execution-Time
already in “Past”, is not added in the list; in other words, it is applied
immediately.
The following figure
describes the adding of OC in Pending Queue.
Installing the Pending OC
The PCEF also stores
the Execution-Time of all such Pending OCs so that, when the Execution-Time of
an OC is reached, the OC is applied to the subscriber as described in the
following figure.