Are you sure that your application is waiting long enough for the presense information to be delivered by the server? One tricky thing about XMPP is that much of the protocol is non-blocking – ie, we never know when the server is going to deliver presence info. Also, null means offline. So, are you sure that people on your roster are online? If you are sure, make sure that your application is staying active and isn’‘t quiting as soon as the listener is added. That wouldn’'t allow enough time for the presence info to be delivered.