Fastpath username with non ascii characters

When users try to start a chat session and enter a username with non ascii characters, they are unable to connect to an agent.
On the user side, it says saying “We are unable to route your request at this time.”

On the agents side, they can see users’ requests and can accept them.This works fine when I use normal characters but fails when I try to use obsure characters like ,ältestingße

I thought openfire used utf-8 to encode details. If not is there a way to ensure this? It seems the user is unable to connect to a room.

Its something about these characters is making it impossible for OpenFire to connect the customer back to the agent.

I had a look at the server log files and I get the following exception:

WARNING: Error joining room:
No response from server.:    
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:468)   
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:362)   
at org.jivesoftware.webchat.ChatSession.joinRoom(ChatSession.java:386)   
at org.jivesoftware.webchat.ChatSession$2.invitationReceived(ChatSession.java:233)   
at com.jivesoftware.smack.workgroup.user.Workgroup.fireInvitationEvent(Unknown Source)   
at com.jivesoftware.smack.workgroup.user.Workgroup.handlePacket(Unknown Source)   
at com.jivesoftware.smack.workgroup.user.Workgroup.access$300(Unknown Source)   
at com.jivesoftware.smack.workgroup.user.Workgroup$3.processPacket(Unknown Source)   
at org.jivesoftware.smack.PacketReader$ListenerWrapper.notifyListener(PacketReader.java:982)   
at org.jivesoftware.smack.PacketReader.processListeners(PacketReader.java:296)   
at org.jivesoftware.smack.PacketReader.access$100(PacketReader.java:45)   
at org.jivesoftware.smack.PacketReader$2.run(PacketReader.java:86)

Hi Chris

I just tried this with the username you suggested above on my installation (OF 3.6.4 / Fastpath 4.1.0 / HSQL / Spark 2.6.3) and it seems to work fine. Can you post some more details about your environment?

Chris

Hello. Thanks for responding

I am using

Openfire 3.7.1

Fastpath service 4.2.0

Fastpath webchat 4.0.0

I had a look in the webchat.war file and in queue_updater.jsp it goes into this block:

<% if(queue.isConnectionDropped()){%>

<% } %>

The connection is dropping for somehow. What are the reasons for isConnectionDropped() to be true?

Sorry I’ve not used Webchat to any great extent but it looks as if the (Openfire/Fastpath) server is dropping the connection for some reason. Have you checked the logs on there as well? (with debugging on, of course). You don’t mention what type of database you are using, if it’s not the embedded DB then it’s important to make sure the database is set up with the proper encoding support as per http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database .html for example.

I have change the database to utf-8 but still doesn’t work. It doesn’t seem to like the character ‘¸’ I’m not sure what language its from.

Why does the database need to be utf-8? Is the username, email and question stored in it?

There must be some sort of exception thrown which causes the connection to be dropped

Did you have a look at the Openfire debug logs? The ones you quoted from before look like entries from the webchat application server (tomcat or whatever). There should also be a bunch of log files under your openfire “logs” directory. You can activate the extra debug logging (and view the log files for that matter) from within the openfire web console (Server->Server Manager->Logs).

I hit the similar issue, also ralated to user name with special char.

for example, if the user name like “Tom-W”, when he join MUC, the openfire will not send reply, and client side will time out and throw “No response from server”, the magic char is “-”, if change it to “-”, everything is ok now.

suppose it is openfire bug, but I can not figure out where openfire reject it.