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

> Does RFC 8445 allows this?

RFC 8445 does seem to require an ICE restart to achieve this. From section 8.1.1:

> Once the controlling agent has successfully nominated a candidate pair ([Section 7.2.5.3.4](https://www.rfc-editor.org/rfc/rfc8445#section-7.2.5.3.4)), the agent MUST NOT nominate another pair for same component of the data stream within the ICE session.  Doing so requires an ICE restart.

[ICE renomination](https://datatracker.ietf.org/doc/html/draft-thatcher-ice-renomination-01) attempted to extend ICE in this regard, but isn't a standard yet.

@pthatcherg are you aware of another standard that describes renomination? Neither RFC [8838](https://www.rfc-editor.org/rfc/rfc8838) nor [8863](https://www.rfc-editor.org/rfc/rfc8863) addresses this, from what I can tell.

> would any of these methods switch the agent from automatic to manual?

The cancelable switch event would be able to disambiguate this, and it makes sense to include it with _(or prior to)_ this change.

```webidl
partial interface RTCIceTransport {
  attribute EventHandler onicecandidatepairswitch;
};

interface RTCIceCandidatePairSwitchEvent : Event {
  readonly attribute RTCIceCandidatePair candidatePair;
  readonly attribute RTCIceCandidatePairSwitchReason reason;
};

enum RTCIceCandidatePairSwitchReason {
  ...
  "selected-connection-destroyed",
  "application-requested"
};
```

> How application knows the list of existing candidate pairs? Should the application relies on this new event `oncandidatepairadded` ?

Correct.

> Is there a new API at Transport level that lists the current available candidate pairs (not pruned)?

Not at the moment. If I recall correctly, a proposal for it is suggested further along in the ICE controller improvements.

-- 
GitHub Notification of comment by sam-vi
Please view or discuss this issue at https://github.com/w3c/webrtc-extensions/issues/171#issuecomment-1619087336 using your GitHub account


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

Received on Monday, 3 July 2023 20:09:34 UTC