Archibus Extension for Microsoft Exchange

Avoiding Impersonation of User Accounts

To avoid impersonating every user account on Exchange, you set an option in the \WEB-INF\config\context\applications\reservations.properties file. (See Configuration section below.)

This topic describes how the application works when impersonation is disabled. For information on working with impersonation, see Using Exchange Impersonation.

Note: Multi-room reservations are not supported when using room mailboxes with Exchange.

This topic has the following sections:

Also see:

Configuration

To enable or disable impersonation, set the exchange.impersonateUsers property in \WEB-INF\config\context\applications\reservations.properties, Set this to False to establish the behavior outlined in this topic.

# # Impersonate users in Exchange to create / update / cancel meetings. # When disabled 1) the Reservations Application uses the room mailbox as the meeting organizer in Exchange, # and 2) reservations created from Exchange or the Outlook Plugin cannot be modified from Web Central; # exchange.impersonateUsers=false

Creating and Editing Reservations from Archibus

Using room mailboxes

When someone creates a reservation via Archibus, the room mailbox is considered the organizer for the meeting in Exchange. The reservation requestor (email address in reserve.email) in Archibus is an attendee of the meeting in Exchange.

Typically, these reservations and meetings created via Archibus are editable and can be canceled only via Archibus. Only people with full access to the room’s calendar in Exchange also have the option to update or cancel the meeting via Outlook / Exchange; they do so by going into the room’s calendar directly.

Reservations initially created via Archibus can also be edited via Archibus.

Not using room mailboxes

For rooms not linked to a room mailbox in Exchange, the exchange.organizerAccount specified in \WEB-INF\config\context\applications\reservations.properties will be the meeting organizer in Exchange.

The organizerAccount’s calendar is not monitored for changes via Exchange, so all changes to meetings and reservations in rooms without a mailbox should be made through Archibus when user impersonation is disabled. The meeting in Exchange is retained when changing to a different room.

Here is the description of exchange.organizerAccount in reservations.properties:

# # Email address of the reservations organizer account. Required for supporting non-Exchange # users of the Reservations Application. This account will be the meeting organizer in # Exchange for Reservation Requestors that do not have a mailbox on the connected Exchange, and also # for reservations in rooms without a mailbox if user impersonation is disabled. # exchange.organizerAccount=

Creating Reservations from Exchange / Outlook

When user impersonation is disabled, users can still create meetings and reservations directly from Exchange (when using room mailboxes) or via the Archibus Outlook Plugin (when not using room mailboxes). These meetings and reservations then cannot be edited via Archibus.

When the user submits a reservation update that should propagate to Exchange, if the meeting was not created via Archibus, then the Reservations application displays an error message without applying any changes. This includes differences in the meeting time, subject, location string, body and attendees.

Retrieving Attendee Information from Exchange

Without user impersonation, Archibus can still show free-busy information for attendees in the Reservations Calendar Console if their calendars are not hidden, using the exchange.organizerAccount defined in reservations.properties. Free-busy information cannot be retrieved if impersonation is disabled and no organizerAccount is specified.

Attendee responses are only shown in the Reservation Details pop-up for reservations created via Archibus. For other reservations, the Details pop-up lists the attendees specified in the reserve.attendees field with response status "Unknown"; this is similar to not using Exchange Integration.

Canceling Reservations from Archibus

Reservations can still be canceled / rejected from Archibus regardless of how they were created. You cannot choose to cancel or keep the connected meeting in Exchange because that depends only on how the meeting and reservation were created.

The option "cancel corresponding meeting on people’s calendars" is not shown on the cancellation pop-ups if impersonation is disabled. This applies to three pop-ups that appear on the Reservations Calendar Console > My Reservations grid view when:

If the reservation was created from Exchange / Outlook, the meeting will not be canceled in Exchange when canceling the reservation from Archibus. Instead, the room will send a decline message to the meeting organizer. The meeting organizer then needs to take appropriate action, like creating a new reservation in another room or on another time, or canceling the meeting.

If the reservation was created from Archibus, the room is the meeting organizer in Exchange. When such a reservation is canceled, the meeting is also canceled in Exchange.

Outlook Plugin and Room Mailboxes

When Archibus Reservations integrates with room mailboxes, Outlook users can create, edit, and cancel reservations via standard Outlook features. The Exchange Calendar Monitor processes all changes on the room calendars similar to when the user applies them through OWA.

Outlook users can still use the Outlook Plugin – it supports room mailboxes from v2022.02. It can be used to quickly find available rooms based on filter criteria defined in Archibus and to reserve non-default room arrangements (if rooms are defined with multiple arrangements).

Calendar Monitoring Actions (source of meeting is Archibus)

The table below shows what happens when working with a meeting created from Archibus without user impersonation; that is, having the room as the meeting organizer in Exchange.

User action Real-time monitor status Real-time monitor action (if connected) Calendar sync action (at 2:30am or when monitor reconnects)

Update a meeting directly on the room calendar

Connected

If room is available, update connected reservation, including item id and change key.

Or, If the room is not available, cancel meeting, cancel reservation, and notify reservation requestor.

If update was accepted, item id and change key match between meeting and reservation → no action.

Or If meeting was canceled, no action.

Update a meeting directly on the room calendar

Not connected

N/A

If room is available, update connected reservation, including item id and change key

Or, If the room is not available, cancel meeting, cancel reservation, and notify reservation requestor.

Cancel a meeting directly on the room calendar

Connected

Cancel or disconnect reservation and notify reservation requestor.

No action

Cancel a meeting directly on the room calendar

Not connected

N/A

If meeting was already recorded in previous sync state, cancel or disconnect reservation and notify reservation requestor; otherwise no action.

Create new reservation via Archibus Web Central

Connected

Populate item id and change key of reservation.

Item id and change key match between meeting and reservation → no action

Update a reservation via Archibus Web Central

Connected

Update item id and change key of reservation.

Item id and change key match between meeting and reservation → no action

Cancel a reservation via Archibus Web Central

Connected

Detects deleted meeting without linked reservation → no action.

Detects deleted meeting without linked reservation → no action.