It's all about the answers!

Ask a question

RTC / OpenFire / Spark / LDAP presence issues


Vivek Iyer (15212527) | asked Apr 18 '11, 4:27 p.m.
All,

We have a collaboration setup that uses OpenFire 3.7.0 with RTC 3.0. Some of our users use the Eclipse chat client, and for other users, we have a client called Spark. All tools are using LDAP for authentication.

We are seeing several issues with online presence *inside* the RTC Eclipse client. Basically, all users that are running Spark have no problems seeing anyone online. However, with our developers who are using Eclipse, the online/offline presence of other users is very flaky.

1) Some users that are using Spark do show up online for developers.
2) Some developers who use Eclipse do NOT show up as online to other developers who are also using Eclipse.
3) Some Spark users send messages to Eclipse users, but the latter do not see the former online and never get their messages.

To troubleshoot #1, we tried a lot of things. We got the Spark users to fill out the resource field with: a) their user ID, b) user ID appended with $rtc$com.ibm.team.collaboration.provider.jabber, c) user ID in the exact CaSe as it appears in Active Directory, and d) user ID in
the exact CaSe as it appears in AD, appended with $rtc$com.ibm.team.collaboration.provider.jabber. None of these solved the presence problem.

I also ran Spark with a debug window, and noticed that when I logged in, the OpenFire server was sending me presence updates for all users in the following formats (replaced <> with []):

<pre>

</pre>

The only difference between presence updates sent by Spark and the RTC Client was that the Spark updates contain &lt;status&gt; (e.g., Available) and &lt;priority&gt; (e.g., 1) fields inside the &lt;presence&gt; field.

Could it be that the RTC Eclipse client is unable to process these additional fields and hence ignoring the presence updates? Or could it be that the RTC Eclipse Client is doing some sort of pattern match to determine users who it considers to be part of a team? If yes, why is it that some RTC Eclipse users cannot see the other RTC Eclipse users?

Or is there some sort of Active Directory issue here? User IDs don't follow a consistent rule in our instance of AD; some are camel case, some are purely lower case. OpenFire appears to be converting all user names into lower case. I am bringing up case sensitivity because I vaguely remember some issues in the past associated with case sensitive users IDs, which was resolved by updating a field in the server settings.

To troubleshoot #2, we tried getting the developers to log out/log in, put a resource ID, etc.. None of it helped.

To troubleshoot #3, we tried some of what we tried in #1, and still nothing helped.

These are the following threads and defects that we referred to while troubleshooting the problem:

https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&amp;id=58841
http://jazz.net/forums/viewtopic.php?p=6417
http://jazz.net/forums/viewtopic.php?t=1577&amp;highlight=openfire
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&amp;id=54328


Any help / experiences / lessons learned would be highly appreciated.

Thanks,

Vivek

9 answers



permanent link
Vivek Iyer (15212527) | answered Apr 18 '11, 4:45 p.m.
I wanted to add one more thing. I noticed in my Spark debug window that when my client seemingly queries the features of other clients, all Spark users respond with one feature which is not included in the responses of RTC users. This is the last feature below (xep-0166):

&#91;iq id=&quot;YARsR-42&quot; to=&quot;viyer@rtc.bca.dps.state.mn.us/spark&quot; from=&quot;njaswal@rtc.bca.dps.state.mn.us/njaswal&quot; type=&quot;result&quot;&#93;

&#91;query xmlns=&quot;http&#58;//jabber.org/protocol/disco#info&quot;&#93;
&#91;identity category=&quot;client&quot; name=&quot;Smack&quot; type=&quot;pc&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/xhtml-im&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/muc&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/si/profile/file-transfer&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/si&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/bytestreams&quot;&#93;
&#91;feature var=&quot;http&#58;//jabber.org/protocol/ibb&quot;&#93;
&#91;feature var=&quot;http&#58;//www.xmpp.org/extensions/xep-0166.html#ns&quot;&#93;
&#91;/query&#93;
&#91;/iq&#93;


One last question to IBM.

Is the RTC Eclipse client supposed to interoperate with other clients that hit the same Jabber server or is visibility intentionally supposed to be restricted to other RTC Eclipse users only?

Thanks,

Vivek

permanent link
Vivek Iyer (15212527) | answered Apr 18 '11, 4:54 p.m.

<pre>

</pre>


FYI - I noticed the above snippet. At first sight, it looks like the presence is being announced to &quot;*@*/spark&quot;.

However, even when I set my RTC client's resource field to &quot;spark&quot;, I still do not see the other spark users. Besides, this does not explain why I can see some other RTC users whose clients appear to be automatically setting their resource field to: &lt;userName&gt;$rtc$com.ibm.team.collaboration.provider.jabber.

Thanks,

Vivek

permanent link
Vivek Iyer (15212527) | answered Apr 18 '11, 5:58 p.m.
=&gt; I just tried one more thing which suggests that the RTC Eclipse Client is doing something when a user sets up Instant Messaging in it. I got a Spark user to use my Eclipse install to connect to the repository and IM. After that, they logged out of my machine and went back to their desk to log in using Spark. Bingo. I can see that user from inside my RTC Eclipse client.

So what is it that the client is doing? Can it be done using Administrator privileges? Would we need a DB stored proc or something to update the user's profile?

=&gt; The other issue I reported with some RTC users not being able to see other users appears to be related to this defect:

https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&amp;id=54328

After client restart, the offline users start appearing online.

permanent link
Vivek Iyer (15212527) | answered Apr 19 '11, 11:04 a.m.
Our DBA looked into this a little. There is a table in the RTC database which seems to be storing the Jabber ID as a string extension of a user.

This table is called: .

In this table, there are 4 colums:

JZ_PARENT_ID
INTERNAL_ID
KEY_COL
VALUE

For each user with an IM account configured, there is one &quot;base&quot; row and one row per IM account:

The parent ID is the same for a user across all rows.
The internal ID of a user is very similar across rows, but not exactly the same.
The key column corresponds to different Java packages, such as: com.ibm.team.collaboration.rcp.core, com.ibm.team.collaboration.provider.jabber, com.ibm.team.collaboration.provider.sametime, etc.

The value column contains a string of characters for rcp.core, but has the Jabber ID for the user when the row has com.ibm.team.collaboration.provider.jabber for key.

There seems to be no clear pattern on how to update this table so that all users, regardless of the client they use, can have their Jabber IDs associated with their Jazz IDs.

permanent link
Vivek Iyer (15212527) | answered Apr 19 '11, 12:33 p.m.
IBM Developers,

Can you provide us with a simple way of updating . so that all users have a Jabber ID associated with them?

The only way of doing this right now is to get everyone to login to IM using the RTC Eclipse Client. We have several users (Project Managers, Business Analysts, Visual Studio Developers, etc.) who don't use the Eclipse client. It will be a real inconvenience to get every single person to log in using Eclipse just so that a Jabber ID is associated with their user profiles.

From an organizational standpoint, RTC's collaboration feature through chat is stymied because of this problem.

Thanks,

Vivek

permanent link
Johannes Rieken (1.2k1) | answered Apr 20 '11, 11:31 a.m.
IBM Developers,

Can you provide us with a simple way of updating . so that all users have a Jabber ID associated with them?

The only way of doing this right now is to get everyone to login to IM using the RTC Eclipse Client. We have several users (Project Managers, Business Analysts, Visual Studio Developers, etc.) who don't use the Eclipse client. It will be a real inconvenience to get every single person to log in using Eclipse just so that a Jabber ID is associated with their user profiles.

From an organizational standpoint, RTC's collaboration feature through chat is stymied because of this problem.
Vivek


I understand the request, but currently there is no alternative. RTC doesn't know how to map a user id with an collaboration user unless they have logged in. Acknowledging that this is unhappy. Pls go ahead and file an enhancement request.

permanent link
Vivek Iyer (15212527) | answered Apr 20 '11, 11:51 a.m.
Thanks Johannes.

I filed the following enhancement request:

http://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&amp;id=162704

permanent link
Ajith G (1111) | answered Feb 11 '12, 2:25 a.m.
Thanks Johannes.

I filed the following enhancement request:

http://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&amp;id=162704



Hi Vivek,
Is there any solution available by now ?
Br, Ajith

permanent link
Ajith G (1111) | answered Feb 16 '12, 8:12 a.m.
Can somebody tell me how can get whether a file is added deleted or modified inside a change set ?

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.