Feature Description
Overview
This feature is implemented to support Overload Control on Diameter interfaces such as Gx, S6b and SWm and also to prevent network overload and outages. Whenever there is an overload condition at the Diameter Servers or DRA and request times out, the clients (ePDG/P-GW) are typically unaware of the overload condition and attempt to send the message on an alternate connection with the Diameter server causing some more traffic in the network. In order to handle this overload condition effectively, a new vendor-specific Diameter Experimental Result-Code 5198 (DIAMETER_OVERLOAD_RETRY_NOT_ALLOWED_TO_ANY) is defined.
When the overloaded PCRF/DRA receives a message, it includes the result-code 5198 in the response message. On receiving the experimental result-code, call is terminated based on the failure-handling configuration. If failure-handling is configured as local-policy, then the call is continued with local-policy without retrying the secondary server.
In Releases prior to 19, no indication was available to P-GW and ePDG when the Diameter Server or the DRA is overloaded. When a message sent to the primary link on Diameter is dropped or unanswered, P-GW/ePDG tried the same message on the secondary peer and resulted in the overloading of Diameter Server.
In 19 and later releases, the following changes are implemented to support Overload Control on Gx interface:
- A new vendor-specific Diameter Experimental Result-Code 5198 (DIAMETER_OVERLOAD_RETRY_NOT_ALLOWED_TO_ANY) is added to indicate the overload state of PCRF.
- When the failure handling template is not configured and if the Experimental Result-Code (5198) is received in CCR-U, then the current call is terminated.
- If the Assume Positive feature is configured, the call is continued without retrying the secondary server.
- The default action for Experimental Result-Code error (5198) is retry and terminate. Retry and terminate will be the failure handing action irrespective of the configured value.
- New statistics are added to the output of show ims-authorization policy-control statistics command to display the number of times the Experimental Result-Code 5198 has been received. Separate statistics are also introduced to display the message level information.
To support Overload Control on S6b and SWm interfaces, the following changes are implemented:
- A new vendor-specific Diameter Experimental Result-Code 5198 (DIAMETER_OVERLOAD_RETRY_NOT_ALLOWED_TO_ANY) is added to indicate the overload state of Diameter agent.
- Failure handling template is introduced for S6b and SWm interfaces, and associated to AAA group authentication.
- The default action for Experimental Result-Code (5198) is retry and terminate. For Diabase error, the failure-handling action will be retry and terminate irrespective of the configured value.
- When the Experimental Result-Code (5198) is received and the failure-handling command is configured as continue , then call is continued without retrying the secondary server. The continue action is applicable only to aaa-custom15 dictionary.
- When the Result-Code (5198) is received in DEA/AAA request, the call is terminated without the Session Terminate Request (STR) for S6b and SWm interfaces.
- New statistics are added to the output of show diameter aaa-statistics to indicate the number of times the specific failure handling actions are applied through the failure-handling template.
- When GGSN/P-GW receives the experimental result code 5198, the GTP cause code is mapped to NO_RESOURCES_AVAILABLE.
Relationships to Other Features
Diameter Overload Control feature interworks with Assume Positive feature. The failure handling action depends on the configuration of Assume Positive feature and Diameter Overload Control feature. If the Assume Positive feature is configured and Diameter Overload Control feature is enabled, the call is continued without retrying the secondary PCRF server.
Limitations
The following are the limitations of this feature:
- It is assumed that the Diameter Agent (DRA or MRA on PCRF) should be able to identify that the servers within its own segment and in alternate segments are overloaded as well.
- If the failure handling template is present, then the configuration to terminate the call on receiving the Experimental-Result-Code (5198) should be enabled. If the configuration is to retry and terminate, then the message is retried to the secondary server.
- CLI command to not send terminate message should be configured under the failure handling template.
- For S6b/SWm, for diabase error, the failure-handling action will be retry and terminate irrespective of the configured value.
- For terminate wo-term-req will work only when Experimental-Result-Code (5198) is received. For rest, it will be treated as terminate.