IM Gateway Plugin 1.2.3 Released!

Hi folk! I meant to post this yesterday but missed it! The IM Gateway plugin version 1.2.3 was released. Primarily, it’s a release to address compatibility with Openfire 3.5.0. That said, it also includes a couple of bugfixes and new features!

  • There is now a QQ Transport thanks to lizongbo!

  • Administrators can now set the connect host to * for the XMPP Transport to enable users to connect to whatever server they want, based off their JID.

  • Incoming messages are now send to bare JIDs, which means they’ll be routed according to the rules of the server instead of the IM Gateway plugin’s tracking. (primarily affects multiple logins as the same priority)

You can download the new version from the plugins page or via the admin console of Openfire 3.5.0.


We’re currently seeing issues with the IM Gateway plugin and 3.5

When a transport is registered, I’m seeing:

<iq type=“set” id=“569-44” to=""><query xmlns=“jabber:iq:roster”><item jid=“” name=“MSN Transport” subscription=“both”><group>Transports</group></item>

However, no further roster items, or presence comes through with screen names from the transport or anything. This is failing on all transports. I have tried the Gateway Tests in admin console with a “Success” response.

Any idea what may be wrong, here?



And, to supplement from logs what might be the problem:

2008.04.09 10:02:30 Could not deliver packet

<presence from="" to=“”/>


  • at com.tangosol.coherence.component.util.daemon.queueProcessor.service.replicatedC ache.Optimistic$CacheHandler.unlock(Optimistic.CDB:1)*

  • at com.tangosol.coherence.component.util.SafeNamedCache.unlock(SafeNamedCache.CDB: 1)*

  • at com.jivesoftware.util.cache.ClusteredCache.unlock(*

  • at com.jivesoftware.util.cache.CoherenceClusteredCacheFactory$CoherenceLock.unlock (*

  • at org.jivesoftware.openfire.gateway.BaseTransport.processPacket(BaseTransport.jav a:189)*

  • at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(*

  • at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:257)*

  • at*

  • at org.jivesoftware.openfire.spi.PacketDelivererImpl.deliver(PacketDelivererImpl.j ava:47)*

  • at org.jivesoftware.openfire.spi.PresenceManagerImpl.probePresence(PresenceManager*

  • at org.jivesoftware.openfire.spi.PresenceManagerImpl.handleProbe(PresenceManagerIm*

  • at org.jivesoftware.openfire.PresenceRouter.handle(*

  • at org.jivesoftware.openfire.PresenceRouter.route(*

  • at org.jivesoftware.openfire.spi.PacketRouterImpl.route(*

  • at org.jivesoftware.openfire.spi.PacketRouterImpl.route(*

  • at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna*

  • at org.jivesoftware.openfire.gateway.BaseTransport.sendPacket( 830)*

  • at org.jivesoftware.openfire.gateway.BaseTransport.start(*

  • at org.jivesoftware.openfire.component.InternalComponentManager.addComponent(Inter*

  • at org.jivesoftware.openfire.gateway.TransportInstance.startInstance(TransportInst*

  • at org.jivesoftware.openfire.gateway.GatewayPlugin.maybeStartService(GatewayPlugin .java:151)*

  • at org.jivesoftware.openfire.gateway.GatewayPlugin.initializePlugin(GatewayPlugin. java:71)*

  • at org.jivesoftware.openfire.container.PluginManager.loadPlugin( :447)*

  • at org.jivesoftware.openfire.container.PluginManager.access$300( :46)*

  • at org.jivesoftware.openfire.container.PluginManager$*

  • at java.util.concurrent.Executors$*

  • at java.util.concurrent.FutureTask$Sync.innerRunAndReset(*

  • at java.util.concurrent.FutureTask.runAndReset(*

  • at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (*

  • at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(*

  • at java.util.concurrent.ScheduledThreadPoolExecutor$*

  • at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( 885)*

  • at java.util.concurrent.ThreadPoolExecutor$ *

  • at*

Have you tried manually deleting the plugin, and its folder. Then download the new one again. It could be it did not install correctly.

This was all a fresh installation, but it looks as if this may have been caused by a conflict from another plugin.

What plugins do you have installed?

I believe the problem was the Enterprise plugin w/ clustering. I suppose we’ll have to see how this goes with the open-sourcing of Enterprise.

/me attached a screenshot of how the new QQ transport looks like in a non-cvs development build of Coccinella currently.