powered by Jive Software

Achieve delivery status from MAM messages and how to delete those?



I´ve added the mod_mam to my ejabberd server to store offline messages for users, which are currently not in the MUC room.
All messages gets saved well and I´m able to receive those messages.

I am using the following config on ejabberd server (17.09):

    default: always
    assume_mam_usage: true
    ## host: "conference.@HOST@"
      - allow
      - allow: admin
    access_create: muc_create
    access_persistent: muc_create
       mam: true
       persistent: true
       max_users: 100
       members_by_default: true

Before I´ve added the mod_mam, I have received the messages through the “OfflineMessageManager” (One-to-One messages), but all messages gets saved with the MAM (One-to-One and MUC).
And in addition if the participant received the offline messages, the sender has been notified that the message was delivered.
Now with MAM, I receive the message and the sender will no get notified about delivery status.
It only works, if the participant is online.
Is it possible to set the default value from always to never, because I only need MUC messages stored into the MAM?
How can I achieve that the sender gets notified if the participant receives the offline message?

The next question is, how can I delete the received offline messages from MAM?
All Messages in the offline message storage can be deleted but will still remain in the MAM.

I could not found any delete-function in the MamManager, but I want to make free disc space.

Thanks in advance.


I think MAM messages can only be deleted by the server. Most servers have a policy when to delete messages (eg. older than 30 days or so).

I’m not sure, if you can send read-notifications for MAM messages at all.

You should be able to modify your archiving preferences via retrieveArchivingPreferences() and updateArchivingPreferences().