I am quite new to XMPP and fastpath and I have some simple questions regarding fastpath.
From my undertanding the queue will try to get a remote-user for a user as soon as that user enters a multi-user-chat, right?
So, for example the user with the name “NeedHelp” would enter a multi-user-chat (which will automaticly be created as soon as I create a workgroup) and right then the Queue would try to find a remote-chat-partner (lets call the guy “Supporter”) for him.
So now those several “supporters” can apply to have a chat session with that “NeedHelp”-User.
Once a supporter applies to chat with “NeedHelp” what would happen now?
From my understanding the “NeedHelp” guy would get a XMPP Message with a request to join a new chat?
So, is that what the client application has to react to to continue with the REAL chat?
I don’t follow what you are saying here. Are you trying to develop a client for FastPath outside of Spark?
The main way I’ve been able to get insight about the XMPP messages flying back and forth in order to connect a customer to an agent is by turning on the debugger console in Spark before I log in.
Try it with initiating a chat from the standard webchat, and then try it again by initiating one by directly IMing @workgroup.fully.qualified.domian.
And another question: Is there any way to request all available queues on a client application?
Basicly from my understnading a
WORKGROUP is like a COMPANY
QUEUEs are like DEPARTMENTS in that COMPANY.
My plan would be to first choose a COMPANY and then get a list of all DEPARTMENTS in that company…but to do so I need a way to request a list of queues…right?
It really depends on what you want to do. Out of the box, there is no need to expose either workgroups or queues to users.
If you have a “sales” workgroup and a “support” workgroup, you simply have a link to “chat with sales” some place and a “chat with support” in another place.
With queues, the idea is to let the plugin decide where to route the call. So in your sales workgroup you might have two queues - “Default queue” and “supervisors”. Maybe you only want supervisors taking calls when everyone else is busy.
Or maybe your form has a field for ‘department’ - lets say it is a drop down with Hats, Sports and Underwear. Set up queues for each of those, then create routing rules to send the customer to the appropriate queue based on that field. Have a backup in case no one is covering that particular queue. The user never needs to know that the department she chose is unavailable.
That’s the idea anyway - what are you hoping to do?