powered by Jive Software

S2S Difficulty

I’‘m having problems getting my company’‘s Jive Messenger server talking to other public servers on the internet. It does NOT work if i set the xmpp.domain value in the System Properties to “domain.com” but it DOES work if i set it to “jabber.domain.com”. But unfortunately, with this value set to “jabber.domain.com” - my user’‘s jabber IDs are seen as "user@jabber.domain.com" instead of just "user@domain.com". And I want my user’'s jabber IDs to be "user@domain.com" and have S2S messaging working properly.

Here’'s my setup:

The Jive Messenger server is reachable at jabber.domain.com - it has a static public IP address that is mapped through a 1-to-1 static NAT. (incoming and outgoing traffic go to and from the same public IP address)

I also have SRV DNS records created that point to the server jabber.domain.com for the relivant services for domain.com. (I’'ve confirmed the SRV records are functioning properly by using the Pandion client from both inside and outside of the network)

The only thing i do not have is a way to direct requests going to port 5269 to “domain.com” to “jabber.domain.com” - as these servers are on completely different networks in different cities behind different firewalls. I’‘m assuming this is the root of my problem, and I need to find a way around it. I was hoping the SRV records would work like MX records and i wouldn’'t actually have to have something on “domain.com” listening for packets on port 5269. Am I screwed? Why would traffic be going to “domain.com” when i have SRV records telling other servers to contact “jabber.domain.com” - do they not pay attention to these records?

Thanks for any help!

-Sarkoon

Sarkoon,

You need to configure DNS SRV records for your domain so that servers and clients will know that your machine lives on a subdomain. This isn’'t in the Jive Messenger documentation yet, but the information from the jabberd2 docs applies:

http://jabberd.jabberstudio.org/2/docs/section05.html#5_7

Regards,

Matt

I’‘ve had SRV records working long before Jive Messenger had S2S capabilities. And as I mentioned in my original post, I’'ve made sure the SRV records are functioning properly by using the Pandion client from outside of my network.

Any other ideas?

-Sarkoon

Sarkoon,

Sorry about that, I didn’'t read your original message carefully enough. Do you know what servers are having issues connecting to yours, or is it all of them?

Regards,

Matt

Hey Sarkoon,

Can you turn on the debug log from the admin console and post the debug information you have in the debug log file? BTW, have you restarted the server after you modified the server hostname?

Regards,

– Gato

Thanks for the reply,

And thanks to your suggestion i tried connecting to some other servers just to make sure it wasn’‘t just my problem, and it actually works! I’'m able to talk with people on the myjabber.net server successfully. yay!

So now the problem gets more interesting… The server that I am unable to communicate with happens to be another Jive Messenger server. But it has no problems talking to other servers on the internet at all, which is why i never suspected it as being part of the problem.

So here’'s how things stand. There are two Jive Messenger servers, both running 2.2.1, and both are able to talk to people on public servers such as myjabber.net. Howerver, the servers cannot talk to eachother. One server is my personal server at my home, on my own personal domain with a static IP address, and the other server is at my workplace. Very odd!

-Sarkoon

So now I’'m not sure which server to turn on debugging for.

My server at work is the one where i’'m using SRV dns records to point to “jabber.domain.com” because “domain.com” is behind a different firewall.

My server at home is just “domain.com” and will get packets to port 5269 directly. I am not using SRV records for this server.

-Sarkoon

Hey Sarkoon,

It would be great if you can post the debug information of both servers.

Regards,

– Gato

Okie, here are some excepts from the debug file that I think may be relivant:

First, this is a part of the debug file from my personal server at home:

2005.09.15 14:35:19 Connect Socket[addr=/PUBWORKIP,port=4292,localport=5269]

2005.09.15 14:35:19 RS - Received dialback key from host: workdomain.com to: personaldomain.com

2005.09.15 14:35:19 RS - Trying to connect to Authoritative Server: workdomain.com:5269

2005.09.15 14:35:40 Connect Socket[addr=/PUBWORKIP,port=4293,localport=5269]

2005.09.15 14:35:41 RS - Received dialback key from host: workdomain.com to: personaldomain.com

2005.09.15 14:35:41 RS - Trying to connect to Authoritative Server: workdomain.com:5269

2005.09.15 14:37:47 OS - Trying to connect to pandion.be:5269

2005.09.15 14:37:47 OS - Connection to pandion.be:5269 successfull

2005.09.15 14:37:48 OS - Sent dialback key to host: pandion.be id: i6izrkaj0qlqfzbqxtwlb8floqeb5penvxnnhx6i from domain: personaldomain.com

2005.09.15 14:37:48 Connect Socket[addr=/217.97.162.67,port=54284,localport=5269]

2005.09.15 14:37:49 RS - Received dialback key from host: pandion.be to: personaldomain.com

2005.09.15 14:37:49 RS - Trying to connect to Authoritative Server: pandion.be:5269

2005.09.15 14:37:49 RS - Connection to AS: pandion.be:5269 successfull

2005.09.15 14:37:49 RS - Asking AS to verify dialback key for id2c01f813

2005.09.15 14:37:49 RS - Key was VERIFIED by the Authoritative Server for: pandion.be

2005.09.15 14:37:49 RS - Closing connection to Authoritative Server: pandion.be

2005.09.15 14:37:49 RS - Sending key verification result to OS: pandion.be

2005.09.15 14:37:50 AS - Verifying key for host: pandion.be id: i6izrkaj0qlqfzbqxtwlb8floqeb5penvxnnhx6i

2005.09.15 14:37:50 AS - Key was: VALID for host: pandion.be id: i6izrkaj0qlqfzbqxtwlb8floqeb5penvxnnhx6i

2005.09.15 14:37:50 OS - Validation GRANTED from: pandion.be id: i6izrkaj0qlqfzbqxtwlb8floqeb5penvxnnhx6i for domain: personaldomain.com

2005.09.15 14:37:50 OS - Trying to connect to workdomain.com:5269

2005.09.15 14:38:17 Logging off pandion.be on org.jivesoftware.messenger.net.SocketConnection@165e55e socket: Socket[addr=/217.97.162.67,port=54284,localport=5269] session: org.jivesoftware.messenger.server.IncomingServerSession@b5ac2c status: -1 address: pandion.be id: 2c01f813

2005.09.15 14:38:47 Finishing Outgoing Server Reader. Closing session: org.jivesoftware.messenger.server.OutgoingServerSession@13a95af status: 1 address: pandion.be id: i6izrkaj0qlqfzbqxtwlb8floqeb5penvxnnhx6i

java.io.EOFException: no more data available - expected end tag (Roster.java:112)

at org.jivesoftware.messenger.roster.RosterManager.getRoster(RosterManager.java:69 )

at org.jivesoftware.messenger.handler.PresenceUpdateHandler.broadcastUpdate(Presen ceUpdateHandler.java:238)

at org.jivesoftware.messenger.handler.PresenceUpdateHandler.process(PresenceUpdate Handler.java:90)

at org.jivesoftware.messenger.handler.PresenceUpdateHandler.process(PresenceUpdate Handler.java:141)

at org.jivesoftware.messenger.PresenceRouter.handle(PresenceRouter.java:87)

at org.jivesoftware.messenger.PresenceRouter.route(PresenceRouter.java:61)

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

at org.jivesoftware.messenger.net.SocketReader.processPresence(SocketReader.java:3 01)

at org.jivesoftware.messenger.net.ClientSocketReader.processPresence(ClientSocketR eader.java:49)

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

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

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

-Sarkoon