There are few technologies that we can say have broken down all barriers when it comes to communicating with anyone else on the planet: sending a letter, sending an email, making a phone call – all great examples. If I’m doing any of these, I don’t have to enquire beforehand to find out what system or technology the far end is using: I just need their unique contact details (address, email address or phone number respectively) and away I go – I’m communicating.

From a video conferencing perspective however, this is far from the case. Today, there are a number of competing technologies and platforms that don’t allow easy communication between themselves: a video call between Microsoft Teams and Zoom for example. There have been some efforts made to allow one platform to join meetings on another: Microsoft’s Direct Guest Join for example, but there have been limitations with these approaches – only being able to leverage a single screen for Direct Guest Join calls in a dual screen Microsoft Teams room is one example, and only allowing a guest experience in the 3rd party platform another.

Interop with “legacy” conferencing protocols

In today’s business environment, organisations typically select one of only a handful of cloud-based conferencing platforms to support video conferencing: Microsoft Teams, Zoom, or Cisco Webex. There’s more of course, but these are by far the most common. Each of these have their own proprietary approach to providing video conferencing services, and aren’t necessarily based on an industry standard when we look at what protocols are under the hood of each platform. This wasn’t always the case however: there was a time when video conferencing did adhere to standards, which made interop a little bit simpler.

Side Bar – SIP and H.323

Without getting too much into the technical, it is important that I clarify what I mean by “standard-based” SIP and H.323 when it comes to video conferencing. In essence, the term “standards-based” refers to any video conferencing endpoint that uses either the SIP or H.323 protocol to communicate with other endpoints using SIP or H.323 – natively. They don’t necessarily have to be from the same vendor for these calls to work, as a common standard is being adopted by each respective vendor:

Now, anyone that’s using one of the online conferencing platforms mentioned early may be wondering why we’re still talking about SIP and H.323, and what it has to do with video conferencing interop. Well believe it or not, there are still plenty of platforms and endpoints out there that use standards-based based SIP or H.323 that we’d love to be able to integrate with from a Microsoft Teams room perspective. In addition, many of the online platforms also often provide a standards-based method to connect to their meetings. For example, here’s a Zoom meeting invite offering standards-based SIP or H.323 meeting join details:

If we were to receive a meeting invite from any meeting platform we’re not familiar with, and they offered a standards-based SIP\H.323 meeting join capability, wouldn’t it be great if we could use that to join that meeting directly from a Microsoft Teams Room?

Wait – don’t we have standards-based interop already?

For organisations that have standardised on Microsoft Teams Room solutions, we have been able to offer interoperability between Teams and standards-based endpoints for some time: Cloud Video Interop. Cloud Video Interop (CVI) is a Microsoft Qualified third-party solution that enables third-party SIP and H.323 video room devices (VTCs) to join scheduled Microsoft Teams meetings. The architecture looks like this:

This service worked by adding additional meeting join info into a Teams meeting invite, allowing a 3rd party to join my Teams meeting from a standards-based video conferencing endpoint.

Here’s an example Teams meeting invite, showing standards-based meeting join info:

As outlined above, it’s important to reiterate the specific scenario that Cloud Video Interop supports:

  • Allow a standards-based endpoint to join my Microsoft Teams meeting
  • Must be a scheduled Teams meeting

The piece that’s been missing is the ability to make and receive a one to one, ad-hoc, standards-based video call.

Introducing SIP\H.323 Calling for Microsoft Teams Rooms – Powered by Pexip

In partnership with Pexip, Microsoft has unveiled additional capability that builds on top of what CVI was able to provide: SIP and H.323 calling with Microsoft Teams Rooms. This allows both inbound and outbound video calls between a Microsoft Teams Room on Windows system and a standards-based SIP\H.323 endpoint\conference, and supports audio, video, and content sharing in both directions.

Prerequisites

Before you can use this feature, there are of course some prerequisites, namely:

  • This is only available on Microsoft Teams Rooms on Windows based solutions (no Android support)
  • The room must have a Microsoft Teams Room Pro license assigned
  • Teams Room software needs to be at least 4.17.51.0
  • You must have purchased the interop service from Pexip\Poly

Poly?

For those that may have been using Cloud Video Interop in the past, you may be familiar with Poly(com) and the interop service they were offering (here are details on the “traditional” CVI service and who was offering it).

Moving forward, Poly will continue to offer CVI as well as the latest 1:1 SIP\H.323 calling capabilities we’re talking about here, but the service is powered by Pexip:

Pexip Licensing

Looking at what’s required licensing wise from Pexip, you’ll need one of the following:

Enterprise Room Connector Premium

  • Minimum 10, per room license, one year pre-pay
  • Has traditional CVI, plus MTR SIP\H.323 Dialling included
  • Includes Custom Domain x 2, Custom Branding
  • Plus a lot more features and capabilities that may not be relevant to you if you’re using Microsoft Teams Rooms exclusively in your environment

OR

MTR Calling License

  • Minimum 25, per room license, one year pre-pay
  • Also requires Custom Domain License (required for each unique MTR domain)
  • The more likely choice for pure Microsoft Teams Room environments

Setup – Pexip Consent

Once you have licensing in place from Pexip (or Poly), you’ll receive an email requesting consent to authorise Pexip CVI applications within you Microsoft 365 Tenant:

Note that the next step will require Global Administrator permissions to proceed:

Here are the permissions you’ll need to accept:

Once accepted, you receive the following notification:

Setup – Microsoft Teams

Once the Pexip service has been authorised within your Tenant, you’ll need to setup Pexip as a Teams Video Interop Service Provider. Details for the Tenant Key, Instruction URI and Application ID will be contained within the page displayed by Pexip once admin consent has been granted. Here’s the Teams PowerShell:

New-CsVideoInteropServiceProvider -Name Pexip -TenantKey "teams@domain.onpexip.com" -InstructionUri "https://pexip.me/teams/domain.onpexip.com/{ConfId}" -AllowAppGuestJoinsAsAuthenticated $true -AadApplicationIds "923c9f0a-b883-4efe-af73-54810da59f83"

Once created, you will also have to create a Teams Room Video Tele Conferencing Policy that will be assigned to resource accounts associated with Teams Rooms where you want to enable SIP\H.323 dialling. This is where you also have some control on what you want the room to support, for example you may want the room to be able to make SIP\H.323 calls to external participants, but not receive. The following example allows both inbound and outbound:

New-CsTeamsRoomVideoTeleConferencingPolicy -Identity "TurnOnSIPH323" -Enabled $true -AreaCode "923c9f0a-b883-4efe-af73-54810da59f83" -ReceiveExternalCalls Enabled -ReceiveInternalCalls Enabled -PlaceExternalCalls Enabled -PlaceInternalCalls Enabled

And finally, make sure you grant the policy created above to each of the resource accounts with Teams Rooms you want to enable this capability for:

Grant-CsTeamsRoomVideoTeleConferencingPolicy -Identity “mymtrroom@domain.com.au" -PolicyName "TurnOnSIPH323"

Note that, in my testing, it takes around 15-30 minutes after granting the policy before the functionality is available.

Placing a Call

From your Microsoft Teams Room (Windows) touch panel, click on the Call button:

From there, you should now see a drop down in the top left of the screen that allows you to select SIP or H.323:

In this example, I’m dialling a handy test service Pexip make available: test@pexip.me. This works for test calls using SIP or H.323:

You can see in the call setup screen that the Teams Room system is dialling the Pexip interop bot:

And when connected, your front of room screen will show this:

Before showing you this. Makes it easy to test audio and video is functional in both directions:

Receiving a Call from a SIP\H.323 endpoint

Everything shown above is all you need if you only want to support outbound calls to standards-based SIP\H.323 endpoints from your Microsoft Teams Room. If you also want to support inbound calls direct to your Microsoft Teams Rooms from SIP\H.323, there’s some additional configuration:

Setup – DNS

The following DNS records are required to point inbound standards-based calls to the Pexip interop service:

  • _sip._tcp.domain.com 10 100 5060 ygg-dial1.vp.vc
  • _sip._tcp.domain.com 50 100 5060 ygg-dial2.vp.vc
  • _sips._tcp.domain.com 10 100 5061 ygg-dial1.vp.vc
  • _sips._tcp.domain.com 50 100 5061 ygg-dial2.vp.vc
  • _h323cs._tcp.domain.com 10 100 1720 ygg-dial1.vp.vc
  • _h323cs._tcp.domain.com 50 100 1720 ygg-dial2.vp.vc

If you’re not sure if records already exist in your environment for these services (sometimes the case, or may also be old records not in use anymore), Pexip provide the following handy tool to check: https://dns.pexip.com.

Enter in your domain, and you will see what’s configured\confirm the above records have been configured correctly:

Setup – Pexip

Once in place, there is some backend configuration that Pexip need to complete to support inbound dialling. Your Pexip partner will reuest this for you as part of the setup process.

Setup – Teams Policy

And finally, make sure that the Teams Room Video Tele Conferencing Policy allows the Teams Room system to receive an external call:

New-CsTeamsRoomVideoTeleConferencingPolicy -Identity "TurnOnSIPH323" -Enabled $true -AreaCode "923c9f0a-b883-4efe-af73-54810da59f83" -ReceiveExternalCalls Enabled -ReceiveInternalCalls Enabled -PlaceExternalCalls Enabled -PlaceInternalCalls Enabled

Receiving a SIP\H.323 Call

With all that in place, you should now be able to receive a SIP\H.323 call to your Microsoft Teams Room. Here’s an old but reliable Polycom Convene I recruited for this demo – dialling the MTR room address:

This is what appears on the Teams Room touch panel:

Front of room:

And finally, when the call is connected, touch panel:

Front of room:

Future Capability

At time of writing, there was one important feature yet to land, and that’s DTMF support. This is important in scenarios such as entering in a meeting PIN once you have joined a standards-based meeting.

Currently this is in tech preview, but you can check it out here:

Hope you found this useful – get in touch of you have any questions or are interested in getting this setup in your environment.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.