Здравствуйте.
Настроено так:
{mod_vcard_ldap, [
    %% соответствие между полями Vcard и результатом поиска в LDAP
    {ldap_vcard_map, [
        {"NICKNAME", "%u", []},
        {"FAMILY", "%s", ["sn"]},
        {"GIVEN", "%s", ["givenName"]},
        {"MIDDLE", "%s", ["initials"]},
        {"FN", "%s %s %s", ["sn", "givenName", "initials"]},
        {"EMAIL", "%s", ["mail"]},
        {"ORGUNIT", "%s", ["ou"]},
        {"PHOTO", "%s", ["jpegPhoto"]},
        {"LOCALITY", "%s", ["l"]},
        {"TEL", "%s", ["telephoneNumber"]}
    ]},
    %% предлагаем искать только по этим полям
    {ldap_search_fields, [
        {"Пользователь", "%u"},
        {"Фамилия", "sn"},
        {"Имя", "givenName"},
        {"Отчество", "initials"},
        {"Почта", "mail"},
        {"Отдел", "ou"},
        {"Телефон", "telephoneNumber"}
    ]},
    %% показываем только эти результаты
    {ldap_search_reported, [
        {"Полное имя", "FN"},
        {"Пользователь", "NICKNAME"}
    ]}
  ]}Аватары соответствуют стандартам по размерам и прочим характеристикам (http://www.xmpp.org/extensions/xep-0153.html#bizrules-image), хранятся в соответствующем поле jpegPhoto.
Ростер отдаётся автоматически, при подключении. Соответственно, все поля в нём заполняются автоматически и корректно (ник, статус и тд), за исключением аватары. Вот пример того, что получаю от сервера, когда подключаюсь:
<<<< user1@domain/Vacuum-IM 10:40:31 +3 <<<<
  <presence from="user2@domain/123" to="user1@domain/Vacuum-IM">
    <priority>30</priority>
    <status>tralala</status>
    <x xmlns="jabber:x:avatar">
      <hash>35b6967ad4cf11b2a2b65c16017c0a0128063c22</hash>
    </x>
    <c xmlns="http://jabber.org/protocol/caps" node="http://vacuum-im.googlecode.com" ver="nvOfScxvX/KRll5e2pqmMEBIls0=" hash="sha-1"/>
    <x xmlns="vcard-temp:x:update">
      <photo/>
    </x>
    <delay xmlns="urn:xmpp:delay" from="user2@domain/123" stamp="2014-06-05T06:22:56Z"/>
    <x xmlns="jabber:x:delay" stamp="20140605T06:22:56"/>
  </presence>Аватара не отображается. При этом, внутри vCard, если я его открою, показывается корректно. Если же я ткну «обновить Vcard», то аватар стягивается и показывается в ростере до следующего перезапуска клиента или истечения какого-то таймаута:
>>>> user1@domain/Vacuum-IM 10:51:30 +11343 >>>>
  <iq type="get" to="user2@domain" id="sid_40">
    <vCard xmlns="vcard-temp"/>
  </iq>
<<<< user1@domain/Vacuum-IM 10:51:30 +16 <<<<
  <iq from="user2@domain" type="result" to="user1@domain/Vacuum-IM" id="sid_40">
    <vCard xmlns="vcard-temp">
      <NICKNAME>user2</NICKNAME>
      <FN>Иванов Иван Иванович</FN>
      <EMAIL>
        <INTERNET/>
        <PREF/>
        <USERID>mail@mail.mail</USERID>
      </EMAIL>
      <PHOTO>
        <TYPE>image/jpeg</TYPE>
        <BINVAL>/9j/4AAQSkZJRg…==</BINVAL>
      </PHOTO>
      <TEL>
        <VOICE/>
        <WORK/>
        <NUMBER>123</NUMBER>
      </TEL>
      <N>
        <FAMILY>Иванов</FAMILY>
        <GIVEN>Иван</GIVEN>
        <MIDDLE>Иванович</MIDDLE>
      </N>
      <ORG>
        <ORGUNIT>Подразделение</ORGUNIT>
      </ORG>
      <ADR>
        <LOCALITY>city</LOCALITY>
      </ADR>
    </vCard>
  </iq>Сталкивался ли кто-то с такой проблемой и как заборол?



