Search code examples
ejabberd

How can i retrieve saved messages in archive table in ejabberd?


messages are being saved in a database in an archive table yet i don't know how to retrieve them via api/iq, current configurations are as follow:

hosts:
  - localhost
sql_type: mysql
sql_server: ejabberdDB
sql_database: ejabberd
sql_username: ejabberd
sql_password: password
sql_port: 3306
auth_method: [sql]
default_db: sql 


listen:
  -
    port: 5280
    ip: "0.0.0.0"
    module: ejabberd_http
    request_handlers:
      /api: mod_http_api        
      /bosh: mod_bosh 
      /oauth: ejabberd_oauth
      /admin: ejabberd_web_admin
      /.well-known/acme-challenge: ejabberd_acme
modules:
  mod_mam:
    db_type: sql
    assume_mam_usage: true
    default: always

Solution

  • The archive table is used by mod_mam, which implements the server-side of XEP-0313: Message Archive Management. So, users are expected to use a client that implements the client-side of that protocol to retrieve the messages.