powered by Jive Software

Server to Server using different host and domain names

Hi all,

I’ve read a few articles on this site on how to accomplish server to server communications. I’ll explain the scenario, what I did that worked and what I did that didn’t work and why this is still an enigma to me.

First off, I have an Openfire server 3.6.4. My DNS server has an entry for jabber.example.com pointing to it’s IP address.

My scenario is that I’d like to have all my users registed with an XMPP identifier that looks like user@example.com.


The first scenario that somewhat works, I did the following:

I installed Openfire and set the Xmpp.Domain variable to jabber.example.com.

I then placed a DNS SRV record that look like this when I 'dig @mynameserver SRV _xmpp-server._tcp.example.com :

_xmpp-server._tcp.example.com 86400 IN SRV 0 100 3269 jabber.example.com

(I also placed the equivalent for _xmpp-client using port 5222 instead of 3269)

I set the Server->Server Settings->Server Connection security options to Optional and check accept self-signed certs.

Great, I log on to jabber.example.com using any XMPP client as User1 (Using Pidgin for an FYI). I then add a buddy of ExampleUser@gmail.com.

I log on another laptop using Pidgin to ExampleUser@gmail.com. It reports "user1@jabber.example.com would like to add you to their roster".

!!! I want that message to say "user1@example.com would like to add you to their roster"

So, the second scenario, that doesn’t work:

Re-install Openfire (dpkg -r --purge openfire, dpkg -i openfire-3.6.4.deb). In the wizard I set the Xmpp.Domain variable to example.com (instead of jabber.example.com like I did in the first scenario).

My DNS SRV record above is still the same

I set the Server->Server Settings->Server Connection security options to Optional and check accept self-signed certs.

I now log on to jabber.example.com using my XMPP client as User1@example.com. I add ExampleUser@gmail.com as a buddy.

Nothing happens!!! Here is the output of the warn.log relating to this operation:

at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:217)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.return ErrorToSender(OutgoingSessionPromise.java:285)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2009.06.03 10:32:07 Autocreating jiveID row for type '25’
2009.06.03 10:34:16 Error returning error to sender. Original packet:

org.jivesoftware.openfire.PacketException: Cannot route packet of type IQ or Presence to bare JID:

I’m guessing here that either I did something wrong with my DNS setup in the first scenario, or I’m doing something wrong with the server settings in the second scenario.

Does anybody have any pointers?

I alread read the following articles: