'from' MUC 历史消息的延迟元素中的属性具有居住者的 jid 而不是房间
'from' attribute in delay element of MUC history message has jid of occupant instead of room
我观察到 MUC 历史消息中延迟元素的属性具有居住者的 JID 而不是房间。
根据 xmpp.org/extensions/xep-0045.html#enter-history:
讨论历史消息必须标记延迟传递 (XEP-0203) [14]
由 'urn:xmpp:delay' 命名空间限定的信息表明
他们被延迟交货并指定时间
他们最初被发送。
The 'from' attribute MUST be set to the JID of the room itself.
RoomJID = testGroup@conference.example.com
Occupant 1 = erik@example.com/desktop
Occupant 2 = cyrus@example.com/desktop
<?xml version="1.0" encoding="UTF-8"?>
<message xmlns="jabber:client" from="testGroup@conference.example.com/cyrus" to="erik@example.com/desktop" type="groupchat">
<body>Hi</body>
<thread>B9D31734-606D-43CD-B613-D5FF8DF7CAA3</thread>
<subject />
<active xmlns="http://jabber.org/protocol/chatstates" />
<delay xmlns="urn:xmpp:delay" from="cyrus@example.com/desktop" stamp="2015-03-08T21:02:42.481Z" />
<x xmlns="jabber:x:delay" from="cyrus@example.com/desktop" stamp="20150308T21:02:42" />
</message>
为什么设置为房客的JID而不是房间的JID?请帮助我理解。
这取决于您是否将房间配置为匿名。将该房间配置为匿名,它将按您的预期运行。
您提到的行为来自 XEP-0045 v1.25。对于非匿名房间,应使用扩展节寻址定义原始发件人字段。
尚不支持更改,但正在进行一些工作:https://github.com/processone/ejabberd/issues/465
我观察到 MUC 历史消息中延迟元素的属性具有居住者的 JID 而不是房间。
根据 xmpp.org/extensions/xep-0045.html#enter-history:
讨论历史消息必须标记延迟传递 (XEP-0203) [14] 由 'urn:xmpp:delay' 命名空间限定的信息表明 他们被延迟交货并指定时间 他们最初被发送。
The 'from' attribute MUST be set to the JID of the room itself.
RoomJID = testGroup@conference.example.com
Occupant 1 = erik@example.com/desktop
Occupant 2 = cyrus@example.com/desktop
<?xml version="1.0" encoding="UTF-8"?>
<message xmlns="jabber:client" from="testGroup@conference.example.com/cyrus" to="erik@example.com/desktop" type="groupchat">
<body>Hi</body>
<thread>B9D31734-606D-43CD-B613-D5FF8DF7CAA3</thread>
<subject />
<active xmlns="http://jabber.org/protocol/chatstates" />
<delay xmlns="urn:xmpp:delay" from="cyrus@example.com/desktop" stamp="2015-03-08T21:02:42.481Z" />
<x xmlns="jabber:x:delay" from="cyrus@example.com/desktop" stamp="20150308T21:02:42" />
</message>
为什么设置为房客的JID而不是房间的JID?请帮助我理解。
这取决于您是否将房间配置为匿名。将该房间配置为匿名,它将按您的预期运行。
您提到的行为来自 XEP-0045 v1.25。对于非匿名房间,应使用扩展节寻址定义原始发件人字段。
尚不支持更改,但正在进行一些工作:https://github.com/processone/ejabberd/issues/465