In order to retrieve some extra parameters from the Guest User Database during a MAC Authentication, update the SQL query for Authorization
SELECT
CASE WHEN expire_time is null or expire_time > now() THEN 'false'
ELSE 'true'
END AS is_expired,
CASE WHEN enabled = true THEN 'true' ELSE 'false' END as is_enabled,
CASE WHEN expire_time > now() THEN CAST(EXTRACT(epoch FROM (expire_time - NOW())) AS INTEGER)
ELSE 0
END AS remaining_guest_expiration
FROM tips_guest_users
WHERE ((guest_type = 'USER') AND (user_id = '%{Endpoint:Username}') AND (app_name != 'Onboard'))
Then it is possible to create a Enforcement policy like:
Radius:IETF Session-Timeout %{Authorization:[Guest User Repository]:GuestRemaining}