2016-11-16 4 views
0

이 문제를 해결하는 데는 약간의 스레드가있는 것 같아 문제가되는 것이 분명하지만 MAGs/객실에서 내 ejabberd 모바일 클라이언트가 만든 작성자/소유자가 구성원 목록을 가져 오지만 구성원에게서 동일한 내용을 가져올 때 관리자 권한 필요 오류가 있습니다.ejabberd MUC 회원 목록 가져 오기

다음은 요청 및 응답 스탠은 물론 룸 옵션입니다. 누군가 내가 여기서 바라보고있는 것이 있다면 ... 제발 조언 해 줄 수 있습니까? 많은 감사합니다. 회원 가입일

요청 : 회원에게

<iq 
    type="get" 
    to="1479313326166_what%20a%[email protected]" 
    id="7BB7F8C8-B47F-4C0C-9E4D-8CAC3A5287FF"> 
    <query xmlns="http://jabber.org/protocol/muc#admin"> 
     <item 
     affiliation="member"> 
     </item> 
    </query> 
</iq> 

응답 :

<iq xmlns="jabber:client" 
    from="1479313326166_what%20a%[email protected]" 
    to="[email protected]/9A36B83F-0B1B-484E-BFB2-C0F1C7148274" 
    id="7BB7F8C8-B47F-4C0C-9E4D-8CAC3A5287FF" 
    type="error"> 
    <query xmlns="http://jabber.org/protocol/muc#admin"> 
     <item affiliation="member"></item> 
    </query> 
    <error code="403" type="auth"> 
     <forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></forbidden> 
     <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"> 
     Administrator privileges required 
     </text> 
    </error> 
</iq> 

룸 옵션 :

> /sbin/ejabberdctl get_room_options 1479313326166_what%20a%20day conference.example.com 
title 
description 
allow_change_subj true 
allow_query_users true 
allow_private_messages true 
allow_private_messages_from_visitors anyone 
allow_visitor_status true 
allow_visitor_nickchange true 
public true 
public_list true 
persistent true 
moderated true 
captcha_protected false 
members_by_default true 
members_only true 
allow_user_invites false 
allow_subscription true 
password_protected false 
password  
anonymous true 
presence_broadcast [moderator,participant,visitor] 
allow_voice_requests true 
voice_request_min_interval 1800 
max_users 200 
logging false 
vcard <vCard xmlns='vcard-temp'><NICKNAME>What a day</NICKNAME><NOTE/></vCard> 
captcha_whitelist {0,nil} 
mam false 
+0

확인이 스레드, http://stackoverflow.com/questions/40574609/members-cannot-get-member-list-in-a-muc-room/40598827, 포스터 비슷한 문제가있어 코코아 패드 문제에 대해 언급 한 적이 있습니다. 물어볼 수 있는지 확인하십시오. – dichen

+0

감사합니다. @dichen ... 두려운 건 podfile을 통해 XMPPFramework를 사용하지 않습니다. 코드를 직접 통합했습니다. 또한 내 흐름은 이미 언급 한 방식입니다. 즉, 구성 양식이 roomDidCreate에서 가져오고 configureThisRoom이 didFetchConfig 양식에서 호출되며 초대가 didConfigure에서 전송됩니다. – vikram17000

답변

1

나는 ConfigurationForm과 ServerDefaultConfig를 통해 방을 구성하려고했지만, 운이 좋으면 결코 오류가 발생하지 않으며 fetchMembers는 항상 정상적으로 작동합니다. 찾을 수없는 바보 같은 것들이있을 수 있습니다. 어쩌면 다시 db를 지우거나 서버를 다시 시작해보십시오.

<x xmlns=\"jabber:x:data\" type=\"form\"> 
     <title>Configuration of room [email protected]</title> 
     <field type=\"hidden\" var=\"FORM_TYPE\"> 
     <value>http://jabber.org/protocol/muc#roomconfig</value> 
     </field> 
     <field type=\"text-single\" label=\"Room title\" var=\"muc#roomconfig_roomname\"> 
     <value></value> 
     </field> 
     <field type=\"text-single\" label=\"Room description\" var=\"muc#roomconfig_roomdesc\"> 
     <value></value> 
     </field> 
     <field type=\"boolean\" label=\"Make room persistent\" var=\"muc#roomconfig_persistentroom\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Make room public searchable\" var=\"muc#roomconfig_publicroom\"> 
     <value>0</value> 
     </field> 
     <field type=\"boolean\" label=\"Make participants list public\" var=\"public_list\"> 
     <value>0</value> 
     </field> 
     <field type=\"boolean\" label=\"Make room password protected\" var=\"muc#roomconfig_passwordprotectedroom\"> 
     <value>0</value> 
     </field> 
     <field type=\"text-private\" label=\"Password\" var=\"muc#roomconfig_roomsecret\"> 
     <value></value> 
     </field> 
     <field type=\"list-single\" label=\"Maximum Number of Occupants\" var=\"muc#roomconfig_maxusers\"> 
     <value>200</value> 
     <option label=\"5\"> 
      <value>5</value> 
     </option> 
     <option label=\"10\"> 
      <value>10</value> 
     </option> 
     <option label=\"20\"> 
      <value>20</value> 
     </option> 
     <option label=\"30\"> 
      <value>30</value> 
     </option> 
     <option label=\"50\"> 
      <value>50</value> 
     </option> 
     <option label=\"100\"> 
      <value>100</value> 
     </option> 
     <option label=\"200\"> 
      <value>200</value> 
     </option> 
     </field> 
     <field type=\"list-single\" label=\"Present real Jabber IDs to\" var=\"muc#roomconfig_whois\"> 
     <option label=\"moderators only\"> 
      <value>moderators</value> 
     </option> 
     <option label=\"anyone\"> 
      <value>anyone</value> 
     </option> 
     <value>anyone</value> 
     </field> 
     <field type=\"list-multi\" label=\"Roles for which Presence is Broadcasted\" var=\"muc#roomconfig_presencebroadcast\"> 
     <value>moderator</value> 
     <value>participant</value> 
     <value>visitor</value> 
     <option label=\"Moderator\"> 
      <value>moderator</value> 
     </option> 
     <option label=\"Participant\"> 
      <value>participant</value> 
     </option> 
     <option label=\"Visitor\"> 
      <value>visitor</value> 
     </option> 
     </field> 
     <field type=\"boolean\" label=\"Make room members-only\" var=\"muc#roomconfig_membersonly\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Make room moderated\" var=\"muc#roomconfig_moderatedroom\"> 
     <value>0</value> 
     </field> 
     <field type=\"boolean\" label=\"Default users as participants\" var=\"members_by_default\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow users to change the subject\" var=\"muc#roomconfig_changesubject\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow users to send private messages\" var=\"allow_private_messages\"> 
     <value>1</value> 
     </field> 
     <field type=\"list-single\" label=\"Allow visitors to send private messages to\" var=\"allow_private_messages_from_visitors\"> 
     <value>anyone</value> 
     <option label=\"nobody\"> 
      <value>nobody</value> 
     </option> 
     <option label=\"moderators only\"> 
      <value>moderators</value> 
     </option> 
     <option label=\"anyone\"> 
      <value>anyone</value> 
     </option> 
     </field> 
     <field type=\"boolean\" label=\"Allow users to query other users\" var=\"allow_query_users\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow users to send invites\" var=\"muc#roomconfig_allowinvites\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow visitors to send status text in presence updates\" var=\"muc#roomconfig_allowvisitorstatus\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow visitors to change nickname\" var=\"muc#roomconfig_allowvisitornickchange\"> 
     <value>1</value> 
     </field> 
     <field type=\"boolean\" label=\"Allow visitors to send voice requests\" var=\"muc#roomconfig_allowvoicerequests\"> 
     <value>1</value> 
     </field> 
     <field type=\"text-single\" label=\"Minimum interval between voice requests (in seconds)\" var=\"muc#roomconfig_voicerequestmininterval\"> 
     <value>1800</value> 
     </field> 
     <field type=\"jid-multi\" label=\"Exclude Jabber IDs from CAPTCHA challenge\" var=\"muc#roomconfig_captcha_whitelist\"></field> 
    </x> 

mod_muc: 
    ## host: "[email protected]@" 
    access: 
     - allow 
    access_admin: 
     - allow: admin 
    access_create: muc_create 
    access_persistent: muc_create 
    history_size: 0 
    default_room_options: 
     allow_user_invites: true 
     anonymous: false 
     members_by_default: true 
     members_only: true 
     moderated: false 
     persistent: true 
     public: false 
     public_list: false 
+0

흠 ... 그 때 시도해 보도록하겠습니다.하지만 많은 도움을 주신 데 대해 감사드립니다 ... !!! 많은 감사 ... – vikram17000

+0

@dichen 다시 고마워 - 고정 그것은 roomconfig_whois 매개 변수는 다른 스레드에서 이전에 언급 한대로 누구에게 전환해야했다! 감사! – vikram17000