Page 1 of 1

change/switch campaign of agent without logout and login

PostPosted: Wed Jun 30, 2010 10:20 am
by marmu
Hi guys,

we are still adapting vicidial to our needs and are making progress, partly thanks to the great support here :)

Now we want to set agents to another campaign without logging them out and logging them in again. afaik this is not available as a feature in vicidial.

Will that be possible by changing the campaign_id in the vicidial_live_agents table? Of course we want that "switch" to be as fast as possible, to get the calls to the agents asap.

I will now check this out and look into it. Any help is welcome.

Cheers,
Marcus

PostPosted: Wed Jun 30, 2010 11:22 am
by mflorell
Because of all of the settings that would have to be updated in the agent interface this would be a very difficult feature to add. Just changing the campaign_id would not carry over the settings of the campaign on the same session that an agent logged into another campaign on.

What is your goal in this, why do you have to change campaigns, is there any reason you can't just change lists?

PostPosted: Thu Jul 01, 2010 10:13 am
by marmu
Thanks for your fast reply Matt.

Because of all of the settings that would have to be updated in the agent interface this would be a very difficult feature to add.


Could you point me to some of these settings? Of course the campaign, list, lead and lead info plus the agent info have to be involved...

EDIT: most important tables seem to be vicidial_live_agents and vicidial_campaign_agents

Further the agent GUI isn't so important for us right now. We are running our own GUI and only want the web-GUI as a possibility for the future. Perhaps I need to point out that we are focussing on outbound campaigns, often the agent doesn't need the callees information, but we, the IT staff and our servers do ;)
We are kind of reverse engineering and reproducing the Quantum Dialer/Survey soft- and hardware.

What is your goal in this, why do you have to change campaigns, is there any reason you can't just change lists?


Campaigns are associated with a list (and therefore leads) and we don't want to change the list (or leads) of the campaign, because it should stay the same for the other agents who are not switched to another campaign.

The goal is to switch agents to another campaign, if we gathered enough info in campaign X, we want to set agents to campaign Y to get results in this campaign (Y) faster. Is that understandably formulated, do you get it?

PostPosted: Thu Jul 01, 2010 11:30 am
by mflorell
The majority of the settings are in vicidial_campaigns, and many of those are set in the agent interface only on login, and they do not reset and are not reloaded except during login. Many of these settings(like dial method, scheduled callbacks, preview dialing, etc...) influence how the agent interface functions.

As for meeting responses in campaigns, we have clients that seem to do similar work, but they just use one campaign and turn on and off lists within the campaigns depending on the quotas they need to meet. Also, you can define a list-specific scripts, callerIDs and other variables, so in most cases you do not actually need a separate campaign.

PostPosted: Thu Jul 01, 2010 11:53 am
by marmu
I could alter all database values via SQL. The problem is to keep the system consistent. And to get the numbers of the new campaign dialed and passed through to the agent whos campaign we switched, so get the call into his conference room...

ok, we will rethink the lists-solution. now also figuring out if we can get a "fast" logout/login into a new campaign working, without the agent noticing it.
Is it possible for a campaign to have multiple active lists at one point in time? If we are using 1 campaign and X lists, all list should be dialed simultaniously and then we could switch the agent to another list???

PostPosted: Thu Jul 01, 2010 1:27 pm
by mflorell
Yes, you can have multiple active lists on a single campaign at any given time. In fact we have a client with over 450 lists and only 8 campaigns. They have a person that is responsible for switching lists active and inactive throughout the day.

PostPosted: Fri Jul 02, 2010 5:46 am
by marmu
Ok, I figured out, that we really need campaign-switching. This is not the easiest task...

I am trying the "simple" approach:
1)altered logout: don't hangup the agent and don't quit his session and conference (right?)
2)altered (re-)login: login the agent again, but don't call him (he should stay in the conference room waiting for calls)

everything should happen without the agent noticing it. impossible? no, nothing is ;)
If you got some notes concerning this, I am waiting for input.

Wishing you a wonderful weekend. We are melting here in Berlin...

PostPosted: Fri Jul 02, 2010 7:09 am
by mflorell
Let us know how it works for you.

PostPosted: Fri Jul 02, 2010 10:48 am
by marmu
I could really need some support in finding the lines where the agent is called and put into the meetme room, after successfully loggin in. I am looking into the vicidial.php and the vdc_db_query.php

I want to evade calling the agent and putting him into the meetme room, since he is still on the phone and in the room when we do a campaign switch

We got 32°C outside and even more in the office, I need to get home... :(

PostPosted: Fri Jul 02, 2010 3:04 pm
by mflorell
If you cannot find that yourself then you really need to spend more time understanding the code, because there are A LOT of things you will have to change to get campaign switching working as you have described.

PostPosted: Wed Jul 07, 2010 7:20 am
by marmu
It seems to work now. Wasn't so hard, but that depends if it works steadily and how someone wants it to work.

We are running C++ code "emulating" the agent session and we altered some PHPs, especially the vicidial.php, conf_exten_check.php and the vdc_db query.php. For the "campaign-switch" the vicidial.php was the most important. There were only 2-3 minor changes, thats all.

If you are interested, send me an e-mail and I give you the C++ code and the altered PHPs.

Have a good rest of the week.

All the best,
Marcus

PostPosted: Wed Jul 07, 2010 8:40 pm
by mflorell
We always like to have code like this posted to the issue tracker :)

PostPosted: Thu Jul 08, 2010 8:26 am
by marmu
ok, found the "mantis", but never used it before.
what do I have to do?

my educated guess:
-open new issue
-describe
-upload something(?)
-mark as 'solved'

I think I should only upload my altered PHPs, am I right or is it also the right place for my C++ code?

PostPosted: Thu Jul 08, 2010 9:02 am
by mflorell
Go ahead and put all of your code up there. We also like "diff -u" patch files instead of or in addition to altered PHP files.

PostPosted: Thu Jul 08, 2010 9:05 am
by marmu
We also like "diff -u" patch files


what is that?

PostPosted: Thu Jul 08, 2010 9:56 am
by mflorell
on the linux command line:

diff -u vicidial.php.old vicidial.php > new_code.patch

PostPosted: Thu Jul 08, 2010 10:55 am
by marmu
thx, will do so and upload on mantis

EDIT: http://www.eflo.net/VICIDIALmantis/view.php?id=366

PostPosted: Thu Jul 08, 2010 5:25 pm
by gardo
This is really handy. No more future complaints from the agents on logins and logouts to different campaigns. 8)

Re: change/switch campaign of agent without logout and login

PostPosted: Fri Aug 24, 2012 3:24 am
by ronator
which version of vicidial (SVN ?) would I need to have this feature "out of the box" ?

Re: change/switch campaign of agent without logout and login

PostPosted: Tue Apr 09, 2013 1:48 pm
by williamconley
I'm not sure when it was added, but it is possible to alter an agent's campaign in VERSION: 2.4-331a BUILD: 110822-1204 (although I have not actually tested it, it is there in the GUI).