Clarification needed - DNS SRV Record

Hi, first of all i’ve read the doc DNS SRV Record for openfire. But i need some clarification about that.

I’m running a Virtual Server. So there are several domains hosting on one shared ip. I’ve set a reverse delegation for my primary domainname. This means that the shared ip will route to the domainname i’ve set. So hostname = domain.tld.

I’m also hosting a domain e.g. domain-name.tld on this shared ip. Under domain-name.tld openfire is running. This domain has no subdomain or something else, people will conect to domain-name.tld. At the openfire admin console - server settings - it seems to set the right way. Hostname is domain.tld and “openfire” servername is domain-name.tld.

Now i like to set a DNS SRV Record for domain-name.tld even it is not needed. At my autoDNS manager i can set up SRV Records. What would be an srv record? xmpp.domain-name.tld? I can fill out:








So “Service” will be “xmpp”? Protocol is tcp, priority is …? Port will be 5222 and hostname …? Is hostname the share ip or domain-name.tld or domain.tld?

To understand a srv record better. If i’ve set a srv record, my user are still able to connect to my server with the serveradress “domain-name.tld” as they did before?


The SRV record would be as follows:

xmpp-server.tcp.domain.tld. IN SRV 0 0 5269 domain.tld.

xmpp-client.tcp.domain.tld. IN SRV 0 0 5222 domain.tld.

The weights (0 and 0) are not important unless you have multiple jabber servers hosted in different locations. For the most part, people will not be hosting their Jabber services on the same server which hosts the DNS records. Even myself, I make sure that the host would be specified regardless (even if it were the same server, its got a name).

For legacy configurations, you may also need the following:

jabber.tcp.domain.tld. IN SRV 0 0 5269 domain.tld.

Some servers look for the service protocol definition ‘jabber’ instead of the new format for _xmpp-(client/server). Additionally, like any record, you can specify timout values as well:

service.protocol.domain.tld. TIMEOUT IN SRV PRIORITY WEIGHT PORT subdomain.domain.tld.


xmpp-server.tcp.domain.tld. 14400 IN SRV 0 0 5269 subdomain.domain.tld.

Reference doc:

Hi, thanks for your reply but i think i’ve missed the redline…

What do you mean by “For the most part, people will not be hosting their Jabber services on the same server which hosts the DNS records” - Do you mean that this is the case i am running my Server? Directly on domain-name.tld?

You suggest to set an srv record? Does this change the “servername” from domain-name.tld into xmpp.domain-name.tld?


What I’m implying is if your jabber server is on the same server that runs your DNS, then SRV records are not needed.

If you are doing as I’m doing (a jabber server runs on a different server) then you will need SRV records.


Your domain is, and the server that hosts the dns is The jabber server you wish to run is (completely different server with different IPs). You will need the following A and SRV records: IN A <IP> IN SRV 0 0 5269 IN SRV 0 0 5222 IN SRV 0 0 5269

What this does is when your DNS gets a request for Jabber services (because a jabber client will look up the SRV records) it is asking 'Where is the Jabber server?" If its on the machine that is the dns server, then it will answer, “Me” and you’ll be on your way. If it isn’t, then you will need SRV records to point the client to the right server depending on the SERVICE. That’s how I understand SRV records, and how I’ve got my setup.

Gotcha! So i don’t need a srv record. Thank you!