Openfire (or any XMPP server, for that matter) distinguishes between two different type of network names:
- the host name of the server (or servers, if you’re running a cluster) on which the XMPP server software (Openfire) is running. This value should be a fully qualified domain name (FQDN). In your example, it will be
- The XMPP domain name. This will be how your XMPP network will be known. It will form the domain-part of JIDs (for example:
You can make up the XMPP domain name yourself, but you make things a lot easier of you choose an XMPP domain name that matches a DNS name that’s under your control (for which you can create DNS records).
Why? When an XMPP client tries to log in a user, it will parse the JID that the user provided to obtain the XMPP domain name (in your example, when you log in with
thomas@myxmppdomainname, your client will try to connect to the
myxmppdomainname XMPP domain. The client now needs to determine where the servers are that it can connect to. The way how clients do this is defined in the XMPP protocols. Basically, it will:
- Perform a DNS SRV record lookup, to find a record like this:
_xmpp-client._tcp.myxmppdomainname. 18000 IN SRV 0 5 5222 km35925.xxxmyserver.de.. This is how the client finds the fully qualified domain name for a server that belongs to your XMPP domain.
- Perform a A record lookup, to find the IP address of a server. If no DNS SRV record exists for your domain, the client will perform an A record lookup for the xmpp domain name itself, instead of the FQDN that it found via DNS SRV.
Using this, the client can determine what IP address to connect to, to reach your XMPP domain. If none of this works, then your users will have to manually provide the IP address or host name for a server that belongs to your XMPP domain. Most clients allow you to do this.
- Make sure you can create DNS records for your domain name.
- If you cannot, make your XMPP domain name equal to the fully qualified domain name of the server that’s running Openfire.
I’m no Kaiwa expert, but given that it likely re-uses much of the above, solving that problem first might help you with the Kaiwa problem too.