Meeting Controls for Cisco endpoints

When using a Cisco endpoint, you can enhance your Microsoft Teams, Pexip VMR or Webex meeting room experience with Meeting Controls for Cisco endpoints. To use Meeting Controls on Webex-registered Cisco endpoints with a self-hosted Pexip Infinity installation, please contact your Pexip authorized support representative for more information.

On this page:

About Meeting Controls

When using a Cisco endpoint, you can enhance your Pexip VMR, Microsoft Teams or Webex meeting, you can use the Cisco endpoint's touch panel to:

  • change the conference layout (only for the endpoint on which the macro is being used)(hosts only in Pexip VMRs)
  • enable/disable overlay text (the names of the participants or endpoints visible from the endpoint on which the macro is being used)(hosts only in Pexip VMRs)
  • spotlight / pin a participant*
  • view who is presenting, spotlighted, muted or has raised their hand
  • view the full participants list — sorted by raised hand time, then spotlight status, then time joined

Hosts in a Pexip VMR can also:

  • change the conference layout
  • enable/disable overlay text
  • mute/unmute a participant
  • mute/unmute all guests
  • lock/unlock the conference
  • disconnect all participants

* For Microsoft Teams meetings, the macro gives you the option to "pin" a participant. This focuses on that participant, but only on the endpoint on which the macro is being used. People using native Teams clients can also "spotlight" a participant, which means that the participant has focus in the video layout that is shown to all participants.

For Pexip VMRs, the meeting control of focusing on a participant is labeled "spotlight" for that endpoint only.

Mute status

By default, if you mute the Cisco endpoint locally using the touch panel, the endpoint's muted status is not visible in the Teams client.

If you mute the Cisco endpoint from the Teams client, this is synchronized with the mute status visible on the endpoint's touch panel, which becomes muted.

This default mute status behavior can be modified in the settings file during installation.

Supported endpoints and conferences

The Meeting Controls feature is supported:

  • on Cisco Room Devices MX, SX, DX and Room Kit Series, but not SX10. Firmware CE9.13 or newer required for all.
  • in Microsoft Teams conferences.
  • in Pexip VMRs.

Prerequisites

  • Admin user access to the Cisco endpoint for configuration.
  • The Cisco endpoint must be registered to either Pexip Infinity or a SIP registrar that is able to proxy messages.
  • The Cisco endpoint must be able to access port TCP/443 on any Transcoding Conferencing Nodes, Proxying Edge Nodes, or reverse proxies to which it connects.
  • Pexip Infinity version 29 or newer.
  • Any Transcoding Conferencing Nodes, Proxying Edge Nodes, or reverse proxies to which the Meeting Controls macro connects must have a valid TLS certificate trusted by the endpoint.
  • A Teams Connector as part of your Pexip deployment if you intend to use the Meeting Controls macro in Microsoft Teams conferences.

Downloads

The Meeting Controls feature uses a Meeting Controls macro that is installed on the Cisco endpoint. During the macro installation, you require the following files:

  • macro file: this is the macro that is uploaded to the endpoint
  • settings file: this file contains settings for the macro; these settings must be customized for your organization before being uploaded to the endpoint.

Information on how to access and save these files is given below.

Macro file

Download the following file (you may need to right-click and select Save link as...):

Download link Required?
meeting-controls-macro.js This file is required in all installations but you do not need to customize it.

Settings file

You must customize some of the macro settings for your organization. Below are two macro settings examples for a:

  • Microsoft Teams gateway call

  • Pexip call with VMR support

To customize the settings:

  1. Copy the relevant settings below.
  2. Open the settings in Notepad or a tool of your choice.
  3. Make the following edits:

    Note that when using regex within javascript as we are doing here, any . characters must be escaped within the regex (i.e. \.), and the escape character itself must be escaped within javascript. For example, if the domain is pexample.com, this must be included in the regex field as pexample\\.com

    • For nodeURL and regex, edit <DOMAIN> with the relevant domain for your organization. For Pexip Infinity deployments, this will be the IP address or FQDN of a Conferencing Node or reverse proxy in your deployment.
    • For regex, you may need to customize |teams to match the IVR address used in your organization.
    • For layouts, you can include any supported layouts by using the PexRTC client API layout codes. If you include the "teams" layout for use with the Meeting Controls macro, you must also set enable overlay text and enable active speaker indication to true for the layout used as your default. See Teams-like layout for more information. For gateway rules, this is configured via local policy.
      Note: We strongly recommend that you set Teams-like layout as the default if it is included in the layout options in the macro list. Teams-like layout and Adaptive Composition layout are more resource intensive than other layouts. Switching from a layout with a lower resource usage requirement to one with a higher requirement could causes issues on fully-loaded Conferencing Nodes. If your Conferencing Nodes are under heavy usage, defaulting to a layout that already requires a higher resource reduces the risk of running out of node resources when switching a conference to a layout with lower resource requirements.
  4. Save the settings file as meeting-controls-settings.js


Microsoft Teams gateway call example

Copy to clipboard
const meeting_controls_settings = {
"services": [
{
"nodeURL": "https://<DOMAIN>/api/client/v2/conferences",
"layouts": ["1:0", "1:7", "ac", "4:0"],
"regex": "^({{teamsMeetingId}}|teams)@<DOMAIN>$",
"shouldMCUMute": false,
"sendSessionID": false,
"panelSettings": {
"controls": ["layout", "overlayText"],
"roster": true
}
}
],
"InCallButton": {
"panelId": "panel_pex_in",
"type": "InCall",
"icon": "Info",
"name": "Meeting Controls"
},
"LayoutButton": {
"panelId": "layout_panel",
"type": "Never",
"icon": "Info",
"name": "Change Layout"
}
}


Pexip call with VMR support example

Copy to clipboard
const meeting_controls_settings = {
"services": [
{
"nodeURL": "https://<DOMAIN>/api/client/v2/conferences",
"layouts": ["1:0", "1:7", "ac", "4:0"],
"regex": "^(.+)@<CUSTOMER DOMAIN>\\.com$",
"shouldMCUMute": false,
"sendSessionID": false,
"panelSettings": {
"controls": [
"layout",
"overlayText",
"lockConference",
"muteGuests",
"disconnectAll"
],
"roster": true
}
}
],
"InCallButton": {
"panelId": "panel_pex_in",
"type": "InCall",
"icon": "Info",
"name": "Meeting Controls"
},
"LayoutButton": {
"panelId": "layout_panel",
"type": "Never",
"icon": "Info",
"name": "Change Layout"
}
}

Manual installation of Meeting Controls

The following instructions explain how to install the Meeting Controls macro and settings manually on a single endpoint. If you use Enhanced Room Management (ERM) and want to provision the macro on multiple endpoints simultaneously, proceed to ERM installation of Meeting Controls.

  1. Log into the web interface of your Cisco endpoint in your browser.
  2. Go to Macro Editor.

  3. Select Enable Macros. This prompt only appears if you have never used a macro before.
  4. In the Macro Editor, select Import from file and select the settings file (meeting-controls-settings.js) that you edited and saved earlier.
  5. Select the Save to video system icon:

  6. Select Import from file again and select the macro file (meeting-controls-macro.js) that you downloaded earlier.
  7. Select the Save to video system icon:

  8. Toggle the meeting-controls-macro from off to on:

  9. Refresh the web page.

With immediate effect, during Teams and Google Meet conferences the touch panel of the Cisco endpoint shows the additional control features.

Troubleshooting

General

If you need to troubleshoot the Meeting Controls macro at any point, you can download logs from the web interface in

System Maintenance > Issues and Diagnostics > Systems logs > Download logs...

ERM installation of Meeting Controls

If you use Enhanced Room Management (ERM), you can enable Meeting Controls on multiple endpoints simultaneously.

Installing Meeting Controls macro in ERM

  1. Go to Enhanced Room Management > Panels and macros.
  2. On the Room Controls tab, select the + button.

  3. Enter a title and description for the settings.
  4. Attach the settings file that you downloaded earlier and select Add.
  5. Again, select the + button.
  6. Enter a title and description for the macro.
  7. Attach the macro file that you downloaded earlier and select Add.

The Meeting Controls macro and settings are now installed in ERM.

Provisioning Meeting Controls on multiple endpoints in ERM

The following instructions explain how to provision one or more Cisco endpoints in ERM with Meeting Controls.

  1. Go to Enhanced Room Management > Systems.
  2. On the Search tab, select all room systems that you want to deploy Meeting Controls to.
  3. Select Provisioning.
  4. Select Apply macros/panels and from the Controls options select Meeting Controls macro.
  5. To enable the macro on the endpoints with immediate effect select Apply, otherwise select Schedule for the night.

Change log

Macro version Release date Description
v1.7.1 4 October 2024

New features:

  • Support for Webex-registered endpoints. To use Meeting Controls on Webex-registered Cisco endpoints with a self-hosted Pexip Infinity installation, please contact your Pexip authorized support representative for more information.

Improvements:

  • Removes the deprecated CommonJS module.
  • Adds new metadata headers to every HTTP request: Serial Number, SIP URI, and macro name/version. This helps Pexip Support to identify requests based on endpoint serial number, SIP URI, and macro name/version.
  • Improves performance to prevent unnecessary requests that occasionally generated excessive traffic, and in rare circumstances, caused the endpoint to stop working.
  • Replaces the use of emoji with a string for raised hand indication. Previously, the use of an emoji for this indication could cause the endpoint to stop working.
  • Fixes an issue where the macro attempted to add the same hostname more than once in the system list.
  • General improvements to SIP Session Id change logging.
v1.7.0 1 February 2024
  • The Meeting Controls macro is now available to use on Cisco endpoints in Pexip VMRs.
  • The following controls are now available for hosts in Pexip VMRs:
    • Mute/unmute a participant
    • Mute/unmute all guests
    • Lock/unlock the conference
    • Disconnect all participants
  • The order of participants in the participants list is now sorted by raised hand time, then spotlight status, then time joined.
  • General improvements to the user interface.
  • In previous versions, there was an issue where an API call disconnected, it could still show as an active call in the macro logs. This has now been fixed.
v1.6.1 16 May 2023
  • Applies the resolution for Cisco bug CSCvw94531 (whereby the Cisco endpoint became unresponsive if another participant using a Teams client raised their hand) to additional endpoint versions.
  • Resolves an issue with synchronization of mute states between endpoint and server.
v1.6.0 31 March 2023
  • Adds support for RoomOS 11.
  • Resolves an issue where the Cisco endpoint became unresponsive if another participant using a Teams client raised their hand.
  • The Cisco endpoint's mute state now shows as muted if the endpoint is muted from Teams.