Enhanced Congestion Control and Overload Control

Feature Description

The MME provides an enhanced congestion control and overload control feature set.

This feature builds on the base congestion control functionality provided on the MME. Refer to the Congestion Control and Overload Control sections in the MME Overview chapter for more information about the basic functionality.

To use this feature, you need a valid license key (MME Resiliency) installed. Contact your Cisco Account or Support representative for information on how to obtain a license.

Enhanced Congestion Control and Overload Control

To allow greater control during overload conditions, the MME supports the configuration of three separate levels (critical, major, minor) of congestion thresholds for the following system resources:
  • System CPU usage
  • System service CPU usage (Demux-Card CPU usage)
  • System Memory usage
  • License usage
  • Maximum Session per service
The MME can, in turn, be configured to take specific actions when any of these thresholds are crossed, such as:
  • Drop or reject the following S1-AP/NAS messages: S1 Setup, Handover events, TAU request, Service request, PS-Attach request, Combined-attach request, Additional PDN request, or UE initiated bearer resource allocation.
  • Allow voice or emergency calls/events.
  • Initiate S1AP overload start to a percentage of eNodeBs with options to signal any of the following in the Overload Response IE:
    • reject non-emergency sessions
    • reject new sessions
    • permit emergency sessions
    • permit high-priority sessions and mobile-terminated services
    • reject delay-tolerant access.

Relationships to Other Features

This license-enabled feature builds on the base congestion control functionality provided on the MME.

Refer to the Congestion Control and Overload Control sections in the MME Overview chapter for more information about the basic functionality.

Additional information is also provided in the Congestion Control chapter in the System Administration Guide.

Limitations

The base congestion control functionality also can monitor congestion of the following resources:
  • Port-specific RX and TX utilization
  • Port RX and TX utilization
  • Message queue utilization
  • Message queue wait time

The license-enabled Enhanced Congestion Control funtionality on the MME does not support the monitoring of these resources using three different threshold levels (critical, major and minor). Only a single threshold level (critical) can be monitored for these resources.

Configuring Enhanced Congestion Control

This feature requires that a valid license key be installed. Contact your Cisco Account or Support representative for information on how to obtain a license.

Configuring Enhanced Congestion Control

This section includes configuration procedures for the following:

  • Configuring Thresholds and Tolerances
  • License Utilization Thresholds
  • Maximum Session Per Service Thresholds
  • Service Control CPU Thresholds
  • System CPU Thresholds
  • System Memory Thresholds
  • Configuring a Congestion Action Profile
  • Associating a Congestion Action Profile with Congestion Control Policies
  • Configuring Overload Control
  • Configuring Congestion SNMP Traps

Configuring Thresholds and Tolerances

Congestion threshold values must be defined to establish when a congestion condition is reached. Congestion threshold tolerances must also be configured to establish when a congestion condition is cleared. Individual thresholds values and tolerances can be defined for critical , major and minor thresholds.

The default tolerance window for critical thresholds is 10. The default for major and minor thresholds is 0.

If the tolerance is configured greater than threshold, then the tolerance will be treated as zero.

When configuring thresholds and tolerances for critical, major and minor congestion levels, the threshold levels and tolerances should never overlap. Consider the following example configuration, where the following threshold levels do not overlap:
  • Critical congestion will trigger at 80 and will clear at 70
  • Major congestion will trigger at 70 and will clear at 60
  • Minor congestion will trigger at 60 and will clear at 50.

configure
   congestion-control threshold tolerance critical 10
   congestion-control threshold max-sessions-per-service-utilization major 70
   congestion-control threshold tolerance major 10
   congestion-control threshold max-sessions-per-service-utilization minor 60
   congestion-control threshold tolerance minor 10
   congestion-control threshold max-sessions-per-service-utilization critical 80
   end

For information about all of the congestion control commands available, refer to the Global Configuration Mode Commands chapter of the ASR 5x00 Command Line Interface Reference .

License Utilization Thresholds

The license-utilization threshold is calculated based on the configured license values for the chassis.

In this example configuration, the minor threshold will be triggered at 4000 calls, major threshold will be triggered at 6000 calls, and critical threshold will be triggered at 8000 calls.

congestion-control threshold license-utilization critical 80
congestion-control threshold license-utilization major 60
congestion-control threshold license-utilization minor 40
Maximum Session Per Service Thresholds

This threshold is configured across all MME services.

config
   congestion-control threshold max-sessions-per-service-utilization critical 80

When there are multiple MME services configured with different max-subscribers parameters, chassis congestion will be calculated using the minimum of max-subscribers configured in each of the different MME services.

However, congestion actions will be applied to each individual service based on its corresponding max-session-per-service parameters.

For example:

configure
   context ingress
      mme-service mmesvc1
         bind s1-mme ipv4-address 10.10.10.2 max-subscribers 10000
         exit
      exit
      mme-service mmesvc2
         bind s1-mme ipv4-address 10.10.10.3 max-subscribers 1000
         exit
      exit
      mme-service mmesvc3
         bind s1-mme ipv4-address 192.80.80.3 max-subscribers 20000
         end

In the above example, chassis level critical congestion will get triggered when the number of subscribers in mmesvc2 is at 800. Corresponding SNMP traps will be generated. However, congestion policies will not be applied for mmesvc1 and mmesvc3. When the number of subscribers in mmesvc1 and mmesvc3 reaches 8000 and 16000 respectively, then congestion policies will be applied for mmesvc1 and mmesvc3.

Chassis congestion will be cleared only when the congestion is cleared in all MME services.

Similarly, when minor, major and critical threshold are configured for max-session-per-service for many MME services, the maximum value of the threshold will be considered for chassis level congestion.

For example, if mmesvc1 reaches the major threshold, mmesvc2 reaches the critical threshold and mmesvc3 reaches the minor threshold, then chassis congestion state will be critical.

Service Control CPU Thresholds

This threshold is calculated from the system's demux CPU. The threshold is calculated based on a five minute average CPU usage.

The highest CPU usage value of two CPU cores of the demux CPU is considered. For example, if CPU core 0 has a five minute CPU usage of 40 and CPU core 1 has a five minute CPU usage of 80, then CPU core 1 will be considered for threshold calculation.

The following example configuration shows threshold levels of 80, 60, and 40 usage:

congestion-control threshold service-control-cpu-utilization critical 80
congestion-control threshold service-control-cpu-utilization major 60
congestion-control threshold service-control-cpu-utilization minor 40
System CPU Thresholds

This threshold is calculated using the five minute CPU usage average of all CPUs (except standby CPU and SMC CPU ).

The highest CPU usage value of two CPU core of all CPU will be considered.

The following example configuration shows threshold levels of 80, 60, and 40 usage:

congestion-control threshold system-cpu-utilization critical 80
congestion-control threshold system-cpu-utilization major 60
congestion-control threshold system-cpu-utilization minor 40
System Memory Thresholds

This threshold is calculated using the five minute memory usage average of all CPUs (except standby CPU and SMC CPU ).

The following example configuration shows threshold levels of 80, 60, and 40 usage:

congestion-control threshold system-memory-utilization critical 80
congestion-control threshold system-memory-utilization major 60
congestion-control threshold system-memory-utilization minor 40

Configuring a Congestion Action Profile

Congestion Action Profiles define a set of actions which can be executed after the corresponding threshold is crossed.

Use the following example configuration which creates a congestion action profile named critical_action_profile and defines several actions for this profile:

configure
   lte-policy
      congestion-action-profile critical_action_profile
         reject s1-setups time-to-wait 60 
         drop handovers 
         reject combined-attaches
         report-overload permit-emergency-sessions enodeb-percentage 50 
         end

See the Congestion Action Profile Configuration Commands chapter in the Command Line Reference for details about all the congestion action profile commands available.

Refer to Configuring Overload Control in this chapter for more information about the report-overload keyword and associated functionality.

Associating a Congestion Action Profile with Congestion Control Policies

Each congestion control policy (critical, major, minor) must be associated with a congestion control profile.

The following example configuration to associate the congestion action profile named critical_action_profile with the critical congestion control policy:

configure
   congestion-control policy critical mme-service action-profile critical_action_profile

Separate congestion action profiles can be associated with major and minor congestion control policies, for example:

   congestion-control policy major mme-service action-profile major_action_profile
   congestion-control policy minor mme-service action-profile minor_action_profile

Configuring Overload Control

When an overload condition is detected on an MME, the system can be configured to report the condition to a specified percentage of eNodeBs and take the configured action on incoming sessions.

To create a congestion control policy with overload reporting, apply the following example configuration:
configure
   lte-policy 
      congestion-action-profile  <profile_name>
      congestion-action-profile  <profile_name>
      end

configure
   congestion-control policy critical mme-service action report-overload reject-new-sessions enodeb-percentage <percentage>
   end

Notes:

  • The following overload actions are also available (in addition to reject-new-sessions):
    • permit-emergency-sessions-and-mobile-terminated-services
    • permit-high-priority-sessions-and-mobile-terminated-services
    • reject-delay-tolerant-access
    • reject-non-emergency-sessions

See the Congestion Action Profile Configuration Mode Commands chapter in the Command Line Reference for details about all the congestion action profile commands available.

Configuring Enhanced Congestion SNMP Traps

When an enhanced congestion condition is detected, an SNMP trap (notification) is automatically generated by the system.

To disable (suppress) this trap:

configure
   snmp trap suppress EnhancedCongestion
   end

To re-enable generation of the Enhanced Congestion trap:

configure
   snmp trap enable EnhancedCongestion target <target-name>
   end

Verifying the Congestion Control Configuration

Use the following Exec mode command to display the configuration of the congestion control functionality.

show congestion-control configuration
The following output is a concise listing of all threshold and policy configurations showing multi-level Critical, Major and Minor threshold parameters and congestion control policies:
Congestion-control: enabled

Congestion-control Critical 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 Critical 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 Major threshold parameters
    system cpu utilization:                                0 
    service control cpu utilization:              0 
    system memory utilization:                          0 
    message queue utilization:                          0 
    message queue wait time:                              0 seconds 
    port rx utilization:                                      0 
    port tx utilization:                                      0 
    license utilization:                                      0 
    max-session-per-service utilization:      0 
    tolerence limit:                                              0 
Congestion-control Minor threshold parameters
    system cpu utilization:                                0 
    service control cpu utilization:              0 
    system memory utilization:                          0 
    message queue utilization:                          0 
    message queue wait time:                              0 seconds 
    port rx utilization:                                      0 
    port tx utilization:                                      0 
    license utilization:                                      0 
    max-session-per-service utilization:      0 
    tolerence limit:                                              0 
Overload-disconnect: disabled
Overload-disconnect threshold parameters 
    license utilization:                                      80 
    max-session-per-service utilization:     80 
    tolerance:                                                          10 
    session disconnect percent:                        5 
    iterations-per-stage:                                    8 
Congestion-control Policy
    mme-service: 
        Critical Action-profile : ap3 
        Major    Action-profile : ap2
        Minor    Action-profile : ap1

Verifying Congestion Action Profiles

To verify the configuration of a congestion action profile, use the following Exec mode command:
show lte-policy congestion-action-profile { name <profile_name> | summary }

Monitoring and Troubleshooting

This section provides information on how to monitor congestion control.

Congestion Control Show Command(s) and/or Outputs

This section provides information regarding show commands and/or their outputs in support of enhanced congestion control.

show congestion-control statistics mme

The following command shows an overview of all congestion control statistics for the MME.
show congestion-control statistics mme [ full | critical | major | minor ]

The following output is a concise listing of congestion control statistics. In this example output, only the Critical information is shown.

Critical Congestion Policy Action
    Congestion Policy Applied                      :    0 times
    PS attaches
                    Rejected            :      0 times
                    Dropped              :      0 times
    PS attaches
                    Rejected            :      0 times
                    Dropped              :      0 times
    Combined attaches
                    Rejected            :      0 times
                    Dropped              :      0 times
    S1-Setup
                    Rejected            :      0 times
                    Dropped              :      0 times
    Handover
                    Rejected            :      0 times
                    Dropped              :      0 times
    Addn-pdn-connect
                    Rejected            :      0 times
                    Dropped              :      0 times
    Addn-brr-connect
                    Rejected            :      0 times
                    Dropped              :      0 times
    Service-Request
                    Rejected            :      0 times
                    Dropped              :      0 times
    TAU-Request
                    Rejected            :      0 times
                    Dropped              :      0 times
    S1AP Overload Start Sent                        :      2 times
    S1AP Overload Stop  Sent                        :      2 times
    Excluded Emergency Events                      :      0 times
    Excluded Voice Events                              :      0 times

show congestion-control statistics mme

The following command shows SNMP event statistics for the EnhancedCongestion trap and EnhancedCongestionClear trap .
show snmp trap statistics verbose | grep EnhancedCongestion