IMSI Manager Broadcast Control

Feature Description

The IMSI Manager is the Demux process that selects the Session Manager instance based on the Demux algorithm logic to host a new session for 2G/3G/4G subscribers for SGSN/MME. The IMSI Manager maintains the IMSI-SMGR mapping for SGSN (2G/3G) and MME (4G) subscribers. The mapping maintained at IMSIMGR task is usually in sync with the mapping maintained at all session managers. But in some rare cases, there is a mismatch due to problems during the synchronization process. In such scenarios, the IMSIMGR task sends out a broadcast message to all session managers hoping that at least one of them will be hosting that session and could respond positively to this broadcast.

If none of the Session Managers respond with the mapping, the IMSI Manager considers it as request for an UNKNOWN (unregistered) subscriber and forwards it to a random Session Manager, which in turn sends an error response for the HLR request. The broadcasts from the IMSI Manager happen through a non-blocking vector call to all active Session Managers which can lead the IMSI Manager into a CPU overload condition considering the high number of session managers.

IMSI Manager broadcast control is implemented by the following:

  • In IMSI Manager, broadcast disabling CPU threshold value defined; once the CPU utilization crosses this threshold, the IMSI Manager will not broadcast any unknown subscriber requests from HLR. Default value of this threshold is set as 50%. A CLI command is provided to optionally define the CPU threshold.

  • In IMSI Manager, congestion threshold value of 70% is defined; once the CPU utilization crosses this threshold, the IMSI Manager will trigger congestion control action and will drop all unknown subscriber requests from HLR.


Important

This feature is enabled by default.


How It Works

IMSI Manager Broadcast Control

IMSI Manager broadcast control is applicable only to SGSN. The MAP requests from the HLR arrives at the IMSI Manager as the Link Manager cannot find the Session manager instance from IMSI in the request. The following MAP requests arrive at the IMSI Manager:

  1. CANCEL LOCATION REQUEST

  2. Standalone INSERT SUBSCRIPTION DATA (ISD)

  3. Delete Subscriber Data (DSD)

  4. Provide Subscriber Location (PSL)

The IMSI Manager looks for the Session manager id which hosts the IMSI in its mapping table. If the mapping does not exist, the requests are broadcasted to all active Session Managers for finding the session or mapping. If all the Session managers respond with negative response, the IMSI Manager sends the MAP request to a random Session manager which in turn responds with a Map User Error response with cause as "Unidentified Subscriber". Broadcasting of request consumes a huge amount of IMSI Manager CPU capacity, it is also observed that the most of the unknown requests received genuine unknown subscriber requests sent by HLR and the HLR is incorrectly sending these requests to the SGSN. To conserve the IMSI Manager CPU, broadcasting of these requests are avoided.

IMSI Manager Broadcast Disabled During System Reboot

After a system reboot, the subscribers are not yet registered in the system. During this period, if HLR sends ISD or Cancel Location Requests to the system in huge numbers, these requests are broadcasted thus leading to an IMSI Manager CPU overload condition. To conserve IMSI manager CPU, the IMSI Manager will not perform any broadcasting for the UNKNOWN MAP requests from HLR for first 60 minutes after reboot of the system. This SGSN feature is enabled by default and is not configurable. After 60 mins, the behavior as per the CLI configuration for IMSI manager broadcasting will be applied.

Disabling Broadcast

Broadcasting is stopped when the IMSI Manager is busy handling heavy traffic (that is, when IMSI Manager reaches a specific CPU threshold). All the IMSI Manager instances monitor their CPU usage and when the CPU threshold is reached, broadcasting is stopped until the CPU comes down below the threshold value. Instead of broadcasting to all Session Managers, the request is sent to any random Session Manager which in turn sends the response back to the originating node. This feature is enabled by default and the default CPU threshold for disabling broadcasting is 50%. The configured CPU threshold overrides this default value.

Congestion Control

In IMSI Manager, congestion is triggered when CPU crosses 70%; once the CPU utilization crosses this threshold, the IMSI Manager will trigger congestion control action and will silently drop all unknown subscriber requests from HLR. No responses will be sent to peer originating the requests.


Note

The thresholding application is a best effort at that instance and if the incoming rate of unknown messages is unusually high, a brief spike in the CPU usage of IMSIMGR task might occur.


Configuring IMSI Manager Broadcast Control

This section describes the configuration procedure for this feature.

A new keyword is added to the task facility imsimgr command under the Global Configuration mode to configure an IMSI Manager CPU threshold, once this threshold is reached the IMSI Manager stops broadcasting to conserve CPU.

configure 
   task facility imsimgr { avoid-sessmgr-broadcast { cpu_threshold percentage_value } | max integer_value | required-sessmgr  no_sess_mgrs | sessmgr-sessions-threshold high-watermark high_value low-watermark low_value } 
   end 

Notes:

  • The cpu_threshold keyword specifies the CPU value of the IMSI Manager in percentage.

  • The percentage_value keyword is a percentage integer from 50% up to 70%. The default value is 50%.


Important

After you configure the task facility imsimgr max command, you must save the configuration and then reload the chassis for the command to take effect. For information on saving the configuration file and reloading the chassis, refer to the System Administration Guide for your deployment.


Example:

The following command is used to disable all IMSI Manager Broadcasts:

task facility imsimgr avoid-sessmgr-broadcast 

The following command is used to disable broadcast after the IMSI Manager CPU reaches 60%:

task facility imsimgr avoid-sessmgr-broadcast cpu_threshold 60 

Monitoring and Troubleshooting IMSI Manager Broadcast Control

New statistics are introduced as a part feature which can be viewed in the Debug mode. The operator can use these statistics to get the current status of broadcasting, which is either broadcasting is enabled or disabled.

Show Command(s) and/or Outputs

This section provides information regarding show commands and/or their outputs:

show demuxmgr statistics imsimgr all

  • Total Unknown Subscriber Request Rx counters

  • Insert Subscriber Data req

  • Delete Subscriber Data req

  • Cancel location req

  • Other unknown req

  • Imsimgr-Sessmgr Broadcast statistics for unknown Subscriber requests

  • Broadcast Current status ( enabled/disabled and reason for disabling)

  • Number of requests sent to Random smgr (after bcast failure rsp)

  • Number of requests sent to Random smgr (broadcast disabled)

  • Number of request dropped due to High CPU

Apart from the statistics listed above, SGSN Network Overload protection statistics which were only available in the show gmm-sm statistics are now available as a part of show demuxmgr statistics imsimgr all . The show output is realigned for better readability. Unusual logs are added in IMSIMGR to print the IMSI of subscriber and the unknown request type received from the peer node. Debug logs are also provided to display the current CPU usage and the request types that are dropped.