Add --listening-ip to coturn command#371
Open
matthijskooijman wants to merge 1 commit intobigbluebutton:developfrom
Open
Add --listening-ip to coturn command#371matthijskooijman wants to merge 1 commit intobigbluebutton:developfrom
matthijskooijman wants to merge 1 commit intobigbluebutton:developfrom
Conversation
This ensures that coturn only listens on our external IP addresses, instead of listening on all interfaces, including internal docker-only interfaces. This prevents issues on some setups, where binding errors are produced, e.g.: coturn-1 | bind: Address not available coturn-1 | bind: Address not available coturn-1 | Cannot bind local socket to addr: Address not available coturn-1 | bind: Address not available coturn-1 | Cannot bind local socket to addr: Address not available coturn-1 | Cannot bind local socket to addr: Address not available coturn-1 | bind: Address not available coturn-1 | Cannot bind local socket to addr: Address not available coturn-1 | bind: Address not available coturn-1 | Cannot bind local socket to addr: Address not available coturn-1 | 0: (14): INFO: Trying to bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478, again... coturn-1 | 0: (1): WARNING: Cannot bind DTLS/UDP listener socket to addr [fd00:dead:beef::1]:3478 coturn-1 | 0: (1): INFO: Trying to bind DTLS/UDP listener socket to addr [fd00:dead:beef::1]:3478, again... coturn-1 | 0: (15): INFO: Trying to bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478, again... coturn-1 | 0: (17): WARNING: Trying to bind fd 99 to <[fd00:dead:beef::1]:3478>: errno=99 coturn-1 | 0: (17): WARNING: Cannot bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478 coturn-1 | 0: (17): INFO: Trying to bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478, again... coturn-1 | 0: (16): WARNING: Trying to bind fd 153 to <[fd00:dead:beef::1]:3478>: errno=99 coturn-1 | 0: (16): WARNING: Cannot bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478 coturn-1 | 0: (16): INFO: Trying to bind TLS/TCP listener socket to addr [fd00:dead:beef::1]:3478, again... coturn-1 | 0: (14): WARNING: Trying to bind fd 124 to <[fd00:dead:beef::1]:3478>: errno=99 coturn-1 | 0: (15): WARNING: Trying to bind fd 115 to <[fd00:dead:beef::1]:3478>: errno=99 Using the external address as the listening address should work in most setups. For servers behind a NAT, this will fail to start coturn, since the external address is not available. To support those usecases, two new variables (TURN_LISTENING_ADDRESS_IPv4 and TURN_LISTENING_ADDRESS_IPv6) were added that can be set to override the listening address.
Contributor
Author
|
I've not been able to test if coturn still works after applying this commit. It starts and log output looks good, but I am not sure how to check that my client is actually using STUN/TURN when doing a conference call. Any suggestions on where to look? I also do not have any way to test the server-behind-NAT usecase, but I guess that case is rare anyway. |
Contributor
Author
|
As extra rationale for this change: The BBB docs also document using |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This ensures that coturn only listens on our external IP addresses, instead of listening on all interfaces, including internal docker-only interfaces. This prevents issues on some setups, where binding errors are produced, e.g.:
Using the external address as the listening address should work in most setups. For servers behind a NAT, this will fail to start coturn, since the external address is not available. To support those usecases, two new variables (TURN_LISTENING_ADDRESS_IPv4 and
TURN_LISTENING_ADDRESS_IPv6) were added that can be set to override the listening address.