Failed to join session

Description
I have initialized the SDK, created sessionContext, and joinSession always return NULL.
I looked in joinsession-always-returns-null/46977 forum post to ensure I don’t repeat those issues.

my test code is available at GitHub - gp583101/ZTP_C.

here is my jwt.io payload.
{
“app_key”: “uJVydcNehiIWPEEHtbvsWBOQIH0Elc2hMcVr”,
“version”: 1,
“user_identity”: “AAAT1876”,
“iat”: 1622392553,
“exp”: 1622478953,
“tpc”: “Sessionname15081977”
}

I see the same issue on both windows console and windows desktop application.
Which Desktop Video SDK version?
zoom-instant-sdk-windows-1.0.2

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Go to ‘…’
  2. Click on ‘…’
  3. Scroll down to ‘…’
  4. See error

Screenshots
If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

  • Device: [e.g. Apple MacBook Pro (13-inch, M1)]
  • OS: [e.g. macOS Big Sur 11.2.1 ]
    Windows-10, Visual studio 2019, console application.
    Additional context
    Add any other context about the problem here.

Hey @gp583101,

Thanks for using the dev forum!

I have written up a little tutorial about this here: “auth sdk failed” when running zoom sdk demo - #7 by Michael_Condon
This is technically about the Client SDK but the steps are the same aside from the actually payload.
Can you take a look at this and use the Video SDK payload to see if you can successfully created a “dummy” JWT?

Thanks!
Michael

@Michael_Condon I followed the tutorial that you are referring to. when I followed those steps, I was able to auth App built using client SDK. However, when I followed those instructions doesn’t work for Video SDK. I am also not sure which is the right payload structure…
The tutorial says

“appKey”: “string”,
“iat”: 0,
“exp”: 0,
“tokenExp”: 0

and the documentation says(https://marketplace.zoom.us/docs/sdk/video/auth#jwt-1)

{
  "app_key": "SDK_KEY",
  "version": 1,
  "user_identity": "User ID",
  "iat": 0, //Provide the current timestamp as the value of this field.
  "exp": 0, //Timestamp expiration date (Max: 2 days) in epoch format.
  "tpc": "Session name, cannot be empty (Max: 200 characters)"
}


The error code returned is 7 ( ZoomInstantSDKErrors_Invalid_Parameter). how do I get more details on which parameters are wrong?

Hey @gp583101,

The payload contains the “tpc” field is the correct one for the Video SDK. I took a look at your code, is initializeSDK being called before JoinSession? I am guessing that there is a race condition between your joinSession call and the SDK initializing.

Thanks!
Michael

The print message indicate, InitializeSDK first and then failed to join the session. Its clear that SDK is initialized and then called JoinSession.

Any other ways to debug this issue further.

Hey @gp583101,

Hmm, can you send me your SDK logs in an email to DeveloperSupport@zoom.us? Please provide a link to this post and I will follow up with you there.

Thanks!
Michael

OK, I sent you email to DeveloperSupport@zoom.us.
please let me know if you need further details to address this issue.

Hey @gp583101,

Thanks! I will follow up with you there.

Michael

I sent you the log files, let me know if you received them or not. some times attachments go in to spam or filtered.

Any update on this issue? I am blocked and unfortunately not able to proceed further with out resolving this issue.

Thanks in advance for your help.

Hey @gp583101,

Yes we have received the logs and the engineers are investigating.

Thanks!
Michael

@Michael_Condon Thanks for the update

Any update please? I am blocked on this issue and unable to make progress. Any thing else I should try or you need additional info ?

Hey @gp583101,

I looked at your code and there is a race condition between initializing the SDK and calling joinSession(). Your application is initializing the SDK successfully, however it isn’t waiting to attempt to join the session. In your main function your are initializing the exampleListener and then immediately attempting to join the session. Try moving your call to joinSession into the success part of your initialization.

To see what I am talking about, set a breakpoint on the line in your main function that calls join session and then run. The output will only show “Hello world” meaning that join session is called before the SDK has finished initializing.

Thanks!
Michael

Thanks Michael.

I did try as you suggested and I am still running in the same issue. here is the code at a high level.
// InitializeSDK()
ZoomInstantSDKInitParams initParams
m_pInstantSDK = CreateZoomInstantSDKObj();
int returnVal = m_pInstantSDK->initialize(initParams);

In side the success part, JoinSession function called.
The JoinSession code includes
ZoomInstantSDKSessionContext sessionContext
// initialized the sessionContext elements.
IZoomInstantSDKSession* pSession = m_pInstantSDK->joinSession(sessionContext);

Every step of the code I have printfs to make sure the code is executed as expected. The print out is

  • CreateZoomInstantSDKObj done
  • m_pInstantSDK initialzie is success
  • sessonContext elements are initialized
  • JoinSession failed
  • Error code returned - 7.

I also tried by adding 1 to 5 seconds delay in the code after initialize.

Every time, I run in to the same problem. I hope this helps. Happy to share more details to help root cause the issue.

Hey @gp583101,

Ok, keep the joinSession call there and try removing the line that sets the password for the session.

Thanks!
Michael

Thanks. Finally it worked. JoinSession call is successful after removing the line ```
“sessionContext.sessionPassword = L"Session password”.

I have added it in the first place as per the documentation.

1 Like

Hey @gp583101,

Awesome! I am happy to hear it is working now. However, that is strange that setting the password broke this. We will investigate what is wrong there.

Thanks!
Michael