agsXMPP,创建 muc 房间“只允许占用者向会议发送消息”
Posted
技术标签:
【中文标题】agsXMPP,创建 muc 房间“只允许占用者向会议发送消息”【英文标题】:agsXMPP, Create muc room "Only occupants are allowed to send messages to the conference" 【发布时间】:2020-01-06 14:02:50 【问题描述】:我需要 agsXMPP
方面的帮助-
用户(testz2@mx.testserverz.info)授权成功
用户 testz2@mx.testserverz.info 创建了 muc 房间(群聊)
testconfa@conference.mx.testserverz.info
3.用户testz2@mx.testserverz.info 发送请求邀请另一个用户到这个房间,
但是服务器返回消息
<message xmlns="jabber:client" from="testconfa@conference.mx.testserverz.info" to="testz2@mx.testserverz.info/agsXMPP" type="error" xml:lang="en">
<error type="modify" code="406">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Only occupants are allowed to send messages to the conference</text>
</error>
<body>Hi everybody...</body>
</message>
房间的创建者如何成为房间的成员并邀请其他用户进入该房间?
【问题讨论】:
【参考方案1】:房间的创建者如何成为房间的成员并邀请其他用户进入该房间?
不,用户不需要成为房间 member ,这是一个从属关系:https://xmpp.org/extensions/xep-0045.html#affil
你想要的是用户成为房间occupant,这意味着用户加入/进入房间。
如果用户发送中介邀请,则发送邀请时必须是房间入住者,如:https://xmpp.org/extensions/xep-0045.html#invite
因此,用户必须加入/进入他创建的房间:https://xmpp.org/extensions/xep-0045.html#enter,然后他才能发送邀请。
在您正在使用的库中实现客户端加入房间的代码是什么?抱歉,我不知道那个库。
【讨论】:
以上是关于agsXMPP,创建 muc 房间“只允许占用者向会议发送消息”的主要内容,如果未能解决你的问题,请参考以下文章
不允许任何所有者撤销创建房间/MUC 的用户的所有权 - Ejabberd XMPP
使用 aSmack 为 XMPP 群聊创建 MUC 房间时出现 ClassCastException