Spark used on Terminal Servers

I have recent installed OpenFire server on one of my application servers (AppSrv1) and then installed Spark on both of my terminal servers (TS1 / TS2). My end users all connect via Terminal Services. Generally speaking everything is operating, however we have encountered a problem.

For the scenario:
‘User A’ is on TS1
‘User B’ is on TS2
AppSrv1, TS1 and TS2 are on the same internal subnet (10.0.75.x/24)

When ‘User A’ is logged into Spark, ‘User B’, who is also logged into Spark, shows as offline. It should be noted that this does not stop the ability from both users messaging each other despite being shown offline. This problem does not occur when 2 users are on the same Terminal Server. My first guess is a port issue.

Any feedback is greatly apprecitated!

-Sean

Do you mean when same User B is logged in on TS1?

User A is on TS1 and User B is on TS2

No, i want to clarify when you said that it works when both users are on the same TS server. Does this mean two users who were always on TS1 server or when User B is logging in on TS1 instead of TS2? If User B cannot be on TS1, then maybe these are different AD domains/forests? Is AD integration used at all? How users from TS1 and TS2 are related?

If User A and User B happens to log into the same Terminal Server then everything works properly. The 2 Terminal Servers are load balanced, so they either end up on TS1 or TS2 based off of load distribution.

In all of the discussed situations users are connecting to the Terminal Servers using AD. Spark is connected to AD via LDAP integration. Also all servers and users are in the same Domain/Forest.

Thanks for the quick reply!

Enable Debugger in Advanced menu on login screen in Spark for one of the users and check Raw inbound data. Check if you can see something related to presence coming in. You can also try attaching this output here (mask sensitive data like domain and names).

In Openfire Admin Console does it show online status for both users on the Sessions page?

Can you try some other client and see if it is able to see other user on a different TS server as online (try Gajim).

It might also be related how Openfire domain name and its resolution is setup, but I can’t think of a real case. Do you use Openfire XMPP domain name to login to Spark? Maybe on each TS server it resolves it differently and then Openfire treats users as being from different domains somehow. Although Openfire is not designed to work with multiple domains, so it kind of not possible. Just brainstorming possible causes.

I didn’t realize that there was an internal debugger. I will definitely enable that. The same issue has occurred with multiple end-users in the same configuration; so it doesn’t seem to be user specific.

We are using an Openfire XMPP domain name. As far as the TS resolving the domains, I don’t think it is that since the servers in other applications can see each other and the application server as well.

I’ll paste the debug code here shortly.