Introduction
The VMR Scheduling for Exchange feature allows you to create an add-in that enables Microsoft Outlook desktop and Web App users in Office 365 or Exchange environments to schedule meetings using VC-Connect VMRs as a meeting resource.
A PDF version of this guide is available to download at the bottom of this page.
Enabling VMR Scheduling for Exchange
To enable VMR Scheduling for Exchange, you must first configure Microsoft Exchange/Office 365 as follows:
- Create a service account. The VC-Connect VMR Scheduling for Exchange feature uses a service account to log into Exchange. You need to provide the username and password of this service account when configuring VC-Connect cloud to integrate with a Microsoft Exchange deployment. Note: A single service account can be used by more than one VC-Connect Exchange Server connection.
- Configure Application Impersonation on the service account. The service account must be configured with a Role of Application Impersonation. This role allows the service account to impersonate users on Exchange. For example, the VMR Scheduling for Exchange service impersonates users when sending email updates containing joining instructions (in cases where these instructions could not be added at the time of scheduling). This makes it appear to the recipients that the joining instructions were sent from the meeting organizer, instead of the service account.
- The Application Impersonation role must allow the service account to impersonate all users who will be using VMR Scheduling for Exchange, as well as the room resource that is to be used.
- Create a room resource. The VMR Scheduling for Exchange service works by adding a specific room resource as an attendee to all meetings scheduled using the VC-Connect add-in. The scheduling service monitors this room's mailbox, processes all meeting requests sent to it, and schedules the meetings as appropriate. Note: A room resource can only be used by a single VC-Connect Exchange Server connection. If you have separate test and development environments, you must use a different room resource for each.
- Configure the room resource.
- Enable basic authentication (for Exchange on-prem).
These steps vary slightly between Exchange on-prem and Office 365 and are described for each below.
Note: Changes to the service account may take some time to take effect, depending on the cache lifetime configured on the Microsoft Exchange server.
Exchange On-Premises
Before you start, ensure you have access to your Exchange Admin Center (EAC) web interface, and access to Exchange Management PowerShell.
Creating a service account
The VMR Scheduling for Exchange service uses a service account to log into Exchange. You can use an existing service account (the same service account can be used by more than one VC-Connect Exchange Server connection), or create a new account as follows:
- Log in to your Exchange Admin Center and go to recipients > mailboxes.
- Add a new mailbox for the service account by selecting the + icon and then User mailbox.
- Complete the fields as appropriate.
- Uncheck the Require password change on next logon box.
- Select Save.
Configuring Application Impersonation on the service account
The service account must be configured with a Role of Application Impersonation. This allows the service account to impersonate all users who will be using VMR Scheduling for Exchange, and to impersonate the room resource that is to be used for the scheduling service.
To check if your service account has Application Impersonation already configured, use the PowerShell command:
Get-ManagementRoleAssignment -RoleAssignee <email_of_service_account> -Role ApplicationImpersonation | Format-List
Below is an example of the output of the command when the service account already has Application Impersonation configured:
If the service account does not have Application Impersonation configured, then the above command will not return anything at all. If this is the case, enable Application Impersonation as follows:
New-ManagementRoleAssignment -name:<role_name> -Role:ApplicationImpersonation -User:<email_of_service_account>
For example:
New-ManagementRoleAssignment -name:VC-ConnectSchedulingService -Role:ApplicationImpersonation -User:VC-Connect@exchange.example.com
This will enable the service account to impersonate all users in the organization.
For more information on these commands, see Microsoft help:
- Configuring Application Impersonation: https://msdn.microsoft.com/en-us/library/office/dn722376%28v=exchg.150%29.aspx
- Get-ManagementRoleAssignment command: https://technet.microsoft.com/en-us/library/dd351024(v=exchg.150).aspx
- New-ManagementRoleAssignment command: https://technet.microsoft.com/en-us/library/dd335193(v=exchg.150).aspx
- Set-ManagementRoleAssignment command (used if you need to edit the role assignment): https://technet.microsoft.com/en-us/library/dd335173(v=exchg.150).aspx
Creating a room resource
The room resource will be added as a resource attendee to all VMR Scheduling for Exchange meetings. Users will see replies from this room resource when it accepts or rejects a meeting request.
Each room resource can be used by only one VC-Connect Exchange Server connection.
To create the room resource:
- Log in to your Exchange Admin Center.
- Go to recipients > resources.
- Select the + icon and then Room mailbox
- Give the room a name and alias.
- The room name will appear as the location of any meeting requests, and as a recipient.
- Select Save.
Configuring the room resource
You must configure the room resource to disable automatic processing for the room resource, so that the processing can be done by the scheduling service. You must also configure it to permit conflicts, because meetings may be scheduled at the same time by different users.
This configuration is done using the following PowerShell command:
Set-CalendarProcessing -Identity <email_of_room_resource> -AutomateProcessing None -AllowConflicts $true -BookingWindowInDays 1080 -MaximumDurationInMinutes 0 -AllowRecurringMeetings $true -EnforceSchedulingHorizon $false -ScheduleOnlyDuringWorkHours $false -ConflictPercentageAllowed 100 -MaximumConflictInstances 2147483647
To verify that the above command has configured everything correctly, use the PowerShell command:
Get-CalendarProcessing -Identity <email_of_room_resource> | Format-List
The output should look something like this:
For more information on these commands, see Microsoft help:
- Set-CalendarProcessing command: https://technet.microsoft.com/en-us/library/dd335046(v=exchg.150).aspx
- Get-CalendarProcessing command: https://technet.microsoft.com/en-us/library/dd298137(v=exchg.150).aspx
Enabling basic authentication
If you are using on-prem Exchange you need to ensure Basic Authentication is enabled for Exchange Web Services (EWS). To do this:
- Go to the Windows server on which Exchange is installed and open the Service Manager.
- Select the server on which Exchange is installed, and right-click to select Computer Management.
- From the panel on the left, select Services and Applications > Internet Information Services (IIS) Manager.
- Expand the options and select Sites > Default Web Site > EWS.
- Select the Authentication button in the main pane.
- Find Basic Authentication in the list and ensure it is Enabled. (If not, right-click and select Enable.)
- Select Save.
Exchange Online (Office 365)
Before you start, ensure you can access your Office 365 Admin Center: https://portal.office.com/adminportal/home#/homepage.
You will also need to have a remote PowerShell session to your Exchange server. To enable this, follow the instructions at: https://technet.microsoft.com/en-us/library/jj984289(v=exchg.160).aspx.
Note that for Office 365, the service account must have a mailbox license and appropriate licenses to allow it to connect to Exchange and use EWS.
Creating a service account
The VMR Scheduling for Exchange service uses a service account to log into Exchange. You can use an existing service account (the same service account can be used by more than one VC-Connect Exchange Server connection), or create a new account as follows:
- Go to portal.office.com and log in as the administrator.
- Go to the admin portal by selecting the Admin tile (this will take you to https://portal.office.com/adminportal/home#/homepage).
- From the Users section, select Add a user and complete the necessary fields.
- In the Password section:
- select Let me create the password
- uncheck Make this user change their password when they first sign in.
- In the Product licenses section, assign an appropriate product license from the available list.
- Select Add to create the user.
Configuring Application Impersonation on the service account
The service account must be configured with a Role of Application Impersonation. This allows the service account to impersonate all users who will be using VMR Scheduling for Exchange, and to impersonate the room resource that is to be used for the scheduling service.
To check if your service account has Application Impersonation already configured, use the PowerShell command:
Get-ManagementRoleAssignment -RoleAssignee <email_of_service_account> -Role ApplicationImpersonation | Format-List
Below is an example of the output of the command when the service account already has Application Impersonation configured:
If the service account does not have Application Impersonation configured, then the above command will not return anything at all. If this is the case, enable Application Impersonation as follows:
New-ManagementRoleAssignment -name:<role_name> -Role:ApplicationImpersonation -User:<email_of_service_account>
For example:
New-ManagementRoleAssignment -name:VC-ConnectSchedulingService -Role:ApplicationImpersonation -User:VC-Connect@exchange.example.com
This will enable the service account to impersonate all users in the organization.
For more information on these commands, see Microsoft help:
- Configuring Application Impersonation: https://msdn.microsoft.com/en-us/library/office/dn722376%28v=exchg.150%29.aspx
- Get-ManagementRoleAssignment command: https://technet.microsoft.com/en-us/library/dd351024(v=exchg.160).aspx
- New-ManagementRoleAssignment command: https://technet.microsoft.com/en-us/library/dd335193(v=exchg.160).aspx
- Set-ManagementRoleAssignment command (used to edit the role assignment): https://technet.microsoft.com/en-us/library/dd335173(v=exchg.160).aspx
Creating a room resource
- Go to portal.office.com and log in as the administrator.
- From the left-hand menu, select Resources > Rooms & Equipment and then Add.
- Select a Type of Room.
- Assign an appropriate Name and Email address and select Add.
The room name will appear as the location of any meeting requests, and as a recipient.
The room should now appear in the list of resources.
Configuring the room resource
You must configure the room resource to disable automatic processing for the room resource, so that the processing can be done by the scheduling service. You must also configure it to permit conflicts, because meetings may be scheduled at the same time by different users.
This configuration is done using the following PowerShell command:
Set-CalendarProcessing -Identity <email_of_room_resource> -AutomateProcessing None -AllowConflicts $true -BookingWindowInDays 1080 -MaximumDurationInMinutes 0 -AllowRecurringMeetings $true -EnforceSchedulingHorizon $false -ScheduleOnlyDuringWorkHours $false -ConflictPercentageAllowed 100 -MaximumConflictInstances 2147483647
To verify that the above command has configured everything correctly, use the PowerShell command:
Get-CalendarProcessing -Identity <email_of_room_resource> | Format-List
The output should look something like this:
For more information on these commands, see Microsoft help:
- Set-CalendarProcessing command: https://technet.microsoft.com/en-us/library/dd335046(v=exchg.160).aspx
- Get-CalendarProcessing command: https://technet.microsoft.com/en-us/library/dd298137(v=exchg.160).aspx
Viewing the Room Resource’s Mailbox
There may be occasions, such as when troubleshooting, that you want to view the room resource's mailbox or calendar. To do this, you first need to assign full access to the room resource's mailbox to a delegate account, and then view the mailbox or calendar using the delegate account. (The delegate account could be the service account, or it could be, for example, an administrator's account.)
Service Configuration Settings
Adding an Exchange Server to VC-Connect and generating the add-in file
A VC-Connect Exchange Server connection defines a specific connection between the VC-Connect cloud deployment and a Microsoft Exchange deployment. Adding a new VC-Connect Exchange Server connection involves the following steps:
- add details of your Microsoft Exchange deployment and accounts to your VC-Connect Partner
- configure the aliases that will be used for VMRs created using the VMR Scheduling for Exchange service
- configure the text used by the add-in
- generate the add-in file.
As a customer, please note the following fields. If no changes are received, the defaults will be used:
Exchange Server Information |
|
EWS URL |
The URL used to connect to Exchange Web Services (EWS) on the Microsoft Exchange server. For Office 365 deployments this will be https://outlook.office365.com/EWS/Exchange.asmx If you have multiple Exchange servers in your deployment, this can be the URL of EWS on any one of the servers. However, you must also ensure that the FQDNs of all Exchange servers are provided in the Exchange domains section. |
Service account username |
The username of the service account to be used by the VMR Scheduling for Exchange service. This is the username you assigned when Creating a service account. For Office365 deployments, the format is usually name@example.com; for on-premises deployments, the format may be either example\name or name@example.com, depending on your domain. A single service account can be used by more than one VC-Connect Exchange Server connection. |
Service account password |
The password of the service account to be used by the VMR Scheduling for Exchange service. This is the password you assigned when Creating a service account. |
Room mailbox name |
The name of the room resource that is to be used by the VMR Scheduling for Exchange service. This is the name you assigned when Creating a room resource. A room mailbox must only be used by a single VC-Connect Exchange Server connection. |
Room mailbox email address |
The email address of the room resource that is to be used by the VMR Scheduling for Exchange service. This is the email address you assigned when Creating a room resource. |
VMR Configuration |
|
Join before buffer |
The number of minutes before the meeting's scheduled start time that participants will be able to join the VMR. Range: 0 to 180. Default: 30. |
Join after buffer |
The number of minutes after the meeting's scheduled end time that participants will be able to join the VMR. Range: 0 to 180. Default: 60. |
Add-in Configuration |
|
Add-in provider name* |
The name of the organization which provides the add-in. Default: UCi2i. |
Add-in display name* |
The display name of the add-in. Default: VC-Connect Scheduling Service. |
Add-in description* |
The description of the add-in. Maximum length: 250 characters. Default: Turns meetings into VC-Connect meetings. |
Add-in group label* |
The name of the group in which to place the add-in button on desktop clients. Default: VC-Connect Meeting. |
Add-in button label* |
The label for the add-in button on desktop clients. Default: Create a VC-Connect Meeting. |
Add-in supertip title* |
The title of the supertip help text for the add-in button on desktop clients. Default: Makes this a VC-Connect Meeting. |
Add-in supertip text* |
The text of the supertip for the add-in button on desktop clients. Default: Turns this meeting into an audio or video conference hosted in a VC-Connect VMR. The meeting is not scheduled until you select Send. |
Add-in pane title |
The title of the add-in on the side pane. Default: Add a VMR. |
Add-in pane description |
The description of the add-in on the side pane. Default: This assigns a Virtual Meeting Room for your meeting. |
Add-in pane button label |
The label of the button on the side pane. Default: Add a VMR. |
Add-in pane success heading |
The message that appears on the side pane when an alias has been obtained successfully from the Management Node. Default: Success. |
Already video meeting heading |
The heading that appears on the side pane when the add-in is activated after an alias has already been obtained for the meeting. Default: VMR already assigned. |
Unable to add joining instructions heading |
The heading that appears on the side pane when the VC-Connect service cannot be contacted to obtain an alias. Default: Cannot assign a VMR right now. |
General error heading |
The heading that appears on the side pane when an error occurs trying to add the joining instructions. Default: Error. |
Success message |
The message that appears on the side pane when an alias has been obtained successfully from the VC-Connect service. Default: This meeting is now set up to be hosted as an audio or video conference in a Virtual Meeting Room. Please note this conference is not scheduled until you select Send. |
Already video meeting message |
The message that appears on the side pane when the add-in is activated after an alias has already been obtained for the meeting. Default: It looks like this meeting has already been set up to be hosted in a Virtual Meeting Room. If this is a new meeting, select Send to schedule the conference. |
Unable to add joining instructions message |
The message that appears on the side pane when the VC-Connect service cannot be contacted to obtain an alias. Maximum length: 250 characters. Default: Sorry, we are unable to assign a Virtual Meeting Room at this time. Select Send to schedule the meeting, and all attendees will be sent joining instructions later. |
General error message |
The message that appears on the side pane when an error occurs trying to add the joining instructions. Default: There was a problem adding the joining instructions. Please try again. |
Add-in image icon |
Action item: Create an image file to use as the add-in icon and pass on to your VC-Connect Partner. Images must be in PNG file format and 80 x 80 pixels in size. |
Email Text |
|
Joining instructions template |
A jinja2 template that is used to generate the joining instructions that are added by VMR Scheduling for Exchange to the body of the meeting request. Note that the {{alias_uuid}} variable, which inserts the PXPS: token, must be included. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> <b>Please join my VC-Connect Virtual Meeting Room in one of the following ways:</b><br> <br> From a VC endpoint or a Skype/Lync client:<br> {{alias}}<br> <br> From a web browser:<br> <a href="https://{{addin_server_domain}}/?conference={{alias}}">https://{{addin_server_domain}}/?conference={{alias}}</a><br> <br> From a VC-Connect client:<br> pexip://{{alias}}<br> <br> From a telephone:<br> [Your number], then {{numeric_alias}} #<br> <br> {{alias_uuid}}<br> </div> |
Placeholder instructions text |
The text that is added by VMR Scheduling for Exchange to email messages when the actual joining instructions cannot be obtained. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting will be hosted in a Virtual Meeting Room. Joining instructions will be<br> sent to you soon in a separate email.<br> </div> |
Accept new single meeting template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has successfully scheduled a new single meeting. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting has been successfully scheduled using the aliases: {{alias}} and {{numeric_alias}}.<br> </div> |
Accept edited single meeting template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has successfully scheduled an edited single meeting. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting has been successfully rescheduled using the aliases: {{alias}} and {{numeric_alias}}.<br> </div> |
Accept new recurring meeting template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has successfully scheduled a new recurring meeting. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This recurring meeting series has been successfully scheduled.<br> All meetings in this series will use the aliases: {{alias}} and {{numeric_alias}}.<br> </div> |
Accept edited occurrence template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has successfully scheduled an edited occurrence in a recurring series. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting occurrence in a recurring series has been successfully rescheduled using the aliases: {{alias}} and {{numeric_alias}}.<br> </div> |
Accept edited recurring meeting template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has successfully scheduled an edited recurring meeting. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This recurring meeting series has been successfully rescheduled.<br> All meetings in this series will use the aliases: {{alias}} and {{numeric_alias}}.<br> </div> |
Reject invalid alias ID text |
The text that is sent to meeting organizers when VMR Scheduling for Exchange has failed to schedule a meeting because the alias ID in the meeting email is invalid. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting request does not contain valid data, and cannot be processed.<br> Please create a new meeting request, without editing any of the content that is inserted by the add-in.<br> If this issue continues, please contact your system administrator.<br> </div> |
Reject alias conflict template |
A jinja2 template that is used to produce the message sent to meeting organizers when VMR Scheduling for Exchange has failed to schedule a meeting because the alias conflicts with an existing alias. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> We are unable to schedule this meeting because the alias: {{alias}} is already <br> in use by another VC-Connect Virtual Meeting Room. Please try creating a new meeting.<br> </div> |
Reject alias deleted text |
The text that is sent to meeting organizers when VMR Scheduling for Exchange has failed to schedule a meeting because the alias for this meeting has been deleted. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> We are unable to schedule this meeting because its alias has been deleted.<br> Please try creating a new meeting.<br> </div> |
Reject recurring series in past text |
The text that is sent to meeting organizers when VMR Scheduling for Exchange has failed to schedule a recurring meeting because all instances occurred in the past. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This recurring series cannot be scheduled because all<br> occurrences happen in the past.<br> </div> |
Reject single meeting in past text |
The text that is sent to meeting organizers when VMR Scheduling for Exchange has failed to schedule a meeting because it occurred in the past. Default: <div style="font-size:11.0pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif;"> This meeting cannot be scheduled because it occurs in the past.<br> </div> |
Exchange Domains |
|
Domain |
The FQDN of the Microsoft Exchange server that is configured in the EWS URL field. For Office 365 deployments this will be outlook.office365.com. If you have an on-premises Microsoft Exchange deployment with more than one Microsoft Exchange server, you must select Add another Exchange Domain and add the FQDN of each. |
* If you change this setting, your VC-Connect provider must re-generate and provide you to re-install the add-in XML file. |
Using Multiple VC-Connect Exchange Server Connections
Different groups of users within the same Microsoft Exchange deployment
You can provide different groups of users within your Microsoft Exchange deployment with different options when using the VMR Scheduling for Exchange feature. For example, you may wish to use different text for the joining instructions. To do this, create multiple VC-Connect Exchange Server connections that connect to the same Exchange environment. (Note however that each VC-Connect Exchange Server connection must have a separate room resource.)
Each VC-Connect Exchange Server connection that you create will have an associated add-in which you can then make available to specific users by using Exchange PowerShell commands.
The diagram below shows the VC-Connect cloud deployment with two VC-Connect Exchange Server connections to the same Microsoft Exchange deployment. Each VC-Connect Exchange Server connection uses the same EWS URL and is configured with the FQDNs of all the Exchange servers in the Exchange deployment.
The first connection provides an add-in for sales staff; the second provides an add-in for development staff. Both add-ins are uploaded to Microsoft Exchange, but each user will only see the add-in relevant to their group.
Making the Scheduling Add-in Available to All Users
This section explains how to make the VC-Connect VMR Scheduling for Exchange add-in available to Outlook users from their desktop and webapp clients. This involves uploading an XML manifest file to your Microsoft Exchange deployment.
These instructions explain how to make the same add-in available to all users in your Exchange deployment. For information on how to make a specific add-in available to a particular group of users, request further information from your VC-Connect Partner.
Upload the Add-in XML File to Microsoft Exchange
You must now upload the add-in XML manifest file to your Microsoft Exchange deployment:
- Log in to the Exchange Admin Center (EAC) and select organization > add-ins.
- Select the add icon (+) and then Add from file.
- Browse to the manifest XML file and then select Next.
The VC-Connect add-in will appear in the list.
- Double click the VC-Connect add-in to edit it.
- Select Make this add-in available to users in your organization.
- Select either Optionally, enabled by default or Mandatory, always enabled.
- Select Save.
Now, when users access Outlook, the VC-Connect VMR Scheduling for Exchange add-in will be available for them to use to schedule meetings in VC-Connect VMRs. The add-in will be available to all Outlook users in your deployment unless you choose to restrict it to certain users (contact your VC-Connect Partner for further instructions).
Comments
0 comments
Please sign in to leave a comment.