Building a NoUI Agent Server

Any and all non-support discussions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Building a NoUI Agent Server

Postby roger.milligan » 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
------------------------------------------------------------------------------------------------------
Roger Milligan
Thrive, Cape Town, South Africa.
Mobile: +27 791412325 rogerm(at)thrivedatasolutions(dot)com
roger.milligan
 
Posts: 58
Joined: Sun Jul 19, 2015 12:18 pm
Location: Cape Town, South Africa

Re: Building a NoUI Agent Server

Postby williamconley » Thu Apr 02, 2020 11:00 am

Two main paths from which to choose:

* Remote agent simulation. No continual interface, just make changes to the various tables when you feel like it. You have full access to MySQL so you can do (or fake) anything you like. Transfers and other live agent functions ... could be time-consuming to build.
* Logged in agent simulation. For this, you'll need to begin copying the javascript functions one at a time that provide something you need. You can of course either simulate their functionality in an agent web session in javascript, simulate it on a server in PHP (for things like keepalive) or break Vicidial by changing the receptor code for some of these.

I will warn you that Vicidial operates the way it does for a reason. Removing the need to update the "live server" table every second will eventually result in a huge loss when something goes wrong that would otherwise have been made visible by that table not being updated. All other functionality has similar caveats if you attempt to modify them. You'll end up putting that functionality back or defending the loss whenever a loss happens again.

Another consideration: Do you want your custom codebase to survive upgrade? Sticking as close to "stock with API" as possible is best. Then you can easily reintegrate with the cool new features (whatever they may be) in the future. But once you begin to modify the core of the server or agent screens ... you will lock yourself into a modified system that can't be (easily) upgraded.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20018
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 74 guests