Initially, every controller assumes that it is the RF group leader for its configured RF group. It creates its unique group ID and adds itself to the group. After this, the controller sends a HELLO packet to all the controllers it knows about every 10 seconds.
In addition to the HELLO message, the controller colleges neighbor messages from its APs. These collected neighbor messages are used to determine if another controller has a higher group ID. If that is the case, the controller joins the RF group and becomes a GROUPIE. After a controller finds another controller with a group ID larger than itself, it triggers a 60 second timer to make sure the current leader is still active.
If the GROUPIE controller does not receive a HELLO response within the allotted time, the controller considers the RF group leader down and the election process begins again.