Error code 3633 when attempting to join again

I am using Web SDK v1.9.1, and it is inside an iframe.

First time the code runs as expect. I can join the meeting when it’s in progress.

However I want to handle the case where the meeting is not in progress and offer the user a means to try again. In this case, the first time it runs ZoomMtg.join() returns an error code 3008 to indicate meeting is not started (as expected). Then I tell the frame to try to join again, this time it results in error code 3633.

Here is the code:

ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();

ZoomMtg.setZoomJSLib('https://source.zoom.us/1.9.1/lib', '/av');

function joinMeeting(config) {
   ZoomMtg.init({
      leaveUrl: 'close.html',
      isShowJoiningErrorDialog: false,
      success: () => {
         ZoomMtg.join({
            // ...
            success: x => { },
            error: x => {
               console.error('error', x);
               if (x.errorCode == 3008) {
                  window.parent.postMessage('not-started', '*');
               }
            }
         });
      }
   });
}

window.addEventListener('message', e => joinMeeting(e.data));

When the meeting not started error occurs message is passed to the parent containing the iframe. In the parent, the iframe is hidden and a UI with a button to try the join again is displayed. When the button is pressed the parent sends a message to the iframe that causes the joinMeeting() function to run again. This time the error handler shows error code 3633.

I had a hunch that multiple calls to ZoomMtg.init() function was the problem, but even after refactoring so that init is only called once, the join still results in error code 3633 on second attempt.

Hey @josh.kropf,

Thank you for reaching out to the Zoom Developer Forum. The Web SDK is not designed to be displayed in an iframe so you’re likely to encounter issues with that method. Instead, the Web SDK should be used directly on the page.

Please see our Sample Web App for a reference as to how you can implement the SDK.

I hope that helps! Let me know if you have any questions.

Thanks,
Max