# Error 101 when trying to Join Webinar

**URL:** <https://devforum.zoom.us/t/error-101-when-trying-to-join-webinar/99106>\
**Category:** Meeting SDK\
**Tags:** android\
**Created:** [November 27, 2023, 7:48pm UTC](https://devforum.zoom.us/t/error-101-when-trying-to-join-webinar/99106 "2023-11-27T19:48:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![adm](https://avatars.discourse-cdn.com/v4/letter/a/6f9a4e/32.png) [@adm](https://devforum.zoom.us/u/adm)\
**Post date:** [November 27, 2023, 7:48pm UTC](https://devforum.zoom.us/t/error-101-when-trying-to-join-webinar/99106/1 "2023-11-27T19:48:44Z")

</div>

Meeting SDK - Android  
Version 5.16.2.16555

**Description**  
I have added Zoom Meeting SDK to my Android application, and I’m not using custom UI.  
When users try to join a meeting, they receive the erroCode=101 using the following method:

```auto
int joinMeetingResult = meetingService.joinMeetingWithParams(reactContext, params, opts);

```

**Error?**  
The above code returns 101.

**Troubleshooting Routes**  
I have read all the topics at this forum about the errorCode 101, but they all seem related to autoLogin, but it is something that I’m not using at all.

**How To Reproduce**  
I couldn’t reproduce it using the devices I have available  
These are the code snippets regarding the Initialization and Join functions:

```auto
    public void init(String jwtToken, Promise promise) {
        Log.d(TAG, "Init Zoom: " + jwtToken);

        UiThreadUtil.runOnUiThread(() -> {
            try {
                initPromise = promise;

                ZoomSDK zoomSDK = ZoomSDK.getInstance();

                if (zoomSDK.isInitialized()) {
                    promise.resolve("Zoom initialized");
                    return;
                }

                ZoomSDKInitParams initParams = new ZoomSDKInitParams();
                initParams.jwtToken = jwtToken;
                initParams.enableGenerateDump = true;
                initParams.enableLog = true;
                initParams.domain = "zoom.us";
                zoomSDK.initialize(reactContext.getCurrentActivity(), ZoomManager.this, initParams);

            } catch (Exception e) {
                Log.e("ERR_UNEXPECTED_EXCEPTION", e.getMessage());
                promise.reject("ERR_UNEXPECTED_EXCEPTION", e);
            }
        });
    }

@Override
    public void onZoomSDKInitializeResult(int errorCode, int internalErrorCode) {
        Log.d(TAG, "Init Zoom Result with : errorCode " + errorCode +
                "and internalErrorCode: " + internalErrorCode);
        String errorInfo = getAuthErrorName(errorCode);
        sendEvent("AuthEvent", errorInfo);

        if (errorCode != ZoomError.ZOOM_ERROR_SUCCESS) {
            String errorFormatted = String.format("Error= %d (%s)", errorCode, errorInfo);
            initPromise.reject(
                    "ERR_ZOOM_INITIALIZATION",
                    errorFormatted + ", internalErrorCode=" + internalErrorCode
            );
        } else {
            registerListener();
            initPromise.resolve("Initialize Zoom SDK successfully.");
        }
        initPromise = null;

    }

private void registerListener() {
        Log.i(TAG, "registerListener");
        ZoomSDK zoomSDK = ZoomSDK.getInstance();
        MeetingService meetingService = zoomSDK.getMeetingService();
        if (meetingService != null) {
            Log.i(TAG, "registerListener, added listener for meetingService");
            meetingService.addListener(this);
        }
        InMeetingService inMeetingService = zoomSDK.getInMeetingService();
        if (inMeetingService != null) {
            Log.i(TAG, "registerListener, added listener for inMeetingService");
            inMeetingService.addListener(this);
        }
    }

public void join(String displayName, String emailAddress, String meetingNumber, String passcode, Promise promise) {
        Log.d(TAG, "join meeting with displayName: " + emailAddress + ", email: " + emailAddress + ", meetingNumber:" + meetingNumber);
        name = displayName;
        email = emailAddress;
        UiThreadUtil.runOnUiThread(() -> {
            ZoomSDK zoomSDK = ZoomSDK.getInstance();

            if (!zoomSDK.isInitialized()) {
                promise.reject("ERR_ZOOM_START", "ZoomSDK has not been initialized successfully");
                return;
            }

            MeetingService meetingService = zoomSDK.getMeetingService();
            if (meetingService == null) {
                promise.reject("ERR_ZOOM_START", "Zoom MeetingService has not been initialized successfully");
                return;
            }

            JoinMeetingOptions opts = new JoinMeetingOptions();
            JoinMeetingParams params = new JoinMeetingParams();

            opts.no_webinar_register_dialog = true;
            opts.no_record = true;
            opts.no_share = true;
            opts.no_titlebar = false;
            opts.custom_meeting_id = "MyWebinar";
            opts.meeting_views_options = MeetingViewsOptions.NO_TEXT_PASSWORD
                    + MeetingViewsOptions.NO_TEXT_MEETING_ID
                    + MeetingViewsOptions.NO_BUTTON_PARTICIPANTS;

            params.displayName = displayName;
            params.meetingNo = meetingNumber;
            if (passcode != null && passcode.length() > 0) {
                params.password = passcode;
            }

            meetingPromise = promise;
            try {
                int joinMeetingResult = meetingService.joinMeetingWithParams(reactContext, params, opts);
                Log.i(TAG, "Join meeting, joinMeetingResult: " + joinMeetingResult);
                if (joinMeetingResult != MeetingError.MEETING_ERROR_SUCCESS) {
                    Log.i(TAG, "Join meeting failed, clearing meetingPromise");
                    meetingPromise.reject("ERR_ZOOM_JOIN:" + joinMeetingResult + "/" + getMeetErrorName(joinMeetingResult), "joinMeeting, errorCode=" + joinMeetingResult);
                    meetingPromise = null;
                }
            } catch (Exception e) {
                promise.reject("ERR_UNEXPECTED_EXCEPTION", e);
                Log.i(TAG, "Join meeting failed with exception, clearing meetingPromise");
                meetingPromise = null;
            }
        });
    }

```

Any help is appreciated.  
I’m running this app in production, and this issue is causing many problems.

Thank you.

---

<div class="post-metadata">

**Author:** ![adm](https://avatars.discourse-cdn.com/v4/letter/a/6f9a4e/32.png) [@adm](https://devforum.zoom.us/u/adm)\
**Post date:** [November 29, 2023, 11:56pm UTC](https://devforum.zoom.us/t/error-101-when-trying-to-join-webinar/99106/2 "2023-11-29T23:56:34Z")

</div>

I managed to get some Zoom SDK logs from the failed devices, but they are encrypted.

How can I get some support to resolve this issue?

---

<div class="post-metadata">

**Author:** ![adm](https://avatars.discourse-cdn.com/v4/letter/a/6f9a4e/32.png) [@adm](https://devforum.zoom.us/u/adm)\
**Post date:** [December 13, 2023, 12:21am UTC](https://devforum.zoom.us/t/error-101-when-trying-to-join-webinar/99106/3 "2023-12-13T00:21:05Z")

</div>

Can someone help me with this problem?

Thank you.
