Message delivery fails silently

On occasion, one client will be able to send messages to another client but return messages are not delivered, and there is no error message. If the client in question closes and restarts their XMPP client, things work fine again. Obviously, this sabotages our ability to use XMPP as a reliable method of communication.

Most of my clients connect using user@jabber.mycompany.com. I have some remote clients that for a variety of reasons cannot do DNS lookups. I have them connect via the IP address of my firewall, which forwards the correct port to my Jive 2.3 server. This external IP address is anonymized with XXXs in my log excerpt.

I’'m not very familiar with XMPP or Jive/Wildfire, but my theory is that under certain circumstances, the server will try to look them up as user@XXX.XXX.XXX.XXX instead of user@jabber.mycompany.com.

Shouldn’'t we at least get an error that the message was undeliverable? Is there a good way to fix this for my odd implementation, or do I just need to get those clients hooked up with DNS? Am I even on the right track with my troubleshooting?

2005.12.20 09:03:51 [org.jivesoftware.messenger.server.ServerDialback.createOutgoingSession(ServerD ialback.java:194)

] Error creating outgoing session to remote server: XXX.XXX.XXX.XXX (DNS lookup: XXX.XXX.XXX.XXX)

java.net.ConnectException: Connection refused: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.(Unknown Source)

at javax.net.DefaultSocketFactory.createSocket(Unknown Source)

at org.jivesoftware.messenger.server.ServerDialback.createOutgoingSession(ServerDi alback.java:130)

at org.jivesoftware.messenger.server.OutgoingServerSession.authenticateDomain(Outg oingServerSession.java:113)

at org.jivesoftware.messenger.spi.RoutingTableImpl.getRoute(RoutingTableImpl.java: 92)

at org.jivesoftware.messenger.IQRouter.handle(IQRouter.java:148)

at org.jivesoftware.messenger.IQRouter.route(IQRouter.java:73)

at org.jivesoftware.messenger.PacketRouter.route(PacketRouter.java:65)

at org.jivesoftware.messenger.net.SocketReader.processIQ(SocketReader.java:258)

at org.jivesoftware.messenger.net.ClientSocketReader.processIQ(ClientSocketReader. java:43)

at org.jivesoftware.messenger.net.SocketReader.readStream(SocketReader.java:230)

at org.jivesoftware.messenger.net.SocketReader.run(SocketReader.java:111)

at java.lang.Thread.run(Unknown Source)