Fastpath chat window doesn't open

here is what the error-log says:

2009.02.04 16:47:54 [org.jivesoftware.openfire.component.InternalComponentManager$2.error(InternalC omponentManager.java:354)]
java.lang.NullPointerException
at org.jivesoftware.xmpp.workgroup.Workgroup.roomActivity(Workgroup.java:510)
at org.jivesoftware.xmpp.workgroup.Workgroup.process(Workgroup.java:438)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.processPacket(WorkgroupManager .java:652)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.sendPacket(BaseMUCTransp ort.java:837)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.processPacket(BaseMUCTra nsport.java:298)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:121)
at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:70)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:57)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.send(WorkgroupManager.java:830 )
at org.jivesoftware.xmpp.workgroup.Workgroup.send(Workgroup.java:407)
at org.jivesoftware.xmpp.workgroup.Workgroup.sendInvitation(Workgroup.java:762)
at org.jivesoftware.xmpp.workgroup.request.UserRequest.offerAccepted(UserRequest.j ava:420)
at org.jivesoftware.xmpp.workgroup.Offer.invite(Offer.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher.dispatch(RoundR obinDispatcher.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher$2.run(RoundRobi nDispatcher.java:112)
2009.02.04 16:47:54 [org.jivesoftware.openfire.component.InternalComponentManager$2.error(InternalC omponentManager.java:354)]
java.lang.NullPointerException
at org.jivesoftware.xmpp.workgroup.Workgroup.roomActivity(Workgroup.java:510)
at org.jivesoftware.xmpp.workgroup.Workgroup.process(Workgroup.java:438)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.processPacket(WorkgroupManager .java:652)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.sendPacket(BaseMUCTransp ort.java:837)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.processPacket(BaseMUCTra nsport.java:298)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.send(WorkgroupManager.java:830 )
at org.jivesoftware.xmpp.workgroup.Workgroup.send(Workgroup.java:407)
at org.jivesoftware.xmpp.workgroup.Workgroup.sendInvitation(Workgroup.java:825)
at org.jivesoftware.xmpp.workgroup.request.UserRequest.offerAccepted(UserRequest.j ava:420)
at org.jivesoftware.xmpp.workgroup.Offer.invite(Offer.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher.dispatch(RoundR obinDispatcher.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher$2.run(RoundRobi nDispatcher.java:112)
2009.02.04 16:47:54 [org.jivesoftware.openfire.component.InternalComponentManager$2.error(InternalC omponentManager.java:354)]
java.lang.NullPointerException
at org.jivesoftware.xmpp.workgroup.Workgroup.roomActivity(Workgroup.java:510)
at org.jivesoftware.xmpp.workgroup.Workgroup.process(Workgroup.java:438)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.processPacket(WorkgroupManager .java:652)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.sendPacket(BaseMUCTransp ort.java:837)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.processPacket(BaseMUCTra nsport.java:298)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.send(WorkgroupManager.java:830 )
at org.jivesoftware.xmpp.workgroup.Workgroup.send(Workgroup.java:407)
at org.jivesoftware.xmpp.workgroup.Workgroup.sendUserInvitiation(Workgroup.java:86 4)
at org.jivesoftware.xmpp.workgroup.Workgroup.sendInvitation(Workgroup.java:829)
at org.jivesoftware.xmpp.workgroup.request.UserRequest.offerAccepted(UserRequest.j ava:420)
at org.jivesoftware.xmpp.workgroup.Offer.invite(Offer.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher.dispatch(RoundR obinDispatcher.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher$2.run(RoundRobi nDispatcher.java:112)

You can see it when you’re in the admin console and you click the FastPath tab, then click the workgroup, then click “Form UI”–you will see all the questions that the workgroup asks a requestor. If the username field is missing, then the chat will not open for the person working in the workgroup.

In my case, the fastpath asks for the username, email and a question.

The thing is that after I accept the chat request (which appears on the spark), nothing happens, and I don’t know where to look.

In my case this is the first time I install this feature, and I’m using Openfire 3.6.3 over RHEL 4 with mysql as repository.

Max.

ah, now I know what you mean.

yes, username is required. I didn’t change anything here.

the person who works in the workgroup sees, that there is a request. and he sees the popup to accept or reject.

but if he clicks on accept, nothing happens…

thx

I’m starting to hear reports that FastPath isn’t working correctly since upgrading from 3.6.0a to 3.6.3. There weren’t any changes to fastpath between those two versions (I inspected the source). I’m wondering if there is was a change to mina that might cause some weirdness here. I have been seeing a lot of dropped packets being logged as well as errors that look like Openfire is not able to connect to the mysql database sometimes (which weren’t appearing so frequently in 3.6.0a).

I can’t really go back to 3.6.0a because of the security risks, though.

hi.

no, also in 3.6.0 is this problem.

but is this a problem of openfire, of the fastpath-plugin or of spark?

thx

Hard to say yet. I’ve spent the last few hours going over the logs and I haven’t connected the whole story yet. I haven’t been able to reproduce it, either.

hm, I don’t know what else I can try.

@eric: do you have the same error-code?

2009.02.05 15:33:57 [org.jivesoftware.openfire.component.InternalComponentManager$2.error(InternalC omponentManager.java:354)]
java.lang.NullPointerException
at org.jivesoftware.xmpp.workgroup.Workgroup.roomActivity(Workgroup.java:510)
at org.jivesoftware.xmpp.workgroup.Workgroup.process(Workgroup.java:438)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.processPacket(WorkgroupManager .java:652)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:97)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:72)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:54)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.sendPacket(BaseMUCTransp ort.java:837)
at org.jivesoftware.openfire.gateway.muc.BaseMUCTransport.processPacket(BaseMUCTra nsport.java:298)
at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:619)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:121)
at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:70)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:57)
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(Interna lComponentManager.java:262)
at org.jivesoftware.xmpp.workgroup.WorkgroupManager.send(WorkgroupManager.java:830 )
at org.jivesoftware.xmpp.workgroup.Workgroup.send(Workgroup.java:407)
at org.jivesoftware.xmpp.workgroup.Workgroup.sendInvitation(Workgroup.java:762)
at org.jivesoftware.xmpp.workgroup.request.UserRequest.offerAccepted(UserRequest.j ava:420)
at org.jivesoftware.xmpp.workgroup.Offer.invite(Offer.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher.dispatch(RoundR obinDispatcher.java:192)
at org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher$2.run(RoundRobi nDispatcher.java:112)

I had been having the same problems as you…until today. I read somewhere that you need to allow non-secure client connections for Fastpath to work properly. Once I chaged the settings (below), clicking Accept in Spark brough up the chat window with the web user. Yea!

Client Connection Security

That’s only true if you accept anonymous or un-authenticated web sessions. We use it at my company with Active Directory authentication and required SSL sessions–but all clients are native XMPP apps (mostly Spark, some Meebo, some Pidgin).

I learned that my boss was working with the VMWare host which runs our Openfire VM server during the time which the difficulties I mentioned earlier had occurred. We’re pretty certain that activity caused sufficient latency to cause the trouble I was talking about.

hi dwight schrute,

thx for your hint. but I already had the setting “optional”.

but I also solved the problem. I restartet the openfire-server. don’t ask me why, but now it works again?!?!

Fastpath requires anonymous authentication. it will not work any other way. If you do not have this enabled it will not work.

It works just fine for us while anonymous sessions are completely disallowed. However, our only fastpath users are Active Directory-authenticated Spark clients. We have no fastpath via web users at all.

Are you sure you are talking fastpath webchat? it uses anonymous logins. if not you need your own thread as this is dealing with fastpath and fastpath webchat. You will confuse the issue. If you are only using spark or xmpp clients then you are not actually using fastpath. You are using MUC or group chat by connecting to a workgroup directly. Some of the fastpath features will work but it is not the same by any stretch.

It is not the web chat, but it is fastpath. It is configured via the fastpath plugin’s tab. It uses the workgroup service. The chats are initiated by sending a message to the workgroup (jid is @workgroup.), at which point the workgroup robot asks if you want to join the queue. If there are any questions in the “form ui” configuration, then the bot asks you those questions. At the end of the questions, you’re told your position in the queue. When it’s time for you to be connected to a workgroup agent, the agent is notified via toaster-style notification in the lower-right corner. The MUC is created and then the requestor is asked if he wants to join the chat. The agent is shown a UI that is not like a normal MUC session that includes a notes section and a “end session” button. After the chat is over and if it is so configured, the requestor is asked by the bot if he would like to receive a transcript of the chat by email. Also, the chat transcript is stored in the database and can be retrieved via the fastpath tab of the admin console.

Like I said you are using parts of fastpath, but not the whole thing. You are confusing the issue. True fastpath is via a web interface, and requires anonymous logins allowed. What you are doing is not part of the intended design.

I don’t think I’m confusing the issue. The problem about which I was talking (regarding the username variable bug) affects both web and XMPP interfaces. I thought I was offering some useful advice.

If its intended design was a web interface, then what is the point of the XMPP bot?

I am really not going to debate this further. This thread has been hyjacked from the original issue. No fastpath was not intended for spark to spark calls. The XMPP bot is for transfers to other agents or to pull other agents into a fastpath chat. The intended use for fastpath is to allow anonymous users to have a live helpdesk style chat with a designated workgroup of agents. Why do yoou think there are all the other parameters in the plugin for the web interface. You may of course use it however you like, but any issue you have could be from improper use, and there would be no way to prove otherwise. If you look back at the original question it is clear the individual is trying to use the fastpath webchat plugin not a client application. That is why I sadi you are confusing the issue.

Todd, thank you for your recomendation.

I solved my problem following your instructions plus a little luck I think.

My problem was lying on the sefl generated certificates (I don’t know exactly why).

Here we have the main domain which has it’s own certificates, and the openfire server was located on another domain. After reviewing all the points you mentioned a couple of issues start to happen.

I ask the network admon to relocate the openfire server, and (sorry to say this) after reinstalling (luckly I have my backup ready) it works just as the guide said.

Thanks a lot.

Max.

Glad to hear it. Could you mark this thread as closed then and award points as you see fit.