I'm in a similar position here. I'm running CP 6.3.3 and my external DB is MySql. I've written a number of stored procedures that I call from my freeradius (2.2.5) service to obtain, for example the vlan to drop a device into after a successful mac-authentication. In FreeRadius I'd do :-
update control {
#
# Tmp-String-0 = string representation of vlan id for given device type.
#
Tmp-String-0 := "%{sql_master:CALL get_vlan_id('%{NAS-IP-Address}','%{User-Name}')}"
}
.... where control:Tmp-String-0 either contains 0 or a numeric VLAN string value. The SP
1) Determines the device type based upon the mac address stored in User-Name
2).Figures out the location based upon the NAS-IP Address of the switch
3).Figures out what vlan to return based upon the location/device type
4).Returns a string representation of the numeric vlan to be used.
Later on I'd do
update reply {
Tunnel-Private-Group-ID := "%{control:Tmp-String-0}"
}
......
Ideally I'd like to use my existing SPs in calls from clearpass. Can I do this? When I'm setting up the filter query, what would the format be?
Also, what clearpass attrributes do I use instead of the %{NAS-IP-Address} and '%{User-Name} arguments to pass to the procedure.
Rgds
A