From a628d0b3238480482f6abddc9d157808b99acaa6 Mon Sep 17 00:00:00 2001 From: epoberezkin Date: Mon, 19 Oct 2026 11:22:51 +0000 Subject: [PATCH] deploy: 58bc94bc7497f20b93ec302fc8f4cfd99ee8b135 --- docs/protocol/simplex-chat.html | 3 +++ docs/protocol/simplex-chat.md | 4 +++- docs/protocol/simplex-chat.schema.json | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/protocol/simplex-chat.html b/docs/protocol/simplex-chat.html index b99c001173..6bdb505000 100644 --- a/docs/protocol/simplex-chat.html +++ b/docs/protocol/simplex-chat.html @@ -1071,6 +1071,9 @@ eventWord = 1* ALPHA

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.

  • +

    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.

    +
  • +
  • x.call.end message is sent to notify the other party that the call is terminated.

  • diff --git a/docs/protocol/simplex-chat.md b/docs/protocol/simplex-chat.md index d6e3405281..7da0aeafac 100644 --- a/docs/protocol/simplex-chat.md +++ b/docs/protocol/simplex-chat.md @@ -282,7 +282,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. diff --git a/docs/protocol/simplex-chat.schema.json b/docs/protocol/simplex-chat.schema.json index 5fb4794094..a9bb2d8735 100644 --- a/docs/protocol/simplex-chat.schema.json +++ b/docs/protocol/simplex-chat.schema.json @@ -364,6 +364,9 @@ "rtcExtraInfo": { "properties": { "rtcIceCandidates": {"type": "string"} + }, + "optionalProperties": { + "rtcSession": {"type": "string"} } } }