Configuring Assisted Roaming

Restrictions for Assisted Roaming

  • This feature must be implemented only if you are using one controller. The assisted roaming feature is not supported across multiple controllers.

  • This feature is supported only on 802.11n capable indoor access points. For a single band configuration, a maximum of 6 neighbors are visible in a neighbor list. For dual band configuration, a maximum of 12 neighbors are visible.

  • You can configure assisted roaming only using the controller CLI. Configuration using the controller GUI is not supported.

Assisted Roaming

The 802.11k standard allows clients to request neighbor reports containing information about known neighbor access points that are candidates for a service set transition. The use of the 802.11k neighbor list can limit the need for active and passive scanning.

The assisted roaming feature is based on an intelligent and client optimized neighbor list.

Unlike the Cisco Client Extension (CCX) neighbor list, the 802.11k neighbor list is generated dynamically on-demand and is not maintained on the controller. The 802.11k neighbor list is based on the location of the clients without requiring the mobility services engine (MSE). Two clients on the same controller but different APs can have different neighbor lists delivered depending on their individual relationship with the surrounding APs.

By default, the neighbor list contains only neighbors in the same band with which the client is associated. However, a switch exists that allows 802.11k to return neighbors in both bands.

Clients send requests for neighbor lists only after associating with the APs that advertize the RRM (Radio Resource Management) capability information element (IE) in the beacon. The neighbor list includes information about BSSID, channel, and operation details of the neighboring radios.

Assembling and Optimizing the Neighbor List

When the controller receives a request for an 802.11k neighbor list, the following occurs:

  1. The controller searches the RRM neighbor table for a list of neighbors on the same band as the AP with which the client is currently associated with.

  2. The controller checks the neighbors according to the RSSI (Received Signal Strength Indication) between the APs, the current location of the present AP, the floor information of the neighboring AP from Cisco Prime Infrastructure, and roaming history information on the controller to reduce the list of neighbors to six per band. The list is optimized for APs on the same floor.

Assisted Roaming for Non-802.11k Clients

It is also possible to optimize roaming for non-802.11k clients. You can generate a prediction neighbor list for each client without the client requiring to send an 802.11k neighbor list request. When this is enabled on a WLAN, after each successful client association/reassociation, the same neighbor list optimization is applied on the non-802.11k client to generate the neighbor list and store the list in the mobile station software data structure. Clients at different locations have different lists because the client probes are seen with different RSSI values by different neighbors. Because clients usually probe before any association or reassociation, this list is constructed with the most updated probe data and predicts the next AP that the client is likely to roam to.

We discourage clients from roaming to those less desirable neighbors by denying association if the association request to an AP does not match the entries on the stored prediction neighbor list.

Similar to aggressive load balancing, there is a switch to turn on the assisted roaming feature both on a per-WLAN basis and globally. The following options are available:

  • Denial count—Maximum number of times a client is refused association.

  • Prediction threshold—Minimum number of entries required in the prediction list for the assisted roaming feature to be activated.

Because both load balancing and assisted roaming are designed to influence the AP that a client associates with, it is not possible to enable both the options at the same time on a WLAN.

This section contains the following subsections:

Configuring Assisted Roaming (CLI)

Procedure

  • Configure an 802.11k neighbor list for a WLAN by entering this command:

    config wlan assisted-roaming neighbor-list {enable | disable} wlan-id

  • Configure neighbor floor label bias by entering this command:

    config assisted-roaming floor-bias dBm

  • Configure a dual-band 802.11k neighbor list for a WLAN by entering this command:

    config wlan assisted-roaming dual-list {enable | disable} wlan-id

    Note

    Default is the band which the client is using to associate.


  • Configure Assisted Roaming Prediction List feature for a WLAN by entering this command:

    config wlan assisted-roaming prediction {enable | disable} wlan-id

    Note

    A warning message is displayed and load balancing is disabled for the WLAN if load balancing is already enabled for the WLAN.


  • Configure the minimum number of predicted APs required for the prediction list feature to be activated by entering this command:

    config assisted-roaming prediction-minimum count

    Note

    If the number of APs in the prediction assigned to a client is less than the number that you specify, the assisted roaming feature will not apply on this roam.


  • Configure the maximum number of times a client can be denied association if the association request that is sent to an AP does not match any AP in the prediction list by entering this command:

    config assisted-roaming denial-maximum count

  • Debug a client for assisted roaming by entering this command:

    debug mac addr client-mac-addr

  • Configure debugging of all of 802.11k events by entering this command:

    debug 11k all {enable | disable}

  • Configure debugging of neighbor details by entering this command:

    debug 11k detail {enable | disable}

  • Configure debugging of 802.11k errors by entering this command:

    debug 11k errors {enable | disable}

  • Verify if the neighbor requests are being received by entering this command:

    debug 11k events {enable | disable}

  • Configure debugging of the roaming history of clients by entering this command:

    debug 11k history {enable | disable}

  • Configure debugging of 802.11k optimizations by entering this command:

    debug 11k optimization {enable | disable}

  • Get details of the client-roaming parameters that are to be imported for offline simulation by entering this command:

    debug 11k simulation {enable | disable}