Properties to Point to Intelligent Communications Services
Has it ever crossed your mind what differences exist between a regular meeting event scheduled in an Outlook calendar and an online meeting hosted by Skype for Business Online or Teams? I must admit to not caring too much about this topic until a senior Microsoft engineer said that the difference lies in the properties of the meeting event created by Outlook. Normal meetings have a set of properties such as the meeting time, time zone, and attendees. Online meetings have these properties too, but also have a set of Intelligent Communications Services properties that tell Outlook how to connect users to the online meeting.
Although the assertion was entirely logical (of course Outlook needs to know how to connect to an online meeting), my curiosity was piqued and I looked a little further.
Scheduling an Online Meeting with Outlook
The key to scheduling an online meeting with Outlook is the add-in that the client automatically loads based on the user’s online configuration. If they use Skype for Business Online, Outlook loads the Skype for Business Online add-in; if it’s Teams, Outlook loads that add-in. Outlook won’t have to make the choice after July 31, 2021 when Skype for Business Online is retired.
Apart from adding a button to the calendar menu bar, the add-in serves one major purpose: when the user creates an online meeting, the add-in creates a meeting slot with the online meeting service and inserts the details of the meeting as a URI in the meeting body (Figure 1).
When the time of the meeting rolls around, the user clicks the URI. The target online service responds by opening a web page to allow the user join the meeting. The services differ in how they handle the link. For instance, if the Teams desktop client is logged into the home tenant of the user who created the meeting, the meeting starts in the desktop client. On the other hand, if the user is logged in as a guest to another tenant, Teams offers the option of joining with the with the desktop client or by opening the browser client. The flow is slightly different in the mobile clients, but essentially the key is the URI because it contains the necessary information for the application to connect to the meeting. An example of a URI created for a Teams meeting scheduled through Outlook is:
Outlook Meeting Properties
Outlook stores the information identifying an event as an online meeting as MAPI properties for an item in the Calendar folder of the mailboxes of meeting participants. You can see the properties with a utility like MFCMAPI, which reveals items like OnlineMeetingConfLink (Figure 2). This property contains the name of the meeting organizer among other information. According to Microsoft’s documentation, this is a Globally Routable User Agent URI (GRUU), or a link that can be used by a user agent (client) to connect to an online meeting. Because the description comes from the Microsoft Exchange ActiveSync protocol documentation, it’s probably a link designed for use by mobile clients that synchronize the calendar folder to a device.
Another interesting property is SkypeTeamsMeetingURI (Figure 3). This is the link that meeting participants use to join an online meeting. As the name suggests, the same property can be used by either Skype for Business Online or by Teams.
Other properties exist for online meetings that I don’t describe here. But the important point is that the difference between a regular meeting event created in an Outlook calendar and one that involves an online meeting are a set of properties holding information to allow clients to connect to the online service. Whether that quite counts as a connection to Intelligent Communication Services is another matter.
You might not need to know this kind of esoteric information right now, but there’s no doubt that filling in knowledge gaps around Office 365 apps makes it easier for people to understand how to work with the technology. Which is a great reason to subscribe to the Office 365 for IT Pros eBook and learn about stuff that might not be documented or explained elsewhere.