Jabber用户准备进入一个房间(Multi-User Chat)
用户新建房间
被邀请者接受邀请, 加入房间, 并接收出席信息和历史
Jabber用户新建一个房间并声明对多用户聊天的支持
Join动作: 结果节
Invite动作: 结果节(s)
SEND:
<presence to="blued@conference.10-6-2-142/wanzi001">
<x
xmlns="http://jabber.org/protocol/muc"/>
</presence>
服务从现有的房客发送出席信息给新的房客
服务通知所有用户有人获得所有者权限
服务发送所有权通知给所有房客
RECV:
<presence
xmlns="jabber:client" to="blued559897@10-6-2-142/xmpp" from="blued@conference.10-6-2-142/wanzi001">
<x
xmlns="http://jabber.org/protocol/muc#user">
<item jid="blued559897@10-6-2-142/xmpp" affiliation="owner" role="moderator"/>
</x>
</presence>
服务警告新房客(该房间)非匿名
RECV:
<message
xmlns="jabber:client" type="groupchat" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<body>该房间不是匿名的。</body>
<x
xmlns="http://jabber.org/protocol/muc#user">
<status code="100"/>
</x>
</message>
所有者请求配置表单
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="729A1280-BDF8-4DD6-A031-7C4A44D555A8">
<query
xmlns="http://jabber.org/protocol/muc#owner"/>
</iq>
服务发送配置表单
服务发送配置表单给所有者
RECV:
<iq
xmlns="jabber:client" type="result" id="729A1280-BDF8-4DD6-A031-7C4A44D555A8" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#owner">
<x
xmlns="jabber:x:data" type="form">
<title>房间配置</title>
<instructions>已创建房间“blued”。要接受缺省配置,请单击“确定”按钮。或填写以下表单以完成设置:</instructions>
<field var="FORM_TYPE" type="hidden">
<value>http://jabber.org/protocol/muc#roomconfig</value>
</field>
<field var="muc#roomconfig_roomname" type="text-single" label="房间名称">
<value>blued</value>
</field>
<field var="muc#roomconfig_roomdesc" type="text-single" label="描述">
<value>blued</value>
</field>
<field var="muc#roomconfig_changesubject" type="boolean" label="允许占有者更改主题">
<value>0</value>
</field>
<field var="muc#roomconfig_maxusers" type="list-single" label="最大房间占有者人数">
<option label="10">
<value>10</value>
</option>
<option label="20">
<value>20</value>
</option>
<option label="30">
<value>30</value>
</option>
<option label="40">
<value>40</value>
</option>
<option label="50">
<value>50</value>
</option>
<option label="无">
<value>0</value>
</option>
<value>50</value>
</field>
<field var="muc#roomconfig_presencebroadcast" type="list-multi" label="其 Presence 是 Broadcast 的角色">
<option label="主持者">
<value>moderator</value>
</option>
<option label="参与者">
<value>participant</value>
</option>
<option label="访客">
<value>visitor</value>
</option>
<value>moderator</value>
<value>participant</value>
<value>visitor</value>
</field>
<field var="muc#roomconfig_publicroom" type="boolean" label="列出目录中的房间">
<value>1</value>
</field>
<field var="muc#roomconfig_persistentroom" type="boolean" label="房间是持久的">
<value>1</value>
</field>
<field var="muc#roomconfig_moderatedroom" type="boolean" label="房间是适度的">
<value>1</value>
</field>
<field var="muc#roomconfig_membersonly" type="boolean" label="房间仅对成员开放">
<value>0</value>
</field>
<field type="fixed">
<value>注意:缺省情况下,只有管理员才可以在仅用于邀请的房间中发送邀请。</value>
</field>
<field var="muc#roomconfig_allowinvites" type="boolean" label="允许占有者邀请其他人">
<value>0</value>
</field>
<field var="muc#roomconfig_passwordprotectedroom" type="boolean" label="需要密码才能进入房间">
<value>0</value>
</field>
<field type="fixed">
<value>如果需要密码才能进入房间,则您必须在下面指定密码。</value>
</field>
<field var="muc#roomconfig_roomsecret" type="text-private" label="密码"/>
<field var="muc#roomconfig_whois" type="list-single" label="能够发现占有者真实 JID 的角色">
<option label="主持者">
<value>moderators</value>
</option>
<option label="任何人">
<value>anyone</value>
</option>
<value>anyone</value>
</field>
<field var="muc#roomconfig_enablelogging" type="boolean" label="登录房间对话">
<value>1</value>
</field>
<field var="x-muc#roomconfig_reservednick" type="boolean" label="仅允许注册的昵称登录">
<value>1</value>
</field>
<field var="x-muc#roomconfig_canchangenick" type="boolean" label="允许使用者修改昵称">
<value>1</value>
</field>
<field type="fixed">
<value>允许用户注册房间</value>
</field>
<field var="x-muc#roomconfig_registration" type="boolean" label="允许用户注册房间">
<value>1</value>
</field>
<field type="fixed">
<value>您可以指定该房间的管理员。请在每行提供一个 JID。</value>
</field>
<field var="muc#roomconfig_roomadmins" type="jid-multi" label="房间管理员"/>
<field type="fixed">
<value>您可以指定该房间的其他拥有者。请在每行提供一个 JID。</value>
</field>
<field var="muc#roomconfig_roomowners" type="jid-multi" label="房间拥有者">
<value>blued559897@10-6-2-142</value>
</field>
</x>
</query>
</iq>
管理员请求黑名单
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="2B498D88-1B1D-46AA-8513-DFB049839916">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item affiliation="outcast"/>
</query>
</iq>
管理员请求成员列表
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="25C70C79-A20C-4D51-9312-0238706AF4F1">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item affiliation="member"/>
</query>
</iq>
管理员请求主持人列表
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="D1294CFB-FA27-4682-9492-C7052CC62B4F">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item role="moderator"/>
</query>
</iq>
所有者请求即时房间
所有者提交配置表单
所有者取消初始的配置
所有者取消随后的配置
SEND:
<iq type="set" to="blued@conference.10-6-2-142" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680">
<query
xmlns="http://jabber.org/protocol/muc#owner">
<x
xmlns="jabber:x:data" type="submit"/>
</query>
</iq>
服务发送成员列表给管理员
RECV:
<iq
xmlns="jabber:client" type="result" id="2B498D88-1B1D-46AA-8513-DFB049839916" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin"/>
</iq>
服务发送主持人列表给管理员RECV:
<iq
xmlns="jabber:client" type="result" id="25C70C79-A20C-4D51-9312-0238706AF4F1" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin"/>
</iq>
服务发送发言权列表给主持人
服务发送黑名单给管理员
服务发送所有者列表给所有者
服务发送管理员列表给所有者
RECV:
<iq
xmlns="jabber:client" type="result" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp"/>
2013-08-23 21:37:56:601 Blued_V2[6457:6ab] MUCViewController: xmppRoom:didConfigure:
2013-08-23 21:37:56.601 Blued_V2[6457:7717]
<iq
xmlns="jabber:client" type="result" id="D1294CFB-FA27-4682-9492-C7052CC62B4F" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item role="moderator" jid="blued559897@10-6-2-142/xmpp" nick="wanzi001" affiliation="owner"/>
</query>
</iq>
<iq
xmlns="jabber:client" type="result" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp"/>
用户新建房间
被邀请者接受邀请, 加入房间, 并接收出席信息和历史
Jabber用户新建一个房间并声明对多用户聊天的支持
Join动作: 结果节
Invite动作: 结果节(s)
SEND:
<presence to="blued@conference.10-6-2-142/wanzi001">
<x
xmlns="http://jabber.org/protocol/muc"/>
</presence>
服务从现有的房客发送出席信息给新的房客
服务通知所有用户有人获得所有者权限
服务发送所有权通知给所有房客
RECV:
<presence
xmlns="jabber:client" to="blued559897@10-6-2-142/xmpp" from="blued@conference.10-6-2-142/wanzi001">
<x
xmlns="http://jabber.org/protocol/muc#user">
<item jid="blued559897@10-6-2-142/xmpp" affiliation="owner" role="moderator"/>
</x>
</presence>
服务警告新房客(该房间)非匿名
RECV:
<message
xmlns="jabber:client" type="groupchat" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<body>该房间不是匿名的。</body>
<x
xmlns="http://jabber.org/protocol/muc#user">
<status code="100"/>
</x>
</message>
所有者请求配置表单
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="729A1280-BDF8-4DD6-A031-7C4A44D555A8">
<query
xmlns="http://jabber.org/protocol/muc#owner"/>
</iq>
服务发送配置表单
服务发送配置表单给所有者
RECV:
<iq
xmlns="jabber:client" type="result" id="729A1280-BDF8-4DD6-A031-7C4A44D555A8" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#owner">
<x
xmlns="jabber:x:data" type="form">
<title>房间配置</title>
<instructions>已创建房间“blued”。要接受缺省配置,请单击“确定”按钮。或填写以下表单以完成设置:</instructions>
<field var="FORM_TYPE" type="hidden">
<value>http://jabber.org/protocol/muc#roomconfig</value>
</field>
<field var="muc#roomconfig_roomname" type="text-single" label="房间名称">
<value>blued</value>
</field>
<field var="muc#roomconfig_roomdesc" type="text-single" label="描述">
<value>blued</value>
</field>
<field var="muc#roomconfig_changesubject" type="boolean" label="允许占有者更改主题">
<value>0</value>
</field>
<field var="muc#roomconfig_maxusers" type="list-single" label="最大房间占有者人数">
<option label="10">
<value>10</value>
</option>
<option label="20">
<value>20</value>
</option>
<option label="30">
<value>30</value>
</option>
<option label="40">
<value>40</value>
</option>
<option label="50">
<value>50</value>
</option>
<option label="无">
<value>0</value>
</option>
<value>50</value>
</field>
<field var="muc#roomconfig_presencebroadcast" type="list-multi" label="其 Presence 是 Broadcast 的角色">
<option label="主持者">
<value>moderator</value>
</option>
<option label="参与者">
<value>participant</value>
</option>
<option label="访客">
<value>visitor</value>
</option>
<value>moderator</value>
<value>participant</value>
<value>visitor</value>
</field>
<field var="muc#roomconfig_publicroom" type="boolean" label="列出目录中的房间">
<value>1</value>
</field>
<field var="muc#roomconfig_persistentroom" type="boolean" label="房间是持久的">
<value>1</value>
</field>
<field var="muc#roomconfig_moderatedroom" type="boolean" label="房间是适度的">
<value>1</value>
</field>
<field var="muc#roomconfig_membersonly" type="boolean" label="房间仅对成员开放">
<value>0</value>
</field>
<field type="fixed">
<value>注意:缺省情况下,只有管理员才可以在仅用于邀请的房间中发送邀请。</value>
</field>
<field var="muc#roomconfig_allowinvites" type="boolean" label="允许占有者邀请其他人">
<value>0</value>
</field>
<field var="muc#roomconfig_passwordprotectedroom" type="boolean" label="需要密码才能进入房间">
<value>0</value>
</field>
<field type="fixed">
<value>如果需要密码才能进入房间,则您必须在下面指定密码。</value>
</field>
<field var="muc#roomconfig_roomsecret" type="text-private" label="密码"/>
<field var="muc#roomconfig_whois" type="list-single" label="能够发现占有者真实 JID 的角色">
<option label="主持者">
<value>moderators</value>
</option>
<option label="任何人">
<value>anyone</value>
</option>
<value>anyone</value>
</field>
<field var="muc#roomconfig_enablelogging" type="boolean" label="登录房间对话">
<value>1</value>
</field>
<field var="x-muc#roomconfig_reservednick" type="boolean" label="仅允许注册的昵称登录">
<value>1</value>
</field>
<field var="x-muc#roomconfig_canchangenick" type="boolean" label="允许使用者修改昵称">
<value>1</value>
</field>
<field type="fixed">
<value>允许用户注册房间</value>
</field>
<field var="x-muc#roomconfig_registration" type="boolean" label="允许用户注册房间">
<value>1</value>
</field>
<field type="fixed">
<value>您可以指定该房间的管理员。请在每行提供一个 JID。</value>
</field>
<field var="muc#roomconfig_roomadmins" type="jid-multi" label="房间管理员"/>
<field type="fixed">
<value>您可以指定该房间的其他拥有者。请在每行提供一个 JID。</value>
</field>
<field var="muc#roomconfig_roomowners" type="jid-multi" label="房间拥有者">
<value>blued559897@10-6-2-142</value>
</field>
</x>
</query>
</iq>
管理员请求黑名单
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="2B498D88-1B1D-46AA-8513-DFB049839916">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item affiliation="outcast"/>
</query>
</iq>
管理员请求成员列表
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="25C70C79-A20C-4D51-9312-0238706AF4F1">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item affiliation="member"/>
</query>
</iq>
管理员请求主持人列表
SEND:
<iq type="get" to="blued@conference.10-6-2-142" id="D1294CFB-FA27-4682-9492-C7052CC62B4F">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item role="moderator"/>
</query>
</iq>
所有者请求即时房间
所有者提交配置表单
所有者取消初始的配置
所有者取消随后的配置
SEND:
<iq type="set" to="blued@conference.10-6-2-142" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680">
<query
xmlns="http://jabber.org/protocol/muc#owner">
<x
xmlns="jabber:x:data" type="submit"/>
</query>
</iq>
服务发送成员列表给管理员
RECV:
<iq
xmlns="jabber:client" type="result" id="2B498D88-1B1D-46AA-8513-DFB049839916" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin"/>
</iq>
服务发送主持人列表给管理员RECV:
<iq
xmlns="jabber:client" type="result" id="25C70C79-A20C-4D51-9312-0238706AF4F1" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin"/>
</iq>
服务发送发言权列表给主持人
服务发送黑名单给管理员
服务发送所有者列表给所有者
服务发送管理员列表给所有者
RECV:
<iq
xmlns="jabber:client" type="result" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp"/>
2013-08-23 21:37:56:601 Blued_V2[6457:6ab] MUCViewController: xmppRoom:didConfigure:
2013-08-23 21:37:56.601 Blued_V2[6457:7717]
<iq
xmlns="jabber:client" type="result" id="D1294CFB-FA27-4682-9492-C7052CC62B4F" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp">
<query
xmlns="http://jabber.org/protocol/muc#admin">
<item role="moderator" jid="blued559897@10-6-2-142/xmpp" nick="wanzi001" affiliation="owner"/>
</query>
</iq>
<iq
xmlns="jabber:client" type="result" id="4A7ED459-A3F9-43A6-A5D8-D9D3762E6680" from="blued@conference.10-6-2-142" to="blued559897@10-6-2-142/xmpp"/>