I would like some help in getting the pubsub features of ejabberd to work.
I've installed ejabberd 1.1.3 from an rpm, and am pretty much using the stock .cfg file, which seems to indicate that anyone can publish.
I've made a small xmpppy routine that I can cut & paste into the stream arbitrary XML. It logs in to ejabberd with a valid account, and then I try to paste into it the soliliquy example from section 1.2 in JEP-060. However, that never works. If I use the stock example, and send
publish node='princely_musings'
the return error is
error code='404' type='cancel' item-not-found
The closest I've come is when the node is that which Psi's service discovery shows, namely, when I send the example with
publish node='pubsub/nodes'
ejabberd returns with
error code='405' type='cancel' not-allowed
Why is that? I thought all users were allowed to publish?
After I get past this, I'll try to subscribe. Are there clients available that do this? Coccinella claims to support JEP-060, but I haven't figured out what to do in that client.
Psi can show pubsub nodes in the service discovery, but it doesn't appear to go any further. Likewise for Tkabber.
Any suggestions for a better pubsub-enabled client?
Thanks,
Wendell
I realized that this is not
I realized that this is not described anywhere in the documentation, so Iwrote a page about it. Does it answer your questions?
more pubsub
Thank you for the instruction page. I was not doing the create before the publish, but it still isn't working for me.
Q: What do you mean about the auto-generated node name? What is that?
Q: Do I need to create the user node, as in:
create node='home/jabber.myhost.com/myuser'
In a Unix filesystem, I would need to do a 'mkdir myuser' before populating the directory. Is there the same concept in pubsub? Is the node at the 'myuser' level a container, and the nodes within that node leaf nodes? I've tried several combinations and always get back 'bad-request'
If I get it working I'll be glad to add to the pubsub instruction page.
Thanks,
Wendell
can publish, but not subscribe
Thanks for the help, I now am able to publish items! However, I still have two problems which are identified at the bottom of this note.
Here is what I did (using the examples from JEP-060, with the names changed to match accounts & machines in my installation:
1) create top level node of my_username
Example 116 with these changes:
* node name is full path, i.e.
node='home/jabber.mycompany.com/my_username'
* remove configure/ line
2) create leaf node where information will be published
Example 116 (again) with these changes:
* node name is full path, i.e.
node='home/jabber.mycompany.com/my_username/first_node'
* remove configure/ line
3) publish data to that node
Example 1 with node name of
node='home/jabber.mycompany.com/my_username/first_node'
4) retrieve all items
Example 66 with node name of 3 above
The data returned in the iq stanza is the data that was published!
5) Subscribe to a node
Example 28 with node name of 3 above
PROBLEM: The response is
iq
from='pubsub.jabber.mycompany.com'
to='my_username@jabber.mycompany.com/30194896771184793349711507'
id='sub1'
type='result'/
Example 29 indicates that there should be subscription information
in the response, as in:
subscription
node='princely_musings'
jid='francisco@denmark.lit'
subid='ba49252aaa4f5d320c24d3766f0bdcade78c78d3'
subscription='subscribed'/
But there is none. I think the default configuration for ejabberd is for nodes not to require authorization.
6) Retrieve subscriptions
Example 20 with names changed
PROBLEM:
The response is
error code="501" type="cancel" feature-not-implemented
What am I doing wrong?
Thank you for your help.
I'm at the same point.
Hi,
Have you found a way to solve your problem ?
As you can see in the subject, I'm at the same point (working with the version 1.1.4).
Or anyone have any tip to solve the issue ?
Thanks.
I heard ejabberd implements
I heard ejabberd implements an older version of the pubsub protocol and that it is not yet updated with the latest version. So, maybe there are incompatible differences here.
--
sander
It seems ejabberd 1.1.x implements PubSub v1.7
I heard ejabberd implements an older version of the pubsub protocol and that it is not yet updated with the latest version.
Yes, this bug issue says that ejabberd (I assume ejabberd 1.1.x) implements v1.7:
Upgrade pubsub from JEP-0060 version 1.7 to JEP-0060 version 1.9