Exchange preparations

Before we will continue to the Exchange preparation steps some environment versions need to be checked.

Minimal Supported Exchange version:
Exchange 2013 SP1 (this also includes the Exchange databases. So be sure that all databases are up to date )
Office 365
Hybrid configurations are supported.

Preparations Exchange accounts:
For the Outlook room booker we make use of two accounts. Both accounts need to be mailbox enabled. (For office 365 an Exchange Kiosk license is the minimum)

The First Account:
The first account will be used as the main account for the Outlook room booker. This account will be used to retrieve and create the Exchange appointments.

This account requires the following rights: Application Impersonation. This needs to be applied to all the Resource (room) and Person mailboxes in the Exchange environment. The picture below shows the basic set-up of application impersonation in a office 365 environment

Example Application Impersionation

Need more information about Application Impersonation?
WHY OUTLOOK ROOM BOOKER USES IMPERSONATION (opens in a new tab)
EXCHANGE IMPERSONATION: ROOM AND/OR USER?

It is possible to set a scope for only rooms but the ORB will lose a lot of functionality. Please read both articles above before considering to use room only! Contact support@scope4mation.com for more infomation.

The Second Account:
The second account is used as a fallback user. It needs Mailbox/Calender Delegation(Full Access) for all the Resource (room) mailboxes used by the Outlook room booker. The picture below shows how this is set up on a Resource (room) account:

Example Mailbox Delegation Full Access

We recommend to use the Exchange Management Shell because this will save a lot of manual work. How this is done can be found here: https://docs.microsoft.com/en-us/exchange/recipients/mailbox-permissions?view=exchserver-2019

The Exchange Web Service (EWS)
We make use of the Exchange Web Service. The Exchange Web Service has a couple of authentication options. The Outlook Room Booker makes use of Basic Authentication. This need to be enabled on the EWS url.

The Outlook Room Booker will make use of Auto Discovery. Auto Discovery and EWS both need to be enabled and accessable. Not sure if both EWS and Auto Discovery are working fine? Please consider testing them with the following tool provided by Microsoft: https://testconnectivity.microsoft.com/

The Rooms in Exchange
Make sure that all the rooms that need to be monitored by the ORB are in Exchange. The Rooms are mailboxes of the Resource type. The following page will guide you trought the process of making a Room mailbox: https://docs.microsoft.com/en-us/exchange/recipients/room-mailboxes?view=exchserver-2019

There are settings for meeting rooms that have high impact on the working of the Outlook Room Booker. These settings can be found by using the Get-CalanderProcessing. How this is done can be found on the following page: https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/get-calendarprocessing?view=exchange-ps

The following setup is recommended by Scope4mation:

Get-CalendarProcessing -Identity “RoomName” | FL

RunspaceId :
AutomateProcessing : AutoAccept
AllowConflicts : False
BookingWindowInDays : 365
MaximumDurationInMinutes : 1440
AllowRecurringMeetings : True
EnforceSchedulingHorizon : True
ScheduleOnlyDuringWorkHours : False
ConflictPercentageAllowed : 0
MaximumConflictInstances : 0
ForwardRequestsToDelegates : True
DeleteAttachments : True
DeleteComments : True
RemovePrivateProperty : True
DeleteSubject : True
AddOrganizerToSubject : True
DeleteNonCalendarItems : True
TentativePendingApproval : True
EnableResponseDetails : True
OrganizerInfo : True
ResourceDelegates : {}
RequestOutOfPolicy : {}
AllRequestOutOfPolicy : False
BookInPolicy : {}
AllBookInPolicy : True
RequestInPolicy : {}
AllRequestInPolicy : False
AddAdditionalResponse : False
AdditionalResponse :
RemoveOldMeetingMessages : True
AddNewRequestsTentatively : True
ProcessExternalMeetingMessages : False
RemoveForwardedMeetingNotifications : False
MailboxOwnerId :
Identity :
IsValid : True
ObjectState : Changed

Go back to the checklist overview!