> Hi Karsten, > > Karsten J wrote: >> Hello, >> >> I am studying at a University in Germany. We started a little project >> which tracks the location of people, connects them and helps them to >> interact on different levels. Well, in the end it will. >> >> We decided to use XMPP as our protocol and as it turns out there is >> almost always an XEP which covers something we want to do. I really >> start liking it. >> >> Since we don't have the capacity to write our own server we decide to >> use an existing one and enhance its features with an external >> component. However, I kinda ran into a problem and I hope you can help >> me out. In the XEP-0114 it says that an external component can do >> things that clients cannot. I tried to find a list of those things but >> till now I wasn't lucky. > > I've ran into a similar use case myself. External components don't > have that kind of access. An external component basically registers > itself as component.domain.com, and can send and receive messages > from/to all JIDs at that domain (i.e. [email protected], > [email protected], component.domain.com, etc.). But the xmpp > server will not route stanzas that are not addressed to the component to > it, nor will the server allow the component to send stanzas addressed > from other domains. > >> There is one special thing my component needs >> to be able to do. I would like my component to listen to buddy >> requests and "buddy acceptances" of clients which are received by the >> server. As far as I know an internal component or something like a >> packet interceptor as a plug in which sends the packets on to my >> component could do that. However, before I start writing a plug in for >> a specific server implementation I would like to know if there is a >> way within the specifications of the protocol. >> > > We wrote a plugin for openfire that just forwards stanzas down an XML > pipe over TCP, and use an external (non-XMPP) service to filter out the > stanzas we are interested in using xpath expressions (this was really > easy with twisted words/wokkel). > > Alternatively, you can implement the logic completely inside your plugin. > > I don't think you'll be able to pass stanzas from a plugin or internal > component to an external component directly, the component protocol > doesn't support that. If you really want to use an external XMPP > component, I can only think of wrapping your original stanza in another > stanza addressed to the component. > > Good luck, > Ilya
Thx a lot for your advice. We decide to send extra messages to the component once the buddy request was accepted. This is not an ideal solution Hwever your implementation is "just" a proof of concept right now. best wishes, Karsten Jeschkies _______________________________________________ JDev mailing list Forum: http://www.jabberforum.org/forumdisplay.php?f=20 Info: http://mail.jabber.org/mailman/listinfo/jdev Unsubscribe: [email protected] _______________________________________________
