amazon-chime-sdk-component-library-react
amazon-chime-sdk-component-library-react copied to clipboard
useMeetingStatus doesn't give updated status on ICEGatheringTimeoutWorkaround
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?
- [X] Amazon Chime SDK for JavaScript GitHub issues
- [X] Amazon Chime SDK React Components Library GitHub issues
- [X] Storybook documentation
- [X] README page
- [X] How-to documentation
- [X] React SDK meeting demo
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
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.
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.
Hi @beta-alpha001 ,
The audioVideoDidStop will be triggered:
- When the meeting has failed completely with a terminal failure else JS SDK will attempt re-connection.
- In the app,
meetingSession.audioVideo.stop()is called. - Else, the re-connection times-out configured using the
reconnectTimeoutMsthroughMeetingSessionConfigurationin JS SDK andMeetingManagerConfigthrough 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 [email protected] 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:
- https://github.com/aws/amazon-chime-sdk-js/issues/2033
- https://github.com/aws/amazon-chime-sdk-js/pull/1993
Closing due to inactivity. Feel free to reopen if you still need help.