Curious to see where Free/Busy permission stored in Mailbox..!!
Some basic information of Free/Busy in Exchange 2007…
Autodiscover service helps Outlook 2007 to locate various Web services, like Availability services, Unified Messaging, Offline Address Book and Availability service retrieves the Free/Busy information for Outlook 2007 / OWA 2007.
The Availability service is part of the Exchange 2007 programming interface and available as a public Web service which allows developers to built custom tools as per requirement so in other way it allows to access mailbox contents via HTTP.
New Free/Busy Permission in Outlook 2007
We can see some new calendar rights in Outlook 2007 which allows users to see limited or full Free/Busy details. These permissions are stored in user’s mailbox.
Free/Busy time, subject, location
Full Detail (This is “Reviewer” permission)
Now let’s see where Free/Busy permission stored….!!!
Open the mailbox of Ex Admin account in MFCMapi on a machine where Outlook 2007 installed and configured with profile.
Go to the Root Container -> Top of Information Store -> Calendar.
In right hand side property list you can see a new security descriptor property PR_FREEBUSY_NT_SECURITY_DESCRIPTOR and Free/Busy permission stored as a value of this property.
Right Click on PR_FREEBUSY_NT_SECURITY_DESCRIPTOR and click on Display property as a Security Descriptor Prop Sheet…
Simple FreeBusy = Free/Busy time
Detailed FreeBusy = Free/Busy time, subject, location
In Outlook we can see that by default Free/Busy time permission is set for “Default”.
You can see here Everyone (which is Default in outlook) is set to Allow - Simple FreeBusy so everybody in the organization can see the free/busy time of anybody.
Secondly in outlook we can see that by default None permission is set for “Anonymous”.
You can see here ANONYMOUS LOGON (which is Anonymous in outlook) is set to Deny – Simple FreeBusy & Detailed FreeBusy so unauthenticated users can not see free/busy information.
Now lets access it in another way which gives us raw value and it is understandable by MAPI developer.
Right Click on PR_FREEBUSY_NT_SECURITY_DESCRIPTOR and click on Parse Property as Structure.
& pick the Security Descriptor structure to interpret.
You can see the value of this property in Security Descriptor structure.
frightsFreeBusySimple = Free/Busy time
frightsFreeBusyDetailed = Free/Busy time, subject, location
Thanks to Stephen Griffin who shared this information with us and also explained how to access/change it programmatically.
Note: Incorrect use of MFCMapi may give very bad result and mailbox may be inaccessible so take care while using it.