Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

useMeetingStatus doesn't give updated status on ICEGatheringTimeoutWorkaround #692

Closed
6 tasks done
beta-alpha001 opened this issue Dec 7, 2021 · 4 comments
Closed
6 tasks done
Labels
Bug Something isn't working Triaged

Comments

@beta-alpha001
Copy link

beta-alpha001 commented Dec 7, 2021

What happened and what did you expect to happen?

Sometimes meeting get stuck in connecting state forever, with warnings like

Your connection is poor
no transition found from Disconnecting with Update
peer connection negotiation is needed
will retry due to status code ICEGatheringTimeoutWorkaround and error: serial group task AudioVideoStart/6ae8a1fb-83b8-4523-900b-8e7484d60706/a40909b6-4556-bc90-81dd-1c8b4512edb3 was canceled due to subtask AudioVideoStart/6ae8a1fb-83b8-4523-900b-8e7484d60706/a40909b6-4556-bc90-81dd-1c8b4512edb3/Timeout15000ms error: serial group task AudioVideoStart/6ae8a1fb-83b8-4523-900b-8e7484d60706/a40909b6-4556-bc90-81dd-1c8b4512edb3/Timeout15000ms/Peer was canceled due to subtask AudioVideoStart/6ae8a1fb-83b8-4523-900b-8e7484d60706/a40909b6-4556-bc90-81dd-1c8b4512edb3/Timeout15000ms/Peer/SubscribeAndReceiveSubscribeAckTask (once) error: canceling FinishGatheringICECandidatesTask due to the meeting status code: 16

in such cases audioVideoDidStop event is received.
I'm using useMeetingStatus which doesn't give updated value of meeting status i.e. MeetingStatus.Failed in this case.

Have you reviewed our existing documentation?

Reproduction steps

ICEGatheringTimeoutWorkaround happens randomly, not for any specific device or user. But every time it happens meeting status is not updated ever.

Amazon Chime SDK React Components Library version

2.11.0

What browsers are you seeing the problem on?

Chrome

Browser version

96

Device Information

Realme X50 Pro 5G, android 11

Meeting and Attendee ID Information.

Meeting ID- 6ae8a1fb-83b8-4523-900b-8e7484d60706

Browser console logs

logs- 1fd2-122-180-189-28.ngrok.io-1638878149776.log

video_events_log_55afbef0-ab79-4c5a-8b00-a9c84f0aa832.txt

Add any other context about the problem here.

No response

@jing-chen1
Copy link
Contributor

Hi @beta-alpha001,

Thanks for reporting this issue. The normal events that should be received after AudioVideoClean is ReleaseMediaStreamsTask and session stopped with code: X. However in this log, it retried since the status is ICEGatheringTimeoutWorkaround.

Not sure if the problem only happens in Chrome, if it is, then this could be an indication that the browser is in a bad state due to a VPN reconnect and the user should try quitting and relaunching the app. See: https://bugs.chromium.org/p/webrtc/issues/detail?id=9097

It would be great if there are steps to reproduce the problem.

@beta-alpha001
Copy link
Author

Hi @jing-chen1, thank you for the response.

It would be great if there are steps to reproduce the problem.

User has Realme X50 Pro 5G on which this issue is reproducible every time they try to connect with chime in both chrome and firefox, however I'm not able to reproduce this on other devices. Relaunching application doesn't help.

Question:
Shouldn't we get audioVideoDidStop event when it retries due to status ICEGatheringTimeoutWorkaround ?
If yes, then can we mock ICEGatheringTimeoutWorkaround and check why useMeetingStatus doesn't update meeting status to MeetingStatus.Failed.

@devalevenkatesh
Copy link
Contributor

devalevenkatesh commented Feb 22, 2022

Hi @beta-alpha001 ,

The audioVideoDidStop will be triggered:

  1. When the meeting has failed completely with a terminal failure else JS SDK will attempt re-connection.
  2. In the app, meetingSession.audioVideo.stop() is called.
  3. Else, the re-connection times-out configured using the reconnectTimeoutMs through MeetingSessionConfiguration in JS SDK and MeetingManagerConfig through Chime react component library.

Hence, if a meeting session runs into the ICEGathering failure, the SDK ran into a WebSocket close event not receiving issue, hence, the Amazon Chime SDK for JavaScript would keep on re-connecting until it connects successfully resulting into no audioVideoDidStop trigger. This was a bug and we have seen your issue like behavior in a more recent issue and may be related.

The issue was fixed in amazon-chime-sdk-js@2.27.0 and since there is no Chime component release done yet, the current version still depends on 2.26.0. Could you please confirm if updating the Chime component library version to latest, as well as the amazon-chime-sdk-js version to the latest solves your issue?

References:

@devalevenkatesh devalevenkatesh added Bug Something isn't working Triaged and removed device labels Feb 22, 2022
@ltrung
Copy link
Contributor

ltrung commented Jul 2, 2023

Closing due to inactivity. Feel free to reopen if you still need help.

@ltrung ltrung closed this as completed Jul 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working Triaged
Projects
None yet
Development

No branches or pull requests

4 participants