-
Notifications
You must be signed in to change notification settings - Fork 92
Update DNS SRV documentation #1117
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
base: next-release
Are you sure you want to change the base?
Conversation
And add description of new places where SRV resolution is used in 3.12.0
9df5a4b to
781c21c
Compare
781c21c to
cdcdf99
Compare
|
|
||
| A [DNS SRV record ("service" record)](https://en.wikipedia.org/wiki/SRV_record) is a special DNS record that can be used to publish the port number and hostname that should be used to connect to a particular service. | ||
|
|
||
| Later versions of Jamulus Clients and Servers support [DNS SRV records ("service" records)](https://en.wikipedia.org/wiki/SRV_record). Depending on the version of Jamulus, if it finds a DNS SRV record associated with the domain name given, it will try to connect to the endpoint host and port listed in the SRV record. This process is similar to HTTP redirection in a web browser, only it's between Jamulus and the DNS server. The Jamulus Server is not involved in this interaction. Jamulus Servers just listen for connections on the same port listed in the SRV record. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Later versions of Jamulus Clients and Servers
This implies the current (always) version doesn't. It should say "the current version (i.e. 3.12.0 and later)" or similar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, either "The latest" or "Recent" then. I want to have the detail of which versions and their features in only one place if possible.
|
|
||
| A [DNS SRV record ("service" record)](https://en.wikipedia.org/wiki/SRV_record) is a special DNS record that can be used to publish the port number and hostname that should be used to connect to a particular service. | ||
|
|
||
| Later versions of Jamulus Clients and Servers support [DNS SRV records ("service" records)](https://en.wikipedia.org/wiki/SRV_record). Depending on the version of Jamulus, if it finds a DNS SRV record associated with the domain name given, it will try to connect to the endpoint host and port listed in the SRV record. This process is similar to HTTP redirection in a web browser, only it's between Jamulus and the DNS server. The Jamulus Server is not involved in this interaction. Jamulus Servers just listen for connections on the same port listed in the SRV record. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This process is similar to HTTP redirection in a web browser
Not really. SRV can apply beneath HTTP just as much as beneath any other IP protocol. This implies (to someone who knows what "HTTP redirection" means) that a request is made to the original address (i.e. the server name supplied, not the DNS server for that domain) and that server responds, which isn't the case.
So this doesn't really help someone who doesn't understand "HTTP redirection" nor is it accurate in explaining it to someone who does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, that part was inherited from the original DNS SRV section (which I didn't write). I'll revise or remove that bit.
| _jamulus._udp.example.com. 60 IN SRV 0 5 12345 jamulus.example.com. | ||
| ~~~ | ||
|
|
||
| This allows to host many Jamulus Servers at different ports on a single host with different hostnames by giving each its own SRV record. This avoids having to give your users the port number, which may be less memorable than a name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could do with an example, showing how
host1.example.com
host2.example.com
could be used without a port number where SRV records are used to supply the port (i.e. where DNS name "host1" and "host2" are actually hosted on the same server but different ports).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see this is explained below.
OK, this is a bit of a mess with multiple places trying to say the same thing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it's combination of the original page and parts I added to try and explain things better. I'll go through it again and try to improve the structure and flow.
|
|
||
| See the documentation of your DNS provider for instructions on creating an SRV record. | ||
|
|
||
| #### Jamulus versions supporting SRV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't what this section is primarily about. It's explaining where you can use SRV records.
It should, in passing, mention the version where the feature was introduced.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused by that comment. This section (line 44) onwards is mentioning the versions where the features were introduced.
| | `rock.jamulus.io` | `_jamulus._udp.rock.jamulus.io. 60 IN SRV 0 0 22424 rock.jamulus.io.` | `rock.jamulus.io:22424` | | ||
| | `jazz.jamulus.io` | `_jamulus._udp.jazz.jamulus.io. 60 IN SRV 0 0 22324 jazz.jamulus.io.` | `jazz.jamulus.io:22324` | | ||
| | `classical.jamulus.io` | `_jamulus._udp.classical.jamulus.io. 60 IN SRV 0 0 22524 classical.jamulus.io.` | `classical.jamulus.io:22524` | | ||
| | `choral.jamulus.io` | `_jamulus._udp.choral.jamulus.io. 60 IN SRV 0 0 22724 choral.jamulus.io.` | `choraljamulus.io.:22724` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo in the last Jamulus Server.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops
| |**Genre Classical/Folk** |`classical.jamulus.io:22524`| | ||
| |**Genre Choral/Barbershop** |`choral.jamulus.io:22724`| | ||
| Recent versions of Jamulus support [DNS SRV records ("service" records)](https://en.wikipedia.org/wiki/SRV_record) for automatically finding the port number to use to connect to a Directory or Server. This allows just the hostname to be specified, without the port number. See [this page](DNS-SRV-Support) for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say "Since version 3.10.0, with further enhancements in 3.12.0, ...." I don't like vague "recent" references.
EDIT Or, as below, just say "Jamulus supports...".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment below.
|
|
||
| *It's important to remember that DNS is not forwarding connections. It's simply telling Jamulus Client what public host:port to connect to.* | ||
|
|
||
| Recent versions of Jamulus support [DNS SRV records ("service" records)](https://en.wikipedia.org/wiki/SRV_record) for automatically finding the port number to use to connect to a Directory or Server. This allows just the hostname to be specified, without the port number. See [this page](DNS-SRV-Support) for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here I'd just say "Jamulus supports..." - leave the explanation of versions to the main page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I just didn't want to imply all versions of Jamulus have always supported it, but also didn't want to duplicate all the specific "which version" info. So the intention was to mention that SRV support is version-specific, but leave the version details to the part where it is explained fully.
|
|
||
| # DNS SRV Record Support | ||
|
|
||
| #### Connecting to a Server or Directory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is duplicating "Why is it helpful?"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'll see what I can improve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I should remove the "Why is it helpful?" then. I wanted to describe the current situation first and then the benefit of SRV records.
|
|
||
| However, a Jamulus instance wanting to connect _directly_ to a Server or Directory by IP or hostname must know the port number to use. This can be specified after the IP address or hostname, such as `198.51.100.46:22123` or `jamulus.example.com:22120`. | ||
|
|
||
| #### Using DNS SRV to publish port numbers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is duplicating "Example use case with SRV records".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, will revisit
Short description of changes
Move documentation for DNS SRV from Unregistered Servers to its own page.
Expand the DNS SRV page.
Add references to the new page from the Running a Server and Unregistered Servers pages.
Context: Fixes an issue? Related issues
Provides supporting documentation for jamulussoftware/jamulus#3556
Status of this Pull Request
Tested in Jekyll and ready for review.
What is missing until this pull request can be merged?
Only review.
Does this need translation?
YES
Checklist