Xmpp 脱机用户的好友请求中缺少元数据

Xmpp 脱机用户的好友请求中缺少元数据,xmpp,ejabberd,xmppframework,Xmpp,Ejabberd,Xmppframework,我们正在尝试在XMPP(Ejabberd)中自定义好友请求,以便可以在好友请求中发送额外的元数据,如下所示(将请求显示为登录在Ejabberd.log文件中)。问题是,当好友离线时,当好友请求最终在最终用户在线时交付给最终用户时,XMPP不会发送额外的元数据(jidValue、profileImageURL等)。但是,如果朋友是在线的,当请求被发送时,所有额外的元数据实际上都被传递了。有人知道为什么脱机用户不发送额外的元数据,以及如何解决吗 以下是日志文件内容: 2015-12-06 18:07

我们正在尝试在XMPP(Ejabberd)中自定义好友请求,以便可以在好友请求中发送额外的元数据,如下所示(将请求显示为登录在Ejabberd.log文件中)。问题是,当好友离线时,当好友请求最终在最终用户在线时交付给最终用户时,XMPP不会发送额外的元数据(jidValue、profileImageURL等)。但是,如果朋友是在线的,当请求被发送时,所有额外的元数据实际上都被传递了。有人知道为什么脱机用户不发送额外的元数据,以及如何解决吗

以下是日志文件内容:

2015-12-06 18:07:35.127[调试] @ejabberd_接收器:进程_数据:349在流中接收到XML=
当朋友不在线时,朋友请求不会按原样存储:在线状态不会存储以进行离线传递。相反,ejabberd查找挂起的请求,并在用户连接时生成一个新的请求

我创建了一个票证来支持ejabberd Github上的功能:

请注意,您的数据包是错误的,因为为了方便起见,您似乎将扩展名放在了属性上。它们应该位于自定义子标签上,带有自定义xmlns。你所做的无论如何都是无效的。定制应该与x xmlns vcard内容类似。
XMPP不希望您添加的属性出现在jabber:client命名空间中。

当好友不在线时,好友请求不会按原样存储:状态不存储以供脱机传递。相反,ejabberd查找挂起的请求,并在用户连接时生成一个新的请求

我创建了一个票证来支持ejabberd Github上的功能:

请注意,您的数据包是错误的,因为为了方便起见,您似乎将扩展名放在了属性上。它们应该位于自定义子标签上,带有自定义xmlns。你所做的无论如何都是无效的。定制应该与x xmlns vcard内容类似。
XMPP在jabber:client名称空间中不需要您添加的属性。

我已将以下XML从iOS客户端代码发送给另一个脱机用户

<presence type="subscribe" to="918054824047thj@chat.domain.io">
<profile xmlns="custom:data">
<profileImageURL>https://jabber.domain.io/profiles/slocamo_profile5667ec5aea78e2.08175827.png</profileImageURL>
<age>0</age>
<gender/>
<message/>
<jidValue>918054824047jitu@chat.domain.io/jitu</jidValue>
</profile>
<x xmlns="vcard-temp:x:update"><photo/></x>
</presence>

https://jabber.domain.io/profiles/slocamo_profile5667ec5aea78e2.08175827.png
0
918054824047jitu@chat.domain.io/吉图
但是当用户联机时,他只收到以下XML

<presence xmlns="jabber:client" from="918054824047thj@chat.domain.io" to="918054824047jitu@chat.domain.io" type="subscribe">
<status/>
</presence>

let me know how to fix this

让我知道如何解决这个问题

我已将以下XML从我的iOS客户端代码发送给另一个脱机用户

<presence type="subscribe" to="918054824047thj@chat.domain.io">
<profile xmlns="custom:data">
<profileImageURL>https://jabber.domain.io/profiles/slocamo_profile5667ec5aea78e2.08175827.png</profileImageURL>
<age>0</age>
<gender/>
<message/>
<jidValue>918054824047jitu@chat.domain.io/jitu</jidValue>
</profile>
<x xmlns="vcard-temp:x:update"><photo/></x>
</presence>

https://jabber.domain.io/profiles/slocamo_profile5667ec5aea78e2.08175827.png
0
918054824047jitu@chat.domain.io/吉图
但是当用户联机时,他只收到以下XML

<presence xmlns="jabber:client" from="918054824047thj@chat.domain.io" to="918054824047jitu@chat.domain.io" type="subscribe">
<status/>
</presence>

let me know how to fix this

让我知道如何解决这个问题

顺便说一句,马亨德拉和我在同一个项目上工作。他正在开发IOS客户端。顺便说一句,马亨德拉和我正在做同一个项目。他正在开发IOS客户端。