Skip to content

[VID-1232] Add negotiation id for subscriber signaling offer-answer methods#1717

Merged
brunoribc merged 1 commit intomainfrom
add-negotiation-id-subscriber-peer
Mar 17, 2026
Merged

[VID-1232] Add negotiation id for subscriber signaling offer-answer methods#1717
brunoribc merged 1 commit intomainfrom
add-negotiation-id-subscriber-peer

Conversation

@brunoribc
Copy link
Contributor

@brunoribc brunoribc commented Mar 17, 2026

Introducing a field to the offer on the websocket called "negotiationId", it will be an increasing counter, that basically should be echoed back in the answer (Acting like an ACK-kind of field). This is an effort to avoid unneeded/wrong negotiations, and to be able to safe re-send offers from SFU.
Idea is that:

  • SFU sends offer X with negID = 1
  • Because of some delay (example low bandwidth / no connection) SFU tries resend the offer. negID = 1
  • There's an ICE restart, SFU will never send a different offer while still there's no answer from client.
  • Finally client receives the two offers, and sees both have same ID, it should only answer 1 ideally, but it can answer both (SFU will ignore the second), and ice restart can proceed from SFU

This is a pre-step on what's needed for decorrelating ICE restart on websocket recovery. For example, if websocket is recovered and SFU sees signaling (offer/answer exchange) is not stable it can just re-send the current offer in case it was lost when the connection dropped.

@brunoribc brunoribc merged commit 36b3bad into main Mar 17, 2026
2 checks passed
@brunoribc brunoribc deleted the add-negotiation-id-subscriber-peer branch March 17, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants