mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 19:49:33 +01:00
Signaling messages related to peer connections include a "sid" parameter to be able to identify the connection. At any given time it is expected that there will be a single peer connection for certain session and type, and the sid is used to verify that both ends are using the same peer connection. Signaling messages with a different sid can be ignored, unless they are offers; if an offer is received for an existing peer connection with a different sid that means that the existing peer connection is stale, so it should be removed and a new one should be created instead. This can happen, for example, if a new offer is requested to the HPB (which creates a new peer connection in the HPB, so the existing one can no longer be used). On the other hand, if an offer with the same sid as the existing peer connection is received that means that the offer is a renegotiation, and it should be handled by the existing peer connection. Note that a signaling message may not contain a "sid" parameter if an older HPB is being used (external signaling server < 0.5.0), or when the other participant is using an older app version. In that case it is not possible to know if a signaling message for certain session and type actually refers to the existing connection or a different one, so it is always handled as if it was for the existing connection (which was the behaviour until now). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com> |
||
---|---|---|
.. | ||
schemas/com.nextcloud.talk.data.source.local.TalkDatabase | ||
src | ||
build.gradle | ||
lint.xml | ||
proguard-rules.pro |