Removed handling of ice disconnect state to allow automatic reconnect… #447
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We have been having some issues when making calls the web browser, if the network connection is poor then the call can drop out and fail to re-establish the connection. The responsible code is:
"disconnected" state is able to recover and reconnect but in spreed-webrtc it is treated the same as "failed":
In webrtc.js at line 485 (static\js\mediastream\webrtc.js), the "disconnected" state can occur more often on a poor connection:
From https://lists.w3.org/Archives/Public/public-webrtc/2012Sep/att-0097/WebRTCstatesandcallbacks.pdf
"Liveness checks have failed for one or more components. This is more aggressive than "failed", and may trigger intermittently (and resolve itself without action) on a flaky network."
The change we have made here is to remove the case "disconnected": and just handle the failed case. During our testing here we were able to call from a phone to the web brower and disconnect the mobile data on the phone for up to 30 seconds then reconnect mobile data and the call would recover and continue streaming video and audio. Without this change then upon mobile data disconnection the call would end and no recovery was possible.