Hello Readers, I hope you’re well.

I’ve written about Cloud Video Interop (CVI) before using the Pexip service. So I don’t need to give you the whole background. Not a lot has changed in the space.

There are still only three vendors for Cloud Video Interop for Teams.  Pexip, Poly and Bluejeans.

PartnerPartner solution
The logo representing Polycom RealConnectPolycom RealConnect Service
The logo representing Pexip InfinityPexip Infinity for Microsoft Teams
The logo representing BlueJeans GatewayBlueJeans Gateway for Microsoft Teams

Microsoft announced last that they are adding to that list. The first being Cisco Webex – See post here

Cisco Webex will introduce an interop solution that will be certified as a Microsoft Cloud Video Interop (CVI) solution. This offer will allow Cisco Webex Room devices and SIP video conferencing devices to join Microsoft Teams meetings with a reliable interop experience… This solution is expected to GA in early CY20.

This should be interesting. Cisco and Microsoft are working on other solutions for tighter integration including native join to a Webex Teams meeting from a Microsoft Teams Room and native join for a Webex Teams Room to a Microsoft Teams meeting.

How to configure Bluejeans CVI

Like the Poly and Pexip CVI solutions, the Bluejeans CVI Service runs in Azure, which means there is very little to do to make it work.

Step 1 – Prerequisites

Admin Rights

It might go without saying, but I’ll say it anyway. You need an account with admin rights for your Microsoft 365 tenant. Global admin works if you have it.

Firewall Ports

If you have VTCs in your office that you want to use in Teams meetings via the Bluejeans Teams Gateway, they will need internet access and access to the following ports and protocols.

Firewall ports for VTCs

Step 2 – Gateway permissions/admin consent

You’ll need to grant admin consent for the Bluejeans Gateway to be able to provide services to your Microsoft 365 tenancy. You’ll need to accept this Consent Form as an admin. You’ll be prompted with a Microsoft Permissions window.

pick an account

Now click on accept to grant the required permissions

Gateway permissions

After you accept you’ll be redirected to the Bluejeans homepage.

Step 4 – Connect to Skype Online PowerShell

The next few steps are done using PowerShell. Open your preferred ISE as admin and connect to the Skype Online PowerShell. I have a script that I use to connect to Skype Online.

You need to run this first to save your password as an encrypted file

# Enter your password when prompted
Read-Host “Enter Password” -AsSecureString | ConvertFrom-SecureString | Out-File “C:\Password.txt”

Next – Authenticate and connect to a new Skype for Business Online PowerShell session

# Variables
$Username = “admin@yourdomain.com”
$Password = cat “C:\Password.txt” | ConvertTo-SecureString
$Credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username, $Password

# Connect to a new session and import it
$SfBOSession = New-CsOnlineSession -Credential $Credentials
Import-PSSession $SfBOSession -AllowClobber -erroraction silentlycontinue -warningaction silentlycontinue 

# Silently Continue after the hour is up

Step 5 – Set up the service

You should have received an email from Bluejeans with details on how to access your admin account and the tenant key to use in the next step.

Run this command to add a new CVI provider to your tenant. The TenantKey is the “Tenant Key from the above email”@teams.bjn.vc.

# Add a new cloud video interop service provider
New-CsVideoInteropServiceProvider -Name BlueJeans -TenantKey 12345678@teams.bjn.vc -InstructionUri https://support.bluejeans.com/knowledge/vtc-dial-in-options-for-teams

You’ll get a confirmation

This is optional, but if you want VTCs to bypass the lobby, run the following

Set-CsVideoInteropServiceProvider -Identity BlueJeans -AadApplicationIds 363e7c1b-ca85-4765-bd62-f77a096c407d -AllowAppGuestJoinsAsAuthenticated $true
# Verify
Get-CsVideoInteropServiceProvider -Identity Bluejeans

Note: functionality requires the ‘Trusted Room’ feature be enabled for your Enterprise Group; contact Support for more information.

Once done you should see the following

Step 6 – Enable the service

Run the following command to grant a single user the BluejeansServiceProviderEnabled Teams Video Interop Policy

# Enable the service for a single user.  This will override the global policy
Grant-CsTeamsVideoInteropServicePolicy -PolicyName BlueJeansServiceProviderEnabled -Identity first.last@yourdomain.com
# Verify that the policy has been applied to the user
Get-CsOnlineUser -Identity first.last@yourdomain.com | fl UserPrincipalName,TeamsVideoInteropServicePolicy
# or
# Verify all the users with the policy applied
Get-CsOnlineUser -Filter {TeamsVideoInteropServicePolicy -eq 'BlueJeansServiceProviderEnabled'} | Select UserPrincipalName

You’ll get the following as confirmation


If you want to enable the service for a specific department, run the following

# Enable a department
Get-CsOnlineUser -Filter {Department -eq 'Sales'} | Grant-CsTeamsVideoInteropServicePolicy -PolicyName BlueJeansServiceProviderEnabled
# Verify
Get-CsOnlineUser -Filter {TeamsVideoInteropServicePolicy -eq 'BlueJeansServiceProviderEnabled'} | Select UserPrincipalName

If you have an enterprise wide license or concurrent licensing you can enable the service for all users. If you want to enable it for everyone, run the following to make the policy global.

# Enable everyone
Grant-CsTeamsVideoInteropServicePolicy -PolicyName BlueJeansServiceProviderEnabled -Global

Then wait a Teams Minute for replication.  If you don’t know what a Teams Minute is, it is the elapsed time between configuring anything in Teams admin and for the setting to be live.  It could be a few minutes or a couple of days depending on what your changing.

And that’s it. That took perhaps 2 minutes (plus a Teams Minute) from start to finish.

Testing the service

First thing you need to do is schedule a meeting. Make sure it is a Teams meeting.

New Teams meeting

Then verify that the invitation includes the Bluejeans join details.

Teams Join details

Join the Teams meeting as the organizer in Teams.

Join the meeting from your VTC. I’m using the Poly Real Presence Desktop as my VTC. Simply enter the join address.


Then enter the “VTC conference ID” of the Bluejeans meeting from the join instructions.

I used the dial pad to dial the ID, followed by hash

Once the ID is accepted, you should see a confirmation that you are joining the meeting. In my case, because I don’t have the “Trusted Room” feature, my “VTC” entered the meeting in the lobby.

Back in the Teams meeting, I simply have to admit the room from the lobby.

admit the VTC

You can also go in as the user and change the lobby settings for the meeting. Set it to everyone so the VTC bypasses the lobby.

meeting options

You can also join the meeting using the full dial string
as – {tenantkey}.{conferenceid}@teams.bjn.vc

e.g. 123456789.1274150785@teams.bjn.vc

Since the organizer set the meeting to allow everyone to bypass the lobby, Entering the full dial string means you should go straight in to the meeting.

Once you’re in the meeting, you’ll get audio, video and content such as screen or document sharing from the Teams meeting. If your VTC allows screen sharing, you can present into the Teams meeting too. This content can be viewed by everyone in the meeting, no matter how they joined.

What else is there to know?

The first thing to say is that there is an admin page for fine tuning your service. And it’s called a COMMAND CENTRE.


As you can see, there’s a dashboard which includes tiles for various things like ports and details about VTCs. My tiles have an error

And if you click show details you get

If you click send feedback you get a curious message stating that there’s an issue and to contact AWS premier support.

You also get meeting history in the command centre

If you drill in to one of them you get more detail including a summary

and call characteristics. Which is a fancy way of saying meeting performance. You get a nice graph of the meeting timeline showing packet loss and jitter

You also get to see meetings in progress

Anything else?

The last thing in the admin guide is a section on the Bluejeans Relay service

Bluejeans Relay is a software solution that integrates customer-premise components and applications with the Blue Jeans cloud. Relay integrates calendar applications, conference room systems, and everyday tablet computers to make joining a BlueJeans meeting easy and automatic. With scheduled meetings displayed on the Relay Touch app, participants can touch to join meetings from most H.323- and SIP-based conference room system, with no need to dial, pair, or enter a meeting ID.

The Bluejeans Relay service is a lightweight Windows or Linux application that enables One Touch Dial for VTCs that support it. See here for a list of supported endpoints.

Here is a list from the relay admin page

The Listener service is installed as an application known as the listener service host. I don’t have a VTC to use so I won’t be enabling the service just yet. But the summary is that you have a listener service in the same site as the VTCs. You then add the details for each VTC and your calendaring service details to a portal which enables them for one touch join.

I think you can agree that having the ability to enable one-touch join on your legacy VTCs is awesome. What’s more is that the Bluejeans Relay service is FREE. I’ll see if I can get it working somehow and do a separate post on it.

First Impressions

I’ve only just scratched the surface on the Bluejeans Gateway for Teams. It is easy to set up (like all CVI solutions I’ve tested). It is easy to use. And I love that there is a command centre to tweak things and get stats on meetings.

But there are some differences…

One thing, at least in my testing, is that the Instruction URI is a generic page.

Pexip and Poly both have a page that is bespoke to the service and includes either the tenant key or conference ID or both in the URL. Might seem small, but if the landing page shows you exactly what to dial on your VTC it saves time and effort trying to look up the tenant and conference IDs.

Pexip allows you to use a SIP address which uses your own domain. You can use teams@yourdomain.com and enter the conference ID when prompted. This means you can simply add a contact on your VTC with a SIP address of teams@yourdomain.com. Alternatively, you can join with conferenceid@yourdomain.com to go straight in to a meeting.

I gather this is possible on the Bluejeans service, but I’m waiting for details on how to enable this. I’ll update once I have this set up.

I’ll probably do another blog post just on the possibilities in the command centre.

And that’s all for now. Hope you found this useful.