Fastpath chat window doesn't open

Hi,

I’ve installed the fastpath plugin, and I’m having some problems because I’m not able to get the chat window to open.

I followed the fastpath_quick_start.pdf but I only get to see the “accept chat request on the spark”.

When I “accept” the chat request, nothing happens.

According to the pdf, it should appear (after accepting the chat request) a “fast path chat window”, and then the “live chat”, but as I stated before, it didn’t.

I’ve been trying to find some logs, in order to see what’s going on, but I didn’t find any log.

Any hints?

Max.

for fast path to work properly you need to meet the following criteria:

  • The server needs a fully qualified domain name (FQDN) on the external DNS
  • The openfire server must have the same name as the FQDN
  • The xmpp.domain must be the same as the FQDN
  • The self generated certificates must match teh FQDN
  • You cannot have the openfire admin ID be a member of a fastpath workgroup
  • You cannot have Group Chat admins/owners be members of a fastpath workgroup

Thanks a lot Todd.

I’m going to check out all the points you mentioned.

I’m waiting for the network administrator to make the changes you told me to, and I’ll let you know as soon as I finished this out.

Max.

Todd, I’ve been checking the points you told me in order to enable the fastpath service.

  • The server needs a fully qualified domain name (FQDN) on the external DNS
    ==>I’m (for the moment) tryin to use this service internally at first, so I haven’t set this point yet. Now I know how it must be set.

  • The openfire server must have the same name as the FQDN
    ==>This point is ok (I think). My FQDN is “openfire.myexample.com

  • The xmpp.domain must be the same as the FQDN
    ==>I check this one and it’s also ok. It’s value is “openfire.myexample.com

  • The self generated certificates must match teh FQDN
    ==>I must say that I’m not fully sure I got the idea of this point. I don’t know how to make this one, and maybe this is the one last thing stopping me from enabling the fastpath.

Can you give a hand here?

  • You cannot have the openfire admin ID be a member of a fastpath workgroup
    ==>This one is ok.

  • You cannot have Group Chat admins/owners be members of a fastpath workgroup
    ==>I must say this one was not ok, now it is.

As for the forth point I try to generate this using the openfire Server Certificates, but I’m still stock on this.

Thanks in advanced,

Max.

hi.

fastpath worked very fine for me for me.

but since a few days I have got the same problem.

but I didn’t change anything.

I can still press the “accept”-button after a request, but then the chat window does not open.

hm…

thx

Does the workgroup ask the user for the “username” parameter. Spark won’t open the chat on the workgroup worker side of the conversation if you do not. I provided a patch for this, but the post seems to have been removed.

hi erik,

thanks for your reply, but I don’t understand it ;-(

where/how can I see, if the workgroup ask the user for a "username"parameter?

thank you very much!

(I use openfire 3.6.0 and spark 2.5.8 - its really strange, because I didn’t change anything and before it worked fine)

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.