【发布时间】:2017-01-22 06:24:39
【问题描述】:
我有一个 ejabberd (v14.07) 自托管服务器,同时启用了 mod_muc 和 mod_muc_admin。
我正在尝试创建一个会议室,让一些用户通过共同的多人聊天进行交流。
每个客户端都使用AstraChat 或ChatSecure 应用程序。
这里有我用来创建会议室的创建房间终端命令。
# room creation
ejabberdctl create_room myroomname conference.$host $host
# sending invitations to users
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user1
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user2
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user3
# setting room affiliations (is it required to the users to join the chat before?)
ejabberdctl set_room_affiliation myroomname conference.$host user1 owner
ejabberdctl set_room_affiliation myroomname conference.$host user2 member
ejabberdctl set_room_affiliation myroomname conference.$host user3 member
在此之后,我已经创建了房间(在 ejabberd 的 Web 界面上也可见)。 然而,没有向用户提供通知或反馈。 此外,如果我运行:
ejabberdctl get_room_occupants myroomname conference.$host
结果是空的(也由 ejabberd 的网络界面确认,在所选房间显示 0 名参与者)。
它遵循ejabberd.yml 为mod_muc 配置sn-p。
mod_muc:
## host: "conference.@HOST@"
access: muc_access
access_create: muc_admin
default_room_options:
public: true
public_list: true
allow_change_subj: true
allow_query_users: true
allow_private_messages: true
allow_user_invites: true
members_by_default: true
title: "New chatroom"
anonymous: false
access_admin: muc_admin
如何让房间加入通知和用户参与正常工作?
【问题讨论】:
标签: xmpp chat ejabberd multiuserchat ejabberd-module