S2S help understanding / configuration

Hi,

Right now I have 2 wildfire servers running at 2 different geographical locations for the purposes of this post I’'ll refer to them as Server A and Server B.

Both servers are running fine individually and pull the user login and password from their respective Active Directory domains.

One problem I am having though is when user@A tries to add user@B, they both get added to each others list fine and can communicate but user@A is able to see user@B status (online, away etc) but user@A always appears to be offline in user@B roster.

Also is cross server conference rooms available? Because I get an error message saying unable to join room, room does not exsist from user@B when user@A invites them to a conference. And same error vice versa.

I guess the main question is are the things I am trying to do with s2s out of the scope of the current server design or is there some settings that have to be set for it all to work?

Hi,

I just tried this with two servers, Wildfire 2.4.0 (IP 10.0.0.2) and Wildfire 2.4.3 (IP 10.0.0.1) and as client 2x Spark 1.0.3 (src-IP 10.0.0.1) one connecting to Server 1, the other to Server 2 - these are my results:

The status is shown correct, add/logout/login updates presence in roster.

Cross-conferencing is possible without problems. I didn’'t read the spec, but jabber.org also has a conference.jabber.org domain. Maybe such a DNS entry is missing in your configuration.

So what you’'re trying to do should work with Wildfire.

LG

Hi,

Thank you for the reply. Can you try that with the two servers on different networks? So like server A would be 10.0.1.1 and server B would be 10.0.2.1?

Here posting the output from some of the logs from when I test a converation with myself between the servers:

Server A Error:[/b]

2006.01.27 05:37:41 [org.jivesoftware.wildfire.handler.IQRosterHandler.handleIQ(IQRosterHandler.jav a:118)

] Internal server error

java.lang.NullPointerException

at org.jivesoftware.wildfire.roster.RosterItem.setGroups(RosterItem.java:346)

at org.jivesoftware.wildfire.roster.RosterItem.setAsCopyOf(RosterItem.java:452)

at org.jivesoftware.wildfire.handler.IQRosterHandler.manageRoster(IQRosterHandler. java:200)

at org.jivesoftware.wildfire.handler.IQRosterHandler.handleIQ(IQRosterHandler.java :103)

at org.jivesoftware.wildfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.wildfire.IQRouter.handle(IQRouter.java:256)

at org.jivesoftware.wildfire.IQRouter.route(IQRouter.java:79)

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

at org.jivesoftware.wildfire.net.SocketReader.processIQ(SocketReader.java:395)

at org.jivesoftware.wildfire.net.ClientSocketReader.processIQ(ClientSocketReader.j ava:50)

at org.jivesoftware.wildfire.net.SocketReader.readStream(SocketReader.java:263)

at org.jivesoftware.wildfire.net.SocketReader.run(SocketReader.java:119)

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

Server B Debug:[/b]

2006.01.28 02:31:43 Error sending packet to remote server:

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

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(OutgoingSessionPromise.java:139)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess ionPromise.java:37)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$1.run(OutgoingSession Promise.java:91)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

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

There’'s nothing in Server A debug log relating to a bad connection between the servers.

Now when I tried to start a conference room with myself these are what the logs reported:

Server A Debug:[/b]

2006.01.27 15:59:31 Error sending packet to remote server:

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

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(OutgoingSessionPromise.java:139)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess ionPromise.java:37)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$1.run(OutgoingSession Promise.java:91)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

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

Nothing new was added to Server A error log.

Nothing new was logged in Server B in the Error or Debug logs.

Hope this helps someone help me fix my problem.

Thanks again

Changed Server names to protect the innocent

Message was edited by:

jnicholas