Join meeting fail after upgrade sdk to 4.6

Hi there,

Initially our product is using zoom android sdk v4.4.55130.0712 which is half year ago.
Early this month, we have enconter some issue due to user in China as I asked in this post:

Android SDK onMeetingFail errorCode:100 internalErrorCode:10

As the suggestion we try to upgrade zoom sdk to v4.6.15086.0209.
But in the new version, user cannot join to a meeting any more, here’s some log about the meetingService and inMeetingService callback (we wrap into a ZoomMeetingManager):

2020-03-23 14:52:55.027 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_IDLE
2020-03-23 14:52:56.740 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: status change: newStatus(MEETING_STATUS_CONNECTING) code(0 0)
2020-03-23 14:52:56.740 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: other status:MEETING_STATUS_CONNECTING
2020-03-23 14:53:00.842 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingUserJoin  16780288
2020-03-23 14:53:00.845 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingUserJoin  16778240
2020-03-23 14:53:01.391 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.392 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16780288)
2020-03-23 14:53:01.393 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.393 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16780288)
2020-03-23 14:53:01.393 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.394 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.394 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16778240)
2020-03-23 14:53:01.394 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.396 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16778240)
2020-03-23 14:53:01.396 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.396 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.396 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onActiveVideoUserChanged uid(16778240)
2020-03-23 14:53:01.397 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onActiveSpeakerVideoUserChanged uid(16778240)
2020-03-23 14:53:01.397 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288)
2020-03-23 14:53:01.397 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288) audioType(2) isMute(false)
2020-03-23 14:53:01.397 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioTypeChanged uid(16778240)
2020-03-23 14:53:01.398 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioTypeChanged uid(16778240) audioType(0) isMute(false)
2020-03-23 14:53:01.398 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16778240)
2020-03-23 14:53:01.398 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16778240) audioType(0) isMute(false)
2020-03-23 14:53:01.398 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: status change: newStatus(MEETING_STATUS_INMEETING) code(0 0)
2020-03-23 14:53:01.398 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_INMEETING
2020-03-23 14:53:01.404 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: pre connectAudioWithVoIP res:SDKERR_SUCCESS
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16780288)
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserVideoStatusChanged uid(16780288)
2020-03-23 14:53:01.405 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingActiveVideo uid(16778240)
2020-03-23 14:53:01.406 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioTypeChanged uid(16780288)
2020-03-23 14:53:01.407 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioTypeChanged uid(16780288) audioType(0) isMute(false)
2020-03-23 14:53:01.673 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingUserUpdated uid(16780288)
2020-03-23 14:53:01.906 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_INMEETING
2020-03-23 14:53:01.912 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: muteMyAudio false res:SDKERR_SUCCESS
2020-03-23 14:53:01.933 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288)
2020-03-23 14:53:01.934 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288) audioType(0) isMute(false)
2020-03-23 14:53:01.934 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288)
2020-03-23 14:53:01.935 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onUserAudioStatusChanged uid(16780288) audioType(0) isMute(false)
2020-03-23 14:53:01.982 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_INMEETING
2020-03-23 14:53:01.998 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_INMEETING
2020-03-23 14:53:01.998 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: MicrophoneStatus: isAudioConnected[true] isMyAudioMuted[false] checkMuteFromMyInfo[false]
2020-03-23 14:53:01.998 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: MicrophoneStatus: same status, good!
2020-03-23 14:53:01.998 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: currentMeetingStatus:MEETING_STATUS_INMEETING

2020-03-23 14:53:02.717 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: status change: newStatus(MEETING_STATUS_DISCONNECTING) code(0 0)
2020-03-23 14:53:02.717 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: other status:MEETING_STATUS_DISCONNECTING
2020-03-23 14:53:02.717 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: onMeetingLeaveComplete 0
2020-03-23 14:53:02.726 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: report leave meeting:0V64SGpvR12OgsrXoNY02w==
2020-03-23 14:53:03.333 23006-23074/com.seagroup.seatalk I/ZoomMeetingManager: status change: newStatus(MEETING_STATUS_IDLE) code(0 0)

As we can see, the status change:
MEETING_STATUS_IDLE->MEETING_STATUS_CONNECTING->MEETING_STATUS_INMEETING
but suddenly to MEETING_STATUS_DISCONNECTING code(0 0)

We’re sure we didn’t call leave meeting in the process. looks like the user just leave automatically.

Having no clue, we try to use a former version v4.4.57218.1211 release on 2019-12-16
And it works just fine!

Is there someting we should do for upgrading the sdk? Looks like zoom has many change in the latest version. Or how can we find the cause about this? I didn’t see any error log and I set enableLog=true in the initialization of sdk.

here’s something I should memtion:
1.We use startMeeting api to join the meeting (because we need to asign with authentication it’s along story), but I don’t this it’s the problem because sdk did callback MEETING_STATUS_INMEETING that meens user should have entered the meeting room once.

2.We suport AndroidX since we first use zoom sdk

3.We setup totally custom UI

4.We have done the notification align with android 10 permission rule (cannot start activity in background), that is we are sure of that we zoom is randering in a launched activity and there will be a foreground notification binding to it in the meeting life circle.

that should be all I think.

But I notice that when user join meeting fail the phone will have a vibration in v4.6, but in v4.4 there’s no vibration. well, v4.4 did’t fail. Don’t know if that can ring any bell.

So now the upgrade is stuck. As a metter of fact that our priority is to fix some of our users in China cannot cannecting to zoom. If the bug is fix in v4.4.57218.1211 release on 2019-12-16, we can just use it. (and we are planing to relase the fix this week) It’ll take more time to figure it out how to upgrading to v4.6 I guess. If the bug can only be fix on v4.6, we might need abother plan.

Really need your help, thanks!

not sure if it’s related but i’m on v4.6.15086.0209
and this is what i get when I try to joinmeeting(): a connect, then disconnect right away ->

/ZMServiceHelper: SDK model no service. doServiceAction : com.zipow.videobox.PTService.ACTION_SHOW_CONF_NOTIFICATION
I/Zoom SDK Example: onMeetingStatusChanged, meetingStatus=MEETING_STATUS_CONNECTING, errorCode=0, internalErrorCode=0
I/Zoom SDK Example: onMeetingStatusChanged, meetingStatus=MEETING_STATUS_DISCONNECTING, errorCode=0, internalErrorCode=0
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@263d09d
I/Zoom SDK Example: onMeetingStatusChanged, meetingStatus=MEETING_STATUS_FAILED, errorCode=100, internalErrorCode=0
I/Zoom SDK Example: onMeetingStatusChanged, meetingStatus=MEETING_STATUS_IDLE, errorCode=0, internalErrorCode=0

Hi John_Doe,

Thanks for the post and thank you for providing all the information. As you have mentioned that your users are in China, and you are using Custom UI, did you implement the real-name SMS authentication part?(https://github.com/zoom/zoom-sdk-android/blob/master/mobilertc-android-studio/sample/src/main/java/us/zoom/sdksample/inmeetingfunction/customizedmeetingui/view/RealNameAuthDialog.java).

It is strange that the log feature has enabled but there is no log. It would be very helpful if we could have the SDK log for further investigation.

I tried to use the demo app of v4.6.15086.0209 to join a meeting using startMeeting or joinMeeting API and I was able to join meetings without any issues.

Is this happening on certain devices or certain network circumstances(like proxy or VPN)?

Thanks!

Hi xxconnect,

Thanks for the reply. Could you provide the SDK log so that we could further investigate? Are you using Zoom default UI or Custom UI? Is the meeting that has issues locates in China? Is this happening on certain devices or all devices?

Looking forward to hearing from you. Thanks!

It happen on all the devices, creating a meeting seems to be ok but all cannot join. We did nothing but just upgrade sdk from v4.4 to v4.6. Assuming the log feature is enable, how can I see the log from zoom? which tag should I filter?

As I said, our first priority is to fix connection problems in China, I also saw the SMS authentication page in v4.4.57218.121. Is that meens that the problem is already solved in this version? What’s this page use for? Does that meen, If the user in China wants to direct connect to zoom, he must do the SMS authentication?

Hi John_Doe,

Thanks for the reply. The log feature could be enabled at SDK initialization, and you may find the instruction here: https://marketplace.zoom.us/docs/sdk/native-sdks/android/mastering-zoom-sdk/sdk-initialization#2-log-feature, once you enable it and encounter the issue, please send us the log file so we could further investigate.

Regarding the SMS authentication, yes, in order to comply with China’s local network security regulations, SMS authentication is required for users in China to use Zoom services. This requirement stays the same in both 4.4 and 4.6, if you have already taken care of the SMS authentication in version 4.4, then the issue you are facing might not relate to this.

Hope this helps. Thanks!

I was trying to run example2 from the android sdk demo using joinmeeting only. I’ve attached a zip that has a few logs from failed runs: logs.zip

It’s unfortunate that you encrypt the logs so I can’t read them myself :frowning:

Can you help me with the error?

Hi xxconnect,

Thanks for the reply and the log. Yes, the log is encrypted to protect your privacy and we will only decrypt it for troubleshooting purposes. I will forward this to the engineering team to investigate and get back to you shortly.

Thanks!

Thanks for your reply Carson. How can I decrypt them locally?

Decrypt it locally is not available at the moment. Thanks!

Hi xxconnect,

Based on the log, it seems like the reason why the join meeting failed was that the meeting number was invalid:

Error code: 3001, invalid meeting number.

Please double check the meeting number and see if it helps.

Thanks!

Looks like we were using a string with dashes in it as meeting_id, which causes this opaque error… Thanks for decrypting my log and posting the result. I request developers be able to decrypt logs (either locally or through some website you control), so we don’t need to post them and take your resources to solve simple problems like this :slight_smile:

Hi xxconnect,

Glad to hear the problem was resolved. You could get the error code(and all other info) shown in the log from the return value of each interface. You could simply print them out and troubleshoot from there. Happy Zooming! :slight_smile: