Description
We have an iOS app and are using v5.11.10
of the iOS Meetings SDK. When trying to join a Zoom Webinar as a panelist, the following error is being produced.
MobileRTCMeetError: MobileRTCMeetError(rawValue: 21) join the webinar from the link
…which appears to make reference to this in MobileRTCConstants.h
///User needs to register an account if he wants to join the webinar by the link.
MobileRTCMeetError_RegisterWebinarPanelistRegister = 21,
We’re not quite sure what this means and have not been able to find any information on it.
With the iOS Meeting SDK, a participant is only able to join as a panelist if they enter as an attendee then get promoted to a panelist. At this point, the app will exit and a message will show they are rejoining as a panelist. However, if the user leaves the webinar now, they will not be able to rejoin with the same error as above. They need to be removed as a panelist in order to rejoin the webinar.
Here’s the code we’re using to join the Webinar.
func joinMeeting(meetingNumber: String, meetingPassword: String) {
// Obtain the MobileRTCMeetingService from the Zoom SDK, this service can start meetings, join meetings, leave meetings, etc.
if let meetingService = MobileRTC.shared().getMeetingService() {
// Set the ViewController to be the MobileRTCMeetingServiceDelegate
meetingService.delegate = self
// Create a MobileRTCMeetingJoinParam to provide the MobileRTCMeetingService with the necessary info to join a meeting and avoid name/email prompt when joining webinar or meeting.
let user = MobileRTCMeetingStartParam4WithoutLoginUser.init()
user.userName = kSDKUserName
user.userID = kSDKEmail
// In this case, we will only need to provide a meeting number and password.
let joinMeetingParameters = MobileRTCMeetingJoinParam()
joinMeetingParameters.meetingNumber = meetingNumber
joinMeetingParameters.password = meetingPassword
joinMeetingParameters.userName = kSDKUserName
// Call the joinMeeting function in MobileRTCMeetingService. The Zoom SDK will handle the UI for you, unless told otherwise.
// If the meeting number and meeting password are valid, the user will be put into the meeting. A waiting room UI will be presented or the meeting UI will be presented.
meetingService.joinMeeting(with: joinMeetingParameters)
meetingService.delegate = self
}
}
Again, it works fine when joining as a webinar attendee, but not as a panelist. We have similar code for our WebSDK implementation and that one works for panelists.
Error?
MobileRTCMeetError: MobileRTCMeetError(rawValue: 21) join the webinar from the link
Troubleshooting Routes
- Tried updating to latest version of Meeting SDK (
v.5.12.2
) and still experiencing the issue.
How To Reproduce
Steps to reproduce the behavior including:
- Set up a webinar
- Set webinar registration settings to “required” and “automatically approve”
- Add a panelist with email address
- Join the webinar using the panelist name, email, webinar # and password.