core: carry ICE restart session in call extra info (#7718)

This commit is contained in:
sh authored and GitHub committed 2026-10-19 12:22:10 +01:00
1 parent 2ea1ec0d50
commit 58bc94bc74
5 files changed
+21 -2

No files matched your search

+3 -1
View File
@@ -286,7 +286,9 @@ These message are used for WebRTC calls:
3. `x.call.answer`: to continue with call connection the initiating clients must reply with `x.call.answer` message. This message contains WebRTC answer and collected ICE candidates. Additional ICE candidates can be sent in `x.call.extra` message.
4. `x.call.end` message is sent to notify the other party that the call is terminated.
4. `x.call.extra` with `rtcSession` property: when an established connection is lost, the client that sent `x.call.offer` restarts ICE and sends the new offer in `rtcSession` of `x.call.extra`. The other client replies with the answer in `rtcSession` of `x.call.extra`. Clients that do not support it ignore this property, and the call ends when reconnection times out.
5. `x.call.end` message is sent to notify the other party that the call is terminated.
Call messages have their own version, independent of the chat protocol version. The initiating client sends the range of call versions it supports in `callVRange` property of `x.call.inv`. The receiving client chooses the highest version supported by both clients and sends it in `callVersion` property of `x.call.offer`. The initiating client rejects the offer if this version is not in the range it sent. A missing range or version means version 1.
+3
View File
@@ -364,6 +364,9 @@
"rtcExtraInfo": {
"properties": {
"rtcIceCandidates": {"type": "string"}
},
"optionalProperties": {
"rtcSession": {"type": "string"}
}
}
}