CVI migration from Cisco CVI to Pexip Connect (CVI)

This article explains how to migrate your CVI service from Cisco to Pexip. It covers:

Migration overview

The migration from Cisco CVI to Pexip CVI requires no direct changes be made on users’ computers, and, unlike many other IT migrations, can easily be conducted by an administrator at their own pace.

This guide is written for video conferencing administrators and highlights the changes seen by users, as well as changes performed by administrators. It recommends the order of the steps, and which steps are mandatory and which are optional.

Changes to the user experience

After migrating, users will see changes in three areas:

  • Teams meeting invitations from Outlook/Teams
  • In meeting user experience when joined from a video endpoint
  • New externally-created Teams meeting join capabilities from video endpoints

Invitation from Outlook/Teams

The visible change on the invitation your users send out is in the "Join with a video conferencing device" section. With the upgrade to Pexip your invitations can now contain your own company domain (with a Pexip premium plan), or a subdomain (yourcompany.onpexip.com), which replaces the previously displayed "m.webex.com" SIP address.

  • Example Teams IVR SIP address (Before): company@m.webex.com
  • Example Pexip Teams IVR SIP address (After): teams@yourcompany.com

User experience on the video endpoint

All users (internal and external) dialing in from video conference endpoints get a new upgraded experience. The specific experience depends on the plan you are on.

The old Cisco CVI in-meeting experience:

  • Active speaker, Overlay and Equal layouts.
  • No notification for participants waiting in the Teams lobby, hand raise or transcription.
  • Audio participants use the same amount of space in the video layout as video participants.

The new Pexip in-meeting experience:

For Premium customers, Pexip's new Teams-like layout is an AI based layout with advanced face detection that allows the perfect crop & zoom wherever the user is sitting in the middle, or a bit to the side of the picture. The video layout is the same as users know from their Teams clients, as well as from Microsoft Teams based meeting rooms. The layout supports purple speaking indicators, yellow raise hand indicator as well as other features, a few of which are highlighted below like spotlight, and special modes for single screen and dual screen devices.

The Teams-like layout can be set up to mix content into the main video for single screen endpoints or move other participants to the side when one site is spotlighted:

The Teams-like layout can also support video participants on both screens when there is no content being shared.

Non-Premium customers see our default 1+7 layout with one large active speaker and up to 7 PIPs. Audio participants are represented by their picture from Microsoft Entra ID which slides out when speaking:

Other layout variants you can request are: 1+7, 2x2, 3x3 or 1+0:

CVI migration process from Cisco CVI to Pexip Connect (CVI)

This section explains how to perform the CVI migration from Cisco to Pexip Connect.

First you consent to the Pexip CVI application and grant interop for your Pexip Teams CVI users, and then you can migrate your existing meetings to the new service. Full details are explained below.

Prerequisites

If you are a new customer on the Pexip service and/or you have not already configured your DNS records for the custom calling domain to use, and/or if you have not yet verified your Microsoft 365 domain, then this must be done. Please see Domain hosting DNS records and Verifying Microsoft 365 tenant domains for instructions.

To complete the setup steps below, you must have the Global administrator role in your Office 365 tenant.

Pexip Teams CVI setup and user migration

These instructions describe how to consent to the Pexip CVI application and grant interop for Pexip Teams CVI users.

  1. After requesting access to the service, you will receive an email asking you to authorize the Pexip CVI application. Click the link Initiate consent for your Tenant link.

  2. This opens a web page where you again need to click on Initiate consent for your Tenant.

    The tenant domain you consent with must be the same Microsoft 365 domain that you have previously verified via a DNS TXT record.

  3. Follow the instructions to log in with your O365 account and then click Accept when prompted.

    1. Sign in.

    2. Accept the request.

  4. A confirmation page verifies that the consent was successfully provided. On this page, you'll also find a PowerShell script and further instructions. Copy and run the script as described on the page.

    The instructions contained on this page to complete the setup are repeated here for your convenience.

    1. Start a PowerShell session as Administrator and run the following commands:

      Uninstall-Module MicrosoftTeams -AllVersions -Force

      Install-Module MicrosoftTeams -MinimumVersion "4.0.0" -AllowClobber

      (These commands ensure the appropriate MicrosoftTeams module is installed, and that it replaces any existing SkypeOnlineConnector module that may already be installed.)

    2. Run the following commands to sign in to your Teams tenant:

      • In all standard deployments run:

        Import-Module MicrosoftTeams

        Connect-MicrosoftTeams

      • If this is a GCC High / Azure US Government Cloud deployment then use these commands instead:

        Import-Module MicrosoftTeams

        Connect-MicrosoftTeams -TeamsEnvironmentName TeamsGCCH

  5. Create a new video interop service provider with your App ID set as trusted.

    Use the New-CsVideoInteropServiceProvider command as contained in your email as it includes your personalized information.

    To run the command, you need the Global administrator role.

  6. Grant interop for all Pexip CVI users or specific individuals.

    During normal rollout we recommend granting access for everyone in the organization (all users in the tenant):

    Grant-CsTeamsVideoInteropServicePolicy -PolicyName PexipServiceProviderEnabled -Global

    During trials you may want to only grant access to selected individuals in your company, by using the -Identity switch instead of -Global, for example:

    Grant-CsTeamsVideoInteropServicePolicy -PolicyName PexipServiceProviderEnabled -Identity "name@pexample.com"

    To grant interoperability to an AD group:

    Grant-CsTeamsVideoInteropServicePolicy -PolicyName PexipServiceProviderEnabled -Group <name of the Azure AD group>

  7. After this, the settings need to propagate and you will receive a final email from us when the service is ready:

  8. You can verify that your domain has been correctly set up here: dns.pexip.com.
  9. Finally, you should remove your previous Cisco CVI service:

    Remove-CsVideoInteropServiceProvider -Identity Cisco

Please note:

  • It may take several hours before the new meeting template is displayed.
  • Outlook users: the first time you invite, you may see that the meeting invite does not contain any new information. This is due to Outlook caching the previous meeting information. You therefore need to make two invitations for the new information to appear.

  • If the migration does not work for some users, it could be that those users have been individually assigned to Cisco (rather than as part of a Global assignment). You can use the following commands to identify those users and resolve the issue:

    To identify any Cisco specific users:

    Get-CsOnlineUser -Filter {TeamsVideoInteropServicePolicy -eq "CiscoServiceProviderEnabled"} | Select-Object DisplayName, UserPrincipalName, TeamsVideoInteropServicePolicy

    To remove the Cisco CVI policy for these users:

    Get-CsOnlineUser -Filter {TeamsVideoInteropServicePolicy -eq 'CiscoServiceProviderEnabled'} | Grant-CsTeamsVideoInteropServicePolicy -PolicyName $null

    You should then rerun the global Pexip CVI policy assignment:

    Grant-CsTeamsVideoInteropServicePolicy -PolicyName PexipServiceProviderEnabled -Global

Cisco CVI meeting migration for old Teams meetings

Please wait for 24 hours after performing your Pexip Connect Teams CVI user enablement before performing the Meeting Migration process, as there is propagation time required before the new CVI configuration is fully assigned to each end user. This new CVI configuration is in turn then referenced by the Meeting Migration.

Meeting migration process

Any future meetings scheduled with your endpoint rooms need to be recreated by the end user so that meeting invitations reflect the new Pexip CVI meeting information.

We recommend using the Microsoft Meeting Migration Service (MMS). This is a service that updates a user’s existing meetings and inserts the new Pexip Connect CVI details. See this Microsoft article for more information. Note that:

  • MMS will not migrate meetings with more than 250 participants for Skype meetings and 1000 participants for Teams meetings.
  • MMS will migrate meetings for most users, but some companies have reported occasional scenarios where the meetings of some users were not migrated.
  • MMS is a Microsoft tool and thus it is not supported by Pexip.

We recommend first migrating individual users, before performing any bulk migration transactions.

To run the MMS PowerShell command for one user:

Start-CsExMeetingMigration -Identity user@company.com -TargetMeetingType Teams

To run the MMS PowerShell command for a file of users, create a CSV file e.g. users.csv, containing a list of user UPNs, and then run these commands:

Copy to clipboard
$upgradeusers = Import-Csv "C:\pathtofile\users.csv"

foreach ($user in $upgradeusers){Start-CsExMeetingMigration -Identity $user.UserPrincipalName -TargetMeetingType Teams}

To run the MMS PowerShell command for all users:

Copy to clipboard
foreach($user in Get-CsOnlineUser)
{
if($user.AccountEnabled)
{
Write-Output($user.UserPrincipalName)
Start-CsExMeetingMigration -Identity $user.UserPrincipalName -TargetMeetingType Teams
}
}

This sends updated meeting invites to all participants. We also recommend that you suppress the meeting updates during this phase to reduce the number of email notifications for your end users.

Checking migration status

You can use the Get-CsMeetingMigrationStatus cmdlet to check the status of meeting migrations.

To check the status of migration for a specific user, use the Identity parameter. For example, the following command will return the status for the user ashaw@contoso.com:

Get-CsMeetingMigrationStatus -Identity ashaw@contoso.com

To get a summary status of all migrations, run the following command which provides a tabular view of all migration states:

Get-CsMeetingMigrationStatus -SummaryOnly

Example output:

State      UserCount
------     ---------
Pending        21
InProgress     6
Failed         2 
Succeeded      131

To get full details of all migrations within a specific time period, use the StartTime and EndTime parameters. For example, the following command will return full details on all migrations that occurred from October 1, 2023 to October 8, 2023.

Get-CsMeetingMigrationStatus -StartTime "10/1/2023" -EndTime "10/8/2023"
(for an "en-US" locale)

The cmdlet has an upper limit of how many entries that it can retrieve from the backend, including the computation of the summary. Using the time filter reduces the number of entries returned and allow the cmdlet to execute successfully.

FAQs and recommendations

Has the meeting migration ever been done with any large organizations?

Yes, meeting migrations for large companies — with 100,000+ end users — have been successfully completed, and over the course of a single weekend.

Does Microsoft support need to be involved in the meeting migration process?

While not technically required, we recommend that you coordinate with your Microsoft account team, including appropriate Microsoft personnel that work in Teams engineering support. At a minimum, this will make them aware of the meeting migration activity, especially if the number of users being migrated is very high.

Other recommendations

  • For very large customers, Microsoft support recommend that you run the Meeting Migration PowerShell using .csv files with subsets of the global end user list being migrated. Start with 5k users in the first file, and then check the status of the users later. If it completes early, you can increase the count of successive files to 10k, 15k and then 20k.
  • When running large end-user counts via smaller batches from .csv, you can also run the Meeting Migration process in separate concurrent PowerShell sessions simultaneously.