powered by Jive Software

Users not seeing each other

Hi all,

I’‘m wondering why two authentificated users can’'t send each other message?

The crazy part is on the Admin console, I can see those user online. I can even send them a message through sessions->send message and both of them receive it. But if one user on computer1 tries to send a message to another one on computer2, it seems like the message is getting lost… I also tried to install 2 differents clients on the same computer but same results

Anyones has an idea ?



I have a similar issue. I’‘m using Jbother and Gaim and it seems that the presence status isn’'t updated at all.

When one user logs on they can see everyone that was already on/away with their respective statuses but any subsequent user that logs on will not show up on their list. Likewise, any user that logs off will not be removed from their list. If i log off and back on with the client it will refresh.

The admin console has the current presences accurate at all times.

Hope someone has a solution for this.

Hey guys,

A common reason for this problem is when you add to your roster an incorrect JID (e.g. only the username). You should add something of this form to your roster johndoe@mycompany.com when adding a new contact.

If you are adding a correct JID then I’'ll need to get the XML packets that you are sending:

. when adding a new contact to your roster,

. when the contact accepts the presence subscription and

. when you send a message to that contact.


– Gato

We wrote a script that builds our rosters based on our employee backend. I’‘m don’‘t think thats a problem in my case because, like I said, users are showing up… They just don’‘t refresh on status changes. Almost like the server isn’‘t sending out status changes or the clients aren’‘t requesting them. I’‘m not 100% on the XMPP protocol but being that none of the 3 clients I’'ve tried are tracking status (presence) changes I think its a server side packet that gets pushed to clients instead of clients pulling from the server.

Hey Josh,

Sorry for the late reply. Could you send my by email the sent and received XML packets. It’'d be great if you can also give me some steps to follow in order to reproduce the problem. Also, which version are you using?


– Gato

Sorry, I’'m not 100% on how exactly get the xml packets. Are you looking for the logs?

I can give you the steps and see if maybe that helps…

UserA and UserB have each other successfully on each others rosters. UserA and UserB can message each other.

From Scratch:

1 - UserA logs on Client

2 - UserB logs on Client

3 - UserB can see UserA on client Roster

4 - UserA still cannot see UserB on client Roster

5 - UserA logs off

6 - UserB still sees UserA on roster

7 - UserA logs back on

8 - User A can now see UserB

so it just seems to me like its a presence listening situation where the jive messenger isn’'t sending the clients the status packets.

What you have to check is, that the jabber protocol only pushes presence packets to users that are in status subscription=“both”. That means that both of the users have to agree to receive presence packets from each other. IF you create roster liste automatically you have to add the subscription as “both”. Users that are not “both” just see half of the presence messages. Try doing it manually with two clients like exodus where you can see how the process is built step by step.

I use messenger too and presence works as specified in the protocol.

What I forgot to say is, that having each other on the roster does not mean that presence works. these are two separate processes. The one for the roster starts with package … to add to the roster. The subscription process that asks for authorication starts with …



As Guido said it maybe related to the subscription state. Anyway, I don’'t think steps 6 and 8 are fine. It could help me if you can obtain the XML packets. Which client are you using? Maybe I can help you obtain that information. Or you can try Exodus to see if the problem is still there and easily obtain the XML information.


– Gato

To follow the xml messages passing by use Exodus Client on both sides an press F12 and you can see all traffic.


Where is the subscription status attribute stored in the database? table name and field name would be great. And what is the appropriate value for “both”?

Ok in jiveRoster I saw sub which I set to 3 for all Roster records. Heres the follow-up question…

If I have record for

  1. UserA UserB@ 3 -1 -1 UserB

do I need to also have…

  1. UserB UserA@ 3 -1 -1 UserA

My previous sub values were 1 which I changed to 3 as per your recommendation. The problem seems to still persist. When a user changes their presence the other rosters don’'t get updated. This problem exists for all presences including offline, away, available, etc…

Im using 2 different clients right now… no matter which combination of clients im using I get the same problem.

Gaim to Gaim

Gaim to JBother

JBother to JBother

Is there a way to get the XML packets from Gaim? Futhermore, I am using JBother because its simple and locked down. I can’‘t install exodus on our employee PC’'s as a requirement from upper management since it can connect to other IM protocols.

Table: jiveRoster

Field: sub

if the subscription is “both” then you will have a 3 in the “sub” column.


– Gato

You can get the Smack debug window in JBother if you start it up from the command line with:

java -jar -Dsmack.debugEnabled=true JBother.jar


you mix up things completely or your upper management has informed you wrong (but you should be able to check this yourself). GAIM is a multiprotocol client AND therefore can connect to AOL, MSN, ICQ and so on. EXodus is a pure jabber only client where you cant connect to the IM services above. If you want to make the management happy get rid of GAIM as security risk.


Not to get too technical, but Exodus could be used to connect to outside IM services like AIM, Yahoo!, and MSN. So, if management is concerned about limiting IM usage they should start by blocking the various ports the services use. Or, better yet, block all ports and then only open the ones they know they need.

I forgot to mention that if you use jive-messenger you cant connect to aol, msn and so on, as there are not yet any gateway plugins avaliable. For shure if you use jabberd and configure all the gateways you can even connect with exodus to all the services. So if you use jive inside your company there is no worry about connecting to other services at all.