I’‘ve been working on a plugin / component that uses the gateway plugin so that it (my component) can be exposed as a bot to the non XMPP parts of the world. I had to make a couple changes to the gateway code to get things working (BaseTransport.addNewRegistration assumes that the JID’‘s domain matches the domain of the server, which in the case of a component isn’‘t true, gateway-registrations.jsp assumes that if the gatewayJID parameter doesn’'t have an @ symbol it must simply be the username, which leaves out components). Anyway, I finally got the component registered with the gateway and I see the component come online with both AIM and Yahoo but only for about 30 seconds and then I get this in the logs (this is reverse order so the bottom line happened first):
2007.01.23 22:16:40 OSCAR snac packet received: SnacPacketEvent: snacProcessor=ClientSnacProcessor: lastreqid=24, requests: 24, paused=false, snacPacket=SnacPacket type 0x3/0xc: 27 bytes (id=2452906711), snacCommand=BuddyOfflineCmd for mycomponent - FlapPacketEvent: flapProcessor=FlapProcessor: seqNum=SeqNum: min=0, max=65535, last(current)=25, flapCommand=SnacFlapCmd: packet=SnacPacket type 0x3/0xc: 27 bytes (id=2452906711), flapPacket=FlapPacket (channel=2, seq=9170)
2007.01.23 22:16:40 OSCAR bos snac packet received: SnacPacketEvent: snacProcessor=ClientSnacProcessor: lastreqid=24, requests: 24, paused=false, snacPacket=SnacPacket type 0x3/0xc: 27 bytes (id=2452906711), snacCommand=BuddyOfflineCmd for mycomponent - FlapPacketEvent: flapProcessor=FlapProcessor: seqNum=SeqNum: min=0, max=65535, last(current)=25, flapCommand=SnacFlapCmd: packet=SnacPacket type 0x3/0xc: 27 bytes (id=2452906711), flapPacket=FlapPacket (channel=2, seq=9170)
2007.01.23 22:16:40
2007.01.23 22:16:40 aim: Sending packet:
2007.01.23 22:16:40 OSCAR bos service state change from CONNECTED to NOT_CONNECTED
The component does respond to presence packets:
… else if (Presence.Type.probe == presence.getType()) {
// Send that the service is available
Presence reply = new Presence();
reply.setTo(presence.getFrom());
reply.setFrom(presence.getTo());
componentManager.sendPacket(this, reply);
Any thoughts on why the component appears to log itself off?
AJ