Search code examples
javaxmppserveropenfirejabberd2

How to receive Message Delivery Receipts on Openfire?


How can I receive Message Delivery Receipts on Openfire Server?

I would like to receive an acknowledgement at the following states:

  1. When the message is received by the Openfire server
  2. When the receiver client receives the message
  3. When the receiver has read the message.

In a nutshell, I would like to implement features like PENDING, SINGLE TICK, DOUBLE TICK, BLUE DOUBLE TICK similar to Whatsapp.

I do know that, XMPP does support this feature. [XEP-0184]

After much search, I learnt that Openfire does not support XEP-0184. The issue OF-434 has been closed and marked as Won't Fix by Openfire Community.

How else can I achieve this? I do not want to migrate to another server!

What would be an alternate solution to achieve Message Delivery Receipts on OPENFIRE?


Solution

  • If you read carefully the Openfire issue you mentioned, you probably notice that the last comment of the issue gives the reason it was closed as "Won't Fix":

    XEP-0184 has nothing to do with the server.

    It is purely a client to client protocol and is well documented as to what that means with regards to not receiving receipts for message due to issues that may arise due to the server. There is nothing for the server to implement with this specification so I am closing it.

    Furthermore XEP-184 only describes a mechanism for delivery receipts. It specifies no notification when the server receives ("acknowledges the receive") of the message, or when the user has read the message.

    Server acknowledges for incoming stanzas can be done with XEP-198 Stream Management, more detailed receipts can be done with XEP-333 Chat Markers. Only XEP-198 needs server support, the other two, XEP-184 and XEP-333 are pure client XEPs.