I have implemented a plugin (which is also a component) that returns automated answers to certain queries. I’'ve done all this working only on message packets and ignoring everything else I receive.
Now I want the component to register to the msn transport so that it can be accessed from there. I was told that, in order to achieve that, I have to register a transport with the component and send my presence to all the roster.
I’‘ve managed to answer the IQ disco and get the component in the list of services available (I copied this from the asterisk plugin) but I don’'t know what to do with the presence packets I receive. I tried creating and sending a new presence packet from the component to the client but the client does not see the component online.
As you can see I don’'t know the protocol very much so I will accept some documents to read as a valid answer
Have any of you managed to register a component with the msn network?
you only need to do this once for a component (maybe you can even just “hack” the PyMSNt storage database, some xml files i think it was, and add a entry for your component. After that its just sending a
to the msn-transport and you see your component comming online on the msn network.
and secondly setting up a “roster” for the component so that when your component comes online, the members get notified (if you need it).
I think i’'ve read somewhere that components manage there own rosters, so you got to write that.
the
packets dont need a reply, basicly its just notification that tells you that someone logged in/logged off and so on, try reading the muc jep, http://www.jabber.org/jeps/jep-0045.html#enter, for some basic understanding on what to do with presence and components/extensions.
i’'ll see if i can make some code, just the basics for this, this weekend and see if my train of thoughts is correct…
I have managed to get the component registered to the gateway sniffing the registration session as you said. The problem is that sending the packet is not enough for the transport to see me online.
I think the problem is the roster. I guess I need to set up a roster for the component in order to have the gateway notified of my status.
Any ideas about where to find documentation on how to manage the roster from the component?