powered by Jive Software

XEP-0184: Message Delivery Receipts not working when sender is offline


I’m using XMPP extension “XEP-0184” for getting message receive status , but it does not work when sender is Offline, is there any workaround or any fix?

Server: OpenFire 3.8.2

Client Windows Phone 8 (Matrix Library


Ali Ashraf

S/W Engineer at VireTechnologies

How can a sender be offline? Do you mean the receiver is offline? Then the message is stored into Offline storage and probably that’s why you don’t get message delivery notification, as it still not delivered. anyway. This is a client side only extension and Openfire has nothing to do here OF-434

sender is offline in the sence e.g if sender sends the message and receiver is offline and when receiver receive the message when the sender is offline, and when sender come online again then he is not receiving receiver’s message that he has received the message thats why my message status still remains “send message” instead of “receive message”. is there any workaround thats you know or any suggestion, so that i could impliment.

I don’t have a solution, but i’m curious how it works. Does a receiver has to click some button like “Send receipt” and can he select to not to send a receipt? Or is this done automatically on the background and you only see a status of the message changing in the chat window?

What happens when you send a message to offline user, then he comes online and receives that message from an offline storage. Does it still asks for a receipt? And does a sender gets a status “message received” in this case?

I assume, that receipt packet has another id (like “ack”), so it is not stored in the offline storage like other “normal” messages and that’s why sender doesn’t get anything when he comes online. That’s probably how this XEP is designed and you can’t do anything about it with the standard extension. You will have to modify the server to store ack packets in the offline storage too, or somehow add “message” id to ack packets, so it would be stored also, but then not misinterpreted by a client as a normal message.

em using three status ,sending,send and receive, if user is login and then send message then sending status change to send if not login then it remains in sending mode, when user on the recieving end receive the message a dummy message is send from recever to sender on the bases of that message i change status to receive,yes it shows in chat windows, works in background.

I find from somewhere we do it with stream as well but i have forget that solution.

Hello Ali Ashraf, I have same problem While sending acknowledgment to sender using XEP-0022: Message Events when sender goes offline…

if u found any solution can you please help me… Thank you