Since it seems you are using the XMPPFramework - usually the additional information will come in via vCards when they are needed.
If using the CoreData part of the roster (XMPPRosterCoreDataStorage), and you have the roster to be autoFetched, you should get the full roster (depending on the server you are using), and when needed, the vCard for that user (to get the rest of the information).
If you need to get the full one each time, you can tell it manually fetch ([xmppRoster fetchRoster], and it will request a full one (query type get). You can also track these iq's to know when you have received the response to the request (using the XMPPIDTracker).