Building a NoUI Agent Server
Posted: Tue Mar 10, 2020 11:35 pm
Hello ViciDial developers out there. I'd love to get your input and opinion on this project.
I have a number of large Vici call centres (running versions ranging from 2.12-502a (2015) right up the the latest (on ViciBox 9.0.1).
In all of them we have done a whole lot of integration with the CRM or Debt Collection applications. In some cases the vicidial.php webpage is completely hidden from the agent and everything is controlled by the CRM using the API, direct DB access, local JavaScript, etc. - all the usual things. We have 100s of hours experience in getting this integration right and understanding most of the issues, problem and exceptions.
We have now been asked to build a solution where there is no need to run the vicidial.php for each agent at all. This is a very exciting project that I've been waiting to do for a long time. This is taking things way beyond the Remote Agent type of functionality and will simulate what vicidial.php, vdc_db_query.php and their friends do. This includes handling API calls as well as all those events such as customer_gone, agent_hungup, none_in_session. Phase 1 will stick to the basics, but we will extend it in due course.
After initial testing and prototyping, it looks like we may be able to do all of this in the DB using MySQL Stored Procedures and maybe an Event or two which should be the most efficient because this is all about DB interaction. Will build in some load balancing capability because we have 300-500 agents on these clusters and will need to make this light and fast.
Some sites require only communication to/from their CRM backend server, whereas others want to interact from the CRM Agent Web UI. Some want a mix. The plan is to build a tiny web page that will allow a login and a simple status field which will give continual agent status and agent events that can be watched by the CRM on the Agent PC.
Has anyone done this before? Please give feedback on the issues you faced. Any creative suggestions are most welcome.
Thanks
Roger
I have a number of large Vici call centres (running versions ranging from 2.12-502a (2015) right up the the latest (on ViciBox 9.0.1).
In all of them we have done a whole lot of integration with the CRM or Debt Collection applications. In some cases the vicidial.php webpage is completely hidden from the agent and everything is controlled by the CRM using the API, direct DB access, local JavaScript, etc. - all the usual things. We have 100s of hours experience in getting this integration right and understanding most of the issues, problem and exceptions.
We have now been asked to build a solution where there is no need to run the vicidial.php for each agent at all. This is a very exciting project that I've been waiting to do for a long time. This is taking things way beyond the Remote Agent type of functionality and will simulate what vicidial.php, vdc_db_query.php and their friends do. This includes handling API calls as well as all those events such as customer_gone, agent_hungup, none_in_session. Phase 1 will stick to the basics, but we will extend it in due course.
After initial testing and prototyping, it looks like we may be able to do all of this in the DB using MySQL Stored Procedures and maybe an Event or two which should be the most efficient because this is all about DB interaction. Will build in some load balancing capability because we have 300-500 agents on these clusters and will need to make this light and fast.
Some sites require only communication to/from their CRM backend server, whereas others want to interact from the CRM Agent Web UI. Some want a mix. The plan is to build a tiny web page that will allow a login and a simple status field which will give continual agent status and agent events that can be watched by the CRM on the Agent PC.
Has anyone done this before? Please give feedback on the issues you faced. Any creative suggestions are most welcome.
Thanks
Roger