Cisco WLC provides us with a feature called "Aggressive Load Balancing", it works at the association phase . When a STA attempts to associate to a LAP, association response packets are sent to the STA with an 802.11 response frame including status code 17. This code indicates whether the LAP can accept any more associations (in other words the AP is saying "I'm busy, go away"). If the AP is too busy, the STA attempts to associate to a different access point in the area.
And here's a problem, it is the responsibility of the STA to honor, process or discard the association response frame with reason code 17. Some clients ignore it, even though it is part of the 802.11 specification. The standard dictates that the STA driver must look for another AP to connect to because it receives a "busy" message from the first AP it tries. Many STAs don't do this and send the association request again. The client in question is allowed on to the wireless network upon subsequent attempts to associate.
Anyway, the way to configure aggressive load balancing on WLC is following:
1. Globally configure aggressive load balancing:
Client Window Size - value between 1 and 20. The algorithm that determines whether an AP is too heavily loaded to accept more client associations:
load-balancing window + client associations on AP with lightest load = load-balancing threshold
In the group of APs seen by a STA, each AP has a different number of client associations. The AP with the lowest number of clients has the lightest load. The client window size plus the number of clients on the access point with the lightest load forms the threshold. APs with more client associations than this threshold is considered busy, and STAs can associate only to APs with client counts lower than the threshold.
Example: A STA can see 3 APs, AP1, AP2 and AP3:
AP1 = 5 associated clients
AP2 = 7 associated clients
AP3 = 12 associated clients
Client Window Size = 5
Load-balancing threshold = 5 + 5 = 10
AP3 is considered to be busy, because the client count on it (12) is higher that the threshold (10).
Maximum Denial Count - value between 0 and 10. The denial count sets the maximum number of association denials during load balancing.
Example: continuing the previous example, if a STA ignores the code 17 in association response sent by AP, and keeps sending association requests to AP3, when the STA sends association request for the fourth time, AP3 will allow the STA to associate.
2. Load balancing is configured per WLAN:
It is only possible to load balance clients between access points on the same controller. Load balancing doesn't work between access points on different controllers.
Cisco wlc 7.0 configuration guide
Cisco support forum