mmm, You think that the agent is dialing an extension. It is not what is happening. The agent is dialing a number that invoke a mod_callcenter function: login/logout/not ready. As FS is like a pbx (and more than a pbx), it seems like an extension. Just, registrer to FS is not enough. What happen when the agent need to go the restroom, take coffee, couching, or take a break? Then, you will need to reproduce in the agent gui the funcion of login, logout and break... but again, what happen if your agent gui fail? your callcenter service will stop because your gui fail? Also, if you just use register signaling, you could face a wide sort of operational issues like, what happen if the agent left the position and left the their seats: then calls will be routed to empty seats! If you want to get the agent login/logout without the agent dial nothing... if I am not wrong, mod_callcenter offer functions to log and logout agent from fs console, so I think you can invoke them using execute() from lua or your script. On 8/20/2012 7:30 AM, x.liu wrote:
Hi g,
Thanks for your response!
My situation is that I don't want the agent to dial the extension to be able to accept calls. The agents (e.g. a FS softphone client, or a Java application) just need to register to FS as SIP clients.
And I've not figured out what commands I should send if I use extension "^agent-login$" and FS socket.
So I guess I may be better not to use mod_callcenter for routing calls to different extensions. just to use FS ESL and my own logics to bridge the calls.
I was curious about the reply "You don't need agent to dial anything to get the call from queue... " and I thought my question is relevant to the thread, so I asked questions in this thread. Apologies for that. I could have opened a different thread for the questions :-)
Cheers, Xing
On 08/20/2012 11:53 AM, g wrote:
You can log an agent into a queue by a web application in which a button click handles commands via the FS socket, or just let the agent dial an extension (i.e. 999+itssoftphonenumber) where dialplan sets that agent in the correct state. ie (replace agent_login regex into something like 999201 if your agent is 201) <extension name="agent_login"> <condition field="destination_number" expression="^agent-login$"> <action application="set" data="res=${callcenter_config(agent set status ${caller_id_number}@${domain_name} 'Available')}" /> <action application="answer" data=""/> <action application="sleep" data="500"/> <action application="playback" data="ivr/ivr-you_are_now_logged_in.wav"/> <action application="hangup" data=""/> </condition> </extension>
<extension name="agent_logoff"> <condition field="destination_number" expression="^agent-logoff$"> <action application="set" data="res=${callcenter_config(agent set status ${caller_id_number}@${domain_name} 'Logged Out')}" /> <action application="answer" data=""/> <action application="sleep" data="500"/> <action application="playback" data="ivr/ivr-you_are_now_logged_out.wav"/> <action application="hangup" data=""/> </condition> </extension>
The important thing is tha the agent is, somehow, putted in "available" status. You can also do it via fs_cli, but now I can't remeber the exact syntax for that. Help from cli should clarify.
At this point, the agent should result in "waiting" state Of course, you should before declared that agent as member of a tier or, at least, of a queue.
Hope it helps g
On Friday 17 August 2012 14:48:04 x.liu wrote:
I am also trying the mod_callcenter. What I want is to route a call to one agent ( a registered FS client, e.g. a SIP softphone) of a list of agents by a Random or RoundRobin policy.
When I dial the extension which calls the callcenter app, I only have hold-on music. It does not route a call to a agent. You said " You don't need agent to dial anything to get the call from queue. ", I am wondering how I could let an agent log into the queue?
Thanks!
On 08/17/2012 01:56 PM, g wrote:
Me too, I'm often dealing with callcenters (inbound+outbound). I found in Freeswitch the easyest solution to manage queue and agents. I'm not a programmer, but I have experience with Asterisk, Freeswitch and the whole workflow of complex callcenters. My suggestion too is to use mod_callcenter. Easy, fast, powerful. You don't need agent to dial anything to get the call from queue. In my opinion, you can use that module or, for more complex things (ie. outbound predictive) you can use the socket manager to perform call placement, call transfer, conference with thirdy-part recording IVR etc. I feel the best solution, also if it will require some effort for a Java programmer, is to do all that in php, which is light and fast also for older PC, able to run also with thin-client low memory low-cpu machines. If you can plan to turn to php and you don't have too short time, I can consider to help for the Freeswitch part. giuliano
On Thursday 16 August 2012 17:10:33 Nitin Tomer wrote:
Hi,
I am working on a Contact Center solution. It will support mail, chat and call queries.
The requirements are:
1. An end-customer calls, the call is handled by FreeSWITCH Auto Attendant. 2. Customer is presented with a menu and makes selection. His call is put on hold and an entry is made in my system's database for incoming queries. 3. These queries are shown to agents handling calls. 4. And agent clicks on a query, he is shown an extension where call is parked. He dials that and is connected to the customer.
5. He talks to the customer and resolve his queries.
Please guide me on how can do it. The application will be written in Java.
I am an experienced programmers in Java/J2EE; but doesn't have much knowledge of VoIP/FreeSWITCH. I've configured FreeSWITCH on Ubuntu 12.04; and have installed X-Lite Softphones on two Windows machines. I configured these phones to work with FreeSWITCH and they are working fine.
I think that I'd have to use Valet Parking to park customer's call on an extension, then pass that extension to agent who will dial it and will be connected to the customer.
Please tell me whether this approach will work? And how should I go about it.
All help would be much appreciated.
Regards
Nitin
_ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Atentamente, *Dario García* Consultor. CCCT, Nivel C2, Sector Yarey, Mz, Ofc. MZ03a. Caracas-Venezuela. Teléfono: +58 212 9081842 Cel: +58 412 2221515 dgarcia@anew.com.ve http://www.anew.com.ve