For Captive Portal and Mac Caching with CPPM, this is how it works:
Guest Authenticates successfully via the captive portal
CPPM creates a device entry with the corresponding mac address that expires at the same times as the guest account.
Guest device goes to sleep or becomes idle and is removed from the user table
Guest device wakes up and on that same Virtual AP, we have mac authentication configured to send the mac address of the guest to cppm over radius
If mac authentication fails, guest ends up at the Captive Portal Screen
If mac authentication passes, we give the guest the guest role silently and it is all good until that device entry expires
If you have CPPm 6.1, use the service template to create your guest WLAN so that most of the configuration is done for you.
On the controller side, you need to configure mac authentication in the AAA profile of that Virtual AP so that guests always send their mac address to CPPM over radius.