Support for Execution-Time AVP in Override-Control AVP

Feature Summary and Revision History

Summary Data

Applicable Product(s) or Functional Area

  • ECS

  • P-GW

Applicable Platform(s)

ASR 5500

Feature Default

Disabled - Configuration Required

Related Changes in This Release

Not Applicable

Related Documentation

ECS Administration Guide

Revision History


Important

Revision history details are not provided for features introduced before releases 21.2 and N5.5.


Revision Details

Release

In this release, support is added for Execution-Time AVP in Override-Control AVP to allow the overridden parameters to be specified for a rule (static or predefined), for one or all charging actions (using a wildcard), with the ability to exclude certain rules.

21.3

First introduced.

Pre 21.2

Feature Description

The Override Control (OC) feature, introduced in an earlier release, allowed you to dynamically modify the parameters of static or predefined rules with parameters sent by the PCRF over the Gx interface. Any OC parameters received in RAR/CCA messages was applied immediately by the PCEF. There was no way to enforce the installation of OC at a specified time in future.

The implementation of this feature allows the overridden parameters to be specified for a rule (static or predefined), for one or all charging actions (using a wildcard), with the ability to exclude certain rules. These overrides are sent by the PCRF using the AVP construct in a CCA or RAR message.

As part of this feature, the P-GW supports the following two new AVPs within the proprietary Override-Control grouped AVP:
  • Execution-Time (AVP code 132025): This AVP is of type Time. It indicates the Unix Epoch at which the provided Override-Control instance takes effect.

  • Override-Control-Pending-Queue-Action (AVP code 132078): This AVP of type ENUM with allowed values FLUSH (0) and RETAIN (1). It indicates the action the gateway takes on the Pending-OC-Queue.

Both the AVPs are included in the Override-Charging-Action-Parameters grouped AVP.

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:
  1. 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.

  2. 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.

  3. 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.

Limitations

Following are the known limitations and restrictions of this feature:
  • The Execution-Time AVP is supported only for OC without name.

  • The maximum time for which an OC can be buffered is 44 days.

  • There is no hard limit on number of OCs that can be buffered for a subscriber. However, the decision to buffer an OC depends on the availability of the system resources.

  • The OCs with same identifier and different future Execution-Time is merged in the order in which PCEF processes them, and may not be same as the order of occurrence in RAR/CCA. The resultant OC has the Execution-Time of the OC which gets processed at the end.

Monitoring and Troubleshooting

This section provides information regarding commands available to monitor and troubleshoot the feature.

Show Commands and/or Outputs

This section provides information regarding show commands and their outputs in support of the feature.

show active-charging subscribers callid <call_id> override-control pending

This new show command has been introduced to check the pending OCs at subscriber-level. Following is a sample output:
show active-charging subscribers callid 00004e21 override-control pending 
CALLID: 00004e21
Override Control : 
  Rule Name : 
                      qci2
  Charging Parameters:
    Rating Group     : 100
    Offline Enabled  : TRUE
  Execution-Time     : <Day Month DD HH:MM:SS GMT YYYY>
Override Control : 
  Rule Name : 
                      qci1
  Charging Parameters:
    Rating Group     : 100
    Offline Enabled  : TRUE
  Policy Parameters:
    QCI              : 4
    ARP Byte         : 81
    MBR UL           : 25000
    MBR DL           : 13000
    TOS UL           : af23 (22)
    TOS DL           : af23 (22)
    NEXTHOP ADDR     : 10.20.10.10
    CF State       : 0
  Execution-Time     : <Day Month DD HH:MM:SS GMT YYYY>

show active-charging sessions full all

The output of this CLI command has been modified to show information related to pending OCs at subscriber-level. Following is a partial sample output:
show active-charging sessions full all
.
.
.
Override Control:
    Installs Received:              2
    Installs Succeeded:             1  Installs Failed:             0
    Install Pending:
      Total  :                      2
      Merged :                      0
      Flushed:                      0
      Failed :                      0
    Disables Received:              0
    Disables Succeeded:             0  Disables Failed:             0
 
No Charging ruledef(s) match the specified criteria
No Firewall ruledef(s) match the specified criteria
 
  Post-processing Rulestats : No Post-processing ruledef(s) match the specified criteria
Dynamic Charging Rule Name Statistics: n/a
Total Dynamic Rules:             0
Total L7 Dynamic Rules:          0
Total Predefined Rules:          0
Total ADC Rules:                 0
Total Firewall Predefined Rules: 0
Total Override Control:          0
Total Override Control Pending:  3

show active-charging rulebase statistics name <rulebase_name>

The output of this CLI command has been modified to show information related to pending OCs at rulebase-level. Following is a partial sample output:
show active-charging rulebase statistics name cisco

    Override Control Statistics:
       Total number of Installs Received:                 6
       Total number of Installs Succeeded:                1
       Total number of Installs Failed:                   1
       Install Pending:
         Total:                                           4
         Merged:                                          1
         Flushed:                                         1
         Failed:                                          1
       Total number of Disables Received:                 0
       Total number of Disables Succeeded:                0
       Total number of Disables Failed:                   0
       Total number of Subscribers:                       1