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. »

Reply via email to