Multi-User Chat not work across domains due to "404: server not found"


I have a domain, let’'s say and a friend has another domain, say We both run Wildfire servers. We both want MUC to work.

I can connect to a room on, like but he cannot connect to a room on and get’'s a 404 error. But I can join join with other users of and both have A records in DNS as well as matching PTR records. For, I have both A and SRV records but I do not have matching PTR records. uses an SQL database for users and allows in-band registration, uses PAM and does not allow in-band registration.

Otherwise, we are setup pretty much the same. Neither of us have changed many of the other options. We can do regular chats back and forth so the firewalls are definitely allowing xmpp-server traffic.

What the heck could be going wrong? I have been maintaining the same config file and internal database for a while across many upgrades so it is possible I did something in the config a while ago that is non-standard, but I can’'t see what it might be. Any help would be greatly appreciated.

Hey archangel,

Have you tried enabling the debug log to gather more information? BTW, XMPP requires SRV records to locate remote entities. Anyway, if no SRV record was found then Wildfire will try to open a connection to and if that fails then it will try again using

Let us know the new information you found in the logs.


– Gato

I’‘m not seeing anything in debug info. I put a mark in, tried connecting, nothing. I don’‘t know about though, that’‘s just the debug log on I’'ll try to get his as well.

I also want to clarify how SRV records are used. My domain,, has a SRV record for xmpp-server.tcp. Is this “the” record for s2s communication? How are SRV and A records used in MUC? Do I need an A record and SRV record for

Message was edited by: archangel

Hey archangel,

XMPP core specification specifies that SRV lookups should be executed to

identify the real IP and ports to use when connecting to any remote XMPP

entity (e.g. remote server or remote service). A records are not

actually being used but it has been discussed about the idea of using

TXT records as a fallback method when there is no SRV record. Wildfire

currently only performs SRV look ups and if that fails then a connection

to the intended domain on the default port will be used.

Moreover, Wildfire has a unique feature where recursive lookups are done

if the initial connection to the domain failed. This means that if

Wildfire is asked to connect to and that

fails then it will try to connect to And if

conference service is being provided by then things

will go fine. This novel approach tries to provide a practical solution

for all those installations where SRV records are not being created for

each hosted subdomain/service.


– Gato

Debug log from

2006.08.01 16:24:56 Error sending packet to remote server:

java.lang.Exception: Failed to create connection to remote server

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess

at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( 650)

at java.util.concurrent.ThreadPoolExecutor$


Okay, and the service records for any services are xmpp-server? So I should have 0 0 5269

Yes. That is basically correct. – Gato