Participant ID is not correct

  1. Add participant ID in join meeting params from Android Client SDK like following
    JoinMeetingOptions options = new JoinMeetingOptions();
    options.participant_id = “participant_id”;

  2. Fetch Details using the following API:
    Dashboard API -> List Meeting Participants

In API Response we are getting the wrong participant ID which we have sent using JoinMeetingOptions. Whereas with StartMeetingOptions, it is working fine.

Android Client SDK Version :v5.2.42043.1112

Hi @jenny.gadhavi, thanks for the post.

I have not been able to reproduce this behavior on my device. When I join or start the meeting, I see the id field return the value I set in the SDK. If you are not seeing this, please verify that you are using the correct meeting ID when interacting with the API.

Also note that if you are starting the same meeting multiple times, only the most recent instance will be returned for a given meeting iD.

Thanks!

Hello, Following is how we are doing, please have a look.

1. We are passing custom participant_id for Start meeting Options like below.

public static void joinMeeting(Context context, String meetingNumber, String password, String display_name,
                               String host_id, String participant_id,
                               MeetingServiceListener meetingServiceListener,
                               InMeetingServiceListener inMeetingServiceListener) {

    ZoomSDK zoomSDK = ZoomSDK.getInstance();

    if (!zoomSDK.isInitialized()) {
        Toast.makeText(context, "ZoomSDK has not been initialized successfully", Toast.LENGTH_LONG).show();
        return;
    }

    MeetingService meetingService = zoomSDK.getMeetingService();
    StartMeetingOptions options = new StartMeetingOptions();


    options.no_invite = true;
    options.participant_id = participant_id;
    options.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID
            + MeetingViewsOptions.NO_TEXT_PASSWORD;
    options.no_webinar_register_dialog = true;


    StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
    params.meetingNo = meetingNumber;
    params.userId = host_id;
    params.zoomAccessToken = password;
    params.displayName = display_name;

    meetingService.startMeetingWithParams(context, params, options);
    meetingService.addListener(meetingServiceListener);

    InMeetingService inMeeting = zoomSDK.getInMeetingService();
    inMeeting.addListener(inMeetingServiceListener);
}

2. By using the following API, we are getting the correct response in the case of StartMeetingOptions.

API URL
curl --request GET \ --url ‘https://api.zoom.us/v2/metrics/meetings/**********/participants?page_size=30&type=live’ \ --header 'authorization: Bearer *******

API RESPONSE
{
“next_page_token”: “”,
“page_count”: 1,
“page_size”: 30,
“participants”: [
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“email”: “itadmin@indiashoppe.org”,
“harddisk_id”: “”,
“id”: “kih6ouepa5aa0f4409842b”,
“ip_address”: “49.34.130.136”,
“join_time”: “2020-12-21T05:15:20Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Cellular”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16778240”,
“user_name”: “Jankiii Gadhavi”,
“version”: “5.2.42043.1112”
}
],
“total_records”: 1
}

3. Now When we are passing the Custom partcipant_id in Join meeting options(In android client SDK) like below, we are getting incorrect participant id

public static void joinMeeting(Context context, String meetingNumber, String password, String display_name, String participant_id,
                               MeetingServiceListener meetingServiceListener,
                               InMeetingServiceListener inMeetingServiceListener) {
    ZoomSDK zoomSDK = ZoomSDK.getInstance();
    if (!zoomSDK.isInitialized()) {
        Toast.makeText(context, "ZoomSDK has not been initialized successfully", Toast.LENGTH_LONG).show();
        return;
    }


    MeetingService meetingService = zoomSDK.getMeetingService();
    JoinMeetingOptions options = new JoinMeetingOptions();


    options.no_invite = true;
    options.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID
            + MeetingViewsOptions.NO_TEXT_PASSWORD;
     options.participant_id = participant_id;
    options.no_webinar_register_dialog = true;


    JoinMeetingParams params = new JoinMeetingParams();
    params.displayName = display_name; // TODO: Enter your name
    params.meetingNo = meetingNumber;
    params.password = password;


    meetingService.joinMeetingWithParams(context, params, options);
    meetingService.addListener(meetingServiceListener);
    InMeetingService inMeeting = zoomSDK.getInMeetingService();
    inMeeting.addListener(inMeetingServiceListener);
}

API URL
curl --request GET \ --url ‘https://api.zoom.us/v2/metrics/meetings/**********/participants?page_size=30&type=live’ \ --header 'authorization: Bearer *******

API RESPONSE
{
“next_page_token”: “”,
“page_count”: 1,
“page_size”: 30,
“participants”: [
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“email”: “itadmin@indiashoppe.org”,
“harddisk_id”: “”,
“id”: “kih6ouepa5aa0f4409842b”,
“ip_address”: “49.34.130.136”,
“join_time”: “2020-12-21T05:15:20Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Cellular”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16778240”,
“user_name”: “Jankiii Gadhavi”,
“version”: “5.2.42043.1112”
},
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“harddisk_id”: “”,
“id”: “ZpsOCkjyQnm22FJygLStOw”,
“ip_address”: “103.226.185.114”,
“join_time”: “2020-12-21T05:17:29Z”,
“location”: “Ahmedabad (IN)”,
“mac_addr”: “”,
“network_type”: “Wifi”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16784384”,
“user_name”: “Janki Gadhavi”,
“version”: “5.2.42043.1112”
},
{
“connection_type”: “UDP”,
“data_center”: “India (Cloud Top)”,
“device”: “Android”,
“domain”: “”,
“harddisk_id”: “”,
“id”: “ZpsOCkjyQnm22FJygLStOw”,
“ip_address”: “67.202.59.170”,
“join_time”: “2020-12-21T05:17:22Z”,
“leave_reason”: “Janki Gadhavi left the meeting.
Reason: left the meeting.”,
“leave_time”: “2020-12-21T05:17:29Z”,
“location”: “Ashburn (US)”,
“mac_addr”: “”,
“network_type”: “Wifi”,
“pc_name”: “”,
“recording”: false,
“share_application”: false,
“share_desktop”: false,
“share_whiteboard”: false,
“user_id”: “16783360”,
“user_name”: “Janki Gadhavi”,
“version”: “5.2.42043.1112”
}
],
“total_records”: 3
}

Please have a look at the above response, the first item in the list has the correct participant id because there we have used StartMeetingOptions whereas for the rest two participant id is not correct where we have used JoinMeetingOptions.

Is there any way to pass custom data to zoom SDK while joining the meeting, which can be fetched by any API?

Hi @jenny.gadhavi, thank you for the detailed response.

I noticed that you have multiple participants with the same ID in the second API response. Are you trying to use the same ID for both users in a single meeting? It’s possible that this method does not work unless you have a unique ID.

Thanks!

Hi,

ID that we are getting in response is not matched with the id that we are passing as participant id. can you help us with that, please?

Also is there any way to pass custom data while joining the meeting and later we can use it from fetching meeting details?

Hi @jenny.gadhavi,

ID that we are getting in response is not matched with the id that we are passing as participant id. can you help us with that, please?

Yes, of course. The question I asked in my previous response was meant to help figure out the root cause of the behavior you are seeing. Can you please let me know whether or not you are using the same value for multiple participants?

Also is there any way to pass custom data while joining the meeting and later we can use it from fetching meeting details?

Unfortunately this is not supported at this time.

Thanks!

Hello,

No, we are passing Unique Participant Id for multiple participants

Hi @jenny.gadhavi,

Let’s get a bit of additional info so that we can properly investigate this behavior on our end.

  • Are you seeing this only when you have multiple members in a meeting or is it reproducible when joining a meeting as the only attendee?
  • Please provide a screenshot of the settings for the meeting you are seeing this behavior in.
  • Device logs from a session where this occurs. Please ensure that you have enabled SDK logs through this field when initializing the SDK.

Once we have this information, we will be able to look into this further.

Thanks!

  • Are you seeing this only when you have multiple members in a meeting or is it reproducible when joining a meeting as the only attendee?

reproducible when joining a meeting as the only attendee

  • Please provide a screenshot of the settings for the meeting you are seeing this behavior in.

“settings”: {
“allow_multiple_devices”: false,
“alternative_hosts”: “”,
“approval_type”: 2,
“approved_or_denied_countries_or_regions”: {
“enable”: false
},
“audio”: “both”,
“auto_recording”: “cloud”,
“close_registration”: false,
“cn_meeting”: false,
“encryption_type”: “enhanced_encryption”,
“enforce_login”: false,
“enforce_login_domains”: “”,
“global_dial_in_countries”: [
“US”
],
“global_dial_in_numbers”: [
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 9292056099”,
“type”: “toll”
},
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 3017158592”,
“type”: “toll”
},
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 3126266799”,
“type”: “toll”
},
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 6699006833”,
“type”: “toll”
},
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 2532158782”,
“type”: “toll”
},
{
“country”: “US”,
“country_name”: “US”,
“number”: “+1 3462487799”,
“type”: “toll”
}
],
“host_video”: false,
“in_meeting”: false,
“jbh_time”: 0,
“join_before_host”: false,
“meeting_authentication”: false,
“mute_upon_entry”: true,
“participant_video”: true,
“registrants_confirmation_email”: true,
“registrants_email_notification”: true,
“request_permission_to_unmute_participants”: false,
“show_share_button”: false,
“use_pmi”: false,
“waiting_room”: true,
“watermark”: false
}

  • Device logs from a session where this occurs. Please ensure that you have enabled SDK logs through this field when initializing the SDK.

2020-12-24 16:37:01.715 14768-14768/com.jump360.milife_learner.dev.debug W/ZoomSDK: initialized twice!!!
2020-12-24 16:37:01.716 14768-14768/com.jump360.milife_learner.dev.debug I/ZOOM: onZoomSDKInitializeResult, errorCode=0, internalErrorCode=0
2020-12-24 16:37:02.324 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Binding to activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:37:02.362 14768-15260/com.jump360.milife_learner.dev.debug D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@eb8c3c2[ZoomOverlayActivity]
2020-12-24 16:37:06.135 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Unbinding from activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:37:06.161 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Binding to activity: com.jump360.milife_learner.zoom.MyWaitJoinActivity
2020-12-24 16:37:40.541 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Unbinding from activity: com.jump360.milife_learner.zoom.MyWaitJoinActivity
2020-12-24 16:37:40.567 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Binding to activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:37:40.620 14768-15260/com.jump360.milife_learner.dev.debug D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@eb8c3c2[ZoomOverlayActivity]
2020-12-24 16:37:41.074 14768-14768/com.jump360.milife_learner.dev.debug D/OnePlusJankManager: Chor uploadMDM JANK_TYPE_ONCE mViewTitle = com.jump360.milife_learner.dev.debug/com.jump360.milife_learner.zoom.ZoomOverlayActivity— jank level = 2
2020-12-24 16:37:45.894 14768-15260/com.jump360.milife_learner.dev.debug D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@eb8c3c2[ZoomOverlayActivity]
2020-12-24 16:37:45.946 14768-14768/com.jump360.milife_learner.dev.debug D/OnePlusJankManager: Chor uploadMDM JANK_TYPE_ONCE mViewTitle = com.jump360.milife_learner.dev.debug/com.jump360.milife_learner.zoom.ZoomOverlayActivity— jank level = 2
2020-12-24 16:37:47.560 14768-14768/com.jump360.milife_learner.dev.debug D/OnePlusJankManager: Chor uploadMDM JANK_TYPE_ONCE mViewTitle = com.jump360.milife_learner.dev.debug/com.jump360.milife_learner.zoom.ZoomOverlayActivity— jank level = 2
2020-12-24 16:38:10.323 14768-14768/com.jump360.milife_learner.dev.debug W/System.err: at com.jump360.milife_learner.zoom.JoinMeetingActivity.openReviewPreCheck(JoinMeetingActivity.java:216)
2020-12-24 16:38:10.323 14768-14768/com.jump360.milife_learner.dev.debug W/System.err: at com.jump360.milife_learner.zoom.JoinMeetingActivity.onMeetingLeaveComplete(JoinMeetingActivity.java:212)
2020-12-24 16:38:10.323 14768-14768/com.jump360.milife_learner.dev.debug W/System.err: at us.zoom.sdk.InMeetingServiceImpl.a(InMeetingServiceImpl.java:34772)
2020-12-24 16:38:10.323 14768-14768/com.jump360.milife_learner.dev.debug W/System.err: at us.zoom.sdk.InMeetingServiceImpl$1$9.run(InMeetingServiceImpl.java:116)
2020-12-24 16:38:10.328 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Unbinding from activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:38:12.492 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Binding to activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:38:12.525 14768-14787/com.jump360.milife_learner.dev.debug D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@fc4f62b[ZoomOverlayActivity]
2020-12-24 16:38:14.307 14768-14768/com.jump360.milife_learner.dev.debug D/OnePlusJankManager: Chor uploadMDM JANK_TYPE_ONCE mViewTitle = com.jump360.milife_learner.dev.debug/com.jump360.milife_learner.zoom.ZoomOverlayActivity— jank level = 2
2020-12-24 16:38:31.663 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Unbinding from activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:38:32.878 14768-14768/com.jump360.milife_learner.dev.debug I/FIAM.Display: Binding to activity: com.jump360.milife_learner.zoom.ZoomOverlayActivity
2020-12-24 16:38:32.892 14768-14799/com.jump360.milife_learner.dev.debug D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@fc4f62b[ZoomOverlayActivity]

Hi @jenny.gadhavi, thanks for the additional information.

Based on the meeting settings, joining the meeting as the only participant should not be possible as you would be put into the waiting room until the host admits you. For that reason, I believe you are logged into the account of the host when joining, since waiting room participants currently do not show up through the API.

In this case, the host’s user information is overriding the information you have provided, since you are starting the meeting as host rather than joining as a participant.

Thanks!