AGENTDIRECT, Current Active Calls and Autodialing

All installation and configuration problems and questions

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

AGENTDIRECT, Current Active Calls and Autodialing

Postby scottgutman » Wed Sep 02, 2009 12:28 pm

When a call is transferred via AGENTDIRECT, The call is registered in the "Time on VDAD campaign report" as a "Current Active Calls". This reduces the number of autodialing outbound calls that are made.

This is important in the following senario. 5 agents are logged into the campaign. 3 of the agents have AGENTDIRECT calls and Time on VDAD shows that they are INCALL. 2 agents are READY and waiting for calls. The dial level is 1.0. Current active calls shows 3 and calls ringing is 0. No calls are being made because the level of active calls is more than the number possible for the dial level.

How can we remove Connected AGENTDIRECT calls from "current active calls" so that autodialing can proceed as normal?

The Transfer Process we use:
Call comes in through DID to the "reception in-group", in the "recept campaign". The user the decides to whom the call will be sent. The agent click TRANSFER-CONF --> types the USER ID --> selects AGENTDIRECT --> Clicks Local Closer.
The Agent sees the transferred call, hears the prompt, and begins the conversation with the lead. The Time on VDAD report confirms that the agent is" INCALL I"
Dialer-Vicidial 2.2.0-250_100116-0709, Asterisk 1.4.21.2, Intel Quad Q6600 2.4G x64/8G Ram
Web-Apache/2.2.3, PHP 5.2.10, eAccelerator v0.9.5.2, AMD 9950 Quad 2.6G x64/4G Ram
DB-MySQL 5.0.45, 2xAMD 2.6G i386/4G Ram
OS-CentOS 5.3-2.6.18-128.1.16.el5
scottgutman
 
Posts: 75
Joined: Mon Mar 23, 2009 4:17 pm

Postby scottgutman » Wed Sep 02, 2009 10:44 pm

Below is a session from vdautodial.2009-09-02. I noticed that calls to place is -1. Should that happen? This happens anytime an agent has received an in-group call and not just AGENTDIRECT calls.

What should I look for?

2009-09-02 11:05:41|SERVER CALLS PER SECOND MAXIMUM SET TO: 20 |50||
2009-09-02 11:05:41|LIVE AGENTS LOGGED IN: 4 ACTIVE CALLS: 3|
2009-09-02 11:05:41|RECEPT 192.168.12.8: agents: 1 dial_level: 1|
2009-09-02 11:05:41|RECEPT 192.168.12.8: Calls to place: 0 (1 - 1) 3 |
2009-09-02 11:05:41|CAMPAIGN DIFFERENTIAL: 1 1 (1 - 0)|
2009-09-02 11:05:41|LOCAL TRUNK SHORTAGE: 0|0 (3 - 20)|
2009-09-02 11:05:41|011274 192.168.12.8: agents: 0 dial_level: 1.5|
2009-09-02 11:05:41|011274 192.168.12.8: Calls to place: -1 (2 - 3) 3 |
2009-09-02 11:05:41|CAMPAIGN DIFFERENTIAL: 6.4 0.3 (0.3 - 0)|
2009-09-02 11:05:41|LOCAL TRUNK SHORTAGE: 0|0 (2 - 20)|
2009-09-02 11:05:41|RECEPT 192.168.12.8: CALLING|
2009-09-02 11:05:41|011274 192.168.12.8: CALLING|
2009-09-02 11:05:41|| dead call vac INBOUND do nothing|209392|2602416382|CLOSER||
2009-09-02 11:05:41|| dead call vac XFERd do nothing|209422|7248458022|XFER||
2009-09-02 11:05:41|| dead call vac XFERd do nothing|207444|6095883949|XFER||
2009-09-02 11:05:41|| lagged call vla agent PAUSED 0E0|20090902110511|20090902110531|20090902110541||
2009-09-02 11:05:41|| lagged call vac agent DELETED 0E0|2009-09-02 11:03:41||
2009-09-02 11:05:41|| logindate UPDATED 2|'RECEPT','011274'||
Dialer-Vicidial 2.2.0-250_100116-0709, Asterisk 1.4.21.2, Intel Quad Q6600 2.4G x64/8G Ram
Web-Apache/2.2.3, PHP 5.2.10, eAccelerator v0.9.5.2, AMD 9950 Quad 2.6G x64/4G Ram
DB-MySQL 5.0.45, 2xAMD 2.6G i386/4G Ram
OS-CentOS 5.3-2.6.18-128.1.16.el5
scottgutman
 
Posts: 75
Joined: Mon Mar 23, 2009 4:17 pm

Postby mflorell » Fri Sep 04, 2009 12:50 pm

This would need to be changed in the AST_VDauto_dial.pl code. You would have to explicitly not include AGENTDIRECT auto_calls from the totals of active calls that can be handled by agents logged into a campaign.
mflorell
Site Admin
 
Posts: 18406
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scottgutman » Mon Sep 07, 2009 8:49 am

Is that a bug or feature?

Before I dive into the code, what scenario would I want in-group calls to be included in the count?
Dialer-Vicidial 2.2.0-250_100116-0709, Asterisk 1.4.21.2, Intel Quad Q6600 2.4G x64/8G Ram
Web-Apache/2.2.3, PHP 5.2.10, eAccelerator v0.9.5.2, AMD 9950 Quad 2.6G x64/4G Ram
DB-MySQL 5.0.45, 2xAMD 2.6G i386/4G Ram
OS-CentOS 5.3-2.6.18-128.1.16.el5
scottgutman
 
Posts: 75
Joined: Mon Mar 23, 2009 4:17 pm

Postby mflorell » Mon Sep 07, 2009 9:47 am

This would have to be a feature, because it changes the current behaviour and brings in the possibility of more calls in queue than the other settings would make possible. So this would need to be a new feature.
mflorell
Site Admin
 
Posts: 18406
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby scottgutman » Mon Sep 07, 2009 3:12 pm

ok, I think I found a good modification.

I tried to follow the script with the log file. The calculation for the "current # of agents" working the campaign is accurate and the number of "active calls" is good too.

If you have "available only ratio tally" set to 1, the script counts agents with status "READY|DONE" and multiplies against the Dial level for the "target # of calls to make".

Now the problems begin with $active_only. I think this is a tally of agents logged into the campaign that are already in calls. This is then added to the "target # of calls to make" for a "total number of calls" that should be made for this campaign. The only problem is the SQL Below does not count all the calls because it looks up calls made by the campaign only. no inbound calls or closer calls are considered because vicidial_auto_calls.campaign_id is not the campaign of the user. It is of the call, and for inbounds, the campaign_id is the in-group ID. Right?

### see how many VDAD calls are live as XFERs and Closers and save in $tally_xfer_line_counter. For agents for this camp only, not for in-bound camps.
if ($active_only > 0)
{
$tally_xfer_line_counter=0;
$stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$DBIPaddress[$user_CIPct]' and campaign_id='$DBIPcampaign[$user_CIPct]' and status IN('XFER','CLOSER');";


I was thinking to add another SQL count to the "total number of calls" that should be made for this campaign:
select Count(*) from vicidial_live_agents vla, vicidial_auto_calls vac where vla.uniqueid = vac.uniqueid and vla.campaign_id = '$DBIPcampaign[$user_CIPct]' and status IN('INCALL','XFER','CLOSER');


So 2 questions:
1. Do you think this will work with out breaking anything?
2. Is it possible to have a status "CLOSER" and not have the call come from an in-group?
Dialer-Vicidial 2.2.0-250_100116-0709, Asterisk 1.4.21.2, Intel Quad Q6600 2.4G x64/8G Ram
Web-Apache/2.2.3, PHP 5.2.10, eAccelerator v0.9.5.2, AMD 9950 Quad 2.6G x64/4G Ram
DB-MySQL 5.0.45, 2xAMD 2.6G i386/4G Ram
OS-CentOS 5.3-2.6.18-128.1.16.el5
scottgutman
 
Posts: 75
Joined: Mon Mar 23, 2009 4:17 pm

Postby mflorell » Mon Sep 07, 2009 8:42 pm

Best way to see if it will work is to try it on your system after-hours. You can have a test version of the script that you run not in production without altering the production version.

The only way for a CLOSER to have a non-IN-GROUP call is for them to dial a MANUAL DIAL outbound call, so yes they can place outbound calls.
mflorell
Site Admin
 
Posts: 18406
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida


Return to Support

Who is online

Users browsing this forum: No registered users and 56 guests