Several previous articles on this blog have outlined the required configuration of Exchange mailboxes for use with native Microsoft meeting room solutions for Microsoft Teams and Skype. There are also some articles which cover the configuration for mailboxes for use with standards-based video conferencing solutions from Poly and Cisco which support Microsoft Exchange to display and join scheduled Skype and Teams meetings.
All of these articles share a common and often overlooked configuration setting that is worth spending a little more time on: the DeleteComments parameter as defined on Exchange mailboxes via the Set-CalendarProcessing PowerShell cmdlet. This parameter must be set to a value of “$false” in order for most conferencing solutions to properly process the various type of meeting invitations. Yet the default value on this parameter for mailboxes in Exchange is ‘$true‘.
What this means is that Exchange will delete the entire contents of the message body when it arrives in this destination mailbox. That can prevent various meeting room solutions from joining the meetings from the calendar. In these scenarios the resolution is to simply run the Set-CalendarProcessing cmdlet against the affected resource mailbox to disable the DeleteComments parameter.
Set-CalendarProcessing -Identity firstname.lastname@example.org -DeleteComments $false
As this change only applies to inbound messages then a new meeting will need to be created and booked with the updated resource mailbox in order to see any improvement. Existing meetings in the mailbox’s calendar, individual or reoccurring, would still be missing the previously-stripped information in the body of the message.
This is a critical configuration parameter which is often times the only thing preventing various meeting room solutions from successfully connecting to Microsoft Teams or Skype meetings. Issues are typically more prevalent when using standards-based video conferencing systems with Cloud Video Interop (CVI) or other on-premises interoperability solutions, like RealConnect for Clariti, but native endpoints can also sometimes be negatively impacted.
The root of the issue is that Skype and Teams invitations includes important meeting information that is used by various clients and services differently. Information can be stored in the body of the invitation, where it can be seen by people and machines alike, and/or in the header of the email where it is hidden away from people, but not machines. And as meeting invitations are forwarded, both internally and externally between different organizations, some of this information can often be modified or even stripped completely from the message. This could prevent meeting rooms from joining scheduled meetings.
One example is in the earlier days of Microsoft Lync many of the native software clients and devices like Lync Phone Edition would provide the single-click join experience by looking for information stored in a specific parameter in the invitation’s header. But, if that invitation came from a different organization then the ‘Join’ button would not appear on those meetings in the calendar. This was due to fact that external delivery of that message would usually strip the needed MAPI properties in the header as the sender organization’s SMTP platform typically had Transport Neutral Encapsulation Format (TNEF) disabled. This was problematic as the workaround was something which must be applied in the sender’s environment, not on the receiving end so asking every other organization to apply these changes is not very scalable. Microsoft eventually addressed this issue in the various Lync clients by adding support for parsing additional information in the meeting invitations to correctly locate and join the scheduled meeting when the header information was lost. This was done by simply looking at the body of the message to identify the Skype meeting URL (e.g. https://meet.domain.com/user/ID) that is embedded in the “Join Skype Meeting” link.
Other solutions are also programmed to look at meeting information that is provided in the body of the message. Poly Trio is one endpoint example and the Poly One Touch Dial (OTD) service is another. Retaining the body of the meeting invitation is especially important when dealing with the various CVI solutions as their companion message processing services will look for information which they expect to see in the body.
To illustrate this take note of just how much different information is provided in the body of a Skype meeting or Teams meeting invitation. Embedded URLs for native clients, audio conferencing IDs which several third-party solutions can leverage, and video conferencing details provided for accessing the various CVI solutions.
When a client or device needs to leverage any of the information above it obviously needs to be available in the invite. Just because it was included in the original invitation though does not necessarily mean that it will still be intact by the time a recipient sees it, which brings the discussion back to the Exchange mailbox configuration.
Regular user mailboxes (which do not normally include automatic processing rules like resource mailboxes) will typically not have any issues seeing this information, thus when devices are using a regular user account everything seems to work fine. But when tested with an existing resource mailboxes in an organization is when issue can occur, most often because when the resource mailbox was originally created for a regular conference room there was no device using that mailbox and no additional custom configuration was applied. The mailbox was only setup to perform standard resource booking duties, and typically no one ever looks at the invitation details in the rooms account, it is only used as a placeholder for reserving the room. The default behavior in Exchange Server and Exchange Online has always been to trim the amount of unneeded data on every invite sent to a resource mailbox.
The configuration can be verified by looking at specific Calendar Processing parameters on mailboxes which were created using different methods. Mailboxes created using basic process like the Room & equipment section of the Microsoft 365 admin center or using “New-Mailbox –Room” in PowerShell will be setup by default to wipe the body of any emails sent to those mailboxes.
- Use the following Exchange PowerShell cmdlet to review the related parameters on a standard resource mailbox in the organization (e.g. email@example.com).
Get-CalendarProcessing -Identity “firstname.lastname@example.org” | fl Add*,Delete*,Remove*
Note that DeleteComments is set to True in the output above.
But when a resource mailbox is created using the correct process it should have had the DeleteComments parameter specifically disabled, along with a few other required and optional changes.
- Use the following Exchange PowerShell cmdlet to review the related parameters a customized resource mailbox in the organization (e.g. email@example.com).
Get-CalendarProcessing -Identity “firstname.lastname@example.org” | fl Add*,Delete*,Remove*
Because this second mailbox was created using the suggested approach then meetings sent to it will not have the invitation details removed as DeleteComments is set to False.
Other recommended settings for resource mailboxes used by meeting devices are covered in the Microsoft documentation, but most of them are optional changes as they apply to features like meeting conflict handling, automated responses, and privacy options which all may vary based on an organization’s requirements.
|AddOrganizerToSubject||True||False||Would append the meeting organizer’s name to the subject, but both native endpoints and OTD-supported VTCs will already display the organizer’s name in a defined field so this parameter should be disabled.|
|DeleteComments||True||False||As previously outlined, this parameter must be disabled for nearly all meeting room platforms to function correctly with all supported invites.|
|DeleteSubject||True||False||It is optional in most cases to disable this as the Subject line typically does not include information related to joining the meeting. In some scenarios if an audio conferencing dial-in number is provided in the subject a system may be programmed to parse those digits and call into the meeting.|
|RemovePrivateProperty||True||False||For room systems (and the OTD service) which support hiding sender and/or meeting details from the device’s on-screen calendar for meetings marked as private this parameter must disabled for that feature to function.|
|AddAdditionalResponse||False||True||This is an optional setting which enables a custom message to appear in Outlook when including the mailbox in a meeting invitation.|
|AdditionalResponse||<null>||Custom Message||If the parameter above is enabled then this parameter should also be defined with a custom text message.|
8 thoughts on “Exchange Resource Mailbox Configuration for Meeting Rooms”
Good morning, Jeff.
I am in a little of a conundrum. I am piloting a couple Polycom Trios to be used as a Skype for Business profile, and I have two test units here with me, one on the latest firmware (220.127.116.1135), and the other on an older version (18.104.22.16821).
They were both on the older version and working just fine. I upgraded the one to test the latest firmware, and though I CAN log into the phone, it will no longer connect to the exchange. My vendor had stated back in November when this occurred that it was due to OAuth2.0 not being enabled tenant wide. I just received word that that has now been resolved and taken care of, yet, I still receive a message stating, “Warning: Failed to connect to Exchange server. Re-enter credentials to access Exchange services.” I do re-enter the credentials, but after about 30 seconds it will fail to connect to the exchange again.
I did try connecting using the web interface, but I get a message stating, “Unable to fetch user credentials.” So I’m not sure what that is about. It appears I can only log in using e-mail credentials.
If you have any direction you can point me, that would be great!. Thank you.
Kevin, I don’t know what could be causing as this so I suggest that you open a support ticket.
After a successful configuration of Microsoft Teams on gs500 codec, my calls couldn’t connect while using the OTD on the screen.
Kindly run me through on how to achieve this. I want to be able to join directly from the calendar showing on the screen
This article covers setting up the Group Series with RealConnect for Teams: http://blog.schertz.name/2019/10/poly-group-series-with-microsoft-teams/
[…] Make sure that you have looked at the setup of your account and you have followed the suggested setup per the Microsoft Documentation found here. There is even a PowerShell script to enable making the account correctly even easier and it can be found here. You can also find a full article on making the account by Jeff Shertz found here.” […]
Is there any way to update the defaults at the organization level (Exchange on-prem) so any new room created using the EAC will have the same configured options?
No, you need to use PowerShell to create mailboxes for meeting rooms to define the correct values.
Great article and thanks for all your effort in answering peoples concern. I have just recently set up a new logitech tap for one of our meeting rooms for Doctors. Everything seems ok but had few issues as
1. cannot invite the device to a meeting as not coming up in my search for attendee
2, its coming up with an error “cannot fetch calendar”
is there anything i have done wrong? as when i used this account on the web i can access the calendar.