I believe there may be an issue with the use of the Subscription plug-in in an s2s environment. Now this may just my setup, but I have reproduced this through two different installs and releases of wildfire.
Two Wildfire (3.1.1) servers setup, one with AD(client?s/SBS2003) and one with OPENLDAP (my office, CENTOS 4.4). Authentication and IM works flawlessly. One server is at client?s office (DOMAIN2) and the other is at my office (DOMAIN1). The goal of the project is to be able to offer both in house IM for the client and be remotely chat with the client?s office through our own in house server. All groups are managed by the mySQL database not LDAP.
Subscription Service Properties: Enable to ?Accept? ?All?, on both servers.
All users using Spark.
User1@DOMAIN 1 adds a user2@DOMAIN2.
Subscription for user2@DOMAIN2 shows user1@DOMAIN1 online.
Subscription for user1@DOMAIN1 shows user2@DOMAIN2 offline and never updates regardless change in status.
Further investigation revels that on DOMAIN2 server the Sub(SubType) for the roster entry in the jiveroster table is set to 1.
33, ‘‘user2’’, ‘‘user1 @domain1 ‘’, 1, -1, -1, ‘’’’
On the Domain1 server the roster entry for the Sub(SubTpye) is set to 3.
581, ‘‘user1’’, ‘‘user2@domain2 ‘’, 3, -1, -1, ‘’’’
According to the source code, type 3 indicates that the rosters have ?The roster item and owner have a mutual subscription.? Type 1 indicates ?The roster owner has a subscription to the roster item’'s presence.? (\src\java\org\jivesoftware\wildfire\roster\RosterItem.java).
This may be the reason why the user2@DOMAIN2 can see the subscription status of user1@DOMAIN1 but user1@DOMAIN1 can not see user2@DOMAIN2.
All communication works perfectly between servers. When normal subscriptions are requested without the assistance of the Subscription plug-in, the issue does not exist, as both SubTypes set to 3. For instance if USER2?s add request is manually approved, then both users can see the status of each other.
The issue also does not exist when adding users in the same domain with the Subscription plug-in turned on.
The issue can be resolved by changing the SubType to 3 on USER2@DOMAIN in the database, purging roaster cache, and then login user1@DOMAIN1 off and back on.
This issue has been known to me since at least 3.1.0 when I revisited the project after a long time away. It is late so I apologize for any grammar and confusion. Any ideas would be appreciated.