-
Notifications
You must be signed in to change notification settings - Fork 354
Migration to improved meetings associated with a space
Caution
This documentation may no longer be current. Click here to view the updated content on our Developer Portal.
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.
Webex JS SDK version 2.60.0 or above.
Earlier, 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 for additional details.
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.
Users with a Webex account can acquire their access token from the developer portal by logging in with their authentication details (username and password).
For guest users, an access token can be obtained via a Service App.
Please adhere to the guidelines below to transition from utilizing roomId/spaceId
to meetingId/sipUrl
within the SDK.
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.
You'd use code like the following 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);
});
-
Create a meeting by calling the API https://webexapis.com/v1/meetings and obtain a
meetingId
orsipUrl
.- Find the full details of the API here
- Read through Integrations and Service Apps to use appropriate access tokens.
-
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 totrue
if not already enabled -
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.
If the user is not part of the space where the meeting is created then the user will be prompted for the password. After multiple failed password attempts, captcha information is provided along with the appropriate error code. The user submits the captcha with the password to join the meeting successfully. For more information, see:
A participant can be made a host using the transfer method within a meeting object. Only a host can make another participant host.
Use the following code to transfer host privileges to another participant.
meeting.transfer('participant-id');
A participant can be invited to the meeting using the invite method within the meeting object. Only a host can invite another participant. Participants can be invited using an email address.
Use the following code to invite another participant to an existing meeting. You can use either the emailAddress
or the phoneNumber
parameter.
meeting.invite(invitee: {
emailAddress: 'johndoe@abc.com',
phoneNumber: '1234',
});
To cancel an outgoing phone invite, use the following method.
meeting.cancelPhoneInvite(invitee: {
phoneNumber: '1234',
});
A participant can reclaim host privileges in the meeting by using the assignRoles method within the members object. The code snippet below illustrates its use.
const selfId = meeting.members.selfId;
const role = {
type: 'MODERATOR',
hasRole: true,
hostKey,
};
meeting.members.assignRoles(selfId, [role])
Please adhere to the guidelines below to transition from utilizing roomId/spaceId
to meetingId/sipUrl
within the Meetings Widget.
You'd use code like the following to create a Webex meeting widget 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
/>
);
}
-
Use step-1 from SDK Changes to obtain
meetingId
orsipUrl
. -
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
/>
);
}
In this context, you cannot 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.
-
Limitations for consumer organization users. In the improved meeting experience associated with new spaces, Gmail users can initiate scheduled or instant meetings, while in the classic meeting experience, neither old nor new Gmail users can start scheduled or instant meetings.
-
Limitation in the Webex App: individuals not listed as invitees will be placed in the lobby and require admission.
Caution
- Introducing the Webex Web Calling SDK
- Core Concepts
- Quickstart guide
- Authorization
- Basic Features
- Advanced Features
- Introduction
- Quickstart Guide
- Basic Features
- Advanced Features
- Multistream
- Migrating SDK version 1 or 2 to version 3