webex / webex-js-sdk

JavaScript SDK for Webex
https://webex.github.io/webex-js-sdk/
Other
174 stars 343 forks source link

fix: wait for ice gathering state to complete or timeout #3604

Closed k-wasniowski closed 4 months ago

k-wasniowski commented 4 months ago

COMPLETES #SPARK-520529

This pull request addresses

Currently, MultistreamMediaConnection doesn't wait for the ICE Gathering to complete. What results in sometimes not waiting for relay candidates to be gathered. Not waiting for relay candidates to be gathered, may result in not intended media connection failure even though media could be establish through the TurnTLS.

by making the following changes

This PR introduces functionality which on media connection will wait for ICE Gathering to be completed. What's more retry have been added in case ICE Gathering completes in requested time duration, but no DTLS connection have been established yet.

Change Type

The following scenarios where tested

JS SDK Multistream Connection Establishment JS SDK Transcoded Connection Establishment Web App

I certified that


Make sure to have followed the contributing guidelines before submitting.