This document describes how to handle the default local policy in the Cisco Aggregation Services Router (ASR) 5500 chassis, in the event of PCRF (Policy Control and Rule Function) failure, when the local default policy is not configured.
The ASR PGW (Packet Data Gateway) failed to handle the default policy for subscribers when PCRF was down. In the PCRF upgrade phase, issues were observed on the PCRF. However, the ASR PGW failed to handle the default policy for subscribers which caused many sessions to be dropped.
Wireshark traces indicate that all CCA-I (Credit Control Answer Initial) packets are sent from PCRF with the Diameter Result-Code "DIAMETER_UNKNOWN_SESSION_ID (5002)" during the incident.
The 5002 result code is a permanent failure (see RFC 3588). Per RFC 3588, section 7.1.5. Permanent Failures, "Errors that fall within the permanent failures category, are used to inform the peer that the request failed, and should not be attempted again."
DIAMETER_UNKNOWN_SESSION_ID 5002 The request contained an unknown Session-Id. When there is not a matching FH configuration in the template for permanent failure - 5xxx result code, the session gets terminated. Thus with the current FH template, the ASR handles the scenario (CCA-I) with Diameter Result-Code "DIAMETER_UNKNOWN_SESSION_ID (5002)" from PCRF as expected.
With the current FH template, the ASR handles the scenario (CCA-I) with Diameter Result-Code "DIAMETER_UNKNOWN_SESSION_ID (5002)" from PCRF as expected. You can decide how you want the ASR to handle this scenario (that is, when it receives CCA-I with the "DIAMETER_UNKNOWN_SESSION_ID (5002)" code from the PCRF) and you can change the FH template if necessary. You can make changes on the PCRF side in order to resolve the issue without the need to change (and thus keep the current design) the FH template on the PGW side.
The 5xxx codes are permanent failure codes. However, if you want to perform FH for such 5xxx error codes after receipt from the PCRF, the configuration could be added for expected 5xxx result codes to fallback, as in this example: