Skip to content

Migration to improved meetings associated with a space

Sreekanth Narayanan edited this page Feb 15, 2024 · 8 revisions

Introduction

This guide provides an overview of the improved meeting experience associated with spaces and outlines the impacted areas, along with the necessary adjustments in these areas for the adoption of these improved flows.

Pre-requisites

Webex JS SDK version 2.60.0 or above.

Improved meeting experience

Before this release, your experience in a meeting associated with a space was tied to who created the space (known as the meeting sponsor). The feature set available to you depended on the type of account that person had. We’ve removed the concept of meeting sponsorship. Now, only the host's license determines the meeting capabilities. Now, when you join or schedule a meeting in a space, you have access to the features you’ve come to enjoy in Webex Meetings. You can leverage this new experience in every meeting you schedule or join from here on in.

Please refer to this help article that provides more information about the improved experience.

Migration from Spark or Space meeting to the improved meetings experience

The initial stage of transitioning from Space or Spark (hereafter referred to as the classic meeting experience) to the improved meeting experience involves the management of user licenses as the host's license now determines the meeting capabilities.

  • Create a Webex site and re-distribute the licenses among users.
  • Create a Service App for end-to-end provisioning of users and other features.

As part of the improved experience, creating a guest user through Guest Issuer is being deprecated. A Service App must be used to provision guest users.

Users with a Webex account can acquire their access token from the developer portal by logging in with their authentication details (username/password).

Migration Steps

SDK Changes

Please adhere to the guidelines below to transition from utilizing roomId/spaceId to meetingId/sipUrl within the SDK.

Code changes

The support for direct use of roomId/spaceId in Webex JS SDK and Meeting Widgets for creation and joining a meeting is being deprecated. You are encouraged to utilize the Meetings API to start an ad-hoc meeting. The Meetings API provides additional flexibility to developers. Once the meeting has been created using a licensed user or service-app, the Webex JS SDK can be utilized to join the meeting.

Before

The following code demonstrates how to create a Webex meeting using a specified room ID or space ID:

webex.meetings.create('room-id-or-space-id').then((meeting) => {
  console.log(meeting);
});

After

Step-1

Create a meeting by calling the API https://webexapis.com/v1/meetings and obtain a meetingId or sipUrl.

Step-2

  • Check if the improved meeting experience is enabled by checking the configuration of your webex object - webex.meetings.config.experimental.enableUnifiedMeetings
  • Toggle the improved meeting experience by setting the above flag to true if not already enabled

Step-3

The code snippet below illustrates the process of creating a Webex meeting using either a meeting ID or a SIP URL:

webex.meetings.create('meeting-id or sipUrl').then((meeting) => {
  console.log(meeting);
});

If a roomId/spaceId is specified as the meeting destination, the SDK will generate an error with the code and message below: Error Code - 30105 Error Message - 'Using the space ID as a destination is no longer supported. Please refer to the migration section in this document to use the meeting ID or SIP address.

Join Meeting by Entering Password or Captcha

If a user is not part of the space where the meeting is created then the user will be prompted for the password. On entering an incorrect password three times, captcha information is provided along with the appropriate error code. The user submits the captcha with the password in order to join the meeting successfully.

The meetingverifypassword API can be used to verify the user's password to join the meeting.

Refer to the Implementing Password and Captcha flows document to get more details on how to handle these new flows.

Make another participant the host

A participant can be made a host using the below API. Only a host can make another participant host.

Invite another participant

A participant can be invited to the meeting using the below API. Only a host can invite another participant. Participants can be invited using an email address.

Meeting invite

Meetings Widget changes

Please adhere to the guidelines below to transition from utilizing roomId/spaceId to meetingId/sipUrl within the Meetings Widget.

Before

The following code demonstrates how to create a Webex meeting using a specified room ID or space ID:

import { WebexMeetingsWidget } from '@webex/widgets';

import '@webex/widgets/dist/css/webex-widgets.css';

export default function App() {
  return (
    <WebexMeetingsWidget
      style={{ width: '1000px', height: '500px' }} // Substitute with any arbitrary size or use `className`
      accessToken='<ACCESS_TOKEN>'
      meetingDestination='<ROOM_ID>' // NOTICE THIS LINE
    />
  );
}

After

Step-1

Use step-1 from SDK Changes to obtain meetingId or sipUrl.

Step-2

The code snippet below illustrates the process of creating a Webex meeting using either a meeting ID or a SIP URL:

import { WebexMeetingsWidget } from '@webex/widgets';

import '@webex/widgets/dist/css/webex-widgets.css';

export default function App() {
  return (
    <WebexMeetingsWidget
      style={{ width: '1000px', height: '500px' }} // Substitute with any arbitrary size or use `className`
      accessToken='<ACCESS_TOKEN>'
      meetingDestination='<MEETING_ID OR SIP_URL>' // NOTICE THIS LINE
    />
  );
}

Note: If spaceId is passed for meetingDestination the widget will throw an error.

Space/Recent Widgets Changes

In this context, you lack the ability to choose the ID for creating or joining a meeting, so we won't be addressing the deprecation of the roomId. Given that the improved meeting experience mandates a license for each user to participate in meetings, the meet button will be rendered inactive for users without a valid license.

Please refer to the initial section in this document to distribute licenses among users.

Troubleshooting

Known Issues

  • JoinLink for guest users asks for meeting credentials to allow joining. This is a feature gap between converged and non-converged sites. It will be fixed in Jan '24

Limitations

  • In the improved meeting experience associated with new spaces, Gmail users can initiate scheduled or instant meetings, while in the classic meeting experience, Gmail users are restricted from starting scheduled or instant meetings.

  • In the Webex App, participants not listed as invitees will be placed in the lobby and require admission into the meeting.

Clone this wiki locally