[webrtc-extensions] ICE improvements: select a candidate pair (#171)

sam-vi has just created a new issue for https://github.com/w3c/webrtc-extensions:

== ICE improvements: select a candidate pair ==
**Background**: Issue #166 proposes a mechanism with which applications can prevent candidate pairs from being pruned by the ICE agent. This allows applications to maintain multiple candidate pairs for connection redundancy and quick switchover.

**Problem**: Redundant connections are only useful when applications have a way to switch the transport to another candidate pair, for which no API exists today.

**Proposal**: Introduce a new API to allow applications to select a specific candidate pair for transport

```webidl
partial interface RTCIceTransport {
  Promise<undefined> setSelectedCandidatePair(RTCIceCandidatePair pair);
}
```

Calling the method on the ICE controlling peer causes the ICE agent to begin selecting the candidate pair for transport using the procedure described in [section 7.2.5.3.4](https://www.rfc-editor.org/rfc/rfc8445.html#section-7.2.5.3.4) of RFC 8445. The returned promise settles once the nomination concludes.

The promise is rejected if the method is called in an invalid context (eg. on the ICE controlled peer, or from an event handler for prune proposal), with an invalid argument (eg. discarded candidate pair), or if the nomination fails (eg. if the STUN request fails).

Please view or discuss this issue at https://github.com/w3c/webrtc-extensions/issues/171 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 12 June 2023 12:18:19 UTC