Background to Microsoft Teams Room Systems
With the release of Microsoft Teams, Microsoft has introduced the use of Microsoft Teams Room Systems. Microsoft Team Room systems build upon the experience of Skype for Business certified devices and ultimately take them even further with even more integration into Microsoft 365. The units are now capable of integrating into Intune and you can administer through Microsoft Teams admin centre.
What is it we need?
Microsoft Teams Room System
First things first, we need a Microsoft Teams Certified Room System. The room systems have been around for some time and have matured as a product. Original Room Systems supplied by companies like Logitech as a Smart Dock required you to build a Microsoft Surface Pro running Windows 10 into a docking station provided. You can then use that as your Microsoft Teams Room System. Thankfully the devices have matured significantly; they now run a hardened Windows 10 IoT that allows you to partially configure before they arrive at your location and then signed in and updated through the normal provisioning services. This is a massive improvement in historical systems.
Standard: The most straightforward license we require is a Meeting Room License; there are two versions of the license. The standard license, which retails at $15 per month, includes integration into Skype for Business, Microsoft Teams, a Microsoft Phone System license, Microsoft PSTN audio conferencing, Microsoft InTune, and worldwide availability.
Premium: The premium license, which is a hefty $50 per month, comes with everything included in standard plus Microsoft Teams Room Managed Services. With the Premium managed services means that you get your room systems automatically updated, the devices are reviewed to see if they have any issues located on them, they are monitored all the time. We get intelligent dashboarding that indicate where the issues are and what needs to happen to keep the devices healthy. You can see in the enclosed example that the outline of what an unhealthy Meeting room system looks like and how it is currently suffering from the USB Camera being removed.
The outputs from these services can then be made into alerts which then can also be made into automated remediation activities which resolve some of the incidents on your behalf.
These services can also be made part of a ServiceNow integration, where Microsoft will provide an automated tier 1 support and will provide rudimentary troubleshooting and will provide incident diagnostics and prescriptive guidance with simple cause and actions.
You also get enhanced insights about how the systems are being used. Daily reports and dashboards around the performance of the room and the daily activities as well as trend analysis.
You can get a lot out of the Premium License but it certainly does come at an additional price. This would need to be weighed into the overall solution.
Summary of what is required:
- License (Meeting Room Standard or Premium)
- Administrator Rights with Office 365 Tenant – significant enough to create a meeting room within Exchange, assign licenses, and enable Microsoft Teams. In this scenario, I’ve used a global admin account.
How to enable a Microsoft Teams Room System:
From PowerShell as an admin:
You’ll need the Exchange Online PowerShell Module
You’ll need the Microsoft Azure Active Directory Module
You’ll also need the Skype for Business Online Module
Connecting to Microsoft 365:
$skype = New-CsOnlineSession
Once all the pre-requisites are completed, and you can sign in successfully into Microsoft Teams, Exchange online. The Azure active directory services, the SKU list will need to be validated.
Validate meeting room licenses, validate MEETING_ROOM appears, in this scenario, we are applying a Standard Meeting Room license.
Assigning the variables:
In this scenario, I have created a new meeting room within Exchange online.
- $newRoom This exchange meeting room has an alias of email@example.com. This is the address we will use to sign in to the Microsoft Teams room.
- $name The name of the meeting room is known as Microsoft Teams Room; however, this is likely to be something similar to – Ground Floor Meeting Room 1 or similar at your locations.
- $pwd Password is submitted the first time in the exact text. You can configure this to auto-renew or to auto change in the future where the device and Azure AD can allow the device to change passwords regularly to adhere to your security policies.
- $license The Meeting Room license type, which we have identified in the Get-MsolAccountSku as above.
- $location The last bit of information is the location in which your meeting room resides. In my scenario, the device is located in the United Kingdom, so GB’s location will be used.
Configure the following for attributes for each meeting room required:
$name="Microsoft Teams Room"
Creating a new mailbox for the room
Once you’ve set the variables, you can create the meeting room.
New-Mailbox -MicrosoftOnlineServicesID $newRoom -Name $name -Room -RoomMailboxPassword (ConvertTo-SecureString -String $pwd -AsPlainText -Force) -EnableRoomMailboxAccount $true
The replication warning is not uncommon; it is purely a warning and not a failure.
After 30 seconds to let Office 365 replicate through and in this commandlet, we assign the password never to expire and we are setting the usage location.
Set-MsolUser -UserPrincipalName $newRoom -PasswordNeverExpires $true -UsageLocation $location
Assign the Microsoft Meeting Room License:
Assigning the Microsoft Meeting Room license will allow the mailbox/meeting room account to become active.
Set-MsolUserLicense -UserPrincipalName $newRoom -AddLicenses $license
Setting a mailbox tip
I find setting a mailbox tip helps when someone books a room so they know that the room is ready to be used as such, clearly this information can be amended to suit your organisation. This is a sample of one used previously.
Set-Mailbox -Identity $newRoom -MailTip “This room is equipped to support Microsoft Teams meetings”
Enabling automatic calendar invites
It’s good to have an automated response and an automatic acceptance if the meeting room is free by best practice.
Set-CalendarProcessing -Identity $newRoom -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -RemovePrivateProperty $false -DeleteComments $false -DeleteSubject $false -AddAdditionalResponse $true -AdditionalResponse "Your meeting is now scheduled and if it was enabled as a Microsoft Teams Meeting and provide a seamless click-to-join experience from the meeting room."
Finding Registrar Pool
First, we need to know what the online registrar pool is. To do this we run the following commandlet.
Get-CsOnlineUser |ft RegistrarPool
Enable the meeting room for Microsoft Teams
Using the information found above, the meeting room is then enabled to use Microsoft Teams.
Enable-CsMeetingRoom -Identity $newRoom -SipAddressType “EmailAddress” -RegistrarPool “sippoolAM41E04.infra.lync.com“
Outbound PSTN Calling
On some occasions, a meeting room may need to make outbound calls to a telephone number. On these occasions, the following PSTN configuration will need to be made.
Set-CsMeetingRoom -Identity $newRoom -EnterpriseVoiceEnabled $true
If outbound calling is required – Assign Calling Plan, in this example, a PSTN2 calling plan is assigned.
Set-MsolUserLicense -UserPrincipalName $newRoom –AddLicenses “wynnware:MCOPSTN2“