Getting timestamp from incoming xmpp message

Total Post:27


 5161  View(s)
Rate this:

I am using aSmack library to communicate with remote xmpp server. I am able to send/receive messages, but I want to get timestamp of incoming message.

Could you tell me please, is it possible at all? 

  1. Re: Getting timestamp from incoming xmpp message

    Timestamp is not part of the regular messages. Therefore you cannot extract it.

    There is a spec (as mentioned by @Dmitry), but this only applies to specific types of messages. Typically those that are NOT realtime, such as offline and publishing the last pubsub message of a node when a new subscription is created. These are messages with an inherent delay built into the

    Due to specs time is required attribute for XMPP message:

    Check the <delay> item of <message>:

    <delay xmlns='urn:xmpp:delay'
    Offline Storage
    But getting it looks a bit tricky. As soon as aSmack is recompiled Smack with some replaced stuff, so try to get it the way like here:

    DelayInformation inf = null;
    try {
        inf = (DelayInformation)packet.getExtension("x","jabber:x:delay");
    } catch (Exception e) {
    // get offline message timestamp
        Date date = inf.getStamp();

    Problably, you will need to check what server sends with message as extension value and replace "jabber:x:delay" with 'urn:xmpp:delay' as it is shown in XMPP specs example.

    But not sure if it works.

      Modified On Apr-10-2018 12:23:10 AM


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.