Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
rshpount opened this issue Apr 18, 2019 · 4 comments

Comments

@rshpount
Copy link

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.

@juberti
Copy link
Collaborator

juberti commented Apr 19, 2019

This seems like it is expanding the scope of this document a fair amount - can you think of a scenario where this would actually be needed?

@cdh4u
Copy link
Owner

cdh4u commented Apr 19, 2019

"This signaling message will let the other ICE agent know that ICE agent is still sending binding requests and needs nomination time out extended."

I am not sure I understand. The draft does not change for how long an ICE agent is sending binding request - it changes for how long an ICE agent waits to RECEIVE binding requests before it triggers ICE failure.

@rshpount
Copy link
Author

rshpount commented Apr 19, 2019

One thing that is hard to determine for the agent is how long it is supposed to wait for STUN Bind requests before declaring ICE nomination failure. There is no way for the agent to know how many candidate pairs the remote ICE agent is going to try and time out values this agent is going to use. Because of this, there is always a risk that agent stop waiting for incoming bind requests and declares ICE nomination failure before remote agent actually tried all the candidate pairs. One way to work around this is to add a signaling message to indicate that candidate pairs were tried to inform remote agent that it is safe to stop waiting for incoming requests.

Another way of solving this is simply specify that agent waits for some reasonable timer interval before failing. This is what we've chosen for reasons of simplicity.

@juberti
Copy link
Collaborator

juberti commented Jul 8, 2019

Another way of solving this is simply specify that agent waits for some reasonable timer interval before failing.

Agreed that that's what we've chosen. Closing accordingly.

@juberti juberti closed this as completed Jul 8, 2019
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

No branches or pull requests

3 participants