GithubHelp home page GithubHelp logo

draft-ice-pac's People

Contributors

cdh4u avatar juberti avatar

Watchers

 avatar  avatar  avatar

Forkers

juberti ice-wg

draft-ice-pac's Issues

When does the timer start?

The "alternative c)" that I proposed is to "Start the timer as soon as we have received a remote offer or answer and have also sent a local candidate to the remote side".

The rationale for this is:
A) we can't start ICE processing (checks) until we get a remote offer/answer with ICE credentials
B) we can't receive an incoming check that could create a prflx candidate unless we sent a candidate to the remote side

Add MUST-level requirements

  1. The current draft says "MUST wait for" and "N SHOULD be X". But together, that amounts to "SHOULD wait for X", so the whole
    RFC ends up being a big SHOULD. Is that normal for an RFC to only have SHOULDs and not MUSTs? Seems less meaningful because

This is a reasonable point. We could say that the implementation MUST wait for enough time to receive peer-reflexive candidates. This value SHOULD be the local connectivity check timeout.

How long does the timer run?

I agree we should use the "max duration of a connectivity check transaction".

I think this value will work just fine in real world scenarios. And if the timer expires before we have tested all pairs (this can certainly happen, in the case of two hosts with no connectivity to each other), we just resume existing ICE processing, and fail when everything moves to the failed state (i.e., every pair has timed out). The timer is simply there to prevent premature failures.

Should ICE agents wait for all prflx candidates before sending USE-CANDIDATE?

[from the list]
... I think this implies that one shouldn't be too hasty to declare ICE completion either.

Since some implementations may malfunction if they don't get a USE-CANDIDATE quickly, I am not sure if we can wait the full STUN timeout interval, but perhaps a somewhat shorter delay (e.g. a few seconds) could be recommended before sending USE-CANDIDATE.

De we need additional signaling to make this work reliably for all candidate lists?

Looking at this problem it is clear that it would be difficult to come up with a timer value which will work for all possible candidate lists. It probably makes sense to have some sort signaling message which requests ICE nomination time out extension. This signaling message will let the other ICE agent know that ICE agent is still sending binding requests and needs nomination time out extended. In other words, ICE should not fail for 32 seconds, but agent should send a signaling message (INFO with current candidates or something similar) every 16 seconds to keep negotiation going unless a binding request from remote was received. This signaling message would extend nomination timeout for another 32 sec from the time the message was received.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.