Hello there, This is my first post, here so let me quickly introduce myself. I'm the lead developer of the project Archipel (http://archipelproject.org), an XMPP-based orchestration solution for virtualization.
This project relies on events , so it uses XMPP (because it rocks) and pubsub (because it rocks too). But I run into a problem that I can't solve by myself after trying a lot of different things. Here is the context: - I got two XMPP servers (ejabberd 2.1.4) : server-a and server-b - I got three XMPP entities: control...@server-a, v...@server-a and v...@server-b - vm-1 et vm-2 creates each one pubsub node named (node id) "/archipel/v...@server-x/events" - control...@server-a is subscribed to the pubsubs nodes of each vm. - when a vm do something, it publishes a non persistent pubsub item to its node (for example, something like "I'm starting") Then, the problem: control...@server-a is notified by a pubsub event without any problem when v...@server-a publish something. This works like a charm. But control...@server-a is *never* notified when v...@server-b publish something (and I swear to god, subscriptions are OK) * * From here, this is just test, I may be completely wrong ** Then I've looked into the caps (XEP-0115) I've try to make control...@server-a publish it's capabilities. So I've generated my rev string from : client/pc//Archipel 1.0<http://jabber.org/protocol/pubsub<http://jabber.org/protocol/pubsub+notify< wich gives : XeMDCc/TsUiGZtCecA2+3MC4kFU= then I forge the following stanza: <presence xmlns='jabber:client'> <c xmlns='http://jabber.org/protocol/caps' node='http://archipelproject.org' hash='sha-1' ver='XeMDCc/TsUiGZtCecA2+3MC4kFU='/> </presence> server-a then ask my features with : <iq xmlns='jabber:client' from='virt-hyperviseur' to='control...@virt-hyperviseur/ArchipelController' id='3705298251' type='get'> <query xmlns='http://jabber.org/protocol/disco#info' node='http://archipelproject.org#XeMDCc/TsUiGZtCecA2+3MC4kFU='/> </iq> And I answer (because I'm a nice guy): <iq id='3920' type='result' xmlns='jabber:client' to='virt-hyperviseur'> <query xmlns='http://jabber.org/protocol/disco#info' node='http://archipelproject.org#CWYvfp2mU9/Z+degq4XPg+cB/JE='> <identity category='client' name='Archipel 1.0' type='pc'/> <feature var='http://jabber.org/protocol/pubsub'/> <feature var='http://jabber.org/protocol/pubsub+notify'/> </query> </iq> and that's all. No more news from the server, and still no push. I'm absolutely not sure if the features names are good, or even if this is the correct method. I'm lost, please help me :) Cheers, -- Antoine Mercadal (+33) 06 23 00 84 04 « Le mot liberté n'admet, par définition, aucune restriction. »