Невозможно получить заархивированные сообщения из нового сеанса - PullRequest
0 голосов
/ 28 мая 2018

Я использую EjabberD и включил MAM, используя

  mod_mam:  
      default: always

Я могу получить только те сообщения, которые я отправил с помощью клиента в текущем сеансе.Если я выйду из системы и снова войду на клиент, все архивные сообщения будут удалены из БД.(проверяется сравнением дампов Mnesia до и после второго входа в систему).

Я использую клиент Strophe js.

Пакет IQ, отправленный для получения заархивированных сообщений

<iq type="set" to="user1@x.x.x.x" xmlns="jabber:client" id="c0104a00-253e-4727-9157-a4ea24d9bc86:sendIQ">
    <query xmlns="urn:xmpp:mam:2">
        <x xmlns="jabber:x:data" type="submit">
            <field var="FORM_TYPE" type="hidden">
                <value>urn:xmpp:mam:2</value>
            </field>
            <field var="with">
                <value>user1@x.x.x.x</value>
            </field>
        </x>
        <set xmlns="http://jabber.org/protocol/rsm" />
    </query>
</iq>

При выходе из системы с сервера с использованием

connection.disconnect();
connection.reset();

РЕДАКТИРОВАТЬ: АутентификацияМеханизм LDAP и ANON.

host_config:
  "x.x.x.x":
    auth_method:
        - anonymous
        - ldap
    allow_multiple_connections: false
    ldap_servers:
        - "x.x.x.x"
    ldap_encrypt: none
    ldap_port: 389
    ldap_base: "cn=Users,dc=x,dc=x,dc=x"
    ldap_rootdn: "cn=Administrator,cn=Users,dc=x,dc=x,dc=x"
    ldap_password: "xxx"

    ldap_uids:
        - "sAMAccountName": "%u"

Я хочу, чтобы сообщения архивировались вечно.Так что клиенты могут получить историю, не сохраняя ничего локально.Чего мне не хватает?

1 Ответ

0 голосов
/ 28 мая 2018

Являются ли эти учетные записи анонимными?Если это так, они удаляются при выходе из системы, и вся связанная с ними информация также удаляется, как сообщения реестра и мам.

...