Unable to run sample code for linux meeting SDK

Hello

I have encountered the following issue with the sample code for linux meeting SDK.

Meeting SDK Type and Version
Platform: Linux. Windows 10 Pro / Windows 11 with WSL2 running Ubuntu 22.04
MeetingSDKVersion: 5.16.0.8201 - downloaded the meeting-sdk-linux_x86_64-5.16.0.8201.tar file

Description
In short, I am unable to join a meeting as a bot, using the sample code provided.
As soon as the docker container is run, it gives the error below.

Steps to Reproduce
Followed the README instructions for the sample code- GitHub - zoom/meetingsdk-linux-raw-recording-sample
1. Copied relevant files from meeting SDK to demo/ folder as instructed.
2. Built the docker container according to instructions for ubuntu 22.04
3. Made changes to withoutloginParam.userName as instructed.
4. Built the executable using make .
5. Had already created a meeting SDK app using one zoom account (free and pro both were tried) and copied the client_id and secret to the config.txt file - lets call it account A.
6. Created a meeting through another account (account B). So account B is the host.
7. Now for obtaining the JWT token for the config.txt file, I used the (GitHub - zoom/meetingsdk-auth-endpoint-sample: Generate a Meeting SDK JWT to join Zoom meetings and webinars with the Meeting SDK) repository with the credentials from account A, passed the meeting_id to the API endpoint and used the response.
Started the meeting using a desktop zoom client through account B.

Error:
On running the docker container, I get the following-

sudo docker run -it --rm msdk-5.16.5-on-ubuntu-compact:0.20
unix:path=/run/dbus/system_bus_socket,guid=43db63e6862f27e56c730a446564619c
Adding user root' to group pulse-access’ …
Adding user root to group pulse-access
Done.
Adding user root' to group audio’ …
Adding user root to group audio
Done.
cp: target ‘/root/.config/pulse/’ is not a directory
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
19
mkdir: cannot create directory ‘/root/.config’: File exists
getpath
self path: /app/demo/bin
Readfile success.
Reading…meeting_number: “77531321111”
Reading…token: “TOKEN”
Reading…meeting_password: “11111”
Reading…recording_token: “”
Reading…GetVideoRawData: “false”
Reading…GetAudioRawData: “false”
Meeting Number: 77531321111
Token: TOKEN
meeting_password: 11111
recording_token:
GetVideoRawData before parsing is : false
GetVideoRawData: 0
GetAudioRawData before parsing is : false
GetAudioRawData: 0
directory of config file: /app/demo/bin/config.txt
Init meetingSdk:success
AuthService created.
AuthServiceEventListener added.
AuthSDK:token extracted from config file TOKEN
Auth succeeded: JWT.
OnAuthenticationComplete
Joining Meeting
MeetingService created.
Settingservice created.
JWT token is TOKEN
Recording token is
Leaving recording token as NULL
join_meeting:success
onLoginReturnWithReason: 0
onMeetingStatusChanged: 1, iResult: 0
Connect to the meeting server status.
onMeetingStatusChanged: 4, iResult: 0
Disconnect the meeting server, leave meeting status.
onMeetingStatusChanged: 6, iResult: 63
Failed to connect the meeting server.
onMeetingStatusChanged: 7, iResult: 0
Meeting ends.

Troubleshooting Routes
On checking the linuxSDK documentation, I interpreted the above error as -

MEETING_FAIL_UNABLE_TO_JOIN_EXTERNAL_MEETING

From https://marketplacefront.zoom.us/sdk/meeting/linux/meeting__service__interface_8h.html#af6483466bf33caf90bf3901c024780e4

But I don’t know how to resolve this issue. Perhaps I’ve not understood how to run the sample code correctly. Could you please help me with this issue?

Thank You.

@cmr-anup ,

Your setup should be fine.

However if you did not publish your Meeting SDK application (account A) yet, you won’t be able to join meeting hosted by external accounts (account B).

To do a quick verification, try to create and join meeting with a user in the same account (both account A) as the Meeting SDK.

@chunsiong.zoom
Thank you for your reply.
On trying your suggestion, I no longer get the error, however the terminal output remains stuck at “Joining meeting…” , while I don’t see the bot in the meeting.

The last few lines of the terminal output are below-

Recording token is
Leaving recording token as NULL
join_meeting:success
onLoginReturnWithReason: 0
onMeetingStatusChanged: 1, iResult: 0
Connect to the meeting server status.
onMeetingParameterNotification
Joining Meeting…

Also, to ensure that it isn’t an issue with account permissions, I tried to join the same meeting using the windows sample code bot, and it worked successfully.

@cmr-anup , I’ll PM you for the longer logs

@chunsiong.zoom Sure! I can post it here too-

sudo docker run -it --rm msdk-5.16.5-on-ubuntu-compact:0.41
unix:path=/run/dbus/system_bus_socket,guid=d438c1ed99122c49fa3fdfc66565e9d5
Adding user root' to group pulse-access’ …
Adding user root to group pulse-access
Done.
Adding user root' to group audio’ …
Adding user root to group audio
Done.
cp: target ‘/root/.config/pulse/’ is not a directory
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
19
mkdir: cannot create directory ‘/root/.config’: File exists
getpath
self path: /app/demo/bin
Readfile success.
Reading…meeting_number: “83625711111”
Reading…token: “”
Reading…meeting_password: “411111”
Reading…recording_token: “”
Reading…GetVideoRawData: “false”
Reading…GetAudioRawData: “true”
Meeting Number: 83625711111
Token:
meeting_password: 411111
recording_token:
GetVideoRawData before parsing is : false
GetVideoRawData: 0
GetAudioRawData before parsing is : true
GetAudioRawData: 1
directory of config file: /app/demo/bin/config.txt
Init meetingSdk:success
AuthService created.
AuthServiceEventListener added.
AuthSDK:token extracted from config file
Auth succeeded: JWT.
OnAuthenticationComplete
Joining Meeting
MeetingService created.
Settingservice created.
JWT token is
Recording token is
Leaving recording token as NULL
join_meeting:success
onLoginReturnWithReason: 0
onMeetingStatusChanged: 1, iResult: 0
Connect to the meeting server status.
onMeetingParameterNotification
Joining Meeting…

@cmr-anup could you reply in the PM, I wanted to take a look at the token too

@chunsiong.zoom I have replied to your PM.

Hey Anup could you link me to this windows code bot. I am having a similar issue where I too am seeing the 63 error. Just trying to get a bot up and running.

@varun_gadre
Here’s the code I used-

@varun_gadre error 63 is due to external meeting join.

You will need to publish your meeting SDK app before you can join external meeting.

meanwhile for dev / test, you can join meeting created by users in your account without publishing