Correct flow for the case when the user returning to main session (Breakout room)


Thank you for ‘Return to the main session’ mechanism adding in the last SDK update!

And there is one clarifying question about the flow of returning:
When the host initiate ‘returning’ of particular user to the main session the app will be informed about it with the delegate method
onHostInviteReturn(toMainSession userName: String, handler: ZoomSDKBOMeetingReturnToMainSessionHandler).

As far as I understand to accept returning we should use handler and call returnToMainSession() method when we are ready to returning.
What should we do next? Because after this step we receive
func onHasAttendeePermission(_ attendeeObject: ZoomSDKBOMeetingAttendee)
delegate method with empty breakout room name (attendeeObject.getBOName()) and value ZoomSDK.shared()?.getMeetingService()?.getNewBreakoutRoomController()?.isInBOMeeting() is equal FALSE.

Zoom Client that host the call show that the user is still in breakout room but he/she is marked as ‘not joined

Is there one more step to return the attendee to the main session?

Thank you!

Hi @anton.yereshchenko, thanks for the post.

Sorry to hear you’re running into issues with returning to the main session. Are you receiving any callbacks on the BO user’s side when you try to return to the main session? Also, what is the return value of the returnToMainSession method when this occurs? Does this happen 100% of the time?


Hi @jon.lieblich, thank you for the reply.

The list of called delegate methods when the host initiates the particular participant return to Main session.

  1. onHostInviteReturn (with the participant name).
  2. onLostAttendeePermission.
  3. onBOControlStatusChanged (with status == 2 - Started).
  4. onHasAttendeePermission (with empty participant name and value ZoomSDK.shared()?.getMeetingService()?.getNewBreakoutRoomController()?.isInBOMeeting() that is equal FALSE).

The return value of the returnToMainSession is Success.
Yes, this happens 100% of the time.
By the way I have figured out that the original MacOS Zoom client has the same behaviour:

The call with the host (Zoom MacOS client) and 1 participant (Safari Zoom web client).

  1. Create a call.
  2. Contact to the call using Web Zoom.
  3. Create BO.
  4. Assign Web participant to the room.
  5. Accept joining.
  6. Web participant is in the room.
  7. Move Web participant to Main Session.
  8. Accept joining.

Result: Zoom MacOS client (Breakout rooms dialog) displays that Web participant in the room section and he/she is marked as ‘not joined’ (As on the picture).

Could you say is it right behaviour or not?

Thank you!

Hey @anton.yereshchenko,

@jon.lieblich is currently out, but will follow up with you when he returns.


1 Like

Hi @anton.yereshchenko,

Thanks for the detailed description. It definitely seems like this is functioning correctly. Rejoining the main meeting room will not cause an attendee to be unassigned from a BO room. They will remain assigned to that room unless they are assigned to another or the room has been deleted.


Hi @jon.lieblich,

Now it’s clear, thank you!

You are very welcome!

Don’t hesitate to reach back out with any additional questions. :slightly_smiling_face:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.