Unable to add MSN contacts

Ever since installing the IM Gateway Plugin, we’ve had multiple issues trying to communicate with the MSN Gateway. Initially, the IM Gateway Plugin didn’t see to support adding MSN contacts if the MSN contacts are offline (i.e., both parties on either end needed to be online for adding contacts to “work.” If one party was offline, the invite was never delivered / received. Now, after upgrading to Openfire 3.4.5 and the IM Gateway Plugin 1.2.2a, I cannot add MSN contacts when both parties ARE online. In looking at the log file, I found the following error:

2008.02.18 14:18:45 org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Inte rceptorManager.java:239) Error in interceptor: org.jivesoftware.openfire.gateway.protocols.msn.MSNTransport@1d3c9ab while intercepting:

<iq id=“PvGCe-110” type=“set” from="jcretarolo@gemini.intrepidls.com/spark">

<query xmlns=“jabber:iq:roster”>

<item jid=“rspat56\40hotmail.com@msn.gemini.intrepidls.com” name=“rspat56”>

<group>Family</group>

</item>

</query>

</iq>

java.lang.IllegalStateException: session is not available

at net.sf.cindy.impl.ChannelSession.write(ChannelSession.java:329)

at net.sf.jml.protocol.MsnSession.sendAsynchronousMessage(MsnSession.java:181)

at net.sf.jml.impl.BasicMessenger.send(BasicMessenger.java:119)

at net.sf.jml.impl.AbstractMessenger.send(AbstractMessenger.java:141)

at net.sf.jml.impl.SimpleMessenger.addFriend(SimpleMessenger.java:86)

at net.sf.jml.impl.SimpleMessenger.addFriend(SimpleMessenger.java:138)

at org.jivesoftware.openfire.gateway.protocols.msn.MSNSession.addContact(MSNSessio n.java:292)

at org.jivesoftware.openfire.gateway.BaseTransport.interceptPacket(BaseTransport.j ava:2494)

at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:80)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:303)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:78)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:268)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:167)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)

at java.lang.Thread.run(Unknown Source)

2008.02.18 14:18:45 org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Inte rceptorManager.java:239) Error in interceptor: org.jivesoftware.openfire.gateway.protocols.msn.MSNTransport@1d3c9ab while intercepting:

<iq id=“PvGCe-110” type=“set” from="jcretarolo@gemini.intrepidls.com/spark">

<query xmlns=“jabber:iq:roster”>

<item jid=“rspat56\40hotmail.com@msn.gemini.intrepidls.com” name=“rspat56”>

<group>Family</group>

</item>

</query>

</iq>

java.lang.IllegalStateException: session is not available

at net.sf.cindy.impl.ChannelSession.write(ChannelSession.java:329)

at net.sf.jml.protocol.MsnSession.sendAsynchronousMessage(MsnSession.java:181)

at net.sf.jml.impl.BasicMessenger.send(BasicMessenger.java:119)

at net.sf.jml.impl.AbstractMessenger.send(AbstractMessenger.java:141)

at net.sf.jml.impl.SimpleMessenger.addFriend(SimpleMessenger.java:86)

at net.sf.jml.impl.SimpleMessenger.addFriend(SimpleMessenger.java:138)

at org.jivesoftware.openfire.gateway.protocols.msn.MSNSession.addContact(MSNSessio n.java:292)

at org.jivesoftware.openfire.gateway.BaseTransport.interceptPacket(BaseTransport.j ava:2494)

at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:109)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:303)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:78)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:268)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:167)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)

at java.lang.Thread.run(Unknown Source)

There is another error thread that seems to come up again and again. Not sure if it’s related, but here it is:

2008.02.19 07:56:31 org.jivesoftware.openfire.ldap.LdapGroupProvider.getGroupNames(LdapGroupProvider .java:386) Error getting groups for user: jcretarolo@gemini.intrepidls.com

javax.naming.NamingException: [LDAP: error code 1 - 000020EF: SvcErr: DSID-020A0B25, problem 5012 (DIR_ERROR), data -1017

]; remaining name ‘’

at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)

at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)

at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)

at com.sun.jndi.ldap.LdapCtx.searchAux(Unknown Source)

at com.sun.jndi.ldap.LdapCtx.c_search(Unknown Source)

at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(Unknown Source)

at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)

at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)

at javax.naming.directory.InitialDirContext.search(Unknown Source)

at org.jivesoftware.openfire.ldap.LdapGroupProvider.getGroupNames(LdapGroupProvide r.java:370)

at org.jivesoftware.openfire.group.GroupManager.getGroups(GroupManager.java:363)

at org.jivesoftware.openfire.roster.Roster.<init>(Roster.java:105)

at org.jivesoftware.openfire.roster.RosterManager.getRoster(RosterManager.java:85)

at org.jivesoftware.openfire.handler.PresenceUpdateHandler.broadcastUpdate(Presenc eUpdateHandler.java:280)

at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:135)

at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:110)

at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:174)

at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:133)

at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:69)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:75)

at org.jivesoftware.openfire.net.StanzaHandler.processPresence(StanzaHandler.java: 321)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processPresence(ClientStanzaH andler.java:84)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:245)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:167)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)

at java.lang.Thread.run(Unknown Source)