Meeting SDK Type and Version
Linux Meeting SDK (Native C++), version 6.7.5
Description
We operate a meeting bot platform that joins Zoom meetings using OBF tokens. When the authorized user hasn’t joined the meeting yet, the SDK returns MEETING_FAIL_AUTHORIZED_USER_NOT_INMEETING.
Following Zoom’s documentation and guidelines in this related thread, we have implemented retry logic that re-attempts the join after a delay.
However, this creates two problems:
Problem 1 - Host email spam: Each join attempt triggers an email notification to the meeting host (e.g. “Someone is waiting to join your meeting”), even though the bot never actually enters the meeting. Over several minutes of retrying, the host receives multiple unwanted emails.
Problem 2 - Spurious MeetingEnded signal: As described in the related thread above, the SDK fires a MeetingEnded event immediately after the AUTHORIZED_USER_NOT_INMEETING failure.
This is indistinguishable from a genuine host-ended meeting, making it unsafe to continue retrying. We have worked around this by suppressing MeetingEnded events that occur during an active OBF retry window using a state guard and timeout-based circuit breaker, but this is fragile and adds significant complexity.
The combination of these two issues means there is currently no clean way to handle the common scenario where a bot is ready before the authorized user.
We would like to know:
1. Is there a way to check whether the authorized user is in the meeting before attempting the join? An SDK method to verify user presence without triggering the full join flow (and the associated host email) would resolve both problems.
2. Could Zoom suppress the host notification for OBF join attempts that fail with AUTHORIZED_USER_NOT_INMEETING? The bot never enters the meeting, so notifying the host is unnecessary.
3. Could the SDK provide a distinct event for the spurious MeetingEnded fired after AUTHORIZED_USER_NOT_INMEETING, separate from a genuine host-ended meeting?
This would eliminate the need for the suppression workaround. Error MEETING_FAIL_AUTHORIZED_USER_NOT_INMEETING followed by a spurious MeetingEnded event.
The errors themselves are handled - the issue is the side-effects (host emails and ambiguous meeting-ended signal).
Troubleshooting Routes -
- Reviewed the Updates to Meeting SDK Authorization FAQ and Meeting SDK auth docs - no guidance on this scenario
- Reviewed the Zoom Linux SDK sample apps (meetingsdk-linux-raw-recording-sample, meetingsdk-headless-linux-sample) - no OBF retry patterns present
- Implemented retry logic as advised by Zoom Engineering in the related * thread - Implemented MeetingEnded suppression during OBF retry using state guard + timeout circuit breaker
How To Reproduce
- Authentication: JWT auth for SDK init, OBF token for meeting join (JoinParam.onBehalfToken)
- Start a Zoom meeting but do NOT have the authorized user (the user associated with the OBF token) join yet
- Have the SDK bot attempt to join with the OBF token
- SDK returns MEETING_FAIL_AUTHORIZED_USER_NOT_INMEETING followed immediately by MeetingEnded
- Handle the error, wait ~30 seconds, retry the join
- Meeting host receives an email notification for each attempt
- Repeat until the authorized user joins - host receives multiple emails over the retry window