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

ice: mDNS refactoring #934

Merged
merged 1 commit into from
Oct 5, 2023
Merged

ice: mDNS refactoring #934

merged 1 commit into from
Oct 5, 2023

Conversation

sreimers
Copy link
Member

@sreimers sreimers commented Sep 1, 2023

No description provided.

@sreimers sreimers force-pushed the mdns_refactoring branch 2 times, most recently from 5462187 to 722db91 Compare September 1, 2023 11:21
@sreimers
Copy link
Member Author

sreimers commented Sep 2, 2023

I'm a bit unsure how we should handle this nicely. Without Trickle we have to wait for all candidates. But mDNS timeouts are between 3-5 seconds. That's a high startup delay. Especially if hosts are not on the same network. Should we migrate baresip ice to trickle and add only mDNS support there?

@alfredh
Copy link
Contributor

alfredh commented Sep 4, 2023

There are two ICE stacks, "ice" and "trice".

The latter one has multiple interfaces and supports Trickle ICE, it has been in production
for around 8 years. The long term goal is to merge these 2 stacks into one stack.

We could create a new baresip module trice.so and experiment with how it works.

Waiting for all candidates to finish it not so practical, IMHO. You could also add a new flag
to "ice" which says dont wait for all candidates to finish ...

@alfredh
Copy link
Contributor

alfredh commented Sep 17, 2023

It is also possible to add optional "Trickle Mode" to the current ICE stack, so that we
don't have to wait for all candidate pairs to finish...

@alfredh
Copy link
Contributor

alfredh commented Oct 4, 2023

There is also another solution, which is to set the mDNS timeout short, e.g. 100ms.

@sreimers
Copy link
Member Author

sreimers commented Oct 4, 2023

There is also another solution, which is to set the mDNS timeout short, e.g. 100ms.

Since I had already a 100ms default timeout implemented this workaround was easy. Needs some testing...

@sreimers sreimers changed the title mDNS refactoring ice: mDNS refactoring Oct 4, 2023
@sreimers sreimers marked this pull request as ready for review October 4, 2023 12:16
mDNS resolving can lead to long timeouts (~5s), so it's
better to resolve IPv4 and IPv6 separately to avoid long ice
startup delays.
@sreimers sreimers merged commit ad4de14 into main Oct 5, 2023
44 checks passed
@sreimers sreimers deleted the mdns_refactoring branch October 5, 2023 11:52
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