> Congestion Control
> This chapter describes the Congestion Control feature.
> The following topics are covered in this chapter:

> • | Overview

> • | Configuring Congestion Control

> Overview
> This section provides an overview of the Congestion Control feature.
> Congestion Control monitors the system for conditions that could potentially degrade performance when the system is under heavy load. Typically, these conditions are temporary (for example, high CPU or memory utilization) and are quickly resolved. However, continuous or large numbers of these conditions within a specific time interval may have an impact the system’s ability to service subscriber sessions. Congestion control helps identify such conditions and invokes policies for addressing the situation.
> Congestion control operation is based on configuring the following:

> • | Congestion Condition Thresholds: Thresholds dictate the conditions for which congestion control is enabled and establishes limits for defining the state of the system (congested or clear). These thresholds function in a way similar to operation thresholds that are configured for the system as described in the Thresholding Configuration Guide. The primary difference is that when congestion thresholds are reached, a service congestion policy and an SNMP trap, starCongestion, are generated.

> A threshold tolerance dictates the percentage under the configured threshold that must be reached in order for the condition to be cleared. An SNMP trap, starCongestionClear, is then triggered.

> • | Port Utilization Thresholds: If you set a port utilization threshold, when the average utilization of all ports in the system reaches the specified threshold, congestion control is enabled.

> • | Port-specific Thresholds: If you set port-specific thresholds, when any individual port-specific threshold is reached, congestion control is enabled system-wide.

> • | Service Congestion Policies: Congestion policies are configurable for each service. These policies dictate how services respond when the system detects that a congestion condition threshold has been crossed.

> Important: This section provides the minimum instruction set for configuring congestion control. Commands that configure additional interface or port properties are provided in the Subscriber Configuration Mode chapters of the Command Line Interface Reference.
> Configuring Congestion Control
> To configure Congestion Control functionality:

> Step 1 | Configure Congestion Control Threshold as described in the Configuring the Congestion Control Threshold section.

> Step 2 | Configure Service Congestion Policies as described in the Configuring Service Congestion Policies section.

> Step 3 | Enable Congestion Control Redirect Overload Policy as described in the Enabling Congestion Control Redirect Overload Policy section.

> Step 4 | Configure disconnecting subscribers based on call or inactivity time as described in the Disconnecting Subscribers Based on Call or Inactivity Time section.

> Step 5 | Save your configuration as described in the Saving and Verifying Your Configuration chapter.

> Configuring the Congestion Control Threshold
> To configure congestion control threshold, apply the following example configuration:
> configure
> congestion-control threshold max-sessions-per-service-utilization <percent>
> congestion-control threshold tolerance <percent>
> end
> Notes:

> • | There are several additional threshold parameters. See the “Global Configuration Mode” chapter of the Command Line Interface Reference for more information.

> • | The tolerance is the percentage under a configured threshold that dictates the point at which the condition is cleared.

> • | Repeat this configuration as needed for additional thresholds.

> Configuring Service Congestion Policies
> To create a congestion control policy, apply the following example configuration:
> configure
> congestion-control policy <service> action { drop | none | redirect | reject }
> end
> Notes:

> • | When the redirect action occurs for PDSN services, the PDSN responds to the PCF with a reply code of 136, “unknown PDSN address” along with the IP address of an alternate PDSN.

> • | redirect is not available for PDIF.

> • | The default action for PDIF is “none.”

> • | When the redirect action occurs for HA services, the system responds to the FA with a reply code of 136, “unknown home agent address”.

> • | redirect can not be used in conjunction with GGSN services.

> • | redirect is not available for the LMA service.

> • | When setting the action to reject, the reply code is 130, “insufficient resources”.

> • | For the GGSN, the reply code is 199, “no resources available”.

> • | For the MME, redirect is not available.

> Configuring Overload Reporting on the MME
> When an overload condition is detected on an MME and the report-overload keyword is enabled in the congestion-control policy command, the MME reports the condition to a specified percentage of eNodeBs and proceeds to take the configured action on incoming sessions. To create a congestion control policy with overload reporting, apply the following example configuration:
> configure
> congestion-control policy mme-service action report-overload reject-new-sessions enodeb-percentage <percentage>
> end
> Notes:

> • | Other overload actions include permit-emergency-sessions and reject-non-emergency-sessions.

> Enabling Congestion Control Redirect Overload Policy
> To create a congestion control policy and configure a redirect overload policy for the service, apply the following example configuration:
> Important: Redirect is not available on PDIF for this release.
> configure
> congestion-control
> context <context_name>
> {service_configuration_mode}
> policy overload redirect address
> end
> Notes:

> • | Optional: If the congestion control policy action was configured to redirect, then a redirect overload policy must be configured for the service(s) that are affected.

> • | There are several service configuration modes that you can configure. See the Command Line Interface Reference for a complete list of modes.

> • | You can set various options for redirection. See the Command Line Interface Reference for more information.

> • | Repeat this configuration example to configure overload policies for additional services configured in the same context.

> Verify the Service Overload Policies
> To verify that the service overload policies were properly configured, in the Exec Mode, enter the following command:
> show <service_type> name service_name
> This command lists the entire service configuration. Ensure that the information displayed for the “Overload Policy” is accurate.
> Repeat this configuration example to configure additional services in other contexts.
> Verify the Congestion Control Configuration
> To verify Congestion Control Configuration, in the Exec Mode, enter the following command:
> show congestion-control configuration
> The following output is a concise listing of all threshold and policy configurations:
> Congestion-control: enabled
> Congestion-control threshold parameters
> system cpu utilization: 80%
> service control cpu utilization: 80%
> system memory utilization: 80%
> message queue utilization: 80%
> message queue wait time: 10 seconds
> port rx utilization: 80%
> port tx utilization: 80%
> license utilization: 100%
> max-session-per-service utilization: 100%
> tolerence limit: 10%
> Congestion-control Policy
> pdsn-service: none
> hsgw-service: none
> ha-service: none
> lma-service: none
> ggsn-service: none
> lns-service: none
> cscf-service: reject
> pdif-service: none
> fng-service: none
> sgsn-service: none
> mme-service: drop
> asngw-service: none
> asnpc-service: none
> phsgw-service: none
> phspc-service: none
> mipv6ha-service: none
> sgw-service: none
> pgw-service: none
> Disconnecting Subscribers Based on Call or Inactivity Time
> During periods of heavy system load, it may be necessary to disconnect subscribers in order to maintain an acceptable level of system performance. You can establish thresholds to select subscribers to disconnect based on the length of time that a call has been connected or inactive.
> To enable overload disconnect for the currently selected subscriber, use the following configuration example:
> configure
> context <context_name>
> subscriber name <subscriber_name>
> default overload-disconnect threshold inactivity-time <dur_thresh>
> default overload-disconnect threshhold connect-time <dur_thresh>
> end
> To disable the overload disconnect feature for this subscriber, use the following configuration example:
> configure
> context <context_name>
> subscriber <subscriber_name>
> no overload-disconnect {[ threshold inactivity-time] | [ threshhold connect-time]}
> end
> Notes:

> • | overload-disconnect is not supported for the CSCF service.

Cisco Systems Inc.
Tel: 408-526-4000
Fax: 408-527-0883