[ejabberd] pubsub item not delivered if subscriber offline

Liam ejabberd at networkimprov.net
Fri Jan 29 11:32:38 MSK 2010


Well it works *most* of the time...

If I sign-out a node subscriber (by closing the tab for my strophe-based
client), and publish another item to that node right away, the subscriber
may not get the published item when he signs on again.

I really need reliable delivery here -- unfortunately the pubsub spec has iq
notifications only for presence-based delivery nodes...

Starting to wonder if I should have tried an MQ service instead of xmpp
pubsub...


On Thu, Jan 28, 2010 at 12:14 PM, Liam <ejabberd at networkimprov.net> wrote:

> This worked, thanks!
>
> <field var='pubsub#notification_type'><value>normal</value></field>
>
> <field var='pubsub#send_last_published_item'><value>never</value></field>
>
>
> On Tue, Jan 26, 2010 at 1:59 PM, Liam <ejabberd at networkimprov.net> wrote:
>
>> I think send_last_published_item = on_sub_and_presence is wrong for my
>> case... Multiple items may be published while a subscriber is offline. Also
>> I don't want a new subscriber to get previously published items...
>>
>> I'd expect the behavior I see only if presence_based_delivery is true, and
>> for this node it's false, the default.
>>
>> Try with :
>>> <field var='pubsub#send_last_published_item' type='list-single'>
>>> <value>on_sub_and_presence</value>
>>> </field>
>>>
>>
>>
>> On Tue, Jan 26, 2010 at 12:35 PM, Liam <ejabberd at networkimprov.net>wrote:
>>
>>> Using 2.1.1 on WinXP...
>>>
>>> Publishing to a node configured as follows, the subscriber gets the item
>>> if online, but if offline doesn't get the item on next login. Shouldn't the
>>> item go to the user's offline queue?
>>>
>>> Subscriber creates and subscribes to the node:
>>>
>>> <iq from='me at localhost/reprev' to='pubsub.localhost'
>>>      type='set' id='8776' xmlns='jabber:client'>
>>>    <pubsub xmlns='http://jabber.org/protocol/pubsub'>
>>>      <create node='me'/>
>>>      <configure><x xmlns='jabber:x:data' type='submit'>
>>>        <field var='FORM_TYPE' type='hidden'><value>
>>> http://jabber.org/protocol/pubsub#node_config</value></field>
>>>        <field var='pubsub#notify_retract'><value>0</value></field>
>>>        <field var='pubsub#persist_items'><value>0</value></field>
>>>        <field var='pubsub#publish_model'><value>open</value></field>
>>>        <field var='pubsub#access_model'><value>whitelist</value></field>
>>>        <field
>>> var='pubsub#send_last_published_item'><value>never</value></field>
>>> </x></configure></pubsub></iq>
>>>
>>> <iq from='me at localhost/reprev' to='pubsub.localhost'
>>>      type='set' id='8777' xmlns='jabber:client'>
>>>   <pubsub xmlns='http://jabber.org/protocol/pubsub'>
>>>      <subscribe node='me' jid='me at localhost/reprev'/>
>>> </pubsub></iq>
>>>
>>> Relevant config:
>>>   {mod_offline,  []},
>>>   {mod_pubsub,   [ % requires mod_caps
>>>           {access_createnode, pubsub_createnode},
>>>           {ignore_pep_from_offline, true},
>>>           {last_item_cache, false},
>>>           {plugins, ["flat", "hometree", "pep"]}
>>>          ]},
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.jabber.ru/pipermail/ejabberd/attachments/20100129/2d2c9052/attachment-0001.html>


More information about the ejabberd mailing list