Ejabberd with Stream management (XEP-198) 不使用离线消息挂钩

Ejabberd with Stream management (XEP-198) not using offline message hook

我们正在开发一款具有聊天功能的应用程序。我们有一个 ejabberd (15.02) 配置为使用 mod_offline_post 来使用离线消息挂钩并将离线客户端的所有消息转发到我们自己的 url,然后转发到 GCM。

然而,在我们开发应用程序时,我们还需要启用 XEP-198(流管理)来处理连接丢失。这本身工作正常。创建和恢复流,确认消息。

问题是,jabber 正在等待流恢复并且没有将任何离线消息转发到离线消息挂钩,因此转发到我们的 mod 和 post url.当然,它会将它们存储在其离线存储中,并在收件人恢复其流时将其传送。

有没有办法配置 jabber 在 ejabberd_c2s:fsm_next_state:2517 Waiting for resumption of stream for... 时调用离线消息钩子?

PS: 我们在客户端使用smack来提供流管理

根据我的理解,从 XMPP 规范的角度来看,ejabberd 的行为是正确的。它正在做正确的事情,在这种情况下不应将消息转发到离线商店,因为从技术上讲你没有离线。

这不是放置推送处理的正确位置。